类别特征的处理方法大全

类别特征在现实数据里十分常见,处理类别特征对于机器学习里的各种算法来说都是必不可少的过程。

本篇文章总结了几种常见的处理类别特征的方法,这些方法不仅有传统的one-hot编码的形式,也有目前最先进的思路。

一、one-hot编码

详见这篇文章

二、类别特征的最优切分。

该方法需要特定工具的支持,如LightGBM,详见这篇文章

三、转成数值特征

3.1 利用embedding

利用神经网络的embedding层能够让我们捕捉原来特征的内在属性,使得一些原来意义上离得“近”的东西,在转换后的向量中确实离得近(欧式空间)。详见这篇文章

3.2 统计每个类别对应的label(训练目标)的均值

注:这里的类别指的是类别特征里的值,并非是训练目标Y。

统计的时候有一些小技巧,比如不把自身的label算进去(leave-me-out, leave-one-out)统计, 防止信息泄露。

举例:

关于"leave-me-out"的统计方法。一个简单的例子,比如样本1,3,5属于同个类别(在类别特征上的属性一样),对于样本1,可以用3和5的label均值,样本3用1和5的均值……,用这些均值来替换原来类别特征上的值。这样可以防止每一个样本直接把自身的label信息放到特征里面,减少统计特征的信息泄露,防止过拟合。CatBoost用了类似的算法来处理类别特征。

猜你喜欢

转载自blog.csdn.net/anshuai_aw1/article/details/83625028
今日推荐