Frage

Mathematik ist nicht mein starker Punkt und ich bin hier ratlos.

Grundsätzlich brauche ich nur eine einfache Formel, die eine gewichtete Bewertung auf einer Skala von 1 bis 5 liefert. 3 sein, nicht der Durchschnitt aller anderen Bewertungen).

Ich habe ein paar verschiedene Bayes'sche Implementierungen ausprobiert, aber diese haben nicht geklappt. Ich glaube, die grafische Darstellung, nach der ich suche, könnte als:

     ___
    /
___/

Prost

War es hilfreich?

Lösung

Ich würde das so machen

1*num(1) + 2*num(2) + 3*num(3) + 4*num(4) + 5*num(5) + A*3
-----------------------------------------------------------
      num(1) + num(2) + num(3) + num(4) + num(5) + A

Wo num (i) Anzahl der Stimmen für i ist.
A ist ein Parameter. Ich kann dir den genauen Wert davon nicht sagen. Es hängt davon ab, was Sie mit "wenigen Stimmen" meinen. Im Allgemeinen einen hohen Wert eines Mittelwerts, dass Sie viele Stimmen benötigen, um durchschnittlich von 3 zu werden. Der niedrige Wert eines Mittelwerts benötigt nur wenige Stimmen, um einen anderen Wert als 3 zu erhalten.

Wenn Sie 5 als "wenige Stimmen" betrachten, können Sie a = 5 nehmen.

In dieser Lösung gehe ich nur davon aus, dass jedes Produkt mit Stimmen für 3 anstelle von Stimmen beginnt.

Ich hoffe es hilft.

Andere Tipps

(sum(ratings) / number(ratings)) * min(number(ratings), 10)/max(number(ratings), 10)

Der erste Teil ist die nicht normalisierte Durchschnittsbewertung. Der zweite Teil wird die Bewertung auf 5 langsam erhöhen, da die Anzahl der einzelnen Bewertungen auf 10 wächst. Die Frage ist nicht klar genug für mich, um eine bessere Antwort zu geben, aber ich glaube, die obige Formel kann etwas sein, mit dem Sie beginnen und sich anpassen können wenn du gehst. Es versteht sich von selbst, dass Sie prüfen müssen, ob es überhaupt Bewertungen gibt (nicht um Null zu teilen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top