原文链接:
http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
说明
1.图示
0, 1, 0, 1 ⇒ 2,0, 1, 2, 0 ⇒ 3,3, 0, 1, 2 ⇒ 4;
第1列,有2个值(不相同) 0, 1, 0, 1 ⇒ 2 需要占2位表示
第2列,有3个值(不相同) 0, 1, 2, 0 ⇒ 3 需要占3位表示
第3列,有4个值(不相同) 3, 0, 1, 2 ⇒ 4 需要占4位表示
备注:one-hot中,占位数量=数值数量(不相同)
2.说明
[0, 0, 3], [1, 1, 0], [0, 2, 1],[1, 0, 2]
1 2 3
1 [0, 0, 3],
2 [1, 1, 0],
3 [0, 2, 1],
4 [1, 0, 2]
看列,第一列0,1; 第二列,0,1,2; 第三列,0,1,2,3
2(不同数值个数) + 3(不同数值个数) + 4(不同数值个数) = 9
3.列表说明
One-hot编码
第一列
编号\值编号 | 1 | 2 |
|
| 0 | 1 | 数值 |
1 | 1 | 0 | One-hot编码 |
2 | 0 | 1 | One-hot编码 |
所以
0的One-hot编码是1 0;
1 的One-hot编码是0 1;
第二列
编号\值编号 | 1 | 2 | 3 |
|
| 0 | 1 | 2 | 数值 |
1 | 1 | 0 | 0 | One-hot编码 |
2 | 0 | 1 | 0 | One-hot编码 |
3 | 0 | 0 | 1 | One-hot编码 |
所以
0的One-hot编码是1 0 0;
1的One-hot编码是0 1 0;
2的One-hot编码是0 0 1;
第三列
编号 | 1 | 2 | 3 | 4 |
|
| 0 | 1 | 2 | 3 | 数值 |
1 | 1 | 0 | 0 | 0 | One-hot编码 |
2 | 0 | 1 | 0 | 0 | One-hot编码 |
3 | 0 | 0 | 1 | 0 | One-hot编码 |
4 | 0 | 0 | 0 | 1 | One-hot编码 |
所以
0的One-hot编码是1 0 0 0;
1的One-hot编码是0 1 0 0;
2的One-hot编码是0 0 1 0;
3的One-hot编码是0 0 0 1;
4.实例
[0,1,1] 在该enc中的one-hot编码:1,0 ,0 ,1,0,0,1,0,0]