Ich habe ein einfaches Up/Down-Abstimmungssystem auf einer Website implementiert, und ich verfolge die einzelnen Abstimmungen sowie die Abstimmungszeit und die eindeutige Benutzer-ID (Hash-IP).Abstimmung - Anzahl der Stimmen vs Prozent stimmen?
Meine Frage ist nicht, wie man den Prozentsatz oder die Summe der Stimmen berechnet - aber mehr, was ist ein guter Algorithmus zur Bestimmung einer guten Punktzahl basierend auf Stimmen?
Ich finde die Sortierung nach reinem Votum inakzeptabel, ebenso wie Upvotes einfach zu zählen.
Betrachten dieses Beispiel:
- Bild A: 4 upvotes, 1 downvotes
- Bild B: 5 upvotes, 4 downvotes
- Bild C: 1 upvote, 0 downvotes
Das ideale System würde A zuerst setzen, vielleicht gefolgt von B und dann C.
In einem reinen Prozentszenario die Bestellung ist C> A> B. (falsch) In einem reinen Vote count-Szenario ist die Reihenfolge B> A> C. (falsch)
Ich habe eine Idee für einen etwas "hybriden" Algorithmus basierend auf der Zuverlässigkeit des Systems in einer Partitur, vielleicht etwas entlang der Linien von:
// (if totalvotes > 0, else score = 0)
score = 1 - ((downvotes+1/totalvotes+1) * sqrt(1/totalvotes))
aber ich hatte gehofft, um die Gemeinschaft zu fragen, ob da draußen irgendwelche wirklich gut definierten Algorithmen sind schon da, dass ich einfach nicht wissen, über, bevor ich setze mich herum und tüftele meinen Algorithmus von jetzt bis Sonnenuntergang.
Ich habe auch Datum Daten für jede Stimme - aber der Inhalt der Website ist nicht sehr zeitsensibel, so dass ich nicht wirklich nach "was ist heiß" überhaupt sortieren.
[möglich duplizieren] (http://stackoverflow.com/questions/9169143/finding-most-liked-item-of-a-user-with-rating-values)? Zumindest die Antwort dort ist relevant. – Anthales
Brilliante Frage, muss ich sagen :) –