主要内容本系列马上就要进入建模的阶段了,但是在这之前还有一些准备工作要做,能让我们最终得到的分析结果更好,数据降维便是其中之一。
数据降维实际上是对输入特征的一次精简。通常来说当我们已经通过数据处理得到了一组变量(特征)之后,我们并不会直接将这些变量输入某种统计模型(比如SVM)。因为第一,某些变量之间可能存在着某种线性非线性的关系,如果一股脑将全部变量都输入模型可能会影响模型的精度。第二,变量(特征)数量相对数据条数有可能过大,从而不符合某些模型的需求。打个比方,如果你有100条数据,却有200个特征,那么大多数的模型都回报错,提醒你变量(特征)数量太多。
正是由于以上的原因也是为了更好的理解数据,阅读数据的信息,我们会采用一些数据降维的办法对变量(特征)数目进行一定程度的缩减,在不丢失绝大多数信息的前提下尽可能的生成解释力更强的特征,同时去除不必要的特征。
我们这篇文章主要介绍的就是主成分分析法。主成分分析(Principal Component Analysis,PCA)大概是数据降维最常用的方法之一了,主要通过线性变换的方式,达到特征压缩解释变量的目的。该算法主要分为6个步骤:
1)构建p*n阶的变量矩阵
2)将p*n阶的变量矩阵X的每一行(代表一个属性字段)进行标准化
3)求出协方差矩阵C
4)求出协方差矩阵的特征值及对应的特征向量
5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k列组成矩阵P
6)Y=XP即为降维到k维后的数据
2-5所设计的算法步骤,主要是为了找到p个变量的正规化线性组合,从而使它的方差达到最大。在本篇文章里我们并不会对其中所涉及的数学推导进行解读