formula matematica vot rank cu stelute [rezolvat]
Moderatori: cristi, icsfails, Moderatori
- Birkoff
- Senior Member
- Mesaje: 6380
- Membru din: Joi Mar 18, 2004 2:34 pm
- Localitate: Bucuresti
- Contact:
formula matematica vot rank cu stelute [rezolvat]
Ultima oară modificat Lun Oct 12, 2009 11:23 pm de către Birkoff, modificat 1 dată în total.
1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
-
alexcsandru
- PHPRomania Supporter
- Mesaje: 12
- Membru din: Sâm Sep 05, 2009 6:25 pm
- Localitate: <?php echo "Here" ;?>
- Contact:
Cred ca asta o sa te ajute... http://www.komodomedia.com/blog/2006/01 ... part-deux/
Am incercat si eu odata , mai aveam o pagina dar nu o mai gasesc
.
Oricum, totul tine sa reprezinti , poti reprezenta si cu case...
Am incercat si eu odata , mai aveam o pagina dar nu o mai gasesc
Oricum, totul tine sa reprezinti , poti reprezenta si cu case...
Prin formula data de tine (v/(v+m))*R+(m/(v+m))*C se calculeaza rank-ul obtinut de acel articol. Detaliez putin. Rank-ul in acest caz este influentat de mediile obtinute de restul articolelor precum si de numarul votantilor pentru respectivul articol. Deci (punctez inca odata) - formula asta o poti folosi doar ca sa calculezi rank-ul articolelor (iar pe baza acestui rank poti sa faci un top al articolelor).
Numarul de stelute pentru fiecare articol in parte, reprezinta media aritmetica a voturilor obtinute (adica in cazul tau 159/93 = 1.70).
Deci stelutele se refera la felul in care este vazut acel articol de catre cititorii sai.
Rank-ul se refera la modul in care veste vazut respectivul articol (de catre cititori), comparativ cu celelalte articole.
TOTUSI PENTRU A APLICA IN MOD CORECT ACEASTA FORMULA, VOTURILE CARE SUNT LUATE IN CALCUL TREBUIE SA APARTINA ACELOR CITITORI CARE VOTEAZA IN MOD CONSTANT.
Pe mail ti-am trimis un exemplu in Excel si explicatia aferenta.
Numarul de stelute pentru fiecare articol in parte, reprezinta media aritmetica a voturilor obtinute (adica in cazul tau 159/93 = 1.70).
Deci stelutele se refera la felul in care este vazut acel articol de catre cititorii sai.
Rank-ul se refera la modul in care veste vazut respectivul articol (de catre cititori), comparativ cu celelalte articole.
TOTUSI PENTRU A APLICA IN MOD CORECT ACEASTA FORMULA, VOTURILE CARE SUNT LUATE IN CALCUL TREBUIE SA APARTINA ACELOR CITITORI CARE VOTEAZA IN MOD CONSTANT.
Pe mail ti-am trimis un exemplu in Excel si explicatia aferenta.
-
Pirahna
- Senior Member
- Mesaje: 5985
- Membru din: Dum Aug 22, 2004 2:04 am
- Localitate: la birou
- Contact:
Nu am citit atent articolul, dar uite cum o gandesc eu (ca de obicei, simplu).
1. Ai tabel cu voturi, fiecare vot o sa aiba valoarea pe care i-o da userul dar definita de tine (1-5, 1-100,1-10 sau poate chiar de la 1 la 50). Faci un select avg si ai primit media voturilor.
2. Varianta mai taraneasca e sa selectezi toate voturile sau select sum, dupa care sa imparti manual la numarul de rezultate (num_rows sau count).
Bun, acum ca ai media voturilor, nu te mai intereseaza decat sa o afisezi.
Daca ai doar 5 stelute la dispozitie, cel mai normal lucru e ori sa folosesti DOAR 5 stelute pentru afisare, ori sa folosesti si jumatati (4 stelute si jumatate).
Cat timp valoarea definita de tine corespunde cu stelutele, nu o sa ai bataie de cap (in cazul 5 stelute, valoarea ar trebui sa fie 1-5).
La valoarea mediei ii tragi un round() (cu parametri, cum ai vrea sa rotunjeasca) astfel incat valoarea mediei (care sa zicem ca e 2.72) sa ajunga la 3 sau la 2.5 (in functie de cum setezi tu round, eu il setez sa vina inapoi daca nu ajunge la 2.75).
Si cu valoarea 3 sau 2.5, afisezei 3 sau 2.5 stelute.
Easy.
1. Ai tabel cu voturi, fiecare vot o sa aiba valoarea pe care i-o da userul dar definita de tine (1-5, 1-100,1-10 sau poate chiar de la 1 la 50). Faci un select avg si ai primit media voturilor.
2. Varianta mai taraneasca e sa selectezi toate voturile sau select sum, dupa care sa imparti manual la numarul de rezultate (num_rows sau count).
Bun, acum ca ai media voturilor, nu te mai intereseaza decat sa o afisezi.
Daca ai doar 5 stelute la dispozitie, cel mai normal lucru e ori sa folosesti DOAR 5 stelute pentru afisare, ori sa folosesti si jumatati (4 stelute si jumatate).
Cat timp valoarea definita de tine corespunde cu stelutele, nu o sa ai bataie de cap (in cazul 5 stelute, valoarea ar trebui sa fie 1-5).
La valoarea mediei ii tragi un round() (cu parametri, cum ai vrea sa rotunjeasca) astfel incat valoarea mediei (care sa zicem ca e 2.72) sa ajunga la 3 sau la 2.5 (in functie de cum setezi tu round, eu il setez sa vina inapoi daca nu ajunge la 2.75).
Si cu valoarea 3 sau 2.5, afisezei 3 sau 2.5 stelute.
Easy.
|
- Birkoff
- Senior Member
- Mesaje: 6380
- Membru din: Joi Mar 18, 2004 2:34 pm
- Localitate: Bucuresti
- Contact:
multumesc la toti pentru raspunsuri, LyVyU VT mi-a spus exact ce ma interesa iar iftvio m-a ajutat sa inteleg mai bine ce nu intelegeam eu...
Multumesc
formula exacta pentru cine vrea sa stie este asa:
nr_total_de_voturi_pentru_articolul_curent = x
suma_totala_a_voturilor_primite = y
numarul_de_stelute_ce_trebuie_colorate = suma_totala_a_voturilor_primite / nr_total_de_voturi_pentru_articolul_curent
si asa aflu cate stelute trebuie sa afisez pentru articolul curent.
celalalta formula e pentru topul general, asta nu intelesesem eu de fapt...
topic inchis
Multumesc
formula exacta pentru cine vrea sa stie este asa:
nr_total_de_voturi_pentru_articolul_curent = x
suma_totala_a_voturilor_primite = y
numarul_de_stelute_ce_trebuie_colorate = suma_totala_a_voturilor_primite / nr_total_de_voturi_pentru_articolul_curent
si asa aflu cate stelute trebuie sa afisez pentru articolul curent.
celalalta formula e pentru topul general, asta nu intelesesem eu de fapt...
topic inchis
1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
- jianuovidiu
- Senior Member
- Mesaje: 516
- Membru din: Joi Mar 16, 2006 8:48 pm
- Contact:
LyVyU VT nu are dreptate. Daca wmed = 1,72 => tb sa iti dea 1 steluta jumate nu 1.
Demonstratie
Cum R este o medie aritmetica a voturilor => R poate lua valori intre 1 si 5 (interva inchis), deci R este marginit.
Avand in vedere ca m este fix si v este variabil treci la limita cand v tinde la infinit si aplicand analiza matematica de a XI-a obtii ca:
v/(v+m) tinde la 1 cand v tinde la inf
si
( m / (v + m) ) tinde la 0 cand v tinde la inf
Deci, wmed va fi egal cu R cand v tinde la inf. Si cum R aparine [1,5] rezulta ca wmed poate lua valori doar in intervalul [1,5].
Deci poti considera valorile 1,2,3,4,5 ale lui wmed cate o steluta, 2 stelute,...,5 stelute.
Deci, daca ai 1,72 trunchiat in jos obtii 1,5 = o steluta jumate.
Demonstratie
Cum R este o medie aritmetica a voturilor => R poate lua valori intre 1 si 5 (interva inchis), deci R este marginit.
Avand in vedere ca m este fix si v este variabil treci la limita cand v tinde la infinit si aplicand analiza matematica de a XI-a obtii ca:
v/(v+m) tinde la 1 cand v tinde la inf
si
( m / (v + m) ) tinde la 0 cand v tinde la inf
Deci, wmed va fi egal cu R cand v tinde la inf. Si cum R aparine [1,5] rezulta ca wmed poate lua valori doar in intervalul [1,5].
Deci poti considera valorile 1,2,3,4,5 ale lui wmed cate o steluta, 2 stelute,...,5 stelute.
Deci, daca ai 1,72 trunchiat in jos obtii 1,5 = o steluta jumate.
- jianuovidiu
- Senior Member
- Mesaje: 516
- Membru din: Joi Mar 16, 2006 8:48 pm
- Contact:
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 12 vizitatori


