Estoy trabajando en un sistema de clasificación que clasificará las entradas en función de los votos emitidos durante un período de tiempo. Estoy buscando un algoritmo que calcule un puntaje que sea como un promedio, sin embargo, me gustaría favorecer puntajes más nuevos sobre los más antiguos. Estaba pensando en algo en la línea de:
Me preguntaba si había otros algoritmos que generalmente se usan para situaciones como esta y, de ser así, ¿podría explicarlos?
algorithms
data-mining
Logan Besecker
fuente
fuente
Respuestas:
Puede usar cualquier función que otorgue un peso menor a las entradas más antiguas. Por ejemplo, si los datos consisten en puntajes, , donde el índice corresponde al 'tiempo de llegada' de la entrada, es decir, las entradas más nuevas tienen índices más grandes, entonces podría usar una función de peso que aumente como i aumenta. Entonces, cualquier función 'creciente' servirá. Ejemplos incluyen:s1, ... , snorte yo
etc.
Entonces tu función será
.∑nortei = 1syo⋅ f( i )∑nortei = 1F( i )
En realidad, tiene más sentido dar a la entrada más reciente el índice más bajo y hacer que la función de peso disminuya. De esta manera, puede ajustarlo configurando la ponderación que desea dar al primer elemento.
Wikipedia tiene una entrada sobre funciones de peso , algunos ejemplos se pueden encontrar en la página sobre medios ponderados .
fuente