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

时间:2016-11-03 10:21:32

标签: python scikit-learn cluster-analysis tf-idf

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

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

2 个答案:

答案 0 :(得分:1)

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

你能做什么

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

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

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

答案 1 :(得分:0)

从小处开始

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