通俗易懂讲解机器学习中的特征工程

2020-12-14 11:45:17 浏览数 (1)

特征工程-特征选择

  • 特征选择-Filter
  • 特征选择-Wrapper
  • 特征选择-Embedded

特征工程 目的:从特征集合中挑选一组具有统计意义的特征子集,从而达到降维的效果。 流程:找一个集合,然后针对某个学习算法,测试效果如何,一直循环找到最优集为止。

特征选择

  • Filter:过滤式方式先对数据集进行特征选择,然后在训练模型,特征选择过程与后续模型训练无关。
  • Wrapper:直接把最终将要使用的模型的性能作为特征子集的评价标准,包裹式特征选择的目的就是为给定模型选择最有利于其性能的特征子集。
  • Embedded:将特征选择过程与模型训练过程融为一体,两者在同一个优化过程中完成,即在模型训练的过程当中自动进行特征选择。

特征选择-Filter

分析自变量和目标变量的关联。通过分析特征子集内部的特点衡量其好坏,然后选择排名靠前的特征。如前10%的特征,从而达到特征选择的目的。一般来说,基于贪心基于贪心玖需要对特征进行打分。而这个打分可以基于领域知识,相关性,距离,缺失,稳定性等等。

单一特征选择: 根据每个特征属性和目标属性之间的计算值来进行排序选择 排序标准:

  • 皮尔逊相关系数
  • Distance Metrics距离(相似性度量)
  • Chi-Squared test(卡方检验)
  • Information Gain(信息增益、互信息)

多特征选择: 根据多个特征属性和目标函数之间的计算值排序选择。排序标准: Relief-F Correlation Feature Selection(CFS) 优点:快速,只需要基础统计知识。 缺点:特征之间的组合效应难以挖掘。

特征选择-Wrapper

先选定特定算法,然后再根据算法效果来选择特征集合。一般会选用普遍效果较好的算法。例如:Random Forest, SVM, KNN等。 1.将所有的特征按照特定的搜索策略划分为特征子集,以减少搜索空间。常用方法: 前向搜索 Forward Selection:先挑出一些小的特征子集,逐步增加特征子集中的特征数u 后向搜索 Bacward Elimination:先从所有特征中删除一些属性,逐步减少特征数 2.使用特定的算法,如随机森林等等,根据算法的效果对特征子集进行排序 优点:直接面向算法优化 缺点:需要定义搜索策略

特征选择-Embedded

将特征选择过程与模型训练过程融为一体,两者在同一个优化过程中完成,即在模型训练过程中自动进行特征选择。利用正则化思想,将部分特征属性的权重变成零,权重非零的特征即可作为选择。

常见算法的特征选择损失函数

  1. 最小二乘法:Square loss
  2. SVM:Hinge loss
  3. Logistic regression:Logistic loss
  4. Adaboost:Exponential loss
  5. 决策树算法:如ID3,CD4.5,CART。决策树算法在树增长过程中每一步都必须选择一个特征,其生成过程本身就是个特征选择过程

优点:

自动进行特征选择,快速 缺点: 需要选择损失函数、调整参数配置,对经验要求比较高

0 人点赞