one-hot向量形式 one-hot向量将类别变量转换为机器学习算法易于利用的一种形式的过程这个向量的表示为一项属性的特征向量也就是同一时间只有一个激活点不为0这个向量只有一个特征是不为0的其他都是0特别稀疏。举个例子一个特征“性别”性别有“男性”、“女性”这个特征有两个特征值也只有两个特征值如果这个特征进行one-hot编码则特征值为“男性”的编码为“10”“女性”的编码为“01”如果特征值有m个离散特征值则one-hot后特征值的表示是一个m维的向量每个样本的特征只能有一个值这个值的向量坐标上就是1其他都是0如果有多个特征“性别”有两个特征“尺码”M、L、XL三个值我们用“01”表示男性M为“100”L为“010”XL为“001”所以一个样本【“男性”、“L”】 one-hot编码为[10 010]一个样本也就是5维的向量这就是one-hot形式那什么情况用one-hot编码什么情况可以不用呢事实上之所以用one-hot编码是为了更合理地计算欧式距离。比如有一个离散型特征代表工作类型该离散型特征共有三个取值不使用one-hot编码其表示分别是x_1 (1), x_2 (2), x_3 (3)。两个工作之间的距离是(x_1, x_2) 1, d(x_2, x_3) 1, d(x_1, x_3) 2。那么x_1和x_3工作之间就越不相似吗显然这样的表示计算出来的特征的距离是不合理。那如果使用one-hot编码则得到x_1 (1, 0, 0), x_2 (0, 1, 0), x_3 (0, 0, 1)那么两个工作之间的距离就都是sqrt(2).即每两个工作之间的距离是一样的显得更合理。对于离散型特征基于树的方法是不需要使用one-hot编码的例如随机森林等。基于距离的模型都是要使用one-hot编码例如神经网络等。————————————————版权声明本文为CSDN博主「lanhaier0591」的原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/lanhaier0591/article/details/78702558————————————————版权声明本文为CSDN博主「荷马先生」的原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/randompeople/article/details/83244766