Font
[thread]7438[/thread]

wie rating berechnen?



<< >> 9 entries, 1 page
steinwolf
 2005-11-05 19:51
#59757 #59757
User since
2003-08-04
367 articles
BenutzerIn
[default_avatar]
Hallo,

ist zwar noch nicht perl, aber ich setze es hinterher um.

Ich habe in einer Datenbank folgende Werte stehen:

Anzahl der Bewertungen & Durchschnittswert

Also zum Beispiel

Bild1 : 50 : 6.2
Bild2: 45 : 7.3

So nun kommt eine neue Bewertung (a - abwerten, b - neutral, c - aufwerten).

Meinetwegen ein abwerten.

Wie muss die Formel nun aussehen um die Bewerung zu speichern?
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
betterworld
 2005-11-05 20:08
#59758 #59758
User since
2003-08-21
2613 articles
ModeratorIn

user image
Kommt drauf an, auf welcher Skala Du rechnest, und wo auf dieser Skala a, b und c sitzen.

Prinzipielles Vorgehen ist: Für jedes Bild aus der Anzahl der Stimmen und dem Durchschnittswert die absolute Bewertung ausrechnen. Dann den neuen Wert dazuzaehlen, die Anzahl um eins erhoehen und den neuen Durchschnitt ausrechnen.
steinwolf
 2005-11-05 20:20
#59759 #59759
User since
2003-08-04
367 articles
BenutzerIn
[default_avatar]
Hmm, ich wollte aber nicht alle Stimmen speichern, sondern nur den Durchschnittswert und die Anzahl der Stimmen. Ich dachte damit könnte man schon die ganze BErechnung durchführen.
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
esskar
 2005-11-05 20:27
#59760 #59760
User since
2003-08-04
7321 articles
ModeratorIn

user image
momentan gibt es nur aufwertungen?
pKai
 2005-11-05 20:50
#59761 #59761
User since
2005-02-18
357 articles
BenutzerIn
[default_avatar]
[quote=steinwolf,05.Nov..2005, 19:20]Hmm, ich wollte aber nicht alle Stimmen speichern, sondern nur den Durchschnittswert und die Anzahl der Stimmen. Ich dachte damit könnte man schon die ganze BErechnung durchführen.[/quote]
Das hat betterworld ja auch so beschrieben: Aus dem momentanen Durchschnitt (D) und der Anzahl (n) den dazugehörigen Absolutwert (D*n) berechnen, dann neue Bewertung (x) hinzuzählen (N = D*n+x) und neuen Durchschnitt (D' = N/(n+1)) und neue Anzahl (n' = n+1) speichern.
I sense a soul in search of answers.
pq
 2005-11-06 02:08
#59762 #59762
User since
2003-08-04
12207 articles
Admin1
[Homepage]
user image
obwohl das auf dauer wohl rundungsfehler ergibt, wenn du nur 2 stellen nach dem
komma speicherst.
ich würde eher die gesamtpunktzahl (die du ja immer durch die stimmenanzahl
teilen kannst), zusätzlich speichern.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
MartinR
 2005-11-06 13:32
#59763 #59763
User since
2004-06-17
305 articles
BenutzerIn
[default_avatar]
[quote=pq,06.11.2005, 01:08]ich würde eher die gesamtpunktzahl (die du ja immer durch die stimmenanzahl
teilen kannst), zusätzlich speichern.[/quote]
HI,
so mach ich es auf meiner Site. Ich addiere einfach immer nur die abgegebenen Punkte zur bisherigen Punktezahl dazu und setze den Stimmenzähler um 1 hoch. Den Durchschnitt berechne ich dann beim Aufruf. Den Durchschnittswert zu speichern finde ich nicht so gut, da der ja leicht errechnet werden kann.
cu
pq
 2005-11-06 16:14
#59764 #59764
User since
2003-08-04
12207 articles
Admin1
[Homepage]
user image
[quote=MartinR,06.11.2005, 12:32]Den Durchschnittswert zu speichern finde ich nicht so gut, da der ja leicht errechnet werden kann.[/quote]
kommt drauf an. wennn man datenbankabfragen hat, die nach dem rating
sortieren, kann es zeit sparen, wenn man den durchschnitt gespeichert hat,
statt den für jeden datensatz on the fly ausrechnen zu müssen.
ausserdem kann man den durchnitt indizieren.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
dominicn
 2005-11-07 20:58
#59765 #59765
User since
2003-08-08
327 articles
BenutzerIn
[default_avatar]
ich weiß ja nicht, wozu du das benutzen möchtest, aber oft ist es hilfreich, ältere bewertungen nicht so stark zu gewichten. da gab es glaube ich eine möglichkeit, das mit einem logarithmus zu berechnen. leider habe ich die formel nicht zur hand. evtl. weiß ja jemand anderes mehr!?
<< >> 9 entries, 1 page



View all threads created 2005-11-05 19:51.