gpt4 book ai didi

python - 如何在 Python 中为余弦相似度运行一个大矩阵?

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:20 25 4
gpt4 key购买 nike

我想计算文章之间的余弦相似度。我遇到了一个问题,即我的实现方法对于我要运行的数据量来说需要很长时间。

from scipy import spatial
import numpy as np
from numpy import array
import sklearn
from sklearn.metrics.pairwise import cosine_similarity

I = [[3, 45, 7, 2],[2, 54, 13, 15], [2, 54, 1, 13]]

II = [2, 54, 13, 15]

print cosine_similarity(II, I)

在上面的例子中,计算 I 和 II 已经用了 1.0s,我的数据维度大约是 (100K, 2K)。

还有其他包可以用来运行一个巨大的矩阵吗?

最佳答案

使用sklearn.preprocessing.normalize,这对我来说更快

result = np.dot(normalize(II, axis=1), normalize(I, axis=1).T)

(单位归一化向量之间的点积相当于余弦相似度)。

关于python - 如何在 Python 中为余弦相似度运行一个大矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34890861/

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