python多维向量夹角求解用户同过滤推荐算法
多维向量夹角求解用户协同过滤推荐算法
1、用户的协同过滤算法
就是把和你相似的用户喜欢的东西推荐给你。
协同过滤:利用用户的群体行为来计算用户的相关性。
计算用户相关性的时候就是通过对比他们对相同物品喜欢的相关度来计算的。
举例:
--------+--------+--------+--------+--------+ | X | Y | Z | R |--------+--------+--------+--------+--------+ a | 1 | 1 | 1 | 0 |--------+--------+--------+--------+--------+ b | 1 | 0 | 1 | 0 |--------+--------+--------+--------+--------+ c | 1 | 1 | 0 | 1 |--------+--------+--------+--------+--------+a用户选修了:X、Y、Zb用户选修了:X、Zc用户选修了:X、Y、R那么很容易看到a用户和b、c用户非常相似,给a用户推荐课程R,给b用户推荐课程Y给c用户推荐课程Z这就是基于用户的协同过滤。a用户向量为(1,1,1,0)b用户向量为(1,0,1,0)c用户向量为(1,1,0,1)
2、多维向量夹角公式
很直观的,如果两个用户