WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Topplista (https://www.wn.se/forum/showthread.php?t=9223)

Alexi 2005-08-07 03:13

Hej på er alla!

jag hade en fråga angående topplistor och hur dessa fungerar! Med topplistor menar jag som t ex hot or not, snyggast.se och liknande. Hur beräknas rösterna och vilken kalkylmetod används, någon som vet?

Just nu håller jag på att skapa en topplista som jag ska integrera senare i en dejtingsajt. Det enda jag inte förstår 100% är hur poängen sätts. T ex om man röstar på en bild genom ge betyget 6 (1-10) då ökas antalet röster med 1 men snittet (t ex 6.7) förändras ibland inte den står kvar och då den ändras hur ändras den enligt vilka beräkningar? medelvärde? eller något annat?


Tacksam för svar!
Alex

koala 2005-08-07 04:02

Citat:

Originally posted by Alexi@Aug 7 2005, 03:13
Hej på er alla!

jag hade en fråga angående topplistor och hur dessa fungerar! Med topplistor menar jag som t ex hot or not, snyggast.se och liknande. Hur beräknas rösterna och vilken kalkylmetod används, någon som vet?

Just nu håller jag på att skapa en topplista som jag ska integrera senare i en dejtingsajt. Det enda jag inte förstår 100% är hur poängen sätts. T ex om man röstar på en bild genom ge betyget 6 (1-10) då ökas antalet röster med 1 men snittet (t ex 6.7) förändras ibland inte den står kvar och då den ändras hur ändras den enligt vilka beräkningar? medelvärde? eller något annat?


Tacksam för svar!
Alex

Jag tror att det är lite olika på olika sidor. imdb använder t ex någon metod där antal röster har betydelse, liksom medelvärdet av betyget. På så sätt slipper man t ex att en film som bara har 5 röster ā 10.0 hamnar på förstaplats.

Enklast är väl att t ex använda medelvärdet av betygen som bildens betyg (alternativt medianvärdet om man känner för det), och sedan bara visa bilder som fått minst 100 röster på topplistan.

Ungefär så här kan du göra: Varje bild har följande variabler sparade i databasen: antalRöster, medelBetyg

När någon betygsätter bilden, och ger den betyget nyttBetyg, spara följande i databasen:

antalRöster = antalRöster + 1
medelBetyg = medelBetyg + ((nyttBetyg-medelBetyg)/antalRöster)

(Hoppas det blir rätt...)

Helix 2005-08-07 04:56

Citat:

Originally posted by Alexi@Aug 7 2005, 03:13
T ex om man röstar på en bild genom ge betyget 6 (1-10) då ökas antalet röster med 1 men snittet (t ex 6.7) förändras ibland inte den står kvar och då den ändras hur ändras den enligt vilka beräkningar? medelvärde? eller något annat?
Beräkningar ser du i svaret ovan. Varför det inte ändras ibland beror på att om du har många röster, så spelar en ingen stor roll på medelvärdet, utan fler röster måste komma in för att det skall ändras. Eller kan det vara så att röstens poäng är ungefär samma som medelvärdet och då ändras det inte heller.

foks 2005-08-07 13:21

Ett bättre sätt är att lagra antalet röster och den sammanlagda "poängen" av alla röster. Sedan räknar man ut medelvärdet när det ska visas (eller lagrar det i databasen och ändrar det när någon röstar)
Med koalas metod kan det efterhand bli ett felaktigt medelvärde eftersom det medelbetyg som används i beräkningen antagligen är avrundat.

Qo-naq 2005-08-07 14:54

Citat:

weighted rank (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C

where:
R = average for the movie (mean) = (Rating)
v = number of votes for the movie = (votes)
m = minimum votes required to be listed in the Top 50 (currently )
C = the mean vote across the whole report (currently 6.7)

Jag tror på att man bör sätta in fler variabler för att få ett mer rättvist resultat, t ex som C-värdet hos IMDB.

chrizz 2005-08-07 16:57

Citat:

Originally posted by Qo-naq@Aug 7 2005, 14:54
Citat:

weighted rank (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C

where:
R = average for the movie (mean) = (Rating)
v = number of votes for the movie = (votes)
m = minimum votes required to be listed in the Top 50 (currently )
C = the mean vote across the whole report (currently 6.7)

Jag tror på att man bör sätta in fler variabler för att få ett mer rättvist resultat, t ex som C-värdet hos IMDB.

C-värde hos IMDB? förklara gärna.

edit: Glöm det där... jag missförstod ditt inlägg.

koala 2005-08-07 18:25

Citat:

Originally posted by foks@Aug 7 2005, 13:21
Ett bättre sätt är att lagra antalet röster och den sammanlagda poängen av alla röster. Sedan räknar man ut medelvärdet när det ska visas (eller lagrar det i databasen och ändrar det när någon röstar)
Med koalas metod kan det efterhand bli ett felaktigt medelvärde eftersom det medelbetyg som används i beräkningen antagligen är avrundat.

Sparar man medelvärdet som float så bör det inte vara något problem med avrundning? Kan ha sina fördelar att se medelbetyget direkt i databasen också ;) Slipper man t ex räkna ut det varje gång man ska presentera det. Vilket borde ge nån mikrosekunds snabbare svarstid... :)


Alla tider är GMT +2. Klockan är nu 19:21.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson