关于One-hot编码

来源:互联网 发布:yum install CMake 编辑:程序博客网 时间:2024/05/28 01:35

关于One-Hot编码(独热编码)
在机器学习的应用任务中,对于非连续的数据经常也会使用数字进行编码,便于处理。例如“男性”编码为1,“女性”编码为2。但是这二者之间是不存在数学上的连续关系的,然而如果按照上述1和2进行编码的话,机器学习算法会认为“男性”和“女性”之间存在数学的有序关系。
独热编码即One-Hot编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。例如上文中说的“男性”和“女性”共有两种状态,那么就可以编码为01和10,对于有N个状态的特征,经过one-hot编码后就会变成N个二元值,而其中只有一个为1。(一串字符只有一个位为1)
总结:可以说一种特征里面有多少属性(多少种取值)这个二进制就有多少位,当这个个体表现有某个属性的时候就将该属性对于的位置为1!

采用one-hot编码的好处主要有:

解决了分类器不好处理属性数据的问题
在一定程度上也起到了扩充特征的作用