LabelEncoder和LabelBinarizer之间的区别?

时间:2018-12-28 09:52:57

标签: python scikit-learn deep-learning

from sklearn.preprocessing import LabelBinarizer

vs

from sklearn.preprocessing import LabelEncoder

LabelEncoderLabelBinarizer之间有什么区别?何时使用哪个?

谢谢。

1 个答案:

答案 0 :(得分:0)

labelEncoder不会为X中的每个类别创建虚拟变量,而LabelBinarizer会创建虚拟变量。这是文档中的示例。

from sklearn.preprocessing import LabelBinarizer,LabelEncoder
data1 = [1, 2, 2, 6]

lb = LabelBinarizer()
le = LabelEncoder()

print('LabelBinarizer output \n',lb.fit_transform(data1))
#LabelBinarizer output 
 [[1 0 0]
 [0 1 0]
 [0 1 0]
 [0 0 1]]

print('LabelEncoder output \n',le.fit_transform(data1))
#LabelEncoder output 
 [0 1 1 2]

因此,如果您只想将类别编码为1,2,3等,请使用labelEncoder。如果要为每个类别创建虚拟变量,请使用labeBinarizer。