如何减少Scikit-Learn Vectorizers的内存使用量?

时间:2013-07-08 21:36:36

标签: python numpy machine-learning scipy scikit-learn

TFIDFVectorizer占用了大量内存,向量化470 MB的100k文档需要超过6 GB,如果我们有2100万个文档,它将不适合我们拥有的60 GB RAM。

所以我们去HashingVectorizer,但仍然需要知道如何分发散列矢量器.Fit和partial fit什么都不做,所以如何使用Huge Corpus?

2 个答案:

答案 0 :(得分:9)

我强烈建议您在大型数据集上拟合模型时使用HashingVectorizer

HashingVectorizer与数据无关,只有vectorizer.get_params()中的参数很重要。因此(un)酸洗`HashingVectorizer实例应该非常快。

基于词汇表的矢量化器更适合小型数据集的探索性分析。

答案 1 :(得分:0)

克服HashingVectorizer无法解释IDF的一种方法是将您的数据索引到elasticsearch或lucene,并从那里检索termvectors,您可以使用它来计算Tf-IDF。

相关问题