python - 使用 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, :])
解决方案
推荐阅读
- reactjs - React-Native 0.57:“找不到变量:需要”与 metro-react-native-babel-preset
- python - NameError:未定义名称“用户”(当烧瓶外壳时)
- javascript - Rails - 引导下拉菜单和选项卡项目不起作用
- visual-studio - Unity 由于脚本而冻结,但我不知道所述脚本有什么问题
- javascript - 在 Microsoft Edge 中,Vue 出现网页错误!它在其他浏览器中运行良好。有什么问题?
- python - django icontains 搜索 postgres 数据库
- php - 如何阻止对子文件夹的访问并使用.htaccess 重定向子文件夹的站点?
- c# - C#尝试返回列表中重复项的索引,但循环不断返回仅第一个重复项的索引
- python - 使用 Python 进行复杂操作 (pygame.math.Vector2)
- sql - sql查询中存在运算符