from sklearn.preprocessing import LabelBinarizer
与
from sklearn.preprocessing import LabelEncoder
LabelEncoder
和LabelBinarizer
有什么区别,什么时候使用哪一个?
提前谢谢。
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]
因此,如果您只想将类别编码为 0、1、2、3 等,请使用 labelEncoder。如果你想为每个类别创建虚拟变量,那么去labeBinarizer。