Weighted Voting Algorithm / Calculation

I am creating a duel application and I am at a dead end for calculating the results.

Each user has either a top or bottom side. No 1-5 or five star rating.

For example: if I were shown 5 times and won 3, I would have 3 'upvotes' and 2 'downvotes'.

If I were to make direct percentages, everyone who was shown 1 time and was selected 1 time (100%) would always be the top, where, as if someone was 9/10 (90%), they would be lower 1/1, but in theory it will belong from above.

Anyone have any ideas how to do this?

+3
source share
4 answers

Instead of a percentage of positive votes, keep track of the average Bayesian value, for example:

(positive votes + weighted avg positive votes) / (total votes + arbitrary sample)

http://en.wikipedia.org/wiki/Bayesian_average

+2

.

@joshhendo , .

:

  • 1 70 30 .
  • 2 400 300 .

1: 70-30 = 40
2: 400-300 = 100

2 1, . 2 25% , 1 ~ 57% . 1 2, , , , "" "" .

, 1 (), .

: http://www.evanmiller.org/how-not-to-sort-by-average-rating.html

. , - .

[]
: http://blog.linkibol.com/2010/05/07/how-to-build-a-popularity-algorithm-you-can-be-proud-of/
[/]

+4

, +1 -1.

, , - 9/10 (, 9 1 ), 9 + -1 = 8. , 1/1, 1 0 , 1 + -0 = 1. , , 90% , 8 , , , 100% 1.

, . , , , , .

+2

.

-

q - ( 0 1 .)

When you fight, you get 1-q points when you win, and lose q points when you lose. This means that if you lose against someone who always wins, it will not hurt you. If you lose to someone who almost always loses, you will lose a lot of points for this.

Each (day, hour, whatever) counts all q, where person # 1 gets aq from 1 (or 1.5 or 2, anything, but 1 works best), and the lowest person gets aq from 0.

0
source

Source: https://habr.com/ru/post/1794832/


All Articles