如何在Python无法容纳的巨大数据集上执行LSA?

问题描述

我之前也有类似的问题,但是我没有找到特别适合我的解决方案。因此,我有一百万个文档,可以说每个文档中包含20到30个字。我想定形,删除停用词,并使用100,000个单词来构建tf-idf矩阵,然后对其进行SVD​​。 如何在合理的时间内使用Python做到这一点而又不会遇到内存错误

如果有人有什么好主意。

解决方法

有一种称为SPIMI的算法(单次通过内存索引)。基本上,它涉及到每次用完内存时都要遍历数据并写入磁盘,然后将所有磁盘存储合并到一个大矩阵中。 我已经为项目here

实施了此操作