OneHotEncoding

独热编码用于离散标签数值化

设有数据集A,其中有5类物品,编号为0,1,2,3,4

当我们对数据集A构建分类模型时,不能直接使用0,1,2,3,4作为分类标签带入计算,因为其数值大小有差异,这引入了误差

编码

将0,1,2,3,4这样的数值标签转换为如下所示,即可解决上述问题

\[\begin{split}0 : 1 0000 \\ 1 : 0 1000 \\ 2 : 0 0100 \\ 3 : 0 0010 \\ 4 : 0 0001\end{split}\]

这就是独热编码,编码总长度为类别数,先将类别映射为整数值,整数值对应的编码索引位置为1,其余为0

示例

数据集A,有5类物品,[小狗,小猫,小鸭,小鸡,小马],将其类别标签对应为从0开始的连续数值[0,1,2,3,4,5],其独热编码为:

类别标签

数字类别

编码

小狗

0

10000

小猫

1

01000

小鸭

2

00100

小鸡

3

00010

小马

4

00001