185****1226

2020-06-04   阅读量: 607

发点有用的

扫码加入数据分析学习群

在机器学习算法中,常会遇到分类特征是离散的,无序的。例如:性别有男、女,城市有北京,上海,深圳等。

性别特征:

["男","女"] => 0,1

地区特征:

["北京","上海,"深圳"] => 0,1,2

工作特征:

["演员","厨师","公务员","工程师","律师"] => 0,1,2,3,4

比如,样本(女,北京,工程师)=>(1,0,3),但是,这样的特征处理并不能直接放入机器学习算法中,因为,分类器通常数据是连续且有序。解决这类问题,一种解决方法是采用独热编码(One-Hot Encoding)。

什么是独热编码

独热编码(One-Hot Encoding),又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。即,只有一位是1,其余都是零值。

例如,对六个状态进行编码:

自然顺序码为 000,001,010,011,100,101

独热编码则是 000001,000010,000100,001000,010000,100000

回到一开始的例子,性别特征:["男","女"],按照N位状态寄存器来对N个状态进行编码的原理:

性别特征:["男","女"](这里N=2)

男 => 10

女 => 01

地区特征:["北京","上海,"深圳"](这里N=3):

北京 => 100

上海 => 010

深圳 => 001

工作特征:["演员","厨师","公务员","工程师","律师"](这里N=5):

演员 => 10000

厨师 => 01000

公务员 => 00100

工程师 => 00010

律师 => 00001

所以,样本的特征是["女","北京","工程师"]的时候,独热编码(One-Hot Encoding)的结果为:[0,1,1,0,0,0,0,0,1,0]

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
15.3207 3 3 关注作者 收藏

评论(0)


暂无数据

推荐课程