PCA主成分析降维
1.计算步骤
假定我们有特征向量x(i),l∈1,……,N:
1、数据集的均值:u=(1/N)Σx(i)
2、均值发生漂移后得到数据集:u(i)=x(i)-u,i∈1,…..,N
3、调整后的数据集,其中每个特征向量u’(i)除以标准差:u’(i)/δj→u’(i)
δj=((1/N)Σ(x(i))^2)^(1/2)
4、样本点协方差矩阵
5、k个最大的特征值λi,i∈1,…..,k,以及相应的特征向量w(i),i∈1,…..,k.
6、映射到由k个特征向量组成的子空间特征向量v(i)=(W^T)u(i)∈R^k,其中W=[w1…..wk]∈R^(N*k)是N行k列的特征向量矩阵。
2、例子
本例是把二维降维到一维。
我们先来生成数据集,该数据集沿着直线y=2x分布,我们在其中添加了一些噪声,以下是代码:
import numpy as np
from matplotlib import pyplot as plt
#线 y=2*x
x=np.arange(1,101,1).astype(float)
y=2*np.arange(1,101,1).astype(float)
#加入噪声
noise=np.random.norma