查看单个帖子
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB内存不足,但不应

我正在尝试使用已标准化的princomp(x)PCA应用于我的数据。

数据是 。这将运行我们的内存,除了这是一台新计算机之外,这是我们所期望的,该计算机拥有24GB RAM用于数据挖掘。 MATLAB甚至列出了可用于内存检查的24GB。

是在执行PCA时MATLAB实际耗尽了内存,还是没有充分利用RAM?任何信息或想法都会有所帮助。 (我可能需要增加虚拟内存,但假设24GB已足够。)



回答:

对于大小为n-by-p的数据矩阵, PRINCOMP将返回大小为p-by-p的系数矩阵,其中每一列都是使用原始维表示的主成分,因此,在您的情况下,您将创建大小为n的输出矩阵。 :

1036800*1036800*8 bytes ~ 7.8 TB 考虑使用PRINCOMP(X,'econ')仅返回差异较大的PC


或者,考虑通过SVD执行PCA :在您的情况下n
poster 当前离线   回复时引用此帖