推荐系统2(案例):电影评分、基于k临近

一、电影评分预测案例

  • 扩展:python中的pickle模块

pickle提供了一个简单的持久化功能,可以将对象以文件的形式存放在磁盘上。例如csv文件

pickle模块只能在python中使用,python中几乎所有的数据类型(列表、字典、集合、类等)都可以用pickle来序列化。

1、做透视(透视表)

将csv文件转化成二维表格(矩阵),找到user和movie的关系在这里插入图片描述
透视代码:列是movieid,值是评分rating
透视结果:
在这里插入图片描述

完整代码:
在这里插入图片描述

2、相似度计算

在这里插入图片描述
在这里插入图片描述

3、User-Based CF预测评分

评分测评公式:
在这里插入图片描述

1、实现评分预测方法:predict(预测给定用户对给定物品的评分值)
在这里插入图片描述

去除自身和NALL,并且只保留正相关。
在这里插入图片描述
在这里插入图片描述
index:索引,每个数据对应的编号。
&:交集

2、实现预测全部评分的方法:predict_all (预测给定用户对所有物品的评分值)
在这里插入图片描述

添加过滤规则:
在这里插入图片描述
在这里插入图片描述

根据预测评分为指定用户进行TOP-N推荐:
在这里插入图片描述

4、Item-Based CF

同用户相似。

总结:上述两个案例都没有用到KNN,如果用,在相关处。

扩展:Lambda
lambda表达式是一行的函数,他们在其它语言中也被称为匿名函数。让代码简单,只使用一次。

使用方法:在lambda语句中,冒号前面是参数,可以有多个,用逗号隔开,冒号右边是返回值。

lambda 参数:操作(参数)
add= lambda x,y:x+y print(add(3,5))
output:8

总结回顾
在这里插入图片描述
在这里插入图片描述

二、基于k临近的协同过滤

在这里插入图片描述
k临近,增加一部分代码,其他同前一个案例。
排序后再取前k个。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值