主成分分析法本质上是从一个坐标系转移到另外一个坐标系,但是我们只取出K个相对重要的方向。
假设是二维数据,我们需要找到一个轴,使得样本空间所有点映射到这个轴上面后,方差最大(方差越大,信息量也就越大)
1.数据中心化,就是将所有的杨丽均值归0(样本分布没有发生改版,就是样本在每一个维度均值为0)
数据中心化后,均值为0 ,就简化了方差求解
2.此时,我们可以通过梯度上升来求解w使得方差最大,求出w后,称为第一主成分,此时,数据进行改变,把数据在第一主成分上的分量去掉,在新的数据上继续求出下一主成分,再将数据投影
(这里也可以通过求协方差,然后对协方差矩阵做特征分解,选则最大的K个特征值对应的特征向量,再将数据投影到选取的特征向量上)代码还是用协方差矩阵算了,np中已经封装好了协方差,特征值特征向量的求法
import numpy as np
import matplotlib.pyplot as plt
X=np.empty((100,2))
X[:,0]=np.random.uniform(0,100,100)
X[