在对海量数据或大数据进行数据挖掘时, 通常会面临 "维度灾难", 原因是数据集的维度可以不断增加直至无穷多, 但计算机的处理能力和速度却是有限的; 另外, 数据集的大量维度之间可能存在共线性的关系, 这会直接导致学习模型的健壮性不够, 甚至很多时候算法结果会失败. 因此, 我们需要降低维度数量并降低维度间共线性的影响.
数据降维也被称为数据规约或数据约减, 其目的是减少参与数据计算和建模维度的数量. 一种典型的数据降维思路是基于特征选择的的降维.
基于特征的选择指的是根据一定规则和经验, 直接选取原有维度的部分参与到后续的计算和建模过程, 用选择的维度代替所有维度, 这个过程不产生新的维度. 这种方式的好处在于, 所选择的维度保留了原有维度的业务含义, 可以用于后续的知识模式解读和业务理解, 从而保证了最终的可应用性.
基于特征选择的降维方法通常有四种, 如下图所示:
基于特征选择的降维方法
经验法: 通过操作者的以往经验, 实际数据情况, 业务理解程度等综合考虑选择.
测算法: 通过不断测试多种维度选择参与计算, 通过结果来反复验证和调整并最终找到最佳特征方案.
基于统计分析的方法: 通过相关性分析不同维度间的线性相关性, 从相关性高的维度中人工去除或筛选; 或者通过计算不同维度间的互信息量, 找到具有较高信息量的特征集, 然后把其中的一个特征去除或留下.
机器学习算法: 通过机器学习算法得到不同特征的特征值或权重, 然后再根据权重来选择较大的特征. 例如, 通过 CART 决策树模型得到不同变量的重要程度, 然后可以根据实际权重值进行选择.
来源: http://www.jianshu.com/p/79a6e4691fff