pandas实现one-hot编码

机器学习中我们常常需要自己准备数据,对于分类task,one-hot编码是最常用的label方式。

什么是one-hot:离散的每一种取值都看做一个类别,若一种特征中有N个不相同的取值,那么就可以将该特征当作N种不同的类别,one-hot编码保证了每一个类别都会有唯一的取值,仅在该类别上取值为,其他位置取值为0。

举例来说,如果特征1下有cat、dog、horse,那么one-hot编码如下:

cat\rightarrow [1,0,0]   dog\rightarrow [0,1,0]   horse\rightarrow [0,0,1]

代码上用pandas中的pd.get_dummies()实现:

import pandas as pd
import numpy as np

data = pd.read_csv('feature.csv')
data = pd.DataFrame(data,columns=['animal'])
print (data)

输出:

dummies = pd.get_dummies(data)

输出:

那么利用pandas来实现one-hot编码的方法如上,这里需要强调的是,即使数据是一堆没有实际意义的编码,同样可以使用pd.get_dummies()来实现one-hot编码。

数据如下:

one-hot编码结果:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值