Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我正在尝试使用已标准化的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 |
![]() |
![]() |