LabelEncoder 的使用

Posted liweiwei1419

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LabelEncoder 的使用相关的知识,希望对你有一定的参考价值。

这个类的作用官方文档给出了最简洁的解释。

Encode labels with value between 0 and n_classes-1.

即将离散型的数据转换成 0 0 0 n − 1 n-1 n1 之间的数,这里 n n n 是一个列表的不同取值的个数,可以认为是某个特征的所有不同取值的个数。

我用在什么地方:

Kaggle 的泰坦尼克号幸存者预测中,Embarked 这一列的编码:

from sklearn import preprocessing

le = preprocessing.LabelEncoder()
le.fit(train['Embarked'].values.tolist())

# 可以查看一下 fit 以后的类别是什么
le.classes_

# transform 以后,这一列数就变成了 [0,  n-1] 这个区间的数,即是  le.classes_ 中的索引
le.transform(train['Embarked'].values.tolist())

类似的处理有:

# Embarked 登船港口
labels = train['Embarked'].unique().tolist()
labels

labels.index('S'), labels.index('C'), labels.index('Q'), labels.index(np.nan)

train['Embarked'].apply(lambda n: labels.index(n))

参考资料

1、官方文档
http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html

以上是关于LabelEncoder 的使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 labelEncoder 时输入形状错误

如何使用 scikit LabelEncoder 获取新标签?

在 LabelEncoder 中自定义

在多个程序中正确使用 Scikit 的 LabelEncoder

sklearn中的LabelEncoder和OneHotEncoder的区别

LabelEncoder().fit_transform 给我负值?