首页 > 解决方案 > 使用 Countvectorizer 获取单个单词的计数,而无需创建整个矩阵

问题描述

对于词汇量 > 90 000 且文档数量 > 4200 的语料库,我想获取所有单词i和文档的计数j。最终,我想创建一个单词文档矩阵p_ij,其中每个单元格i, j代表文档中该单词的概率。形式上,我想要的是:

p_ij = tf_ij / sum_j(tf_ij)

在哪里:

理论上,我可以使用该fit_transform()方法创建矩阵。但是,这样做,我遇到了内存问题。

我使用以下代码sum_j(tf_ij)无需太多内存要求:

vectorizer = CountVectorizer(data)
sum_words = np.array(vectorizer.fit_transform(data).sum(axis= 0)[0])[0]

是否也有一种内存有效的计算方法tf_ij,以便我可以计算p_ij

标签: python-3.xnumpymemory-managementscikit-learncountvectorizer

解决方案


推荐阅读