• 豆瓣250排行榜算法


    IMDB网站依据下列公式计算每部影片的得分,以排定名次: 
       
      加权平均分(WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C 
       
      在这里: 
      R = 该电影的平均分 
      v = 该电影的总投票数 
      m = 列入前250所需要的最少票数(目前是1300票) 
      C = 数据库中所有电影的总平均分(目前是6.7) 
       
      这个估算比目前豆瓣所采用的简单平均分方法要科学的多,因为它既考虑了电影的受众人数,也考虑了优劣。比如一部电影只有10个人看过,这10个人都给它打10分,而另一部电影有10000人看过,平均分是9分,大家觉得哪个好?我想大部分人会相信是后者。所以这就是贝叶斯算法的依据。

    从目前的分析来看,豆瓣250应该也采用了这种算法,其中的四项参数,R和V可以根据用户对电影的评分直接获得,而m和C两项参数则略为复杂。 

    先来说说C值,该值总体来说比较平稳,经过一段时间的观察和试算,应该是在3.8左右平稳上升。 
    应该这个平均分是比较高的,由于豆瓣采取的是5分制,折算成IMDB分有7.6了,这比上文提到的IMDB平均分高了近1分。如果这确实是数据库中所有电影的总平均分,那么可以推测豆瓣用户总体来说是比较“宽容”的,或者说更愿意对自己推荐的电影进行评分而对较差的电影则不予评价。 

    另一个参数m,是至关重要的一个阀值,即使一部电影的评分再高,如果总投票数不能达到这个阀值,也是不能上榜的。 
    由于豆瓣250排行榜每周更新一次,根据每周的排名情况,我们可以发现从250创设到现在,m值在短短1个半月内,由最初的1300左右增加至目前的1500左右,应该说,这样一个增幅是比较高的。上周,一直在榜单中的《L.A. Confidential》就因为没到跟上M的涨速而掉队,但于本周返回榜单。 
    m值的设定可以说一定程度上决定了整个榜单的取向,如果设定的较低,会使得榜单更容易被人为操纵,毕竟现在注册马甲不是很困难的事情;但设的高了,一些受众较少的优秀电影也会因为评分人数达不到及格线而被挡在榜单之外;极端的说,如果设定过高,留在榜单上的只能是一些“畅销”电影了。而豆瓣250有关这个参数的确定方式,是所有参数中最难以判定的。

  • 相关阅读:
    2015第18周日
    CreateProcess的使用方法
    A ResourcePool could not acquire a resource from its primary factory or source
    ThreadPool.QueueUserWorkItem的性能问题
    Cucumber 入门一
    菜鸟版JAVA设计模式-从抽象与实现说桥接模式
    ServiceStack.Hello——跨平台.net REST api服务搭建
    android看不见main函数怎么办?程序异常了,能够不提示“xxx软件停止执行”吗?
    深入探讨this指针
    问卷星调查学生对《算法》教学的建议与反馈
  • 原文地址:https://www.cnblogs.com/jamesbd/p/3954658.html
Copyright © 2020-2023  润新知