假设用户为某些电影投票,评分范围为 1 到 5。这些电影具有流派信息,并且一部电影可以有多个流派。像这样:
Movie A Rating 4
Action/Sci-Fi
Movie B Rating 5
Comedy/Action
Movie C Rating 4
Comedy/Drama
我们想了解哪种类型喜欢我们的用户。这是我们的结果集:
Genre Movie_Count Average_Rating
----------
Action 2 5
Comedy 2 4.5
SciFi 1 4
Drama 1 4
显然,我们无法用这么小的结果集预测任何事情,但让我们假设我们有一个更大的数据集。
使用这些数据,我们如何对这个用户最喜欢的类型进行排序?简单地计算加权平均值还是更复杂的东西?
最佳答案
我在这里看到的主要问题是:
用户评价 1000 部喜剧电影,平均得分为 4
用户对 10 部 Action 片的评分平均为 4.1
你如何订购它们?
参见 http://www.evanmiller.org/how-not-to-sort-by-average-rating.html供讨论和一个可能的解决方案。
另一个问题是:
如果一部电影既是喜剧又是 Action 片,并且评分为 4.0,那么它是喜剧片还是 Action 片的原因有多少?
您可以使用期望最大化来解决这个问题 http://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm .
关于algorithm - 查找具有评级值的用户最喜欢的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9169143/