python-2.7 - 对大型数据集执行 PCA

标签 python-2.7 machine-learning scikit-learn

在 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/

相关文章:

python - 无法在逻辑回归中使用 Decision_function() 评估分数

image-processing - 拼接图像无重叠

python - 如何从 Keras 中的自定义损失函数中获取结果?

python - 如何找出 sklearn 决策树的大小?

python - 如何获取 QPaintEvent 覆盖下的小部件以注册鼠标事件

python - 如何在 PyTorch 中保存某个批号的训练进度?

scikit-learn - Scikit learn 预处理无法理解在 OneHotencoder 类中使用 min_Frequency 参数的输出

python - 如何在启动 Tkinter 应用程序时隐藏控制台窗口,但在按下 GUI 按钮运行 python 脚本时重新打开它?

python - 如何存储决策树

python - scrapy 在代码中设置输出文件