首页 > 解决方案 > 使用 linalg.svd 从三个主成分重建矩阵

问题描述

我使用以下代码制作了一个 svd,并将前三个主要成分用于线性回归:

u, s, vh = np.linalg.svd(X, full_matrices=False)
self.singular_values = s
self.Scores = u.dot(np.diag(s))
self.Loadings = vh.copy()

使用我的 y 值进行预测,得到回归的 PC1-3。但是如何使用这三个主成分重建矩阵呢?pc_hat是三个主成分,即来自 svdpca_w.Loadings的加载矩阵 ( )。vh但结果矩阵是 (12, 63420) 而不是 (3, 21140)。

ai_hat = np.outer(pc_hat, pca_w.Loadings[0:3, :])

标签: pythonpcasvd

解决方案


推荐阅读