def sim_distance(prefs, person1, person2): # get common items ci = {} for item in prefs[person1]: if item in prefs[person2]: ci[item] = prefs[person1][item] - prefs[person2][item] if len(ci) == 0: return 0 return 1 / (1 + clusters.hypot(ci.values()))
def sim_distance(prefs, person1, person2): # get common items ci = {} for item in prefs[person1]: if item in prefs[person2]: ci[item] = prefs[person1][item] - prefs[person2][item] if len(ci) == 0: return 0 return 1/(1 + clusters.hypot(ci.values()))
def testNormal(self): self.assertAlmostEquals(5, clusters.hypot([3, 4])) self.assertAlmostEquals(5, clusters.hypot([3, 3, 1, 1, 1, 1, 1, 1, 1])) self.assertAlmostEquals(5, clusters.euclid_dist([0, 0, 0], [3, 4, 0]))