曼哈顿距离推荐系统Python

时间:2013-04-17 14:21:04

标签: python distance

所以我现在已经尝试了一段时间但是却无法让它发挥作用。如果您查看图片,您会看到x和y轴上有2个人,这两个人都是他们给电影的评分。问题是我如何计算这些与人之间的曼哈顿距离。

enter image description here

所以这就是我已经拥有的...... 的修改 我忘了说prefs是一个dict,人名作为键,第二个dict作为值。第二个dict包含电影作为键,评级为值..而person1和2只是名字的字符串,可在prefs中找到

def sum_manhattan(prefs,person1,person2):
    """Calculates the Manhattan distance between two critics"""
    total = 0
    ##assume person1 is the x axes and person 2 is the y axes
    x = prefs[person1]
    y = prefs[person2]

    for movie in x:
        if movie in y:
            total = abs(x[movie]-y[movie])
    return total

欢迎任何帮助:)

1 个答案:

答案 0 :(得分:1)

根据Alkini发布的链接,我说你应该替换

total = abs(x[movie]-y[movie])

total += abs(x[movie]-y[movie])

使事情有效。

您发布的代码是返回上一部电影评级之间差异的绝对值,而我认为您需要为所有电影添加评分差异。