对数据进行预处理时,一般需要对类别型特征进行编码:
- 序号编码
- 独热编码
- 二进制编码
其中独热编码用的是最多的。但是当类别数十分巨大时,独热编码是一个非常稀疏的向量,只有一个值不为0,其他值均为0。可以使用向量的稀疏表示来大大的节省空间,并且目前大多数的算法都接受稀疏向量形式的输入。
举个例子:
v
=
[
0
,
0
,
0
,
0
,
1
,
0
,
3
,
0
,
0
,
0
]
v = [0,0,0,0,1,0,3,0,0,0]
v=[0,0,0,0,1,0,3,0,0,0]
对于向量
v
v
v,其稀疏表示为
(
10
,
[
4
,
6
]
,
[
1
,
3
]
)
(10, [4, 6], [1,3])
(10,[4,6],[1,3])
10代表
v
v
v的长度,
[
4
,
6
]
[4, 6]
[4,6]表示非零元素的下标,
[
1
,
3
]
[1, 3]
[1,3]表示非零元素的值。