序号编码
就是给一个类别定义一个数字,用数字代表类别。因为数字是可以进行模型训练的。
比较适合哪种类别之间存在大小关系的特征,例如身高:高,中,低;体重:超重,偏中,正常,偏瘦,过瘦等。
各个类别之间无大小关系的话并不建议使用,例如血型,颜色等。因为数字会引入大小关系而原特征没有。此时建议使用One-hot编码。
one-hot编码(独热编码)
One-hot编码适合于解决各个类别相互独立的特征编码。但是One-hot编码存在以下问题需要谨慎:
1.特征维度增加。
2.内存增加,训练时间增加,可以使用稀疏矩阵减低代价。
3.各种boosting tree模型使用One-hot编码并不见得有效。
树模型是否需要one-hot编码
二进制编码
相当于序号编码和one-hot编码的二不像结合体,我并没有使用过。