python-3.x - 使用 Countvectorizer 获取单个单词的计数,而无需创建整个矩阵
问题描述
对于词汇量 > 90 000 且文档数量 > 4200 的语料库,我想获取所有单词i
和文档的计数j
。最终,我想创建一个单词文档矩阵p_ij
,其中每个单元格i, j
代表文档中该单词的概率。形式上,我想要的是:
p_ij = tf_ij / sum_j(tf_ij)
在哪里:
p_ij
i
是文档中单词的概率j
tf_ij
i
是文档中单词的词频j
sum_j(tf_ij)
是tf_ij
所有文档中一个单词的总和j
理论上,我可以使用该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 - 当我使用 which python 时,python 有两个单独的路径
- javascript - 如何对带有解构 props 的组件进行测试?
- c# - 如何从 Unity AssetBundle 获取哈希以检查缓存?
- python-3.x - 如何使用 python3.7 通过 sendmail 命令发送/发送附件文件而不保存密码
- reactjs - userRef 或 createRef 在功能组件中返回未定义
- python - 当我查询 MySQL 时,我得到一个带有 \u3000 的结果
- asp.net-web-api - 多重认证属性
- python - 如果有存储易于访问的方法列表的更好方法是什么?
- javascript - setState 如何反应嵌套数组
- sql - 从文件大小范围内的 SQL 表中选择行