所以,我刚刚建立了一个星级评定体系,并试图想出一个算法,列出了“顶级”项目。 为简单起见,这里的列:
item_name
average_rating (a decimal from 1 to 5)
num_votes
我试图确定的“甜蜜点”的投票和评分之间。 例如...
- 额定的项目(4.6 / 20投票)应该更高列表比是一个项目(5.0 / 2投票)上
- 额定的项目(2.5 / 100票)应这是一个项目(4.5 / 2投票)下面
因此,换句话说,NUM_VOTES起着什么是“最高”的一个因素。
任何人都知道一个算法,在确定这个“甜蜜点”还不错的?
提前致谢。
这里的另一个统计听起来好办法: http://www.thebroth.com/blog/118/bayesian-rating
现在的问题是,有多少高的4.6 / 20额定值应大于5.0 / 2 ...
一个想法不采取在审议项目不具有至少为x票。
另一个想法是“中等”的投票来填补。 决定10votes应是最小的。 5.0 / 2必须充满2.5 8虚拟票
5.0 / 2表示2票5.0,加入8 2.5,你会得到30/10 - > 3.0;)
现在,你必须决定多少票中的项目至少须。 对于那些已经拥有最小票,直接比较 - 必须完成。
4.5/20 > 4.4/100
5.0/2 < 3.1/20 (as 5.0/2 is, as we calculated, 3.0/10)
你怎么样给每个10票的1,因此20票的权重给出了2项权重。 然后,如果该项目有0重量它会松动0.5从平均
4.6/20 = 20/10: 2 weight
5.0/2 = 2/10: 0 weight
(4.6 * 0.02) + 4.6 = 4.692
(5.0 * 0.00) + 5.0 = 5 - 0.5 = 4.5
2.5/100 = 100/10: 10 weight
4.5/2 = 2/10: 0 weight
(2.5 * 0.1) + 2.5 = 2.75
(4.5 * 0.0) + 4.5 = 4.5 - 0.5 = 4