数据挖掘篇——特征工程之特征降维

 在业界普遍流传着一句话:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。html

 因而可知,数据和特征是多么的重要,而在数据大多数场景下,数据已经就绪,不一样人对于一样的数据处理获得的特征却千差万别,最终获得的建模效果也是高低立现。从数据到特征这就要从特征工程提及了...web

0. 特征工程

    首先介绍下,特征工程是什么:利用数据领域的相关知识来建立可以使机器学习算法达到最佳性能的特征的过程[1.wiki]。特征工程是一个较大领域,它一般包括特征构建、特征提取和特征选择这三个子模块,重要性排序:特征构建>特征提取>特征选择。
    先来介绍几个术语:
  • 特征构建:从原始数据中构建出特征,有时也称做特征预处理,包括缺失值处理、异常值处理、无量纲化(标准化/归一化)、哑编码等。
  • 特征提取:将原特征转换为一组具备明显物理意义或统计意义或核的新特征。
  • 特征选择:从特征集合中挑选一组最具统计意义的特征子集。
    其中本文主要总结下可统一用于特征降维的特征提取和特征选择技术方法,特征构建涉及技术点较少,下回再分解。

1. 特征降维

WHAT:将高维空间的特征经过删减或变换转为低维空间特征
WHY:下降时间/空间复杂度、下降提取特征开销、降噪、提高鲁棒性、加强可解释性、便于可视化;
HOW:主要有两种方式,即特征选择和特征提取。

1.1 特征选择(子集筛选):

特征选择方法主要分为三种:算法

  • Filter:过滤式;按权重排序,不涉及到学习器,排序规则通常有方差法、相关系数法、互信息法、卡方检验法、缺失值比例法(注意受范围影响的方法需先归一化)[2.zhihu]
    • 方差法:计算各个特征的方差,而后根据阈值,选择方差大于阈值的特征。可以使用sklearn.feature_selection库的VarianceThreshold类来实现。
    • 缺失值比例法:计算各个特征的缺失值比例,将缺失值比例较大的特征过滤掉。
    • 相关系数法:计算特征与输出值的相关系数以及相关系数的 P值(常见的有:皮尔森相关系数用于数值特征的线性检验,秩相关系数用于类别特征的单调性检验)。
    • 互信息法:计算定性特征与输出值的相关性(运用了信息熵理论),决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
      •    
    • 卡方检验法:对于每一个特征与输出值,先假设独立,再观察实际值与理论值的误差来肯定假设的正确性,便是否相关。
  • Embedded:嵌入式;肯定模型过程当中自动完成重要特征挑选,基于惩罚项如岭回归(L2正则)、LASSO(L1正则),基于树模型如GBDT、决策树[3.cnblog]
  • Wrapper:封装式;用学习器的性能评判不一样特征子集的效果,特征子集生成方式:彻底搜索(前向&后向)、启发式搜索、随机搜索[3.cnblog]

1.2 特征提取(投影or转换):

  • 线性方法[4.csdn]
    • PCA:主成分分析;理论:经过正交变换将原始的 n 维数据集变换到一个新的被称作主成分的数据集中,变换后的结果中第一个主成分具备最大的方差值;
      • 特色:无监督,尽可能少维度保留尽可能多原始信息(均方偏差最小),指望投影维度上方差最大,不考虑类别,去相关性,零均值化,丧失可解释性
    • ICA:独立成分分析;将原特征转化为相互独立的份量的线性组合;PCA通常做为ICA的预处理步骤[5.zhihu]
    • LDA:线性判别分析,有监督,尽量容易被区分(高内聚、低耦合)[6.cnblog]
    • SVD:奇异值分解,可用于PCA、推荐、潜在语义索引LSI,可并行,可解释性不强
  • 非线性方法:
    • LLE:局部线性嵌入,非线性降维(基于图),保持原有流行结构
    • LE:拉普拉斯特征映射,非线性(基于图),相互有联系的点尽量靠近
    • t-SNE:t分布随机临近嵌入,将欧几里得距离转为条件几率表达点与点之间的类似度[7.datakit]
    • AE:自动编码器
    • 聚类

 

特征降维方法对比先介绍到这里,更多内容后续继续分解~app

转载请注明出处:数据挖掘篇——特征工程之特征降维http://www.javashuo.com/article/p-yymnitve-dc.html机器学习

 

参考连接:

1.wiki:https://en.wikipedia.org/wiki/Feature_engineeringpost

2.zhihu:https://www.zhihu.com/question/28641663性能

3.cnblog:http://www.javashuo.com/article/p-bzuwtdkf-bx.html学习

4.csdn:http://www.javashuo.com/article/p-cmzszhil-nd.html编码

5.zhihu:https://www.zhihu.com/search?type=content&q=PCA%20ICAurl

6.cnblog:https://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html

7.datakit:http://www.datakit.cn/blog/2017/02/05/t_sne_full.html

相关文章
相关标签/搜索