pca降维
实际使用数据集的时候由于特征很多,会很耗时,因此需要减少特征,但是不知道特征多少合适,这个时候就要使用特征降维
降维作用
(1)使得数据集更容易使用
(2)降低很多算法的计算开销
(3)去除噪声
(4)多维数据不容易画图,降低维度容易画图,使结果容易理解。
优点:降低数据的复杂性,识别出最重要的多个特征。
缺点:不一定需要,有可能损失掉有用信息,仅适用于数值数据。
PCA原理
在PCA中,数据从原来的坐标系转换到了新的坐标系。新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的选择和第一个坐标轴正交且具有最大方差的方向。该过程一直重复,重复次数为原始数据中特征的数目。会发现,大部分方差都包含在最前面的几个新坐标轴中。因此我们可以只选择前面几个坐标轴,即对数据进行了降维处理。(大白话讲解:选择坐标轴的依据是尽可能保留原始数据。降维即把数据投影在这个坐标轴上或者几个坐标轴构成的‘平面’上)。
PCA相关算法
前面提到数据的第一个主成分是从数据差异最大(即方差最大)的方向提取出来。第二个主成分是数据差异性次大的方向,并且与第一个主成分正交。通过数据集的协方差矩阵及其特征值分析,我们就可以拿到这些主成分的值。
一旦得到协方差矩阵的特征向量,取出最大的N个值。这些特征向量也给出了N个最重要特征的真实结构。将数据乘上这N个特征向量转换到新的数据空间。
特征值分析
在 AV=aV中,V是特征向量,a是特征值,是简单的标量。等式的含义是:如何特征向量V被某个矩阵A左乘,那么它就等于某个标量a乘以V。
numpy里有特征向量和特征值的模块linalg。其中eig()方法用于求特征向量和特征值。