手把手带你实现一个迷你版推荐系统
从零开始,20分钟在华为云服务器上搭建一个迷你版推荐系统;学完本期教程,将可以知道如何使用远程连接服务器,实现基于物品的协同过滤,以及redis的安装及使用,各位小伙伴们一起来学习吧~
实现思路
使用推荐系统的经典数据集movielens,里面有用户对于电影的评分数据。我们将基于这一份数据实现基于物品的协同过滤:(1)利用Jaccard相似度计算物品(电影)相似度 (2)根据每个人有评分的物品(电影)去相似度结果中取得相似的物品 (3)加权求和取top。之后安装redis,启动服务,并将算好的推荐数据写入redis。
总结如下步骤:
1、下载数据集
2、安装python3
3、基于物品的协同过滤推荐
4、安装redis并启动服务
5、结果写入redis
用到的知识点
1、linux基本操作:远程连接服务器,文件下载、编辑、安装,服务启动等
2、基于物品的协同过滤
3、kv数据库redis 安装及使用
安装部署
首先点击控制台-弹性云服务器
CPU架构选择鲲鹏计算,计算资源选择8core16GB,操作系统选择CentOS 8.0
网络选择性价比最高的方案:按流量计费,带宽选择最大
在终端远程登录
在控制台管理页面点击这里复制服务器的公网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中查询已经写入的结果
好啦,以上就是搭建迷你版推荐系统的完整过程了,如果有什么疑问,欢迎在下面留言告诉我~
- 点赞
- 收藏
- 关注作者
评论(0)