在数据预处理中,为了方便模型的输入,常常会把非数值类型量化成数值类型。
其中比较简单的一种处理离散型数值编码方式叫one-hot coding(独热编码)
1、概念
独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。
2、介绍
其实编码方式并不难理解,N位状态寄存器来对N个状态进行编码就是将所有状态排列,具有哪些状态就将状态进行标记。用来解决类别型数据的离散值问题
比如:
对0,1进行编码
首先只有两个状态就是需要两个状态寄存器
编码为:00,01
再比如,有3个特征值;
face = ['handsome','ugly']
stature = ['tall','middle','short']
country = ['Chinese','American,'Japan','korea']
一共9种状态,用9位数字表示
['handsome','tall','Japan'] 表示为 101000010
['ugly','short','Japan'] 表示为 010010010
3、简单实现
在python的第三方库pandas中实现非常简单,就是使用 get_dummies() 方法