【发布时间】:2021-02-02 02:56:10
【问题描述】:
我试图在非常特定的上下文中应用 PCA,但遇到了我无法解释的行为。 作为测试,我正在运行以下代码,其中包含您可以在此处检索的文件数据:https://www.dropbox.com/s/vdnvxhmvbnssr34/test.npy?dl=0(numpy 数组格式)。
from sklearn.decomposition import PCA
import numpy as np
test = np.load('test.npy')
pca = PCA()
X_proj = pca.fit_transform(test) ### Project in the basis of eigenvectors
proj = pca.inverse_transform(X_proj) ### Reconstruct vector
我的问题如下:因为我没有指定任何数量的组件,所以我应该在这里使用所有计算的组件进行重构。因此,我希望我的输出 proj 与我的输入 test 相同。但一个快速的情节证明情况并非如此:
plt.figure()
plt.plot(test[0]-proj[0])
plt.show()
此处的图将显示投影和输入矩阵之间的一些较大差异。
有没有人有想法或解释来帮助我理解为什么 proj 在我的情况下与 test 不同?
【问题讨论】:
标签: scikit-learn pca