【发布时间】:2019-09-09 11:44:08
【问题描述】:
我正在使用 CountVectorizer 从大型文档数据集(大约 1500 万个文档)中提取文本特征。我还查看了HashingVectorizer 作为替代方案,但我认为CountVectorizer 是我需要的,因为它提供了有关文本功能和其他内容的更多信息。
这里的问题很常见:拟合CountVectorizer 模型时内存不足。
def getTexts():
# an iterator that will yield each document from the database
vectorizer = CountVectorizer(max_features=500, ngram_range=(1,3))
X = vectorizer.fit_transform(getTexts())
在这里,假设我有一个迭代器,它将一次从数据库中生成一个文档。如果我将此迭代器作为参数传递给CountVectorizerfit() 函数,词汇表是如何构建的?它是等到完成所有文档的加载,然后执行一次fit(),还是一次加载一个文档,进行拟合,然后加载下一个?解决这里的内存开销的可能解决方案是什么?
【问题讨论】:
标签: scikit-learn nlp