数据获取和处理以及环境的配置详见上一篇文章: https://blog.csdn.net/qq_42754919/article/details/119679441
基于物品的协同过滤(Item-CF),只需收集用户的常规行为数据(比如点击、收藏、购买)就可以得到商品间的相似度,在实际项目中应用很广。
1. 基于物品的协同过滤(Item-CF)
基于物品的协同过滤(Item-CF)主要思想:对于同一个用户购买的不同商品内部应该存在某种相关性。因此可以用现存的行为数据判断两个物品的相似程度,分析商品受众的相似程度,进而得出商品间的相似度。当一个新的用户购买某个商品后,可以用商品相似度推荐给当前用户其他某种类型的商品,未必和之前购买的商品统一类型。我们把这种方法定义为物品的“同现相似度”,公式如下:我们把这种方法定义为物品的“同现相似度”,公式如下:
其中,Ni 是购买商品 i的数量,Nj 是购买商品 j 的数量,分子表示同一个用户同时购买两个商品的数量。
2. 代码
主要思路:
- 首先统计每个商品出现的频次,然后按用户ID进行内连接