Procurando por um algoritmo de classificação que favorece entradas mais recentes


9

Estou trabalhando em um sistema de classificação que classificará as entradas com base nos votos lançados ao longo de um período de tempo. Estou procurando um algoritmo que calcule uma pontuação que é como uma média, no entanto, gostaria que ela favorecesse pontuações mais recentes que as mais antigas. Eu estava pensando em algo ao longo da linha de:

score1 1+ 2score2 + + nscoren1 1+2++n

Fiquei me perguntando se havia outros algoritmos que geralmente são usados ​​para situações como essa e, se sim, você poderia explicá-los?



2
Joe

Respostas:


7

Você pode usar qualquer função que dê um peso menor às entradas mais antigas. Por exemplo, se os dados consistirem em pontuações, , em que o índice corresponde ao 'horário de chegada' da entrada, ou seja, as entradas mais recentes têm índices maiores, você pode usar uma função de peso que aumenta como eu aumenta. Portanto, qualquer função 'crescente' serve. Exemplos incluem:s1 1,,snEu

  • f(x)=ex
  • f(x)=registrox
  • f(x)=x
  • f(x)=x2

etc.

Então sua função será

Eu=1 1nsEuf(Eu)Eu=1 1nf(Eu)

Na verdade, faz mais sentido atribuir à entrada mais nova o índice mais baixo e diminuir a função de peso. Dessa forma, você pode ajustá-lo definindo a ponderação que deseja atribuir ao primeiro elemento.

A Wikipedia possui uma entrada sobre funções de peso , alguns exemplos podem ser encontrados na página sobre médias ponderadas .


muito obrigado, era isso que eu estava procurando. Muito informativo
Logan Besecker

Eu tenho uma pergunta rápida, eu sei que '∑i' é a soma de 'i' e 'f (i)' é a função (como 'f (x) = logx') em relação a 'i'. Mas o que 'si' representa? Muito obrigado pela sua ajuda
Logan Besecker

11
sEu
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.