《推荐系统开发实战》之三大案例带你从0到1自己实现一个推荐系统

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://thinkgamer.blog.csdn.net/article/details/96211201

转载请注明出处:http://blog.csdn.net/gamer_gyt
博主微博:http://weibo.com/234654758
Github:https://github.com/thinkgamer
公众号:搜索与推荐Wiki
个人网站:http://thinkgamer.github.io


俗话说的好:“眼看千遍,不如手写一遍”,前几篇介绍了推荐系统的来源、发展、数据预处理、常见的推荐算法,以及冷启动和推荐系统效果评估。本篇文章将会通过实例介绍推荐系统的完整开发过程,以便大家有更加直观、系统的理解。

在学习了《推荐系统开发实战》的一些基础知识之后,如何才能将这些知识应用到实际的案例中呢,本文介绍了以下三个案例,来带领大家温习和应用学到的知识。三大案例包含:

  • 新闻推荐系统
  • 音乐推荐系统
  • 图书推荐系统

新闻推荐系统

实现的第一个案例是新闻推荐系统,这里使用的数据集为:某新闻网站指定日期前的部分新闻数据,节选的几个主题为:国际要闻、互联网、经济要闻、社会公益、书评、影视综艺。爬取的每条数据包含三个字段:标题、时间、正文,如图所示。

在得到基础数据之后就是对数据的预处理,其主要包括: - 对原始数据的加工 - 新闻相似度计算 - 新闻热度值计算 - 指定标签下的新闻统计

其系统的整体架构如下所示:

其中各个模块介绍如下。

  • MySQL数据存储:这里使用MySQL存储系统所使用的数据。系统实现选用的是Python的Django框架,在框架中有对数据对象的封装,在第11.4节中将会说明所创建的数据对象。

  • 用户选择:系统指定了三个用户(张三、李四、王五)作为演示用户,只是为了区分不同用户、不同行为,“为你推荐”的内容也不同。

  • 选择标签:用户与系统的交互过程,解决系统的冷启动。当然用户也可以不选择相应的标签,此时“为你推荐”模块显示的是热度数据。

  • 用户点击浏览文章:即用户在系统中产生了相关行为,每篇文章的详细页都会推荐该篇文章的相似文章。

  • 热度榜:按照第11.2.2节中计算的热度值进行排序,显示热度值较大的新闻。

  • 为你推荐:如果用户是初次登录,则根据用户选择的标签返回“为你推荐”的内容;若用户没有选择标签,则返回热度值较高的新闻作为“为你推荐”的内容;如果用户是在点击浏览过新闻之后返回“为你推荐”模块,则返回用户有行为文章的相似文章,作为“为你推荐”的内容。

系统整体架构设计比较简单,和线上真正应用的复杂的推荐系统是有很大差距的,但实现思路是一致的。

接下来就是系统实现了,本实例采用前后端分离的形式进行实现,后端采用Python的Django框架进行开发,前端采用Vue.js框架开发。

后端开发依赖于Python 3.6版本,其中使用的包为:Django2.1,PyMySQL0.9.2,jieba0.39,xlrd1.1.0,gensim==3.6.0。

前端开发依赖于node.js环境,使用的是Vue.js框架,node.js对应的版本是10.13。

其最终实现的效果图如下:

通过这样一个实例,推荐系统变得不那么抽象,更加直观地展示在读者眼前。当然,每一个推荐系统背后都要付出很多,而不仅是算法层面,在从事相关工作时,更要拥有全局意识,要明白一个好的推荐系统是数据、算法、架构和展示等共同决定的,而不是靠“一己之力”。

音乐推荐系统

过多的内容这里不展开介绍,大家看下效果图,感兴趣的化可以关注《推荐系统开发实战》


图书推荐系统


打开微信扫一扫,关注微信公众号【搜索与推荐Wiki】

注:《推荐系统开发实战》是小编近期要上的一本图书,预计本月(7月末)可在京东,当当上线,感兴趣的朋友可以进行关注!

展开阅读全文

003_推荐系统简介_推荐系统评测

05-18

