特征工程--特征编码1

最近在学习特征工程,整理了几个特征编码的方法:

方法一:合并编码(Consolidation encoding)

含义:由于拼写错误,职位、地域位置等变量的描述略有不同,可以将意思相同的分类变量映射到同一变量。

适用特征:主要处理分类变量。

优点:可以统一特征,删除无效数据

缺点:如果变量数量多,需要通过相似度来计算,变量数量少,需要进行人工来识别

原始数据

编码后数据

内蒙古

内蒙古自治区

内蒙

内蒙古自治区

内蒙古自治区

内蒙古自治区

BP

bp neural network

Bp

bp neural network

bp neural network

bp neural network

方法二:多项式编码(polynomial encoding)

含义:原始特征之间的交互,如果是类别变量的二值特征,他们的交互特征两个特征的乘机x1x2,就是逻辑函数x1ANDx2的关系,如果是数值特征,逻辑关系就是x1✖x2;

适用特征:类别变量、数值变量

优点:交互特征构造简单

缺点:随着构造特征的数量和复杂程度的增加,会增加特征的训练时间和评分时间,消耗计算能力,增加模型的计算成本。

方法三:categorical embedding

含义:“把正整数(索引)转换为固定大小的稠密向量”,使的一些原本意义上“离得近”的东西,在转换后的向量中(emdding层输出的向量)确实离得近。即模型的训练的作用使得这些新标签已经蕴含了原始变量的信息。如下图所示,在多维空间中,词语之间的相似程度,使得我们能够可视化词语之间的关系。Embedding层能够让我们捕捉原有特征的内在属性,使得一些原来意义上离得近的东西,在转换后的向量中确实离得近(欧式空间)。举例:新闻中有很多板块,体育、财经、娱乐等,篮球足球等词语必然出现在体育板块,而不会出现在财经板块,我们训练了神经网络使得很多分类问题尽可能正确。意味着神经网络模型中“篮球和足球”经常在一起,证明两者之间的离的近,即emdding里距离近。

 

适用特征:类别变量、数值变量(仅仅包含整数)

优点:缩小变量维度,使用cpu,减少内存开销,更快的模型训练

缺点:神经网络模型训练后的特征难以解读

参考其他文章后自己总结,如有错误请指正!

参考来源:

【1】https://zhuanlan.zhihu.com/p/85242628?utm_source=wechat_session&utm_medium=social&utm_oi=985854868208316416

【2】https://blog.csdn.net/anshuai_aw1/article/details/83586404

原文地址:https://www.cnblogs.com/liu-304711/p/14119242.html