数据预处理3:处理分类型特征(1)

  • 在大多数机器学习算法中都是只能处理数值型数据,不能处理文字,尤其是sklearn的实现。
  • 很多标签和特征在数据收集后不是以数字呈现的,付费方式可能包含[“支付宝”,“数字人民币”,“微信”]。
  • 所有大多数情况下我们必须把数据编码

情况1:
对标签

from sklearn.preprocessing import LabelEncoder
y=data.iloc[:,-1]
le =  LabelEncoder()
le = le.fit(y)#导入数据
label = le.transform(y) #transform接口调用结果
le.classes_#属性.classes_查看标签中究竟有多少类别
label #查看获取的结果label
#le.fit_transform(y) #也可以直接fit_transform一步到位
#le.inverse_transform(label) #使用inverse_transform可以逆转

得到一串array([0,2,2,2,0,1,…])

data.iloc[:,-1]=label
data.head()

覆写最后一列
在这里插入图片描述

#也可以一步到位
from sklearn.preprocessing import LabelEncoder
data.iloc[:,-1] = LabelEncoder().fit_transform(data.iloc[:,-1])

情况2:
对特征

from sklearn.preprocessing import OrdinalEncoder
#接口categories_对应LabelEncoder的接口classes_,一模一样的功能
data_ = data.copy()
data_.head()

在这里插入图片描述

OrdinalEncoder().fit(data.iloc[:,1:-1]).categories_
#取每一行,从第2个列开始只不取最后一列。
#categories_ like classes_

在这里插入图片描述

data_.iloc[:,1:-1] = OrdinalEncoder().fit_transform(data_.iloc[:,1:-1])
data_.head()

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值