在生成TF-IDF模块时,我只是面对这种矩阵向量计算。
A % b = C
[[1,2], [3,4]] % [1/2, 1/3] = [[1/2, 2/3], [3/2, 4/3]]
此处A
是Document x Words
的矩阵,其中A_ij
是文档i
中单词j
的术语 - 频率计数。并且b
向量是每个单词的预先计算的IDF值,例如,如果在7个不同的文档中使用单词b_j
,则j
是1/7。
人们如何称这种列式乘法? 是否有任何现有的库支持此操作? (Python)的
csr_matrix
中使用scipy
来保存矩阵。A*b
操作,但它在几分钟内没有完成。 答案 0 :(得分:2)
使用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]]