2012-04-23 65 views
-1

林建立5星评级制度。问题出现在用户保持照片的速度和最终将返回100%以上,我怎么能确保它以百分比返回而不是超过100%5星贝叶斯评分回报百分比

br = ((avg_num_votes * avg_rating) + (this_num_votes * this_rating))/(avg_num_votes + this_num_votes) 
+0

考虑我建立一个在线照片rating..every用户可以使用贝叶斯(上述公式)我可以拿到名次,这照片应该是最高税率的照片与五星级给出scale.By但它可以用百分比不放弃比100,我试图实现 – 2012-04-23 09:20:36

+0

获得评分最高的图片的'br',并执行此操作:'this_br_rate/top_br_rate * 100' – nullpotent 2012-04-23 09:25:08

回答

1

假设avg_ratingthis_rating都没有超过100%,并且所有值都非负,您的公式永远不会给超过100%。

br = ((avg_n * avg_r) + (this_n * this_r))/(avg_n + this_n) <= 
    <= ((avg_n * 100%) + (this_n * 100%))/(avg_n + this_n) = 
    = 100% * (avg_n + this_n)/(avg_n + this_n) = 
    = 100% 

如果avg_ratingthis_rating百分比不测量(例如,它们是恒星0-5号),你应该首先将它们转换为百分比。