Collective Intelligence with Python 1
来源:互联网 发布:聊城职业技术学院网络 编辑:程序博客网 时间:2024/06/08 18:33
We have a base of data first
recommendations.py
critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5, 'Just My Luck': 3.0, 'Superman Returns': 3.5, 'You, Me and Dupree': 2.5, 'The Night Listener': 3.0},'Gene Seymour': {'Lady in the Water': 3.0, 'Snakes on a Plane': 3.5, 'Just My Luck': 1.5, 'Superman Returns': 5.0, 'The Night Listener': 3.0, 'You, Me and Dupree': 3.5},'Michael Phillips': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.0, 'Superman Returns': 3.5, 'The Night Listener': 4.0},'Claudia Puig': {'Snakes on a Plane': 3.5, 'Just My Luck': 3.0, 'The Night Listener': 4.5, 'Superman Returns': 4.0, 'You, Me and Dupree': 2.5},'Mick LaSalle': {'Lady in the Water': 3.0, 'Snakes on a Plane': 4.0, 'Just My Luck': 2.0, 'Superman Returns': 3.0, 'The Night Listener': 3.0, 'You, Me and Dupree': 2.0},'Jack Matthews': {'Lady in the Water': 3.0, 'Snakes on a Plane': 4.0, 'The Night Listener': 3.0, 'Superman Returns': 5.0, 'You, Me and Dupree': 3.5},'Toby': {'Snakes on a Plane':4.5,'You, Me and Dupree':1.0,'Superman Returns':4.0}}
In Python, you can use the pow(n,2)function to square a number and take the square root with the sqrt function:
>>from math import sqrt>>sqrt(pow(5-4,2)+pow(4-1,2))
after being improved, we use instead
>>1/(1+sqrt(pow(5-4,2)+pow(4-1,2)))
So the value would always be 0 - 1
We add the flowing code to recommendations.py
from math import sqrtdef sim_distance(prefs,person1,person2): si={} for item in prefs[person1]: if item in prefs[person2]: si[item]=1 if len(si)==0:return 0 sum_of_squares=sum([pow(prefs[person1][item]-prefs[person2][item],2) for item in prefs[person1] if item in prefs[person2]]) print(1/(1+sum_of_squares))sim_distance(critics, 'Lisa Rose', 'Claudia Puig')
- Collective Intelligence with Python 1
- programming collective intelligence读书笔记1
- Collective Intelligence
- 《Programming Collective Intelligence》review
- Collective Intelligence in Action
- 'Programming Collective Intelligence'读书笔记
- Programming Collective Intelligence
- collective intelligence framework
- <Programming Collective Intelligence>
- Programming Collective Intelligence
- An Algorithm Summary of Programming Collective Intelligence (1)
- Collective Intelligence系列教程-简介
- programming collective intelligence --chapter03 笔记
- Programming Collective Intelligence-Making Recommendations
- Programming Collective Intelligence笔记 - Making Recommendations
- Programming Collective Intelligence笔记 - Discovering Groups
- Programming Collective Intelligence笔记 - 最优化
- Programming Collective Intelligence笔记 - Document Filtering
- glut问题
- 比赛题目:CIVIC DILL MIX
- 比赛题目 Give Me an E
- 集群与负载均衡
- 转置后的矩阵
- Collective Intelligence with Python 1
- 同一个网站空间,不同域名跳转到不同的路径
- 第19题 在二叉查找树中找到两个结点的最低公共祖先 Lowest Common Ancestor
- log4j 中 很搞笑的一段代码
- Mindmanager设置字体和默认字体
- Silverlight经典教程书籍汇总
- 几个Xaml开发Visual Studio 2010设置技巧
- 《一步一脚印 90后程序员》3
- 桃花庵歌