Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/python
- # -*- coding: utf-8 -*-
- from math import sqrt
- # 1 / 相似部分的欧几里得距离平方和
- def sim_distance(prefs, person1, person2) :
- shared_items = 0
- for item in prefs[person1]:
- if item in prefs[person2]: shared_items += 1;
- if shared_items == 0:
- return 0
- sum_square_distance = 0
- sum_square_distance = sum([ pow((prefs[person1][item]-prefs[person2][item]), 2)
- for item in prefs[person1] if item in prefs[person2] ])
- return 1/sqrt(sum_square_distance+1)
- pref = {
- "jack" : {
- "chess" : 2,
- "football" : 3
- },
- "jelly" : {
- "chess" : 2
- }
- }
- print sim_distance(pref, "jack", "jelly")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement