机器学习数据处理one-hot编码

1. 什么是one-hot编码

  • 采用N位状态寄存器来对N个状态进行编码, 每个状态都由他独立的寄存器位,并且在任意时候只有一位有效
  • One-Hot编码是分类变量作为二进制向量的表示

2. 为什么要one-hot编码

  • 在回归,分类,聚类等机器学习算法中,特征之间距离的计算或相似度的计算是非常重要的,而我们常用的距离或相似度的计算都是在欧式空间的相似度计算,计算余弦相似性,基于的就是欧式空间,所以往往默认数据数据是连续的(可以计算距离?),并且是有序的。但是有时用数字表示的数据并不是有序的,而是随机分配的。

3. one-hot编码的好处

  1. 解决了分类器不好处理属性数据的问题,让特征之间的距离计算更加合理
  2. 在一定程度上也起到了扩充特征的作用,比如性别本身是一个特征,经过one hot编码以后,就变成了男或女两个特征。
  3. 将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。

你可能感兴趣的:(机器学习)