LabelEncoder 的使用
Posted liweiwei1419
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LabelEncoder 的使用相关的知识,希望对你有一定的参考价值。
这个类的作用官方文档给出了最简洁的解释。
Encode labels with value between 0 and n_classes-1.
即将离散型的数据转换成 0 0 0 到 n − 1 n-1 n−1 之间的数,这里 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 的使用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 scikit LabelEncoder 获取新标签?
在多个程序中正确使用 Scikit 的 LabelEncoder