2010-03-22 5 views
8

Für ein Schulprojekt müssen wir ein Ranking-System implementieren. Allerdings dachten wir, dass ein dummer Rang Durchschnitt würde saugen: etwas, dass ein Benutzer mit 5 Sternen würde einen besseren Durchschnitt haben, dass etwas 188 Benutzer 4 Sterne, und das ist nur dumm.Wie kann man die Anzahl der Bewertungen im Vergleich zu den Bewertungen selbst abwägen?

Ich frage mich also, ob jemand von Ihnen einen Beispiel-Algorithmus der "Smart" -Ranking haben. Es muss nur das Ranking und die Anzahl der Rankings berücksichtigen.

Danke!

Antwort

6

Hier ist ein anständiger Artikel, die Theorie hinter einem Bayes-Ranking-System zu beschreiben:

Bayesian Rating - how to implement a weighted ranking system

+0

Danke, ich werde das lesen. – zneak

+1

Diese Antwort ist gut. Es könnte nahezu perfekt gemacht werden, indem einige der verknüpften Informationen zu dieser Antwort kopiert werden, so dass sie erhalten bleiben würde, wenn die ursprüngliche Verbindung abstirbt. – Beska

+0

@Beska Ich bin im Moment ein wenig pünktlich, ich werde in Kürze ganz rumgehen. –

-1

Eine einfache Lösung ein gewichteter Durchschnitt sein könnte:

Summe (Stimmen)/number_of_votes

That Weg, 3 Leute, die 1 Stern wählen, und eine Person, die 5 wählt, würde einen gewichteten Durchschnitt von (1 + 1 + 1 + 5)/4 = 2 Sternen geben.

Einfach, effektiv und wahrscheinlich ausreichend für Ihre Zwecke.

+1

Wie ist das anders als ein normaler Durchschnitt? Außerdem hat es immer noch das Problem, das das OP beheben wollte, dass eine Person mit einer einzigen Stimme von "5" höher rangiert als eine andere Person mit 100 Stimmen von 4. –

+0

Dies ist genau das, was er nicht tat wollen. 1 Person 5 Sterne würde durchschnittlich 5 Sterne geben. – Beska

+0

@ E.J. Brennan: "Jinx!" – Beska

5

Werfen Sie einen Blick hier: How not to sort by average rating.

+0

+1. Siehe auch Randall Munroes Artikel, wie es auf Reddit verwendet wird: http://blog.reddit.com/2009/10/reddits-new-comment-sorting-system.html. Dieses System hat auch den Vorteil, dass Sie die Durchschnittsbewertung nicht wissen müssen oder neu berechnen müssen, wenn es sich ändert, was für das Bayes-System erforderlich ist. –

+0

Das ist ziemlich cool, obwohl es nur für eine gute/schlechte Bewertung funktioniert, und nicht für ein "Start-basiertes" System. Könnte sowieso nützlich sein, also werde ich Ihnen +1 geben. – zneak

+0

@my anderer Kommentar: wo war mein Kopf, als ich das schrieb? Es ist ein "skalenbasiertes" System, nicht wirklich "sternbasiert" und noch weniger "startbasiert". – zneak

Verwandte Themen