2
您好我想要計算我的查詢和我的信息檢索程序在Python中返回的文檔之間的餘弦相似度。餘弦相似度python問題
餘弦相似度我使用這個實現:
import math
def cosine_similarity(v1,v2):
sumxx, sumxy, sumyy = 0, 0, 0
for i in range(len(v1)):
x = v1[i]; y = v2[i]
sumxx += x*x
sumyy += y*y
sumxy += x*y
return sumxy/math.sqrt(sumxx*sumyy)
,我發現這個網站上的這一解決方案,但我有一些問題。 我TF * IDF權重和每個文檔的向量,這是一個文檔向量 的一個例子,查詢向量:
D: [0.028239449664633154, 0.05559373180364792, 0.02798439181455718]
Q: [0.3746433655507998, 0.526816791853616, 0.618765996788542]
好,所以問題是,有時磨i執行餘弦相似性,所述結果大於1,這怎麼可能?餘弦不能大於1?我的推理是否正確? 在這種情況下做餘弦相似性是否正確? 請幫幫我,謝謝
什麼輸入給你一個大於1的結果? – jwodder 2014-09-24 23:15:07
d:0.009063952392358061,0.01055107112621112] 問:[0.5619650483261998,0.6541664098250894] – 2014-09-24 23:24:23
butit給我1.0000000000000002的結果,並有較高的權重是得到一個劣質的相似性文件 – 2014-09-24 23:28:38