Recordação e precisão na classificação

40

Eu li algumas definições de recall e precisão, embora isso ocorra sempre no contexto da recuperação de informações. Eu queria saber se alguém poderia explicar isso um pouco mais em um contexto de classificação e talvez ilustrar alguns exemplos. Digamos, por exemplo, que eu tenha um classificador binário que me dê uma precisão de 60% e um recall de 95%, esse é um bom classificador?

Talvez para ajudar um pouco mais meu objetivo, qual é o melhor classificador para você? (o conjunto de dados está desequilibrado. A classe majoritária tem o dobro da quantidade de exemplos da classe minoritária)

Eu diria pessoalmente 5 por causa da área sob a curva do operador do receptor.

(como você pode ver aqui, o modelo 8 tem uma precisão baixa, recordação muito alta, mas um dos AUC_ROC mais baixos, isso o torna um bom modelo? ou ruim?)

insira a descrição da imagem aqui


editar:

Eu tenho um arquivo do Excel com mais informações: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

Neste documento, a área sob a curva do operador do receptor pode ser encontrada e a área sob a curva de recuperação de precisão. Juntamente com as parcelas.

Olivier_s_j
fonte
6
Por que o voto negativo? Esta parece ser uma pergunta interessante (certamente que várias pessoas pensaram ser possível responder).
Gala19
Quantos casos de teste foram envolvidos no cálculo das medidas de desempenho? Além disso, se você comparar vários classificadores no mesmo conjunto de dados, poderá usar um design emparelhado (há várias perguntas e respostas no CV discutindo a comparação de classificadores).
Cbeleites suporta Monica
Eu tenho 799 amostras (se é isso que você quer dizer com caso de teste). Toda vez que eu divido os dados em 10 subconjuntos. 1 subconjunto para testar os classificadores e o restante para treinar os classificadores (os classificadores comparados são treinados nos mesmos dados).
Olivier_s_j
Os classificadores produzem um valor binário ou produzem um valor real e usam um limite para torná-lo binário?
galath
Eles produzem saída binária.
Olivier_s_j

Respostas:

40

Se um classificador é "bom" depende realmente

  1. O que mais está disponível para o seu problema específico. Obviamente, você quer que um classificador seja melhor que suposições aleatórias ou ingênuas (por exemplo, classificando tudo como pertencendo à categoria mais comum), mas algumas coisas são mais fáceis de classificar do que outras.
  2. O custo de diferentes erros (alarme falso x negativos falsos) e a taxa básica. É muito importante distinguir os dois e descobrir as consequências, pois é possível ter um classificador com uma precisão muito alta (classificações corretas em algumas amostras de teste) que é completamente inútil na prática (digamos que você esteja tentando detectar uma doença rara ou alguma comportamento malicioso incomum e planeja iniciar alguma ação após a detecção; Testes em larga escala custam algo e a ação / tratamento corretivo geralmente envolve riscos / custos significativos, portanto, considerando que a maioria dos acertos serão falsos positivos, sob uma perspectiva de custo / benefício. pode ser melhor não fazer nada).

Para entender o vínculo entre recall / precisão, por um lado, e sensibilidade / especificidade, por outro, é útil voltar a uma matriz de confusão:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

A rechamada é TP / (TP + FN) enquanto a precisão é TP / (TP + FP). Isso reflete a natureza do problema: na recuperação de informações, você deseja identificar o maior número possível de documentos relevantes (recordação) e evitar a necessidade de classificar lixo eletrônico (precisão).

Usando a mesma tabela, as métricas de classificação tradicionais são (1) a sensibilidade definida como TP / (TP + FN) e (2) a especificidade definida como TN / (FP + TN). Portanto, recall e sensibilidade são simplesmente sinônimos, mas precisão e especificidade são definidas de maneira diferente (como recall e sensibilidade, a especificidade é definida em relação ao total da coluna, enquanto precisão refere-se ao total da linha). Às vezes, a precisão também é chamada de "valor preditivo positivo" ou, raramente, "taxa de falso positivo" (mas veja minha resposta à relação entre verdadeiro positivo, falso positivo, falso negativo e negativo negativo em relação à confusão em torno dessa definição de falso positivo taxa).

Curiosamente, as métricas de recuperação de informações não envolvem a contagem "verdadeira negativa". Isso faz sentido: na recuperação de informações, você não se importa em classificar corretamente as instâncias negativas em si , apenas não deseja que muitas poluam seus resultados (consulte também Por que não se lembra de levar em consideração verdadeiros negativos? ).

