Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Najwyżej oceniane "hot or not"
Forum PHP.pl > Forum > Przedszkole
honytowk
Witam chciałbym na swojej stronie zrobić panel "hot or not" gdzie bedzie pojawiało się zdjęcie które uzyskuje najwyższą średnią z kilku ocen

(nie chcę aby np: jeżeli ktoś będzie miał 15 ocen i uzyska średnia 4.75 a drugi ktoś dostanie pierwszą ocenę 5 będzie już miał 5.0 i go wyprzedzi)
tu sreen bazy:


Proszę o pomoc, z góry dziękuje winksmiley.jpg
d3f3nd3r
Gotowca tutaj raczej nie dostaniesz tylko sposób.
Trzeba by określić ile ma być minimalnie głosowań np. 3 jeśli są 3 to wtedy sprawdzić który ma największą średnią i to wszystko.
Co do kodu to pokombinuj jak ci nie będzie wychodziło to pomożemy ale na gotowca nie licz.
honytowk
Nie prosiłem o gotowca.

(nie chce aby byla ustalana minimalna ilość bo wtedy ktoś bedzie miał 1000 głosów a drugi 3 piątki dostanie i bedzie miał lepszą średnią)
zna ktoś jakieś inne rozwiązania ?
croc
W takim przypadku dodałbym kryterium dla ewentualnego pojawienia się zdjęcia, że musi mieć określoną liczbę głosów. Ale temat, który poruszyłeś jest ciekawy gdy chodzi np. o rankingi. Jest wiele różnych skomplikowanych wzorów na układanie rankingów wg ocen, bo - tak jak mówisz - ocena 5/5 z dwóch ocen jest gorsza niż ocena 4,5 z tysiąca głosów.
croc
Darko - rozumiesz istote sredniej wazonej? Co ona tu wnosi?
honytowk
jak wykorzystać tą średnią ważoną tu ?
darko
Mam koncepcję taką, że: liczysz ogół oddanych głosów i wyciągasz najzwyklejszą średnią z tego ogółu. Następnie obliczasz procentowy/promilowy udział głosów oddanych na zdjęcie A w stosunku do wszystkich głosów lub przeliczasz to na pojedynczy głos oddany na to zdjęcie, na końcu robisz to samo z głosami oddanymi na zdjęcie B. W ten sposób masz jakby moc oceny w stosunku do całości.

//edit na przykład :
100 - suma wszystkich głosów
20 głosów oddanych na zdjęcie A - średnia arytm.: 4.2
80 głosów oddanych na zdjęcie B - średnia arytm.: 2.6

foto A: 0.2 * 4.2 = 0.84
foto B: 0.8 * 3.9 = 2.08
Jak widać, pomimo że średnia arytmetyczna głosów oddanych na foto A jest wyższa od fotki B, jednak po uwzględnieniu mocy głosów w stosunku do całości, finalnie fotka B ma wyższą ocenę. Nie wiem, może coś naprowadziłem, powyższe rozwiązanie wydaje się być poprawne.
honytowk
algorytm rozumiem, ale nie mam pojecia jak go wykorzystać
darko
Zedytowałem swój poprzedni post i podałem Ci w maksymalny uproszczeniu, jak ja to widzę, bo w sumie opisowo strasznie namieszałem. Wystarczy najpierw:
- obliczyć średnią z głosów oddanych na daną fotkę
- następnie policzyć jaki jest procentowy udział tych głosów w całkowitej ilości głosów oddanych na wszystkie fotki i przemnożyć otrzymaną liczbę przez wyliczoną wcześniej średnią, czyli dokonać coś jakby globalnego uśrednienia, ja potrafię to wytłumaczyć tylko jako zważenie mocy oddanych głosów w stosunku do wszystkich oddanych głosów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.