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

基于Python的推荐系统的设计与实现

更新时间:2019-12-21 09:17:25 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

大数据时代的推荐系统可以帮助用户从海量信息中高效地获取自己的潜在需求,是大数据在互联网领域的典型应用。文章介绍了利用Python语言实现的一个基于物品的协同过滤算法推荐系统,给出了系统的基本架构、系统的具体实现过程及相应代码。


部分文件列表

文件名 大小
基于Python的推荐系统的设计与实现.pdf 2M

部分页面预览

(完整内容请下载后查看)
计算机时代 2019 年 第 6期  
· 59 ·  
DOI:10.16644/j.cnki.cn33-1094/tp.2019.06.017  
基于Python的推荐系统的设计与实现  
张玉叶  
(济南职业学院计算机学院,山东 济南 250014)  
摘
要:大数据时代的推荐系统可以帮助用户从海量信息中高效地获取自己的潜在需求,是大数据在互联网领域的典  
型应用。文章介绍了利用Python语言实现的一个基于物品的协同过滤算法推荐系统,给出了系统的基本架构、系统的具  
体实现过程及相应代码。  
关键词:大数据;推荐系统;协同过滤;Python  
中图分类号:TP391.1  
文献标志码:A  
文章编号:1006-8228(2019)06-59-04  
Design and implementation of recommendation system with Python  
Zhang Yuye  
(Dept. of computer ,Jinan Vocational Colleage, Jinan, Shandong 250014, China)  
Abstract:The recommendation system in the big data era can help users to obtain their potential needs efficiently from the huge  
amount of information, which is  
a typical application of big data in the Internet field. A recommendation system based on  
object-based collaborative filtering algorithm and implemented with Python language is introduced in this paper, and the basic  
architecture of the system, the specific implementation process of the system, and the corresponding code are given.  
Key words:big data;recommendation system;collaborative filtering;Python  
将用户感兴趣的信息、物品等主动推荐给用户,其本  
质是建立用户与物品之间的联系。一个完整的推荐  
系统通常包含三个模块:用户建模模块、推荐对象建  
模模块和推荐算法模块。推荐系统首先对用户建模,  
根据用户的行为数据和属性数据来分析用户的兴趣  
和需求,同时也对推荐对象进行建模。接着,基于用  
户特征和物品对象特征,采用推荐算法计算得到用户  
可能感兴趣的物品,然后根据推荐场景对推荐结果进  
行一定的推荐和调整,最终将推荐结果展示给用户,  
其基本架构如图1所示[1]。  
0 引言  
随着网络技术的飞速发展,网络信息量也快速增  
长,为了更好地满足用户的个性化需求,各种推荐系  
统应运而生,它通过研究用户的兴趣偏好,自动建立  
起用户和信息之间的联系,从而帮助用户从海量信息  
中去发掘自己潜在的需求。推荐系统的关键是推荐  
算法,常用的推荐算法主要有专家推荐、基于统计的  
推荐、基于内容的推荐和协同过滤推荐等。Python  
语言是一开源、免费、跨平台的解释型高级动态编程  
语言,其强大的功能及使用的简洁方便使其成为互联  
网应用系统开发的首选语言。本文利用 Python 语言  
实现了一个基于物品的协同过滤算法的推荐系统。  
2 协同过滤算法  
协同过滤算法分为基于用户的协同过滤算法和  
基于物品的协同过滤算法[1]。  
1 推荐系统  
基于用户的协同过滤算法(简称UserCF),通过不  
同用户对物品的评分来评测用户之间的相似性,基于  
推荐系统是建立在海量数据挖掘基础上的,通过  
分析用户的历史数据来了解用户的需求和兴趣,从而  
收稿日期:2019-01-09  
作者简介:张玉叶(1973-),女,山东青岛人,硕士,副教授,主要研究方向:网站建设,软件开发,大数据。  
Computer Era No. 6 2019  
· 60 ·  
用户之间的相似性做出推荐。简单来讲就是:给用户  
推荐和他兴趣相似的其他用户喜欢的物品。  
计算相似度的算法有很多,如泊松相关系数、余  
弦相似度等,在此可直接利用同现矩阵[2,3]进行计算。  
设有三个用户u1、u2、u3和四件物品I1、I2、I3、I4,  
每个用户喜欢的物品列表如图2中的(a)所示。  
对每个用户u喜欢的物品列表都建立一个物品同  
现矩阵Mu,如用户u1喜欢物品I1和I3,则其物品同现  
矩阵中Mu1[I1][I3]和Mu1[I3][I1]的值为1,依次类推,由  
用户喜欢的物品列表可得到每个用户的物品同现  
矩阵 Mu,如图 2中的(b)所示。然后将所有用户的物品  
同现矩阵相加得到最终的所有用户物品同现矩阵M,  
如图2中的(c)所示。  
图1 推荐系统架构  
基于物品的协同过滤算法(简称ItemCF),通过用  
户对不同物品的评分来评测物品之间的相似性,基于  
物品之间的相似性做出推荐。简单来讲就是:给用户  
推荐和他之前喜欢的物品相似的物品。  
UserCF 算法和 ItemCF 算法思想类似,其实现过  
程也基本类似,唯一不同的是一个是计算用户相似  
度,一个是计算物品相似度。  
UserCF 算 法 和 ItemCF 最 主 要 的 区 别 在 于 :  
UserCF 推荐的是那些和目标用户有共同兴趣爱好的  
其他用户所喜欢的物品,ItemCF算法则推荐那些和目  
标用户之前喜欢的物品类似的其他物品。因此,  
UserCF算法的推荐更偏向社会化,适合应用于新闻推  
荐、微博话题推荐等应用场景;而 ItemCF 算法的推荐  
则更偏向于个性化,适合应用于电子商务、电影、图书  
等应用场景。  
(a) 用户喜欢的物流列表  
(c) 所有用户物品同现矩阵M  
图2 同现矩阵计算过程  
(b) 各用户物品同现矩阵Mu  
step2:求解推荐评分  
根据物品的同现矩阵和用户的历史行为,来求解  
推荐评分,然后根据推荐评分给用户生成推荐列表。  
推荐评分=物品同现矩阵*用户评分向量[4]。  
3.2 数据准备  
3 推荐系统的设计与实现  
3.1 推荐算法  
在 此 以 MovieLens(httpꢀ//grouplens.org/datasets/  
movielens) 作 为 本 推 荐 系 统 中 的 实 验 数 据 。  
MovieLens 是 GroupLens Research 实验室的一个非商  
业性质、以研究为目的的实验性项目,采集了一组从  
20 世纪 90 年代末到 21 世纪初的电影评分数据,包含  
大小不同的数据集,每个数据集中包括电影信息数据  
及电影评分记录等。  
本推荐系统以一电影推荐系统为例,因此采用基  
于物品的协同过滤算法(简称 ItemCF)。基于物品的  
协同过滤算法是给目标用户推荐那些和他们之前喜  
欢的物品相似的物品。此算法并不利用物品的内容  
属性计算物品之间的相似度,而主要通过分析用户的  
行为记录来计算物品之间的相似度。该算法基于的  
假设是:物品 I1 和物品 I2 具有很大的相似度,是因为  
喜欢物品 I1 的用户大多也喜欢物品 I2。ItemCF 算法  
主要包括两步。  
本系统采用MovieLens 1M数据集。该数据集中  
存放电影评分记录的文件是“ratings.csv”,其数据格式  
如图 3 所示,每一行用逗号分隔的四个数据分别表示  
用户ID、电影ID、评分和评分时间戳,本推荐系统中只  
使用前三个数据元素。  
step1:计算物品之间的相似度  

全部评论(0)

暂无评论

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

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

推荐下载