首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >协同过滤算法

协同过滤算法
EN

Stack Overflow用户
提问于 2016-11-02 15:10:16
回答 2查看 752关注 0票数 1

如果我有以下用户,他们观看的电影的评级如下:

代码语言:javascript
复制
User1 Movie1-5 Movie2-4 
User2 Movie2-5 Movie2-3 Movie3-4
User3 Movie1-4 Movie2-4 Movie4-4

如何使用协作过滤向user1推荐user1,以及如何计算user1给movie3 4或更高的概率?

EN

回答 2

Stack Overflow用户

发布于 2016-11-07 10:21:41

这里有几种使用协作过滤生成建议的不同方法,我将解释基于用户的和基于项的协作过滤方法。这些方法在推荐算法中使用最多。

基于用户的协同过滤

这基本上是计算用户之间的相似性。相似性可以是pearson相关,也可以是余弦相似。有更多的相关数字,但这些是最常用的。文章很好地解释了如何计算这一点。

基于用户的过滤确实带来了一些挑战。首先是数据稀疏的问题,这发生在有很多电影和一些评论。这使得计算用户之间的相关性变得困难。维基百科页面解释了这方面的更多内容。

第二是可伸缩性问题。当你拥有成千上万部电影的数百万用户时,计算用户之间相关性的性能将会大幅下降。

基于项的协同过滤

这种方法不同于基于用户的过滤,因为它计算电影之间的相似性,而不是用户之间的相似性。然后,您可以使用此相似性来预测用户的评等。我发现演示文稿解释得很好。

基于项的过滤器的性能优于基于用户的过滤器,但它们也面临着同样的问题,但稍微少了一点。

基于内容的过滤

看到您的数据,将很难生成建议,因为您从用户那里获得的数据太少。我建议使用基于内容的过滤器,直到您有足够的数据使用协作过滤方法。这是一个非常简单的方法,它基本上查看用户的配置文件,并将其与电影的某些标记进行比较。页面将对其进行更详细的解释。

我希望这回答了你的一些问题!

票数 5
EN

Stack Overflow用户

发布于 2022-07-06 13:00:46

您可以计算用户之间或项之间的相似性。一些比较容易找到相似性的方法是“余弦相似”、“Pearson相似”。

这个GFG页面解释了基于用户的方法,并举例说明了用户之间的相似性,从而对他们尚未看到的项目进行预测。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40383381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档