f=[[3492.6], [13756.2], [22442.1], [22361.9], [26896.4]]
我的目标是通过从列表中获取一个值来计算 f 列表 ( 因此,结果应该是五个不同的相似度分数。然而,由于某种原因,即使我在其他数据集上测试代码,我仍然得到 1.0 作为余弦相似度。显然,比(就距离而言)[22361.9]
更相似。请参阅下面的代码;[22442.1]
[13756.2]
import numpy.linalg as LA
import numpy as np
import sys
f=[[3492.6], [13756.2], [22442.1], [22361.9], [26896.4]]
cx = lambda a, b : round(np.inner(a, b)/(LA.norm(a)*LA.norm(b)), 2)
for c in f:
for i in f:
cosine=cx(c, i)
print cosine
有任何想法吗?提前谢谢了。