spark mllib 协同过滤算法之如何实现基于余弦相似度的用户相似度计算

2023-04-07 算法 协同 余弦

spark mllib 协同过滤算法之如何实现基于余弦相似度的用户相似度计算

spark mllib 的协同过滤算法是基于余弦相似度的用户相似度计算。spark mllib 的协同过滤算法首先会计算出每个用户对每个物品的喜好程度,然后基于用户的喜好程度来计算用户之间的相似度。

首先计算每个用户对每个物品的喜好程度,这里使用的是余弦相似度计算公式:

![](https://github.com/MLLibAlgorithm/Algorithm/blob/master/image/%E5%9B%BE%E7%89%871.png)

其中,x表示用户i对物品j的喜好程度,y表示用户j对物品j的喜好程度。

计算完每个用户对每个物品的喜好程度之后,就可以根据用户的喜好程度来计算用户之间的相似度了。

这里使用的是余弦相似度计算公式:

![](https://github.com/MLLibAlgorithm/Algorithm/blob/master/image/%E5%9B%BE%E7%89%872.png)

其中,x表示用户i对物品j的喜好程度,y表示用户j对物品j的喜好程度。

计算完用户之间的相似度之后,就可以根据用户相似度来推荐物品给用户了。

相关文章