在做特征工程的过程中,数值特征通常会做归一化处理,而类别特征通常以字符串形式进行表示,没有特定的数值,例如性别(男,女)。

除了决策树等大部分模型,如LR,SVM并不支持字符串形式的输入,那么在特征工程中,该如何处理特别特征呢?

主要有三种编码转换。

1 序号编码

含有大小关系的数据,可以使用序号编码,比如学生考试成绩,可以分为高中低三挡,用1表示高,2表示中,3表示低。

2 独热编码

独热编码是类别特征最常用的编码方法,主要处理不具有大小关系的特征,例如性别(男,女)可以表示成男(1,0),女(0,1),独热编码会生成大量的稀疏向量,稀疏向量使得特征变成了更高维度的特征,这样会有几个问题,假如使用KNN算法,高纬度下两点之间的距离很难进行有效的衡量,在LR模型中,参数的数量会随着维度的增高而增加,容易引起过拟合现象。

3 二进制编码

二进制编码主要是先将类别特征进行序号编码,然后用序号编码的二进制作为编码结果,维度少于独热编码,节省了存储空间。

查看原文 >>
相关文章