热线电话:13121318867

登录
2020-06-04 阅读量: 1039
Python机器学习之独热编码(二)

为什么要进行独热编码

在回归,分类,聚类等机器学习算法中,特征之间距离的计算或相似度的计算是非常重要的。而常用的距离或相似度的计算都是在欧式空间的相似度计算,计算余弦相似性,基于的就是欧式空间。

使用独热编码(One-Hot Encoding),将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。将离散型特征使用独热编码(One-Hot Encoding),会让特征之间的距离计算更加合理。

比如,上面的工作特征,该离散型特征,共有五个取值,不使用独热编码(One-Hot Encoding),其表示分别是:

演员 = (0)

厨师 = (1)

公务员 = (2)

工程师 = (3)

律师 = (4)

两个工作之间的距离是:

d(演员,厨师) = 1

d(厨师,公务员) = 1

d(公务员,工程师) = 1

d(工程师,律师) = 1

d(演员,公务员) = 2

d(演员,工程师) = 3

.....

显然这样的表示,计算出来的特征的距离是不合理。那如果使用独热编码(One-Hot Encoding),则得到d(演员,厨师) = 1与d(演员,公务员)都是1。那么,两个工作之间的距离就都是sqrt(2)。即每两个工作之间的距离是一样的,显得更合理。

16.5673
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子