Bayesianisches Bewertungssystem mit mehreren Kategorien für jede Bewertung


8

Ich implementiere ein Bewertungssystem, das auf meiner Website verwendet werden soll, und ich denke, der Bayes'sche Durchschnitt ist der beste Weg, dies zu tun. Jeder Artikel wird von den Benutzern in sechs verschiedenen Kategorien bewertet. Ich möchte jedoch nicht, dass Gegenstände mit nur einer hohen Bewertung nach oben schießen, weshalb ich ein Bayes'sches System implementieren möchte.

Hier ist die Formel:

Bayesian Rating = ( (avg_num_votes * avg_rating) + (this_num_votes * this_rating) ) / (avg_num_votes + this_num_votes)

Sollte ich den Durchschnitt der Summen dieser Kategorien als "this_rating" für das Bayes'sche System verwenden, da die Elemente in 6 verschiedenen Kategorien bewertet werden? Nehmen Sie zum Beispiel einen Artikel mit zwei Bewertungen (Skala von 0-5):

Rating 1:
  Category A: 3
  Category B: 1
  Category C: 2
  Category D: 4
  Category E: 5
  Category F: 3
  Sum: 18

Rating 2:
  Category A: 2
  Category B: 3
  Category C: 3
  Category D: 5
  Category E: 0
  Category F: 1
  Sum: 14

Sollte "this_rating" einfach der Durchschnitt der oben aufgeführten Beträge sein? Ist mein Denken richtig oder sollte ein Bayes'sches System auch für jede Kategorie implementiert werden (oder überdenkt es das)?


2
Interessante Frage. Anfangs hatte ich einige Probleme, Ihren Pseudocode zu verstehen, und dann las ich: thebroth.com/blog/118/bayesian-rating
Jeromy Anglim

Hier ist ein aktualisierter Link (Hurra für die Wayback-Maschine!).
DW

Antworten:


6

Dies hängt davon ab, ob Sie nur eine kumulative Bewertung jedes Objekts oder eine kategoriespezifische Bewertung erhalten möchten. Ein separates System in jeder Kategorie zu haben, klingt realistischer, aber Ihr spezieller Kontext könnte etwas anderes vorschlagen. Sie können sogar eine kategoriespezifische und eine Gesamtbewertung vornehmen!


2
Genau. Abhängig von der Domäne kann eine gewichtete Zusammenstellung von Kategorien auch ein geeigneterer Index für eine Gesamtbewertung sein.
Jeromy Anglim

Danke für die Gedanken Aniko. Ich werde mir das in den nächsten Tagen ansehen.
James Skidmore
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.