python:在使用 sklearn 的文档聚类中面临内存问题

python : facing memory issue in document clustering using sklearn

我正在使用 sklearn 的 TfIdfVectorizer 进行文档聚类。我有 2000 万条文本,我想为其计算集群。但是计算 TfIdf 矩阵会花费太多时间并且系统会卡住。

有什么技巧可以解决这个问题吗?在任何 python 模块中是否有任何替代方法?

嗯,一个2000万文本的语料库非常大,而且没有细致全面的预处理,也没有一些好的计算实例(即大量内存和良好的 CPU),TF-IDF 计算可能需要很多时间。

你能做什么:

  • 将您的文本语料库 限制在数十万个样本(假设 200.000 个文本)。拥有太多文本可能不会比小得多(但合理)的数据集引入更多的方差。

  • 尽量预处理您的文本。一个基本的方法是:标记你的文本,使用停用词,词干,小心使用 n_grams。 完成所有这些步骤后,看看您的词汇量减少了多少。应该比原来的小很多。

如果不是太大(谈论您的数据集),这些步骤可能会帮助您更快地计算 TF-IDF。

从小开始

第一个集群只有 100.00 个文件。只有一旦它起作用(因为它可能不会),然后考虑扩大规模。 如果你没有成功地对子集进行聚类(文本聚类通常很糟糕),那么你在大集合上的表现就不会很好。