25.推荐---协同过滤(Collaborative Filtering)

25.推荐---协同过滤(Collaborative Filtering)

协同过滤需要注意的三点:

  • gray sheep(有人喜欢追求特别,协同过滤一般只能从共同的人或物间找相似)
  • shilling attack(水军刷好评导致数据错误,无法带来精确的推荐)
  • cold start(冷启动,初次登陆网站,没有给商品打分,怎么推荐)

1.基于memory的CF

(1)基于用户的CF

25.推荐---协同过滤(Collaborative Filtering)

Wu,v指的是两个用户之间的相似度

Pa,i指的是a用户对i商品的打分

25.推荐---协同过滤(Collaborative Filtering)

4.67=用户1给所有商品打分的平均值,即(4+5+5)/3

(2)基于item的CF

 计算列与列之间的相关性(商品与商品)

25.推荐---协同过滤(Collaborative Filtering)

不同的Pa,i实现方法:

25.推荐---协同过滤(Collaborative Filtering)

举例:

25.推荐---协同过滤(Collaborative Filtering)

三种方法计算得到的lucy关于物品1的打分值是不同的

2.基于模型的CF

举例:朴素贝叶斯

25.推荐---协同过滤(Collaborative Filtering)

25.推荐---协同过滤(Collaborative Filtering)

分子的1和分母的5是拉普拉斯平滑,防止分数为0

25.推荐---协同过滤(Collaborative Filtering)

对于打分问题,将like和dislike转换成两行,缺失值置为0,转换成二分类问题,对于一个商品,用户是like还是dislike?

上一篇:R语言中数据框的横向合并与纵向合并


下一篇:Swift语言中如何使用JSON数据教程