<p>rn 本教程为官方授权出品rn</p>rn<p>rn <br />rn</p>rn<p>rn <span style="color:#404040;">伴随着大数据时代的到来,作为发掘数据规律的重要手段,机器学习已经受到了越来越多的关注。而作为机器学习算法在大数据上的典型应用,推荐系统已成为各行业互联网公司营销体系中不可或缺的一部分,而且已经带来了真实可见的收益。</span><br />rn<br />rn<span style="color:#404040;">目前,推荐系统和机器学习已经成为各大公司的发力重点,众多知名公司(如亚马逊、netflix、facebook、阿里巴巴、京东、腾讯、新浪、头条等)都在着眼于将蕴含在庞大数据中的宝藏发掘出来,懂机器学习算法的大数据工程师也成为了新时代最紧缺的人才。</span><br />rn<br />rn<span style="color:#404040;">精心打造出了机器学习与推荐系统课程,将机器学习理论与推荐系统项目实战并重,对机器学习和推荐系统基础知识做了系统的梳理和阐述,并通过电影推荐网站的具体项目进行了实战演练,为有志于增加大数据项目经验、扩展机器学习发展方向的工程师提供更好的学习平台。</span><br />rn<br />rn<span style="color:#404040;">本课程主要分为两部分,机器学习和推荐系统基础,与电影推荐系统项目实战。</span><br />rn<span style="color:#404040;">第一部分主要是机器学习和推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用Python做了实现;</span><br />rn<br />rn<span style="color:#404040;">第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。其中包括了如统计推荐、基于LFM的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块的代码实现,并与各种工具进行整合互接,构成完整的项目应用。</span><br />rn<span style="color:#404040;">通过理论和实际的紧密结合,可以使学员对推荐系统这一大数据应用有充分的认识和理解,在项目实战中对大数据的相关工具和知识做系统的回顾,并且可以掌握基本算法,入门机器学习这一前沿领域,为未来发展提供更多的选择,打开通向算法工程师的大门。</span><br />rn<br />rn<span style="color:#404040;">谁适合学:</span><br />rn<span style="color:#404040;">1. 有一定的 Java、Scala 基础,希望了解大数据应用方向的编程人员</span><br />rn<span style="color:#404040;">2. 有 Java、Scala 开发经验,了解大数据相关知识,希望增加项目经验的开发人员</span><br />rn<span style="color:#404040;">3. 有较好的数学基础,希望学习机器学习和推荐系统相关算法的求职人员</span> rn</p>

推荐系统_推荐系统算法详解(五)

06-21

n 一、机器学习与推荐系统课程简介<span></span>nn<p>n 伴随着大数据时代的到来,作为发掘数据规律的重要手段,机器学习已经受到了越来越多的关注。而作为机器学习算法在大数据上的典型应用,推荐系统已成为各行业互联网公司营销体系中不可或缺的一部分,而且已经带来了真实可见的收益。<span></span>n</p>n<p>n 目前,推荐系统和机器学习已经成为各大公司的发力重点,众多知名公司(如亚马逊、<span>netflix</span>、<span>facebook</span>、阿里巴巴、京东、腾讯、新浪、头条等)都在着眼于将蕴含在庞大数据中的宝藏发掘出来,懂机器学习算法的大数据工程师也成为了新时代最紧缺的人才。<span></span>n</p>n<p>n 尚硅谷精心打造出了机器学习与推荐系统课程,将机器学习理论与推荐系统项目实战并重,对机器学习和推荐系统基础知识做了系统的梳理和阐述,并通过电影推荐网站的具体项目进行了实战演练。为有志于增加大数据项目经验、扩展机器学习发展方向的工程师提供最好的学习平台。<span></span>n</p>nn 二、课程内容和目标<span></span>nn<p>n 本课程主要分为两部分,机器学习和推荐系统基础,与电影推荐系统项目实战。<span></span>n</p>n<p>n 第一部分主要是机器学习和推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用<span>python</span>做了实现;<span></span>n</p>n<p>n 第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。其中包括了如统计推荐、基于<span>LFM</span>的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块的代码实现,并与各种工具进行整合互接,构成完整的项目应用。<span></span>n</p>n<p>n 通过理论和实际的紧密结合,可以使学员对推荐系统这一大数据应用有充分的认识和理解,在项目实战中对大数据的相关工具和知识做系统的回顾,并且可以掌握基本算法,入门机器学习这一前沿领域,为未来发展提供更多的选择,打开通向算法工程师的大门。<span></span>n</p>

