我正在尝试使用已标准化的
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