7-4 求数据的前N个主成分
问:求出第一主成分以后,如何求出下一主成分呢?
准备数据
import numpy as np
import matplotlib.pyplot as plt
X = np.empty((100, 2))
X[:,0] = np.random.uniform(0., 100, size=100)
X[:,1] = 0.75 * X[:, 0] + 3. + np.random.normal(0, 10., size=100)
plt.scatter(X[:,0], X[:,1])
plt.show()
第一步:demean

第二步:梯度上升法
训练和绘制结果
第三步:去掉第一个主成分
方法一:
方法二:
去掉第一主成分后的数据

第四步:求新数据的第一主成分
封装成函数
Last updated
