【发布时间】:2012-05-29 21:55:28
【问题描述】:
我正在使用 R 进行文本分类任务,我获得了一个大小为 22490 x 120,000 的文档术语矩阵(只有 400 万个非零条目,不到 1% 的条目)。现在我想通过利用 PCA(主成分分析)来降低维度。不幸的是,R 无法处理这个巨大的矩阵,所以我将这个稀疏矩阵存储在“矩阵市场格式”的文件中,希望使用其他一些技术来做 PCA。
所以任何人都可以给我一些有用的库的提示(无论是什么编程语言),它可以轻松地用这个大规模矩阵进行 PCA,或者我自己做一个手写的 PCA,换句话说,先计算协方差矩阵,然后计算协方差矩阵的特征值和特征向量。
我想要的是计算所有PC(120,000),只选择前N个PC,占90%的方差。显然,在这种情况下,我必须先给出一个阈值来将一些非常小的方差值设置为 0(在协方差矩阵中),否则,协方差矩阵将不是稀疏的,其大小将为 120,000 x 120,000,即不可能用一台机器处理。此外,载荷(特征向量)将非常大,应该以稀疏格式存储。
非常感谢您的帮助!
注意:我使用的是 24GB RAM 和 8 个 cpu 内核的机器。
【问题讨论】:
-
我不确定它是否 100% 正确,但我认为 MatLab 可以完成这项工作。
-
如果你在这里没有得到任何快乐,可能值得在stats.stackexchange.com提问
-
@aix 感谢您的建议,我已将其移至计算科学测试版,并获得了一些有用的提示。你也可以关注这个URL
-
@EnsomHodder:我不知道那个新网站。看起来很有趣,谢谢指出:)
标签: language-agnostic machine-learning sparse-matrix pca