one-hot编码

1.什么是One_Hot?
对于这个问题,之前谷歌了一下,还涉及寄存器了(one-hot编码是N位状态寄存器为N个状态进行编码的方式)。。真的无语。这里不说那些很底层的,我们只需要了解one-hot编码是将类别变量转换为机器学习算法中容易处理的一种形式!

概念太抽象了,对太抽了,那么从实际例子来说明。

如下我们有两个特征:
image.png

我们看到有两个特证名为:animal与food,解释一下两列值意思,第一列代表的是动物的名字,第二列是食物的个数,比如第一行cat 2 描述为猫吃了两个食物,这里是测试数据,主要是想通过,这些数据给予直观的认识及实际操作。

而对上述数据做one-hot编码后得结果为:
image.png

animal列数据类型是字符串,而第二列是数值型,如果我们能将这些特征值用0/1表示,是不是在机器学习中,对这些非连续值非常有帮助。

综上,我们推论出,如果你在处理的数据中,通过特征工程这一步操作,能够将特征的类型判别出来,哪些是连续的,哪些是非连续的,那么我们就可以对它进行特殊处理,比如此处的one-hot编码!

2.One_Hot编码处理离散特征
在使用one-hot编码中,我们可以将离散特征的取值扩展到欧式空间,在机器学习中,我们的研究范围就是在欧式空间中,首先这一步,保证了能够适用于机器学习中;而;另外了对于one-hot处理的离散的特征的某个取值也就对应了欧式空间的某个点!

那么对于上面这句话,你会有很多疑问,比如:为何one-hot编码能将离散特征映射到欧式空间?

原因是,在统计机器学习算法中的回归,分类这些问题中,特征之间距离的计算或相似度计算非常重要,比如大家常用的k-means,而我们常用的这些计算都在欧式空间中进行相似度计算。换句话说,就是我上面说的研究范围在欧式空间,保证了one-hot编码的成立!
原文地址:https://zhuanlan.zhihu.com/p/47072174

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址:https://www.cnblogs.com/zongfa/p/9305657.html 1. 为什么...
    fallinmix阅读 511评论 0 0
  • 一: 为什么要用one-hot编码   在进行机器学习的模型训练时,通常在数据集中会遇到一些离散特征.  这些特征...
    SeekerLinJunYu阅读 2,402评论 0 1
  • 背景 某些数据集的特征并不是连续的数值,而是离散的字符串。而用基于数学运算的机器学习方法,无法处理。这时,需要换一...
    大师_cfab阅读 271评论 0 0
  • 1、什么是独热码 独热码,在英文文献中称做 one-hot code, 直观来说就是有多少个状态就有多少比特,而且...
    Ten_Minutes阅读 6,581评论 1 2
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,120评论 0 4