推荐系统(RS),麻雀虽小,五脏俱全

基于Surprise推荐系统实战

  • 本文就movielens数据集做测试,实践推荐。movielens数据集格式为:user item rating timestamp 其中主要用到前三列,timestamp在处理自己的数据集的时候可以用别的特征替换,在此不做详细说明。
  • 本文基于开源推荐框架surprise,传送门
  • 官网上的例子直接用 Dataset.load_builtin(‘ml-100k’)载入数据集,奈何小白我一直不成功。遂自己去下载了数据集,从本地读取。
  • 这里使用的是基于item的协同过滤,也就是这里的电影。相似度计算使用的是皮尔逊相关系数。
  • 代码中可能稍微有点费脑的一点是一个转换问题,name<–>rid<–>inner_id,这里rid是一个桥梁的作用,rid:raw_id也就是每部电影所对应的原始id号。而在训练计算皮尔逊相关系数矩阵的时候,又将每部电影进行了id映射,也就是代码中的to_inner_iid()就是讲raw_id转换到相似性矩阵的inner_id。之后计算近邻,得到的inner_id 要将其转换为具体的电影名字,同样需要通过raw_id作为中介进行转换。讲起来有点绕,看代码详细体会。
import io
from surprise import KNN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值