我在网站上实现了一个简单的向上/向下投票系统,并且我会跟踪个人投票以及投票时间和唯一用户 ID(散列 IP)。
我的问题不是如何计算投票的百分比或总和 - 但更多的是,根据投票确定好分数的好算法是什么?
我发现按纯粹的投票百分比排序是 Not Acceptable ,以及简单地计算赞成票。
考虑这个例子:
理想的系统会先放 A,然后是 B,然后是 C。
在纯百分比场景中,顺序是 C > A > B。(错误)
在纯投票计数场景中,顺序是 B > A > C。(错误)
我有一个基于系统对分数的信心的有点“混合”算法的想法,可能是这样的:
// (if totalvotes > 0, else score = 0)
score = 1 - ((downvotes+1 / totalvotes+1) * sqrt(1 / totalvotes))
然而,在我从现在到日落之前一直在调整我的算法之前,我希望询问社区是否已经有任何我根本不知道的真正定义良好的算法。
我也有每次投票的日期数据 - 但是,该网站的内容对时间不是很敏感,所以我根本不在乎按“什么是热门”排序。
最佳答案
按平均票数排序不是很好。
通过平衡正面评分的比例与本文中解释的少量观察的不确定性,您可以更好地表示您的分数。
下面的文章解释了如何不犯许多流行网站所犯的错误。 (亚马逊、城市词典等)
http://evanmiller.org/how-not-to-sort-by-average-rating.html
希望这可以帮助!
关于math - 投票 - 投票数与投票百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10270421/