from sklearn.preprocessing import LabelBinarizer
vs
from sklearn.preprocessing import LabelEncoder
LabelEncoder
和LabelBinarizer
之间有什么区别?何时使用哪个?
谢谢。
答案 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。