机器学习:监督学习 标签编码

在机器学习中常用的有两种标签编码方式 Lable Encoder和One Hot Encoder。
它们被用来数字化化分类的数据,或者是文本数据。

举个例子
机器学习:监督学习 标签编码_第1张图片
国家这一栏是文本信息,这样的文本信息不利于机器的understand。所以我们需要把这些categorical text data 转化为model-understandable numerial data, 我们可以使用Label Encoder class

from sklearn.preprocessing import LabelEncoder
labelencoder = LabelEncoder()
x[:, 0] = labelencoder.fit_transform(x[:, 0])

机器学习:监督学习 标签编码_第2张图片
但是这种编码方式存在一个问题:0<1<2,但是实际上这些国家并没有这种关系,它们之间是相互独立的。而One Hot Encoder 可以克服这一问题


One Hot Encoder 可以克服便签的顺序和结构问题。
它是将系列以编码的方式存在
机器学习:监督学习 标签编码_第3张图片

from sklearn.preprocessing import OneHotEncoder
onehotencoder = OneHotEncoder(categorical_features = [0])
x = onehotencoder.fit_transform(x).toarray()

sklearn.preprocessing.LabelEncoder

from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit([1, 2, 2, 6])
le.classes_
le.transform([1, 1, 2, 6]) 
le.inverse_transform([0, 0, 1, 2])

或者

le = preprocessing.LabelEncoder()
le.fit(["paris", "paris", "tokyo", "amsterdam"])
list(le.classes_)
le.transform(["tokyo", "tokyo", "paris"]) 
list(le.inverse_transform([2, 2, 1]))

你可能感兴趣的:(Python,Machine,learning,Computing)