投票 - 投票数与投票百分比?

Tim*_*Tim 6 math voting rating-system

我在网站上实现了一个简单的上/下投票系统,我跟踪个人投票以及投票时间和唯一用户iD(散列IP).

我的问题不是如何计算投票的百分比或总和 - 更重要的是,根据投票确定好分数的好算法是什么?

我发现按纯投票百分比排序是不可接受的,以及简单地计算upvotes.

考虑这个例子:

  • 图片A:4个upvotes,1个downvotes
  • 图B:5个upvotes,4个downvotes
  • 图像C:1 upvote,0 downvotes

理想的系统将A放在第一位,然后是B,然后是C.

在纯百分比方案中,订单为C> A> B.(错误)在纯投票计数方案中,订单为B> A> C.(错误)

我有一个基于系统对分数的信心的"混合"算法的想法,可能是这样的:

// (if totalvotes > 0, else score = 0)
score = 1 - ((downvotes+1 / totalvotes+1) * sqrt(1 / totalvotes))
Run Code Online (Sandbox Code Playgroud)

但是,在我从现在开始调整算法到日落之前,我希望向社群询问是否有任何我已经知道的非常明确的算法,我根本就不知道.

我也有每个投票的日期数据 - 但是,网站的内容不是非常时间敏感,所以我真的不在乎"什么是热点".

And*_*ius 0

我知道这并不能回答你的问题,但我只是花了 3 分钟的时间来寻找一些公式,然后......检查一下:) A 列是赞成票,B 列是反对票:)

=(LN((A1+1)/(A1+B1+1))+1)*LN(A1)

5   3       0.956866995
4   1       1.133543015
5   4       0.787295787
1   0       0
6   4       0.981910844
2   8       -0.207447157
6   5       0.826007385
3   3       0.483811507
4   0       1.386294361
5   0       1.609437912
6   1       1.552503332
5   2       1.146431478
100 100     -3.020151034
10  10      0.813671022
Run Code Online (Sandbox Code Playgroud)