Advertisement
Guest User

Untitled

a guest
May 6th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. #!/usr/local/bin/python
  2. # -*- coding: utf-8 -*-
  3.  
  4. from math import sqrt
  5.  
  6. # 1 / 相似部分的欧几里得距离平方和
  7. def sim_distance(prefs, person1, person2) :
  8. shared_items = 0
  9. for item in prefs[person1]:
  10. if item in prefs[person2]: shared_items += 1;
  11. if shared_items == 0:
  12. return 0
  13. sum_square_distance = 0
  14. sum_square_distance = sum([ pow((prefs[person1][item]-prefs[person2][item]), 2)
  15. for item in prefs[person1] if item in prefs[person2] ])
  16. return 1/sqrt(sum_square_distance+1)
  17.  
  18. pref = {
  19. "jack" : {
  20. "chess" : 2,
  21. "football" : 3
  22. },
  23. "jelly" : {
  24. "chess" : 2
  25. }
  26. }
  27.  
  28. print sim_distance(pref, "jack", "jelly")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement