Implementé un sistema simple de votación arriba/abajo en un sitio web, y hago un seguimiento de los votos individuales, así como del tiempo de votación y del usuario único iD (IP hash).Votación - ¿Número de votos vs porcentaje de votos?
Mi pregunta no es cómo calcular el porcentaje o la suma de los votos, pero más, ¿cuál es un buen algoritmo para determinar un buen puntaje basado en los votos?
Encuentro que la clasificación por porcentaje de voto puro es inaceptable, así como simplemente el conteo de votos a favor.
Considere este ejemplo:
- Image A: 4 upvotes, 1 downvotes
- Image B: 5 upvotes, 4 downvotes
- Image C: 1 upvote, 0 downvotes
El sistema ideal pondría A primero, quizás seguido por B y luego C.
En un escenario de porcentaje puro, la orden es C> A> B. (incorrecto) En un escenario de recuento de votos puro, el orden es B> A> C. (incorrecto)
Tengo una idea para un algoritmo algo "híbrido" basado en la confianza del sistema en una partitura, tal vez algo en la línea de:
// (if totalvotes > 0, else score = 0)
score = 1 - ((downvotes+1/totalvotes+1) * sqrt(1/totalvotes))
sin embargo, yo estaba esperando a pedir a la comunidad si hay algoritmos muy bien definidos ya por ahí que simplemente no sé, antes de que yo Sentarme alrededor de ajustar mi algoritmo desde ahora hasta la puesta del sol.
También tengo datos de fecha para cada voto; sin embargo, el contenido del sitio no es muy sensible al tiempo, así que no me importa ordenar por "lo que está de moda".
[posible duplicado] (http://stackoverflow.com/questions/9169143/finding-most-liked-item-of-a-user-with-rating-values)? Al menos la respuesta es relevante. – Anthales
pregunta brillante, debo decir :) –