PHP/MySQL - "评分最高"的算法

Mat*_*att 5 php mysql algorithm rating

所以我只是建立了一个星级评分系统,并尝试提出一种算法来列出"评分最高"的项目.为简单起见,以下是列:

item_name
average_rating (a decimal from 1 to 5)
num_votes
Run Code Online (Sandbox Code Playgroud)

我试图确定投票数和评级之间的"甜蜜点".例如...

  • 评级为(4.6/20票)的项目应该高于一个项目(5.0/2票)
  • 评级为(2.5/100票)的项目应该低于(4.5/2票)的项目

换句话说,num_votes在"Top"中扮演一个因素.

有人知道一种算法非常擅长确定这个"甜蜜点"吗?

提前致谢.

lon*_*eck 11

这是另一个统计上合理的好方法:http://www.thebroth.com/blog/118/bayesian-rating

  • 为了补充这一点,也有这个选项,这有点强烈:http://www.evanmiller.org/how-not-to-sort-by-average-rating.html贝叶斯评级可能要好得多.这是一个有趣的其他方法. (2认同)