推荐系统:寻找相近的用户——皮尔逊相关度评价
2013-12-18 21:21
316 查看
皮尔逊相关度,其实就是我们数学里面说的相关系数。为什么我们这里又要用这个皮尔逊相关度来衡量用户之间的相近程度呢?那是因为可能存在这样的情况,某人和我的爱好都是一样的,但是他在打分的时候总是相对于我偏高或者是偏低,如果按照先前的欧几里德来评价,或许给出的结论是他与我的爱好并不相同,所以又提出了一种皮尔逊相关度评价标准,可以在这种情况下给出比较好的结论。相关系数大家应该比较了解,代码如下:
from math import sqrt
from math import sqrt
def sim_person(prefs,p1,p2): si={} for item in prefs[p1]: if item in prefs[p2]: si[item]=1 n=len(si) if n==0: return 0 # sum1=sum([prefs[p1][item] for item in si]) sum2=sum([prefs[p2][item] for item in si]) sum1Sq=sum([pow(prefs[p1][item],2) for item in si]) sum2Sq=sum([pow(prefs[p2][item],2) for item in si]) pSum=sum([prefs[p1][item]*prefs[p2][item] for item in si]) num=n*pSum-sum1*sum2 den=sqrt(n*sum1Sq-pow(sum1,2))*sqrt(n*sum2Sq-pow(sum2,2)) if den==0: return 0 r=num/den #print r return r
相关文章推荐
- 推荐系统:寻找相近用户——欧几里德距离评价
- mahout in Action2.2-给用户推荐图书(3)-评价推荐系统
- 【Python】寻找电影品味相似的用户并推荐相关电影
- 推荐物品算法:欧几里得距离评价&皮尔逊相关度评价
- 推荐系统(3)---寻找数据集中的相似用户
- 视频用户行为及推荐系统评价KPI-部分
- 利用Rsyslog集中收集系统日志和用户操作记录以及相关处理方法 推荐
- 【Python】寻找电影品味相似的用户并推荐相关电影
- 推荐系统--用户行为和实验设计
- 原创:自定义三叉树(二)--基于搜索推荐系统根据用户搜索频率(热搜)排序
- 实战智能推荐系统(5)-- 推荐系统评价指标
- 实战智能推荐系统(6)-- 用户行为分析
- 实战智能推荐系统(7)-- 基于用户的协同过滤算法
- 推荐系统-通过数据挖掘算法协同过滤讨论基于内容和用户的区别
- python利用网易云音乐接口搭建的音乐推荐,根据单曲歌名推荐相关用户喜爱的歌曲
- 推荐系统相关资源汇总,推荐算法、性能比较
- last 列出登入系统的用户相关信息
- 5类系统推荐算法,告诉你用户需要什么
- 基于内容的简单相关新闻推荐系统方案
- 利用python对新浪微博用户标签进行分词并推荐相关用户