2010-03-22 14 views
8

Para un proyecto escolar, tendremos que implementar un sistema de clasificación. Sin embargo, nos dimos cuenta de que un promedio de rango tonto sería un asco: algo que uno usuario clasificado 5 estrellas tendrían un mejor promedio que algo 188 usuarios clasificado 4 estrellas, y eso es una estupidez.¿Cómo se puede equilibrar el número de calificaciones con respecto a las calificaciones mismas?

Así que me pregunto si alguno de ustedes tiene un algoritmo de clasificación ejemplo de "inteligente". Solo necesita tener en cuenta la clasificación dada y el número de clasificaciones.

Gracias!

Respuesta

6

Aquí hay un artículo decente que describe la teoría detrás de un sistema de clasificación bayesiana:

Bayesian Rating - how to implement a weighted ranking system

+0

Gracias, leeré eso. – zneak

+1

Esta respuesta es buena. Podría hacerse casi perfecto al copiar parte de la información vinculada a esta respuesta, de modo que permanezca si el enlace original muere. – Beska

+0

@Beska Estoy un poco corto de tiempo en este momento, definitivamente me moveré un poco en breve. –

-1

Una solución simple podría ser un promedio ponderado:

suma (votos)/number_of_votes

Eso manera, 3 personas votando 1 estrella, y una persona que vota 5 daría un promedio ponderado de (1 + 1 + 1 + 5)/4 = 2 estrellas.

simple, eficaz, y probablemente suficiente para sus propósitos.

+1

¿Cómo es eso diferente de un promedio regular? Además, todavía tiene el problema de la OP quería fijar, de que una persona con un solo voto de "5" rango más alto que una otra persona con 100 votos de 4. –

+0

Esto es exactamente lo (s) no lo hizo querer. 1 persona de 5 estrellas daría un promedio de 5 estrellas. – Beska

+0

@ E.J. Brennan: "¡Jinx!" – Beska

5

Echa un vistazo aquí: How not to sort by average rating.

+0

+1. Ver también el artículo de Randall Munroe sobre cómo se usa en Reddit: http://blog.reddit.com/2009/10/reddits-new-comment-sorting-system.html. Este sistema también tiene la ventaja de que no necesita conocer la calificación promedio, o recalcular cuándo cambia, que es requerido por el sistema bayesiano. –

+0

Esto es muy bueno, aunque parece funcionar solo para una calificación buena/mala, y no para un sistema "basado en el inicio". Podría ser útil de todos modos, así que te haré +1. – zneak

+0

@mi otro comentario: ¿dónde estaba mi cabeza cuando escribí esto? Es un sistema "basado en básculas", no realmente basado en "estrellas", y aún menos "basado en el inicio". – zneak

Cuestiones relacionadas