【发布时间】:2013-08-24 23:37:20
【问题描述】:
我想计算两个列表之间的余弦相似度,例如列表1是dataSetI和列表2是dataSetII。 p>
假设dataSetI 是[3, 45, 7, 2] 而dataSetII 是[2, 54, 13, 15]。列表的长度总是相等。我想将余弦相似度报告为 0 到 1 之间的数字。
dataSetI = [3, 45, 7, 2]
dataSetII = [2, 54, 13, 15]
def cosine_similarity(list1, list2):
# How to?
pass
print(cosine_similarity(dataSetI, dataSetII))
【问题讨论】:
-
我喜欢这种从这个家庭作业问题中粉碎灵魂的方式,使其成为一个很好的通用参考。 OP 说“我不能使用 numpy,我必须采用行人数学方法”,而最佳答案是“你应该尝试 scipy,它使用 numpy”。 SO 机制为热门问题授予金徽章。
-
Nikana Reklawyks,这是一个很好的观点。 StackOverflow 越来越多地遇到这个问题。我有几个问题被标记为与之前的一些问题“重复”,因为版主没有花时间了解是什么让我的问题与众不同。
-
@NikanaReklawyks,这很棒。看看他的个人资料,它讲述了 SO 0.01% 的顶级贡献者之一的故事,你知道吗?
-
好吧,我清理了这个问题。现在这是一个通用问题,它仍然没有显示任何研究工作,但是嘿耸耸肩