我正在使用R进行文本分类任务,并且我获得了一个文档项矩阵,其大小为22490×120,000(仅有400万个非零条目,小于1%的条目).现在我想通过利用PCA(主成分分析)来降低维数.遗憾的是,R无法处理这个巨大的矩阵,所以我将这个稀疏矩阵存储在"矩阵市场格式"的文件中,希望使用其他一些技术来做PCA.
所以任何人都可以给我一些有用库(无论编程语言)的提示,它可以轻松地用这个大规模矩阵做PCA,或者自己做一个简单的PCA,换句话说,首先计算协方差矩阵,然后计算协方差矩阵的特征值和特征向量.
我想要的是计算所有PC(120,000),并且只选择前N台PC,它们占90%的差异.显然,在这种情况下,我必须先给出一个阈值,将一些非常小的方差值设置为0(在协方差矩阵中),否则,协方差矩阵将不会稀疏,其大小将是120,000乘120,000,这是用一台机器无法处理.此外,负载(特征向量)将非常大,并且应以稀疏格式存储.
非常感谢您的帮助!
注意:我使用的是具有24GB RAM和8个CPU内核的机器.