机器学习--特征工程

一、为什么要做特征工程?

在工业也流行着一句话:“数据和特征决定了机器学习的上限,而模型和算法知识逼近这个上限的方式”,由此可见,拥有适用于当前问题的数据和特征是至关重要的,因此做特征工程目的就是拥有更加适合当前问题的数据和特征。

二、数据预处理

2.1 缺失错误值处理

错误值处理方式:前期收集数据,数据源来源不同,可能造成数据格式不统一,需要统一格式;对于数值型的数据,某个样本出现字符型数据,可以进行人工查验或删除该数据。
缺失值处理方式:删除所在的行或列;取中位数、众数、均值;使用算法预测。

2.2 数据标准化

区间缩放法Min-Max -------- X-min/(Max-Min)
0均值标准化 -------- X-μ/σ μ为均值,σ为方差
非线性标准化 -------- 使用log、exp、正切函数对数据进行映射
适用场景:对于所选模型需要进行距离的度量(KNN、K-means算法等),需要对其数据进行标准化

2.3 one-hot编码

将离散型数据的类别转化相同长度的二进制数据(与寄存器原理类似)。
在这里插入图片描述由上图可知,product_type有三种离散的取值,使用one-hot编码,对每一个样本都扩展剩余离散取值的特征,1表示该离散值取到了,0表示未取该离散值。

2.4 分箱

用来处理本身是连续性数据,但是具有离散性质的数据。
如何理解?比如某个样本中有一特征为当日消费额,在实际情况中可以考虑消费额相近的划分为一类进行考虑,比如消费301,302,302.5 这些人的属性其实存在相似的,可以将在一定区间内的消费额的人员进行分箱处理。
i.e. 比如可以将某一天时间分为[0,5) [5,8) [8,12) [12,15) [15,20) [20,24)这几个阶段,因为在10点,11点,同类型的人群的行为是相似(上班族在上班,学生党在上课)

2.5 交叉特征

根据已有的特征某种方式组合成新的特征,对于离散特征做笛卡尔积,对于连续特征可做乘积或其他合理的操作,甚至离散型、连续性的特征也可以某种方式组合,前提是一定要切合当前所研究的问题。
i.e.

  • A{A1,A2,A3} B{B1,B2} A和B做笛卡尔积得{A1,B1} {A1,B2} {A2,B1} {A2,B2} {A3,B1} {A3,B2}
  • A是连续 B是连续 A*B形成的组合特征比A B单个特征都好,则模型选用这种特征是有利的

三、特征选择

3.1 过滤式法

著名的算法Relief算法,用来处理二分类问题的特征选择

扩展算法ReliefF算法,可以处理多分类问题

基本原理:对于某一特征,依次遍历该特征的所有特征值,找到当前特征值同类样本中“距离自己最近的样本”称为猜中近邻nh,在异类样本中找“距离自己最近的样本”称为猜错近邻nm,最后计算L=-nh+nm。最终对每一个特征都会得到一个score,依据该score排序得到特征对于最后分类的重要性。关注微信公众号【小明学算法】,可获取该算法源代码,以及特征工程的脑图。

Sklearn中也提供了一些方法:

  • 卡方检验

  • 互信息法

  • 相关系数

  • 方差分析法

3.2 包裹式法

著名的算法 LVM算法,可参考周志华 机器学习

原理:对选定的特征进行构建模型,并评估该模型的性能,确定当前特征构建的模型是否比上一次构建的模型要好,如果要好,加入性特征继续构建新模型,并如此反复进行迭代。从结果来看,确实选取的特征是最适合模型,但是可能会造成在有限的时间无法得出其结果。

3.3嵌入式法

先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征,与Filter类似,但是是通过训练来确定特征的优劣的。

  1. 基于惩罚项的特征选择法
  2. 基于树模型的特征选择法

四、降维处理

4.1 PCA主成成分分析

概念:将高维空间映射到低维空间,让样本具备更大的发散性
两种实现方式:

  • 基于特征值分解协方差矩阵
  • 基于SVD分解协方差矩阵

4.2 LDA线性判别分析

概念:是一种有监督的降维方法,常用与人脸识别、模式识别领域,降维后主要是让样本有更好的分类性能

五、总结

上述叙述的一些方法都是特征工程中比较常用的方法,实用性比较大,但是对于一个特定的机器学习问题,不仅限于上面提到的处理方法,需要根据实际情况合理选择方法、合理的选择相关特征工程技术进行处理。
练习工具:sklearn开源工具几乎提供了上述的所有的特征工程的技术,读者可自行进行练习,更加深入的理解特征工程。

六、参考文献

周志华 机器学习
来源于网络上对于特征工程的一些叙述、总结等

七、注意

在实际案例中,经常会出现样本分配不均匀的情况,如果样本比例超过10倍,就必须对这个问题进行合理的审视或者解决样本分配不均匀的情况,样本不均匀容易出现预测结果存在偏向性(举例说明)。

  • 上采样、下采样
  • 组合、集成的方法
  • 一分类 one-class-SVM

关注微信公众号【小明学算法】,回复特征工程,即可获得特征工程脑图、特征选择算法相关源码、数据集等干货资源。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值