Question

Maths est pas mon point fort et je suis un peu perdu.

En fait, tout ce que je besoin est une formule simple qui donnera une note pondérée sur une échelle de 1 à 5. S'il y a très peu de votes, ils ont moins d'influence et la pressess de notation plus vers la moyenne (dans ce cas, je veulent que ce soit 3, et non pas la moyenne de toutes les autres évaluations).

J'ai essayé quelques différentes implémentations bayésiens mais ceux-ci n'ont pas fonctionné. Je crois que la représentation graphique Je cherche a pu être démontré que:

     ___
    /
___/

Vive

Était-ce utile?

La solution

Je fais cette façon

1*num(1) + 2*num(2) + 3*num(3) + 4*num(4) + 5*num(5) + A*3
-----------------------------------------------------------
      num(1) + num(2) + num(3) + num(4) + num(5) + A

Où num (i) est le nombre de votes pour i.
A est un paramètre. Je ne peux pas dire vous exigez valeur. Cela dépend de ce que vous entendez par « quelques voix ». En haute valeur générale de A signifie que vous avez besoin de voix pour obtenir moyen différent de 3, une faible valeur de A signifie que vous avez besoin de quelques voix pour obtenir une valeur différente de 3.

Si vous considérez 5 comme "quelques votes", alors vous pouvez prendre A = 5.

Dans cette solution, je suppose simplement que chaque produit commence par un vote pour 3 au lieu de pas de voix.

it helps.

Autres conseils

(sum(ratings) / number(ratings)) * min(number(ratings), 10)/max(number(ratings), 10)

La première partie est la note moyenne non normalisée. La deuxième partie va augmenter lentement la cote vers 5 le nombre de notations individuelles croît à 10. La question est assez claire pour moi de fournir une meilleure réponse, mais je crois que la formule ci-dessus peut-être quelque chose que vous pouvez commencer et adapter comme vous allez. Il va sans dire que vous devez vérifier s'il y a des évaluations à tous (pas diviser par zéro).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top