前言
以下为对实际生产环境中ItemCF、UserCF召回策略的总结
1. Spark中带分数的itemBaseCF
1.1 不考虑用户打分的差异性
1 | 1.item , (user,score) |
1.2 考虑用户打分的差异性
1 | -1.user , (item,score) |
2. Spark中不带分数的itemBaseCF
1 | 1.item , user |
注:
- 计算方法 只是把上面余弦距离的score全都置为1了
- 本方法最终也就是是共现矩阵的余弦相似度计算方法 d1_d2_cnt/sqrt(d1_cnt*d1_cnt)
3. cal_score相似度 计算方法
1 | def cal_score(line): |
4. UserCF 和ItemCF原理相同
将user , list[(item,score,sqrt_item)] 换为 item , list[(user,score,sqrt_user)] 即可
关于作者
- crazylook: pyhton,spark,ml,dl,recsys
- blog: https://crazylook.github.io/
- email: liuhongbin1990@foxmail.com
转载请注明出处:
https://crazylook.github.io/2018/01/18/recsys/spark-CF