gpt4 book ai didi

python - Python 中的通用矩阵计算,TF-IDF

转载 作者:行者123 更新时间:2023-12-01 04:23:02 24 4
gpt4 key购买 nike

在生成 TF-IDF 模块时,我刚刚遇到了这个矩阵向量计算。

A % b = C

[[1,2], [3,4]] % [1/2, 1/3] = [[1/2, 2/3], [3/2, 4/3]]

这里 ADocument x Words 的矩阵,其中 A_ij 是单词 i 的词频计数> 在文档j中。而b向量是预先计算出每个单词的IDF值,例如如果在7个不同的文档中使用单词j,则b_j为1/7 。

人们如何称呼这种按列乘法?现有的库是否支持此操作? (Python)

  • 由于尺寸较大且稀疏,我一直在 scipy 中使用 csr_matrix 来保存矩阵。
  • 我尝试将它们更改为 np.array 并执行 A*b 操作,但几分钟内没有完成。

最佳答案

使用NumPy为了它。

这是逐元素乘法:

import numpy as np
A = np.array([[1, 2], [3, 4]])
b = np.array([1/2, 1/3])
print(A * b)

输出:

[[ 0.5         0.66666667]
[ 1.5 1.33333333]]

如果是 csr_matrix:

from scipy.sparse import csr_matrix
x1 = csr_matrix([[1, 2], [3, 4]])
x2 = csr_matrix([1/2, 1/3])
print(x1.multiply(x2).todense())

输出:

[[ 0.5         0.66666667]
[ 1.5 1.33333333]]

关于python - Python 中的通用矩阵计算,TF-IDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33490454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com