1对1票:计算评级(Flickchart.com)

caw*_*caw 15 statistics charts voting ranking

我不想评分等级为1到10的项目,而是希望进行1对1"战斗".两个项目彼此相邻显示,您可以选择一个您喜欢的项目.基于这些"战斗"结果,算法应计算每个项目的评级.

你可以在Flickchart.com上看到这种方法,这种方法对电影进行评级.

它看起来像这样:

截图http://i45.tinypic.com/2nv3ugy.jpg

如你所见,如果物品赢得"战斗",物品就会向上推.排名总是根据"战斗"结果而变化.但这不能仅仅取决于胜利报价(这里是54%),因为对抗"泰坦尼克号"比赢得"25小时"左右更难.

有一些事情对我来说还不太清楚: - 收视率是如何计算的?你如何决定哪部电影在排名中位居第一?你必须考虑一个项目获胜的频率以及被打败的项目有多好. - 如何选择哪些项目"打架"?

当然,你无法告诉我Flickchart是如何做到的.但也许你可以告诉我它是如何做到的.提前致谢!

Chr*_* P. 8

这可能不是flickchart正在做的事情,但你可以使用国际象棋(和其他运动)中使用的ELO算法的变体,因为这些基本上是他们赢/输的战斗/游戏.

基本上,所有电影都以0胜/负的方式开始,每次获胜都会得到一定的积分.你通常平均大约20(但任何数字都会这样做)并且赢得与你自己相同评级的电影将完全给出20.赢得一部糟糕的电影可能会得到大约10分,而赢得更好的电影可能会给你30分.相反,输给一部好电影你只会失去10分,但如果你输了一部糟糕的电影,你就会失去30分.

该算法的细节在维基百科链接中.

  • 获胜次数并不决定您的位置,而是您赢得的WHO.想象一下,在网球世界排名中排名第100.如果你击败#1三次,你不仅仅是移动几个地方,你会飙升.如果你击败#99三次,你最多会移动1-2个位置. (2认同)

Jul*_*iet 5

如何计算评级?你如何决定哪部电影在排名中位居第一?你必须考虑一个项目获胜的频率以及被打败的项目有多好.

你想要的是加权评级,也称为贝叶斯估计.

我认为IMDB的250强电影是制作排名网站的更好起点.有些电影的票数为300,000+,而其他电影则少于50,000.IMDB使用贝叶斯估计将电影相互排名,而不会对流行电影进行不公平的加权.该算法在页面底部给出:

weighted rating (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C 哪里:

  • R =电影的平均值(平均值)=(评级)
  • v =电影的投票数=(投票)
  • m =要求列入前250名(目前为3000名)的最低票数
  • C =整个报告的平均投票数(目前为6.9)

对于前250名,只考虑普通选民的投票.

我不知道IMDB如何选择3000作为他们的最低投票.他们可以选择1000或10000,并且列表或多或少相同.也许他们正在使用"票房6周后的平均票数",或者他们正在使用反复试验.

无论如何,这并不重要.上面的公式几乎是规范排名网站投票的标准,我几乎可以肯定Flickrchart在背景中使用类似的东西.

该公式运作良好,因为它将评级"拉"到均值,因此高于均值的评级略有下降,低于均值的评级略有上升.然而,拉力的强度与电影的投票数成反比.因此,投票少的电影比平均投票更具积极性.以下是两个数据点来演示该属性:

Rank  Movie            Votes            Avg Rating        Weighted Rating
----  -----            -----            ----------        ---------------
219   La Strada        15,000+          8.2               8.0
221   Pirates of the   210,000+         8.0               8.0
      Caribbean 2
Run Code Online (Sandbox Code Playgroud)

这两部电影的评级都被拉低了,但拉斯特拉达的拉动更加引人注目,因为它的票数较少,因此不像PotC的评级那么具有代表性.


对于您的具体情况,您在"战斗"中有两个项目.您应该按如下方式设计表:

Items
-----
ItemID (pk)
FightsWon (int)
FightsEngaged (int)
Run Code Online (Sandbox Code Playgroud)

平均评分为FightsWon/FightsEngaged.加权评级使用上面的公式计算.

当用户在战斗中选择获胜者时,将获胜项目的FightsWon字段增加1,将两个项目FightsEngaged字段增加1.

希望这可以帮助! - 朱丽叶