1. 为什么要用one hot encoding
在实际场景中,变量非连续数值,而是离散数据时,采用暴力赋值,会给数据一个潜在的排序权重。换言之,各向量之间的距离不等。
例如:性别(男,女),我们可以暴力转码为(0,1),没问题。
但是性别(男,女,人妖),如果暴力转码为(0,1,2),“男”/“女”、“男”/“人妖”间的向量距离不等,就提供了一个潜在的大小排序,会影响输出结果。
为了解决上述问题,其中一种可能的解决方法是采用独热编码(One-Hot Encoding)。
独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。因此:(男,女,人妖),可以转码为((1,0