推荐系统项目基础(二)基于相似度的协同过滤

基于相似度的协同过滤算法

用户协同过滤User-based CF

在这里插入图片描述

从上图可以看出User-based CF的计算过程为:

  • 维护一张用户之间的相似表
  • 计算每个用户之间的相似度
  • 得到最接近的用户
  • 得到所有接近用户的购买数据
  • 根据购买数据推荐没有购买过的物品

商品协同过滤Item-based CF

基于商品过滤的不同点在于获取的是物品的相似表,根据物品的相似度进行推荐。
在这里插入图片描述

Item-based CF的计算过程为:

  • 维护一张物品之间的相似表,物品之间的相似度表示公式:(同时喜欢物品I与J的人数交集)/(喜欢物品I与J的人数并集)
  • 计算每个物品之间的相似度
  • 得到最接近的物品列表
  • 去除用户的购买物品
  • 根据得到的物品中筛选出没有购买过的物品

计算相似度

余弦相似度

余弦相似度通过计算两个向量的夹角的余弦值来度量它们之间的相似性,在计算文档相似度中应用非常广泛,计算公式如下:
在这里插入图片描述

皮尔逊相似度

余弦相似度中没有将维度进行考虑,即没有进行中心化处理,数据会受到某些维度的较高值影响,需要对维度中的值进行去中心化处理。相对于余弦相似度,皮尔逊更适合于计算相似度。
在这里插入图片描述

Jarccard相似度

Jaccard相似度的定义很简单,两个向量的词汇的交集除以两个向量的并集。适用于已经进行onehot编码后的数据,只有0和1

基于Jarccard相似度计算例子

在这里插入图片描述

1、根据上面的数据计算得出用户之间的相似度,与物品之间的相似度。

在这里插入图片描述
2、分别根据用户协同过滤,物品协同过滤进行计算。

在这里插入图片描述
(用户2与用户1相似度 * 用户2对物品5的评分 + 用户3与用户1相似度 * 用户2对物品5的评分)/(用户2与用户1相似度+用户3与用户1相似度)

在这里插入图片描述

(物品A与物品E相似度 * 用户1对物品A的评分 + 物品D与物品E相似度 * 用户1对物品D的评分)/(物品A与物品E相似度 + 物品D与物品E相似度)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值