one-hot vector(独热编码)

提出的目的
在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等。
这些特征值并不是连续的,而是离散的,无序的。于是,我们需要对其进行特征数字化。

具体含义:
One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。

One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。

举例说明

假如某个样本(某个人),他的特征是这样的[“男”,“中国”,“乒乓球”]。哪一维是1,就代表对象属于哪一类。

性别特征:[“男”,“女”] ,对应[1,0]。

祖国特征:[“中国”,"美国,“法国”], 对应[1,0,0]。

运动特征:[“足球”,“篮球”,“羽毛球”,“乒乓球”], 对应[0,0,0,1]。

完整的特征数字化的结果为:

[1,0,1,0,0,0,0,0,1]。

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

而我们使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。

将离散型特征使用one-hot编码,确实会让特征之间的距离计算更加合理。

原文:https://blog.csdn.net/wxystyle/article/details/80729741

你可能感兴趣的:(Machine,Learning,one-hot,独热)