Devido a essa diferença, não é possível passar da especificidade para a precisão ou vice-versa sem informações adicionais, a saber, o número de negativos verdadeiros ou, alternativamente, a proporção geral de casos positivos e negativos. No entanto, para o mesmo conjunto de corpus / teste, uma maior especificidade sempre significa melhor precisão, portanto, elas estão intimamente relacionadas.

Em um contexto de recuperação de informações, o objetivo geralmente é identificar um pequeno número de correspondências de um grande número de documentos. Devido a essa assimetria, é de fato muito mais difícil obter uma boa precisão do que uma boa especificidade, mantendo a sensibilidade / recordação constante. Como a maioria dos documentos é irrelevante, há muito mais ocasiões para alarmes falsos do que positivos verdadeiros e esses alarmes falsos podem inundar os resultados corretos, mesmo que o classificador tenha uma precisão impressionante em um conjunto de testes equilibrado (na verdade, isso é o que está acontecendo nos cenários I mencionado no meu ponto 2 acima). Consequentemente, você realmente precisa otimizar a precisão e não apenas garantir uma especificidade decente, porque mesmo taxas impressionantes como 99% ou mais às vezes não são suficientes para evitar vários alarmes falsos.

Geralmente, há uma troca entre sensibilidade e especificidade (ou recall e precisão). Intuitivamente, se você lançar uma rede mais ampla, detectará documentos / casos positivos mais relevantes (maior sensibilidade / recuperação), mas também receberá mais alarmes falsos (menor especificidade e menor precisão). Se você classifica tudo na categoria positiva, possui 100% de recall / sensibilidade, uma precisão ruim e um classificador praticamente inútil ("principalmente" porque, se você não tiver outras informações, é perfeitamente razoável supor que isso não acontecerá. chover no deserto e agir de acordo para que, talvez, o resultado não seja inútil; é claro, você não precisa de um modelo sofisticado para isso).

Considerando tudo isso, 60% de precisão e 95% de recuperação não soam muito ruins, mas, novamente, isso realmente depende do domínio e do que você pretende fazer com esse classificador.


Algumas informações adicionais sobre os últimos comentários / edições:

Novamente, o desempenho que você pode esperar depende das especificidades (nesse contexto, seriam coisas como o conjunto exato de emoções presentes no conjunto de treinamento, qualidade da imagem / vídeo, luminosidade, oclusão, movimentos da cabeça, vídeos atuados ou espontâneos, modelo dependente de pessoa ou independente de pessoa etc.), mas F1 acima de 0,7 parece bom para esse tipo de aplicativo, mesmo que os melhores modelos possam se sair melhor em alguns conjuntos de dados [ver Valstar, MF, Mehu, M., Jiang, B., Pantic, M., & Scherer, K. (2012). Meta-análise do primeiro desafio de reconhecimento de expressão facial. Transações IEEE sobre Sistemas, Homem e Cibernética, Parte B: Cibernética, 42 (4), 966-979.]

Se um modelo desse tipo é útil na prática é uma questão completamente diferente e obviamente depende da aplicação. Observe que a “expressão” facial é, por si só, um tópico complexo e ir de um conjunto de treinamento típico (expressões colocadas) a qualquer situação da vida real não é fácil. Isso é bastante fora de tópico neste fórum, mas terá sérias conseqüências para qualquer aplicação prática que você possa considerar.

Finalmente, a comparação direta entre modelos é outra questão. Minha opinião sobre os números que você apresentou é que não há nenhuma diferença dramática entre os modelos (se você se referir ao artigo que citei acima, a faixa de pontuações da F1 para modelos conhecidos nessa área é muito mais ampla). Na prática, os aspectos técnicos (simplicidade / disponibilidade de bibliotecas padrão, velocidade das diferentes técnicas etc.) provavelmente decidiriam qual modelo será implementado, exceto, talvez, se o custo / benefício e a taxa geral o fizerem favorecer fortemente a precisão ou o recall.

