One-hot编码又名独热编码
在数据清洗过程中,我们经常会遇到分类数据,举个简单的例子:
行列号 | city |
0 | beijing |
1 | shanghai |
2 | shenzhen |
对于这样的分类数据,可以用one-hot编码的数值来代替类别。
One-Hot编码是分类变量作为二进制向量的表示,采用N位状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位。
通过one-hot编得到的结果如下(prefix代表前缀名,Python中可以自行命名):
行列号 | prefix_beijing | prefix_shanghai | prefix_shenzhen |
0 | 1 | 0 | 0 |
1 | 0 | 1 | 0 |
2 | 0 | 0 | 1 |
one-hot编码得到的变量又称虚拟变量/哑变量(dummy variables)
实践: