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

  • 19
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值