在 CountVectorizer 变为 (40,845 X 218,904) (unigram)之后,我遇到了一个只有 2 个类和我的训练数据集矩阵大小的文档分类问题。在考虑卦的情况下,它可以达到(40845 X 3,931,789)。有没有一种方法可以在此类数据集上执行 PCA,而不会出现内存或稀疏数据集错误。我在 6GB 机器上使用 python sklearn。
最佳答案
您可以尝试稀疏 SVD,如通过 sklearn 中的 TruncatedSVD 实现的那样:
http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.TruncatedSVD.html
对文档数据集执行 SVD 是一种常见技术,通常称为潜在语义分析 (LSA)。 SVD 和 PCA 也非常相似。如果您想了解更多关于差异的信息,这个问题有一些很好的信息:
https://math.stackexchange.com/questions/3869/what-is-the-intuitive-relationship-between-svd-and-pca
关于python-2.7 - 对大型数据集执行 PCA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20450051/