大家中秋快乐!
MDB TOP250的电影评分计算方法正是大名鼎鼎的贝叶斯统计算法。
要想领悟这种算法的精妙之处,我们首先需要看一个例子:
- 电影A,十个人看过,全部评分均为10分;电影B,十万个人看过,评分平均值为9.8分。请问你愿意相信哪部电影更加优秀??贝叶斯算法的核心思想就是避免让电影A的最终得分会超过B。
具体是如果做到的呢?
- 首先IMDB统计了目前数据库所有的电影的平均评分(为6.9),并且设定了一个基础人数(为1250人);
- 然后每一部新片进入数据库后,都会先默认已经有1250人都打过6.9分了。
- 在这1250个6.9分的基础上,再加上真正有多少人评的分,合起来求一个平均数即为IMDB的top 250最终得分。
一些细节我觉得有必要提一下:1. TOP 250的影片都要求评价人数超过基础人数,以限制某些像民族性,小众性的电影挤进来了;2. 考虑TOP 250排名的时候,只取那些经常投票的人的票以避免刷票;3. 为什么一定要强调是TOP 250的排名。因为TOP 250的排名和IMDB的正常排名是不一样的算法。具体网站上正常排名是怎么算的对外保密了,所以不得而知。最后补充一点个人理解:贝叶斯的这套算法相对国内的网站还是科学的多的。然而个人理解还是有一些小问题的:新上映的电影短时间内评分上不去。假设电影A是老牌经典电影,100万个人给了9分,最后得分9分;电影B只是10年前的经典电影,1万个人给了9.1分,最后得分将只有8.85。这点差距放在排名上其实是非常大的。所以说,IMDB的TOP 250肯定是好电影,但不是所有的好电影都能进入TOP 250。
(1) 公式(著名的贝叶斯算法)
-R :该电影的算数平均分 。 是用普通的方法计算出的平均分
-v :该电影投票人数
-m:进入imdb top 250需要的最小投票数
-C :目前所有电影的平均票数