100 votes

algorithme utilisé pour calculer les notes de 5 étoiles

J'ai besoin de calculer des notes 5 étoiles comme celle sur le site Amazon. J'ai fait assez de recherches pour trouver quel est le meilleur algorithme, mais je ne suis pas en mesure d'obtenir une bonne réponse. Par exemple, si ce sont les notes

5 star - 252
4 star - 124
3 star - 40
2 star - 29
1 star - 33

au

total 478 commentaires

Amazon a calculé qu'il s'agissait de "4,1 étoiles sur 5". Quelqu'un peut-il me dire comment ce chiffre est obtenu ? Je ne suis pas en mesure d'obtenir cela juste en faisant la moyenne.

213voto

Blindy Points 26706

C'est une moyenne pondérée, où vous pesez chaque note avec le nombre de votes qu'elle a obtenu :

(5*252 + 4*124 + 3*40 + 2*29 + 1*33) / (252+124+40+29+33) = 4.11 and change

31voto

SSKhan Points 340

Si vous commencez le calcul de la note globale à partir du début, cette formule vous aidera.

Formule

((Overall Rating * Total Rating) + new Rating) / (Total Rating + 1)

Exemple

supposons que vous n'avez aucune note jusqu'à présent, la formule est comme, note globale est "0" jusqu'à présent. note totale "0" et la note donnée est "4"

((0*0)+4)/1 = 4

Si la note globale est "4.11" La note totale est "478" Et la nouvelle note donnée par un utilisateur est "2"

alors la formule est comme

((4.11 * 478)+ 2)/479 // 479 is increment of new rating from 478

16voto

Asad Points 180

une meilleure façon de le faire,

rating = (sum_of_rating * 5)/sum_of_max_rating_of_user_count  

exemple :

total users rated: 6  
sum_of_max_rating_of_user_count: 6 x 5 = 30  
sum_of_rating: 25

rating = (25 * 5) / 30

Terminé !

11voto

garbagecollector Points 1597

Oui, vous pouvez les évaluer :

(5 * 252 + 4 * 124 + 3 * 40 + 2 * 29 + 1 * 33) / 478 = 4.11

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X