Einfache Algebra:
AvgVotes = Summe aller Stimmen/Summe aller Artikel
AvgRating = Summe von bis Stimmen für alle Artikel * 5/Summe aller Stimmen
CurVotes = Anzahl der Abstimmungen über aktuelle Artikel
CurRating = Summe von bis Abstimmungen über aktuelle Artikel * 5/Anzahl der Stimmen auf aktuelle Artikel
TotalVotes = Summe alle Stimmen + Summe der Stimmen auf aktuellen Artikel
((AvgVotes * AvgRating) + (CurVotes * CurRating)) * 5/TotalVotes
So in Ihre Zahlen Aufstecken das Gewicht für eine Auswertung ...
AvgVotes = 1000
AvgRating = 0 (Denken Sie daran, enthalten keine Zahlen für das Element, das Sie in dieser Berechnung sind die Bewertung)
CurVotes = 1000
CurRating = 500 * 5/1000 = 2,5
Gesamtzahl Stimmen = 2000 + 1000 = 3000
((1000 * 0) + (1000 * 2,5)) * 5/3000 = 4,166
Ich habe vergessen, hinzuzufügen, fügen Sie keine Elemente in irgendeiner Berechnung oder Summe über, die keine Stimmen haben, oder es wird die Gewichte abwerfen.
EDIT - Simplified Lösung:
Ich sollte anmerken, dass es eine vereinfachte Lösung für das Problem ist, die durchgeführt werden kann. Ich habe nur eine Langform für das Verständnis demonstriert. Der komprimierte Algorithmus wie folgt aussieht:
Definitionen:
SET = Alles, was nicht auf die aktuelle Auswertung Ziel bezogen, wo Stimmen größer als Null ist.
TARGET = Das Element, das Sie versuchen derzeit zu bewerten
25 * (((Summe der SET up-Stimmen)/(Summe der SET Artikel)) + (Summe der TARGET up-Stimmen))/(Summe von TARGET Stimmen + Summe der SET Stimmen)
wieder Einstecken mit Ihren Zahlen 'A' zur Klärung und den Nachweis der Bewertung:
(25 * ((0/2) +500))/(1000+ 2000) = 4.166
möglich Duplikat von [Was ist der beste Algorithmus, um den am meisten bewerteten Artikel zu berechnen?] (Http://stackoverflow.com/questions/2134504/what-is-the-best-algorithm-to-calculate-the-most -scored-item) –