如果我有以下用户,他们观看的电影的评级如下:
User1 Movie1-5 Movie2-4
User2 Movie2-5 Movie2-3 Movie3-4
User3 Movie1-4 Movie2-4 Movie4-4如何使用协作过滤向user1推荐user1,以及如何计算user1给movie3 4或更高的概率?
发布于 2016-11-07 10:21:41
这里有几种使用协作过滤生成建议的不同方法,我将解释基于用户的和基于项的协作过滤方法。这些方法在推荐算法中使用最多。
基于用户的协同过滤
这基本上是计算用户之间的相似性。相似性可以是pearson相关,也可以是余弦相似。有更多的相关数字,但这些是最常用的。这文章很好地解释了如何计算这一点。
基于用户的过滤确实带来了一些挑战。首先是数据稀疏的问题,这发生在有很多电影和一些评论。这使得计算用户之间的相关性变得困难。这维基百科页面解释了这方面的更多内容。
第二是可伸缩性问题。当你拥有成千上万部电影的数百万用户时,计算用户之间相关性的性能将会大幅下降。
基于项的协同过滤
这种方法不同于基于用户的过滤,因为它计算电影之间的相似性,而不是用户之间的相似性。然后,您可以使用此相似性来预测用户的评等。我发现这演示文稿解释得很好。
基于项的过滤器的性能优于基于用户的过滤器,但它们也面临着同样的问题,但稍微少了一点。
基于内容的过滤
看到您的数据,将很难生成建议,因为您从用户那里获得的数据太少。我建议使用基于内容的过滤器,直到您有足够的数据使用协作过滤方法。这是一个非常简单的方法,它基本上查看用户的配置文件,并将其与电影的某些标记进行比较。这页面将对其进行更详细的解释。
我希望这回答了你的一些问题!
发布于 2022-07-06 13:00:46
您可以计算用户之间或项之间的相似性。一些比较容易找到相似性的方法是“余弦相似”、“Pearson相似”。

这个GFG页面解释了基于用户的方法,并举例说明了用户之间的相似性,从而对他们尚未看到的项目进行预测。
https://stackoverflow.com/questions/40383381
复制相似问题