LabelEncoder 和 LabelBinarizer 的区别? [复制]

Posted

技术标签:

【中文标题】LabelEncoder 和 LabelBinarizer 的区别? [复制]【英文标题】:Difference between LabelEncoder and LabelBinarizer? [duplicate] 【发布时间】:2019-05-26 03:55:30 【问题描述】:
from sklearn.preprocessing import LabelBinarizer

from sklearn.preprocessing import LabelEncoder

LabelEncoderLabelBinarizer 之间有什么区别,什么时候使用?

提前致谢。

【问题讨论】:

https://***.com/questions/50473381/scikit-learns-labelbinarizer-vs-onehotencoder 【参考方案1】:

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。

【讨论】:

以上是关于LabelEncoder 和 LabelBinarizer 的区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

labelencoder 和 OneHotEncoder 的值错误

python LabelEncoder和OnehotEncoder

LabelEncoder 和OneHotEncoder

使用 labelEncoder 时输入形状错误

373LabelEncoder 相关

LabelEncoder 与 sklearn ,变换和值之间的反向单一关系?