使用implicit搭建实时推荐系统

18 sec read

Implicit简介

Implicit是一个开源的系统过滤项目,其包含多种流行的推荐算法,主要应用场景是针对隐性反馈行为进行推荐。包含的算法主要有:

Implicit使用

数据准备

Implicit输入需要使用的数据格式为user_id/item_id/rating,其中对于隐性评分的场景,可以根据具体情况进行设置,比如:

  • 按照浏览时间设置不同的rating
  • 按照浏览深度设置不同的rating(是否看过图片、点评等)
  • 按照不同行为设置不同的rating(浏览、收藏、加购)

模型训练

注意:

  • 这里使用了ALS算法,具体模型参数怎么调优目前还没有好的解决方案,给出的参数是随意给的。
  • 这里将模型结果存储到.npz文件中,便于后期直接使用,而不是每次使用时都要训练。
  • 需要对原先的user_id,item_id进行重新编码,否则会报错

模型使用

实时推荐

实时推荐的方案是使用离线模型结合实时行为进行推荐,而不是把整个模型部署到线上实时运行。中间主要区别是用户ID是不存在的,所以不能使用userid进行直接推荐。具体实现方式如下:

参考资料:

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

使用Docker安装多用户版的JupyterHub

宿主服务器使用的是Ubuntu 18.04,需要注意的是Docker目前不支持Ubuntu 19.10。如要在
标点符
3 min read

如何选择scikit-learn中的算法

scikit-learn中自带了很多机器学习的算法,在日常使用过程中可能产生疑问,以下2张图获取可以帮助你解决
标点符
0 sec read

使用tqdm显示Python代码执行进度

在使用Python执行一些比较耗时的操作时,为了方便观察进度,通常使用进度条的方式来可视化呈现。Python中
标点符
34 sec read

发表评论

电子邮件地址不会被公开。 必填项已用*标注