![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 24.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem stronę na której możliwe jest ocenianie płyt, a teraz chciałbym dodać do niej rankingi płyt ze względu na np. rok wydania albo gatunek. Zastanawiam się, jak najobiektywniej porównywać takie płyty.
Oczywiście średnia ocen dobrze opisuje daną płytę ale do ranking się nie nadaje, bo jak np. porównać dwie płyty, które zostały ocenione w taki sposób: 1. przez 1 osobę na 4.5 2. przez 50 osób z średnią 4.0 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Oczywiste jest, że wyżej w rankingu powinna być płyta oceniona na 4.0 przez 50 osób niż przez jedną na 4.5 - średnia takiej możliwości nie zakłada. Mam już funkcję, która na podstawie ilości oddanych głosów i średniej (a właściwie drugą zmienną jest suma), taki ranking tworzy ale nie jestem z niej tak do końca zadowolony. Ciekaw jestem z jakich funkcji Wy korzystacie? Są może takie funkcje dostępne w MySql albo PHP?? ------------------------------------ www.progrock.org.pl |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 24.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wygląda ciekawie, chociaż (na pierwszy rzut oka) pewnie przy założeniu, że album tym lepszy, im mniejszą liczbą okaże się to wyrażenie. Mam też wrażenie, że w ocenie albumy powinno być n1,1 , n2,1 ,...
A moze tak: n1 - ilosc wszystkich ocen o warosci 1 n2 - ilosc wszystkich ocen o warosci 2 ... n1,1 - ilosc ocen o warosci 1 oddanych na album 1 n2,1 - ilosc ocen o warosci 2 oddanych na album 1 ... ocena albumu #1 : [(n1,2/n1)*1 + (n2,1/n2)*2 + ....]/[(n1,2/n1)+(n2,1/n2)+...] poza tym tego typu funkcja nie nadawałaby się do wykorzystanie w moim przypadku dlatego, że baza danych przechowuje tylko sumę głosów i ich liczbę bez rozbicia na konkretne głosowania. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 20:26 |