Gala
fonte
Meu classificador classifica os rostos em emoções positivas ou negativas. Eu executei alguns algoritmos de classificação com validação cruzada de 10 vezes e até recebo 100% de recall às vezes, embora a precisão seja para todos os classificadores quase a mesma (cerca de 65%). Trabalho com um conjunto de dados desequilibrado (a classe majoritária tem o dobro da quantidade de amostras da classe minoritária). Portanto, pensei que isso provavelmente significava que meus modelos não estavam aprendendo o padrão.
Olivier_s_j
11
@Gala: Qual é a diferença entre um 'alarme falso' e um 'falso negativo'? Você quer dizer "alarme falso" e "falso positivo"?
Matt O'Brien
@ MattO'Brien Um alarme falso é um falso positivo (ou seja, o sistema diz "Cuidado!" Ou "Achei algo!", Mas não há nada e não há necessidade de agir, portanto, "alarme falso"). Talvez a terminologia seja um pouco confusa, analisarei a resposta mais tarde.
Gala
@Ojtwist Se positivo tiver probabilidade anterior de 67%, você poderá obter 100% de recall e ~ 67% de precisão ao prever tudo como positivo.
Mark
21

No contexto da classificação binária, os exemplos são positivos ou negativos.

  • O recall aborda a pergunta: "Dado um exemplo positivo, o classificador o detectará?"
  • A precisão aborda a questão: "Dada uma previsão positiva do classificador, qual a probabilidade de estar correta?"

Portanto, depende se o foco estiver em exemplos positivos ou em previsões positivas.

Pode-se dizer "em um recall de pelo menos 90%, o classificador com a maior precisão é 4". Mas se o que importa é a qualidade das previsões, entre os classificadores com uma precisão de pelo menos 70%, o que obtém maior recordação é 6.

Galath
fonte
6

A mudança de previsões contínuas, usada na área de ROC da computação (probabilidade de concordância; índice c), para uma regra de pontuação inadequada descontínua (precisão da classificação de escolha forçada) resulta em todos os tipos de anomalias e enganará o analista para escolher os preditores errados e / ou o modelo errado. É muito melhor tomar decisões com base em regras de pontuação adequadas (por exemplo, regra de pontuação de verossimilhança / desvio / probabilidade logarítmica; pontuação Brier (pontuação de precisão da probabilidade quadrática)). Entre as muitas vantagens dessa abordagem, está a identificação de observações cuja classificação é perigosa para sua saúde devido à incerteza causada por probabilidades de médio alcance.

Frank Harrell
fonte
Essas regras de pontuação não são aplicáveis ​​apenas quando o modelo fornece resultados probabilísticos?
Olivier_s_j
3
Você mencionou o ROC AUC, que requer saídas probabilísticas (ou algo que é uma função monotônica da mesma). Os melhores métodos preditivos têm probabilidades ocultas.
precisa
DxyY
O problema com o uso de medidas de precisão de classificação ROC e não "escolha forçada" é que elas não significam nada no contexto do aplicativo em que é necessário escolher um limite de acordo com um caso de negócios. Por exemplo, em um produto de detecção de crimes financeiros para bancos de investimento, uma empresa pode ter apenas recursos humanos para investigar 100 classificações por ano, isso induz um limite fixo que deve ser otimizado. Gini, área ROC, etc. não dirão o quão bom é o modelo nesse limite. ...
samthebest
2
É muito razoável ter um limite orçamentário para o número de investigações. Isso não requer limites, sem nova otimização, sem classificações e sem análise ROC. Simplesmente classifica as observações em ordem decrescente de risco previsto e escolhe as 100 primeiras observações a serem investigadas. Isso está relacionado a uma curva de elevação usada no marketing.
Frank Harrell
5

Nem precisão nem recall contam a história completa, e é difícil comparar um preditor com, digamos, 90% de recall e 60% de precisão com um preditor com, digamos, 85% de precisão e 65% de recall - a menos que, é claro, você tenha custo / benefício associado a cada uma das 4 células (tp / fp / tn / fn) na matriz de confusão .

Uma maneira interessante de obter um único número ( proficiência , também conhecido como coeficiente de incerteza ) que descreve o desempenho do classificador é usar a teoria da informação :

proficiency = I(predicted,actual) / H(actual)

isto é, informa qual fração da informação presente nos dados reais foi recuperada pelo classificador. É 0 se a precisão ou recuperação é 0 e é 100% se (e somente se) a precisão e a recuperação são 100%. Na medida em que é semelhante ao escore F1 , mas a proficiência tem um claro significado teórico da informação, enquanto F1 é apenas uma média harmônica de dois números com um significado.

Você pode encontrar trabalho, apresentação e código (Python) para calcular a métrica Proficiência aqui: https://github.com/Magnetic/proficiency-metric

sds
fonte
interessante! você pode nos dar um exemplo de como calcular a proficiência? porque a fórmula me parece estranha.
lonesome
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Scortchi - Restabelece Monica