机器学习特征工程的7个技巧

摘要: 特征工程

1. 数值变量标准化

不同数据的Scale不一样,所以需要标准化。比如身高和体重。
不做标准化,有些算法会死得很惨,比如SVM、神经网络、K-means之类。标准化的一种方法是均值方差法。
不是什么时候都需要标准化,比如物理意义非常明确的经纬度,如果标准化,其本身的意义就会丢失。
标准化并不等同归一化,此处可参考其他资料。

2. 离散化

原文是Binning/Converting Numerical to Categorical Variable,实际就是把连续型的数据利用Binning等方法转为离散的分类变量(Categorical Variable)。

3. 减少分类变量取值范围

有些分类变量的少部分取值可能占据了90%的case,这种情况下如何处理,可以采用预测模型、领域专家、或者简单的频率分布统计。
编者认为还是应用为王,具体问题具体分析,高频和低频都是需要特别处理的地方,抛弃效果不好时,可以考虑采样(高频)或上采样(低频),加权等等方法。

4. Missing Data

感觉叫Missing Value更合适,这个在很多实际问题中确实挺重要,比如一个性别特征,三分之一为男,三分之一为女,还有一类没填,missing value不容忽视。

5. 哑变量

哑变量又称为虚拟变量。分类变量(尤其是枚举型变量)有时候多个数值之间的差值没有物理意义,比如操作系统类别,iOS、Android、Windows分别取值0、1、2,它们相互之间的差值并没有任何物理意义。处理方法是直接生成三个哑变量,取值范围都是0或1,第一个哑变量表示是否为iOS,其他类似。
加入哑变量后就不会有枚举变量数值无比较意义的问题了。

6. 交叉特征

有些特征一起考虑才有意义,简单来说if条件需要除了非要加入与/非了,这个重要性无需多言。

7. 直觉和额外的特征

针对原始数据,可以利用自己的特长手动或自动生成直觉和额外的特征。比如文本问题,可以写个自动算法生成单词长度、元音个数、n-gram等等。
数据分析师可能会发现噪声中的信号。


想加入数据圈子,请加微信:luqin360

点击【阅读原文】,进入【数据人网】,了解更多优质的数据知识和资讯。


首页 - 数据科学与人工智能 的更多文章: