Estou interessado em analisar várias métricas diferentes para algoritmos de classificação - existem algumas listadas na página da Wikipedia Learning to Rank, incluindo:
• Precisão média média (PAM);
• DCG e NDCG;
• Precisão @ n, NDCG @ n, em que "@n" indica que as métricas são avaliadas apenas nos n documentos principais;
• Classificação de significância recíproca;
• tau de Kendall
• Rho de Spearman
• Classificação recíproca esperada
• O achado de Yandex
mas não está claro para mim quais são as vantagens / desvantagens de cada um ou quando você pode escolher um sobre o outro (ou o que significaria se um algoritmo superasse o outro no NDGC, mas fosse pior quando avaliado com MAP).
Existe algum lugar onde eu possa ir para aprender mais sobre essas perguntas?
fonte
Em muitos casos em que você aplica algoritmos de classificação (por exemplo, pesquisa no Google, recomendação de produtos da Amazon), você tem centenas e milhares de resultados. O usuário só quer assistir no top ~ 20 ou mais. Portanto, o resto é completamente irrelevante.
Se isso for verdade para o seu aplicativo, isso terá implicações diretas na métrica:
Precisão da classificação Top-k para classificação
Para a verdade básica, pode ser difícil definir uma ordem. E se você apenas distingue relevante / não relevante, então você está realmente em um caso de classificação!
A precisão Top-n é uma métrica para classificação. Consulte Qual é a definição de precisão Top-n? .
Precisão @ k
O que ele diz:
Lembre-se @ k
O que significa:
fonte
Recentemente, tive que escolher uma métrica para avaliar algoritmos de classificação de vários rótulos e cheguei a esse assunto, o que foi realmente útil. Aqui estão algumas adições à resposta do stpk, que foram úteis para fazer uma escolha.
Detalhes
Vamos nos concentrar na precisão média (AP), já que a precisão média média (MAP) é apenas uma média dos APs em várias consultas. O AP é definido corretamente nos dados binários como a área sob a curva de precisão de recuperação, que pode ser reescrita como a média das precisões em cada item positivo. (consulte o artigo da wikipedia no MAP ) Uma possível aproximação é defini-la como a média das precisões em cadaitem. Infelizmente, perdemos a boa propriedade de que os exemplos negativos classificados no final da lista não têm impacto no valor de AP. (Isso é particularmente triste quando se trata de avaliar um mecanismo de pesquisa, com exemplos muito mais negativos do que positivos. Uma solução possível é subamostrar os exemplos negativos, à custa de outras desvantagens, por exemplo, as consultas com itens mais positivos se tornarão igualmente difícil para as consultas com poucos exemplos positivos.)
Por outro lado, essa aproximação tem a boa propriedade que generaliza bem para o caso de vários rótulos. De fato, no caso binário, a precisão na posição k também pode ser interpretada como a relevância média antes da posição k, onde a relevância de um exemplo positivo é 1 e a relevância de um exemplo negativo é 0. Essa definição se estende naturalmente a o caso em que existem mais de dois níveis diferentes de relevância. Nesse caso, AP também pode ser definido como a média das médias das relevâncias em cada posição.
A partir dessas duas expressões, podemos deduzir que - AP pesa os documentos de 1 a 0. - O DCG pesa os documentos independentemente do número total de documentos.
Nos dois casos, se houver exemplos muito mais irrelevantes do que exemplos relevantes, o peso total do positivo pode ser desprezível. Para o AP, uma solução alternativa é subamostrar as amostras negativas, mas não sei como escolher a proporção da subamostragem, bem como torná-lo dependente da consulta ou do número de documentos positivos. Para o DCG, podemos cortá-lo em k, mas o mesmo tipo de pergunta surge.
Eu ficaria feliz em ouvir mais sobre isso, se alguém aqui trabalhou sobre o assunto.
fonte