PCA
判断降维维数:在判断降维的维数时,可以通过np.cumsum(var_exp)来判断要降多少维,var_exp表示排好序的特征值。求得的list表示前n个特征值的重要程度之和
目的:投影后的投影的值尽可能分散,方差尽可能大。
优化目标:将一组N维向量降为K维(K大于0,小于N),目标是选择K个单位正交基,使原始数据变换到这组基上后,各字段两两间协方差为0,字段的方差则尽可能大
1.寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,方差值最大
2.选择第二个基时只能在与第一个基正交的方向上选择
具体方法:
1.协方差矩阵对角化:即除对角线外的其它元素化为0,并且在对角线上将元素按大小从上到下排列。
2.根据特征值的从大到小,将特征向量从上到下排列,则用前K行(前K重要(数值最大)的特征值所对应的特征向量)组成的矩阵乘以原始数据矩阵X,就得到了我们需要的降维后的数据矩阵Y。
优点:
1.使样本的采样密度增大
2.较小的特征值所对应的特征向量往往与噪声有关,舍弃他们一定程度上能起到去燥的效果。
LDA
LDA关心的是能够最大化类间区分度的坐标轴成分,将特征空间(数据集中的多维样本)投影到一个维度更小的k 维子空间中,
同时保持区分类别的信息。求出最佳投影方向w,w即为最大特征值所对应的特征向量,同PCA。
目的,原理:投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近方法
PCA和LDA的相同点
- PCA和LDA都是经典的降维算法;
- PCA和LDA都假设数据是符合高斯分布的;
- PCA和LDA都利用了矩阵特征分解的思想。
PCA和LDA的不同点
- PCA是无监督(训练样本无标签)的,LDA是有监督(训练样本有标签)的;
- PCA是去掉原始数据冗余的维度,使投影后的投影的值尽可能分散,方差尽可能大,LDA是选择一个最佳的投影方向,使得投影后相同类别的数据分布紧凑,不同类别的数据尽量相互远离。
- LDA最多可以降到k-1维(k是训练样本的类别数量,k-1是因为最后一维的均值可以由前面的k-1维的均值表示);
- LDA可能会过拟合数据。
注意点:
1.原则意义上类别变量(离散型)是不能用于做因子分析(PCA)的,只有连续变量才行。可以把连续型变量做因子分析(PCA),再和分类变量放到一起。