推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的推荐系统相似性分析和协同过滤

更新时间:2019-12-30 08:49:16 大小:372K 上传用户:songhuahua查看TA发布的资源 标签:python协同过滤 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

推荐系统是根据用户在电子商务网站上的购买和浏览记录,将用户感兴趣的物品主动推荐给用户。有两种主要的推荐方法,一种是基于用户相似的推荐,一种是基于项目相似的推荐。文中介绍了计算用户或项目的相似程度的常用方法,诸如欧式距离、曼哈顿距离、皮尔逊相关系数、余弦相关性等算法。在本章的最后,还给出了一个基于项目协同过滤的推荐系统的Python分析和计算。


部分文件列表

文件名 大小
基于Python的推荐系统相似性分析和协同过滤.pdf 372K

部分页面预览

(完整内容请下载后查看)
18 卷 第 1 期  
2015 3 月  
沙 洲 职 业 工 学 院 学 报  
Journal of Shazhou Professional Institute of Technology  
Vol. 18, No.1  
March, 2015  
基于 Python 的推荐系统相似性分析和协同过滤  
易 顺 明  
(沙洲职业工学院,江苏 张家港 215600)  
要:推荐系统是根据用户在电子商务网站上的购买和浏览记录,将用户感兴趣的物品主动推荐给用户。有两种主要的  
推荐方法种是基于用户相似的推荐种是基于项目相似的推荐中介绍了计算用户或项目的相似程度的常用方法,  
诸如欧式距离、曼哈顿距离、皮尔逊相关系数、余弦相关性等算法。在本章的最后,还给出了一个基于项目协同过滤的推  
荐系统的 Python 分析和计算。  
关键词:Python;推荐系统;相似性分析;协同过滤  
中图分类号:TP391.3  
文献标识码:A  
文章编号:10098429(2015)01000305  
Similarity Analysis and Collaborative Filtering  
in Recommendation System Based on Python  
YI Shun-ming  
( Shazhou Professional Institute of Technology, Zhangjiagang 215600, Jiangsu, China )  
Abstract: According to user’s purchasing history and browsing records on e-commerce web sites, the  
recommender system will recommend the user’s interested items to the user. There are two main  
recommendations, one based on the similarity of the user, the other based on the similarity of the item. Common  
algorithms of calculating the similarity of the user or item, such as Euclidean distance, Manhattan distance,  
Pearson correlation coefficient and Cosine similarity is introduced. In the end of this paper, the analysis and  
calculation of an item-based collaborative filtering recommendation system with Python is also given.  
Key words: Python; recommender systems; similarity analysis; collaborative filtering  
引言  
在大数据时代息已经从原来的匮乏状态变成了信息过informationoverload电子商务为例,  
随着规模的不断扩大,商品个数和种类快速增长,客户想要在网络上找到自己想买的商品,需要花费大  
量的时间。电商平台利用推荐系统为客户精准地推荐感兴趣的商品,可以为客户提供“私人定制”的个  
性化服务,同时也能提高客户对电子商务网站的忠诚度,将网站浏览者(潜在购买者)转变为实际购买  
者,有效增加购买机会。  
推荐系统的作用就是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品[1]。推荐  
系统的主要任务是联系客户与商品,通过收集客户的购买历史和对已购买商品的评分、评论信息,以及  
在电商网上大量的商品浏览信息,据此对客户进行个性化分析,为客户主动推送相关商品和信息。推荐  
系统目前已被广泛地应用于像淘宝、亚马逊这样的电商平台,像谷歌、百度这样的搜索引擎,以及电影  
视频、音乐电台、社交网络、广告投放这样的个性化网站。  
推荐系统主要采用贝叶斯网络、关联规则、聚类、Horting和协同过滤等技术,目前主要通过两种  
协同过滤的方法来实现推荐[2],一是基于客户相似的推荐,即将与你兴趣爱好相类似的客户购买的商品推  
收稿日期:2015-03-02  
作者简介:易顺明(1966男,沙洲职业工学院电子信息工程系副教授。  
易顺明:基于 Python 的推荐系统相似性分析和协同过滤  
荐给你;另一种是基于项目相似的推荐,即根据客户浏览商品的痕迹,推荐与该商品相类似的其它商品。  
在这些方法中,如何计算相似性,是推荐系统的一个关键技术。  
1
相似性计算  
以图书为例,假设用户对某网站的图书进行了评分,评价分0~5 分,高分为优。已有三个读A、  
BC两本book1book2 分别打分的数据为552514有读X 对上述两本book1、  
book2 分别打分为:42。那X 与谁更相似呢?设读者一book1book2 的打分值x1x2,读者二  
book1book2 的打分值y1y2,有以下几种算法:  
1.1 曼哈顿距离(Manhattan Distance)  
公式为: xi yi xj yj 计算可得,读X ABC 之间的曼哈顿距离分别为:455。结  
论为:X A 最相似。如A 喜欢某本书,则也将此书推荐X。曼哈顿距离的优点是计算速度快,但  
过于简单。  
1.2 欧几里得距离(Euclidean Distance)  
公式为: (xi yi )2 (xj yj )2 ,可计算出读X 与ABC 之间的欧式距离分别为:3.16,3.61,  
3.61。结论为:X A 相似氏距离计算是一种比较常用的方法数据稀疏情形下,当计算的共同  
项较多时,计算的距离值可信度就更高。  
1.3 Minkowski距离  
归纳曼哈顿距离和欧几里得距离的计算公式,可以推演Minkowski距离算法为:  
1
r
n
r
d(x, y) (  
xk yk )  
k 1  
其中,r=1曼哈顿距离,r=2欧几里得距离,r=∞为无上界距离。  
1.4 皮尔逊相关系数(Pearson Correlation Coefficient)  
在实际的打分中,客户的尺度是不一致的,即用户具有偏见性。例如,上述打分中,读B 的打分  
2~5 之间C 打分1~4 之间A 的打分只5B 5 A 5 分是一样的评价吗?  
显然不是,但是计算的时候,上述算法是无法判断的。要降低这种主观带来的影响,就有了新的算法。  
皮尔逊相关系数是测量两个变量之间的相关性的数值,其范围是从-1 1 之间。1 表示完全一致,-1  
表示不一致。与距离算法相反,皮尔逊相关系数越大越好。  
n
(xi x)(yi y)  
i1  
Corr(x, y)   
由于该公式实现起来比较困难,可以近似为:  
n
n
(xi x)2  
(yi y)2  
i1  
i1  
n
n
x
i1 yi  
n
   
i
i1  
xi yi   
i1  
n
Corr(x, y)   
n
n
(
xi )2  
(
yi )2  
n
n
i1  
i1  
xi2   
yi2   
i1  
i1  
n
n
- 4 -  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载