手把手带你实现一个迷你版推荐系统

举报
girafree 发表于 2020/07/23 16:05:49 2020/07/23
【摘要】 从零开始,20分钟在华为云服务器上搭建一个迷你版推荐系统;学完本期教程,将可以知道如何使用远程连接服务器,实现基于物品的协同过滤,以及redis的安装及使用,各位小伙伴们一起来学习吧~ 实现思路 使用推荐系统的经典数据集movielens,里面有用户对于电影的评分数据。我们将基于这一份数据实现基于物品的协同过滤:(1)利用Jaccard相似度计算物品(电影)相似度 (2)根据每个人有评...

从零开始,20分钟在华为云服务器上搭建一个迷你版推荐系统;学完本期教程,将可以知道如何使用远程连接服务器,实现基于物品的协同过滤,以及redis的安装及使用,各位小伙伴们一起来学习吧~


 

实现思路

    使用推荐系统的经典数据集movielens,里面有用户对于电影的评分数据。我们将基于这一份数据实现基于物品的协同过滤:(1)利用Jaccard相似度计算物品(电影)相似度 (2)根据每个人有评分的物品(电影)去相似度结果中取得相似的物品 (3)加权求和取top。之后安装redis,启动服务,并将算好的推荐数据写入redis。

    总结如下步骤:

1、下载数据集

2、安装python3

3、基于物品的协同过滤推荐   

4、安装redis并启动服务

5、结果写入redis


用到的知识点

1、linux基本操作:远程连接服务器,文件下载、编辑、安装,服务启动等

2、基于物品的协同过滤

3、kv数据库redis 安装及使用 


安装部署

首先点击控制台-弹性云服务器

1.购买.png


CPU架构选择鲲鹏计算,计算资源选择8core16GB,操作系统选择CentOS 8.0

 2.琉璃那个.png


网络选择性价比最高的方案:按流量计费,带宽选择最大

 

在终端远程登录

 3.远程登录.png


在控制台管理页面点击这里复制服务器的公网IP,打开终端,输入命令ssh root@{这里粘贴剪贴板里的IP地址},之后输入之前设置的密码即可


下载数据集

利用wget命令下载movielens数据集: wget http://files.grouplens.org/datasets/movielens/ml-1m.zip

然后解压缩 unzip ml-1m.zip


安装python3

arm架构下安装python3的流程与x86略有不同,参考鲲鹏官网的文档https://support.huaweicloud.com/prtg-kunpengcpl/python_02_0001.html

 

基于物品的协同过滤

下载或复制粘贴github里的代码,执行python itemCF.py,等待大约10分钟可以生成一个文件rec_result.csv 

这里的结果表示给用户1推荐了1196,364,1265,318,2081,1198,2571,2716,1282,2096这些电影,下面同理


redis安装及使用

参考https://www.cnblogs.com/zuidongfeng/p/8032505.html安装redis和启动服务,注意修改damonize参数以后台方式启动。

 

执行python set_redis.py将结果写入redis

最后可以在redis-client中查询已经写入的结果

 

好啦,以上就是搭建迷你版推荐系统的完整过程了,如果有什么疑问,欢迎在下面留言告诉我~

 

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。