推荐系统_推荐系统算法详解(四)

06-21

n 一、机器学习与推荐系统课程简介<span></span>nn<p>n 伴随着大数据时代的到来,作为发掘数据规律的重要手段,机器学习已经受到了越来越多的关注。而作为机器学习算法在大数据上的典型应用,推荐系统已成为各行业互联网公司营销体系中不可或缺的一部分,而且已经带来了真实可见的收益。<span></span>n</p>n<p>n 目前,推荐系统和机器学习已经成为各大公司的发力重点,众多知名公司(如亚马逊、<span>netflix</span>、<span>facebook</span>、阿里巴巴、京东、腾讯、新浪、头条等)都在着眼于将蕴含在庞大数据中的宝藏发掘出来,懂机器学习算法的大数据工程师也成为了新时代最紧缺的人才。<span></span>n</p>n<p>n 尚硅谷精心打造出了机器学习与推荐系统课程,将机器学习理论与推荐系统项目实战并重,对机器学习和推荐系统基础知识做了系统的梳理和阐述,并通过电影推荐网站的具体项目进行了实战演练。为有志于增加大数据项目经验、扩展机器学习发展方向的工程师提供最好的学习平台。<span></span>n</p>nn 二、课程内容和目标<span></span>nn<p>n 本课程主要分为两部分,机器学习和推荐系统基础,与电影推荐系统项目实战。<span></span>n</p>n<p>n 第一部分主要是机器学习和推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用<span>python</span>做了实现;<span></span>n</p>n<p>n 第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。其中包括了如统计推荐、基于<span>LFM</span>的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块的代码实现,并与各种工具进行整合互接,构成完整的项目应用。<span></span>n</p>n<p>n 通过理论和实际的紧密结合,可以使学员对推荐系统这一大数据应用有充分的认识和理解,在项目实战中对大数据的相关工具和知识做系统的回顾,并且可以掌握基本算法,入门机器学习这一前沿领域,为未来发展提供更多的选择,打开通向算法工程师的大门。<span></span>n</p>

推荐系统_推荐系统算法详解(三)

06-21

n 一、机器学习与推荐系统课程简介<span></span>nn<p>n 伴随着大数据时代的到来,作为发掘数据规律的重要手段,机器学习已经受到了越来越多的关注。而作为机器学习算法在大数据上的典型应用,推荐系统已成为各行业互联网公司营销体系中不可或缺的一部分,而且已经带来了真实可见的收益。<span></span>n</p>n<p>n 目前,推荐系统和机器学习已经成为各大公司的发力重点,众多知名公司(如亚马逊、<span>netflix</span>、<span>facebook</span>、阿里巴巴、京东、腾讯、新浪、头条等)都在着眼于将蕴含在庞大数据中的宝藏发掘出来,懂机器学习算法的大数据工程师也成为了新时代最紧缺的人才。<span></span>n</p>n<p>n 尚硅谷精心打造出了机器学习与推荐系统课程,将机器学习理论与推荐系统项目实战并重,对机器学习和推荐系统基础知识做了系统的梳理和阐述,并通过电影推荐网站的具体项目进行了实战演练。为有志于增加大数据项目经验、扩展机器学习发展方向的工程师提供最好的学习平台。<span></span>n</p>nn 二、课程内容和目标<span></span>nn<p>n 本课程主要分为两部分,机器学习和推荐系统基础,与电影推荐系统项目实战。<span></span>n</p>n<p>n 第一部分主要是机器学习和推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用<span>python</span>做了实现;<span></span>n</p>n<p>n 第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。其中包括了如统计推荐、基于<span>LFM</span>的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块的代码实现,并与各种工具进行整合互接,构成完整的项目应用。<span></span>n</p>n<p>n 通过理论和实际的紧密结合,可以使学员对推荐系统这一大数据应用有充分的认识和理解,在项目实战中对大数据的相关工具和知识做系统的回顾,并且可以掌握基本算法,入门机器学习这一前沿领域,为未来发展提供更多的选择,打开通向算法工程师的大门。<span></span>n</p>

没有更多推荐了,返回首页