LabelEncoder是一种编码类级别的方法.除了您包含的整数示例之外,请考虑以下示例:
>>> from sklearn.preprocessing import LabelEncoder
>>> le = LabelEncoder()
>>>
>>> train = ["paris", "paris", "tokyo", "amsterdam"]
>>> test = ["tokyo", "tokyo", "paris"]
>>> le.fit(train).transform(test)
array([2, 2, 1]...)
然后,LabelEncoder允许我们做的是将序数级别分配给分类数据.但是,您所注意到的是正确的:即,[2,2,1]被视为数字数据.这是将OneHotEncoder用于虚拟变量的一个很好的候选者(我知道你说你希望不使用它).
请注意,必须在单热编码之前使用LabelEncoder,因为OneHotEncoder无法处理分类数据.因此,它经常用作单热编码的前传.
或者,它可以将目标编码为可用的数组.例如,如果列车是您的分类目标,则需要LabelEncoder将其用作y变量.