我正在用R进行文本分类任务,并且我获得了大小为22490乘以120,000(仅400万个非零条目,小于1%条目)的文档项矩阵。现在我想通过使用PCA(主成分分析)来降低维度。不幸的是,R无法处理这个巨大的矩阵,所以我把这个稀疏矩阵存储在一个文件中的“矩阵市场格式”,希望使用一些其他技术来做PCA。因此,任何人都可以给我一些有用的库的提示(无论编程语言如何),它可以轻松地用这个大型矩阵做PCA,或者自己做一个longhand PCA,换句话说,计算首先计算协方差矩阵,然后计算协方差矩阵的特征向量和特征向量,即。在非常大的稀疏矩阵上应用PCA
我想是计算所有的PC(120,000),并且只选择前N个电脑,谁占了90%的变异。显然,在这种情况下,我必须先给出一个阈值,以便将一些非常小的方差值设置为0(在协方差矩阵中),否则协方差矩阵将不会稀疏并且其大小将为120,000乘以120,000,即单台机器无法处理。另外,加载(特征向量)将会非常大,并且应该以稀疏格式存储。
非常感谢您的帮助!
注意:我使用的机器有24GB RAM和8个cpu核心。
我不确定它是否100%正确,但我认为MatLab可以完成这项工作。 – Anton
如果你在这里没有得到任何喜悦,可能值得在http://stats.stackexchange.com/ – NPE
@aix上提问。感谢您的建议,我已将它移至计算科学测试版,并获得一些有用的信息提示。你也可以按照这个[URL](http://scicomp.stackexchange.com/questions/2313/apply-pca-on-very-large-sparse-matrix) –