Eu lido com um problema de detecção de fraude (como pontuação de crédito). Como tal, existe uma relação altamente desequilibrada entre observações fraudulentas e não fraudulentas.
http://blog.revolutionanalytics.com/2016/03/com_class_eval_metrics_r.html fornece uma excelente visão geral das diferentes métricas de classificação. Precision and Recall
ou kappa
ambos parecem ser uma boa escolha:
Uma maneira de justificar os resultados desses classificadores é comparando-os com os dos classificadores de linha de base e mostrando que eles são realmente melhores do que as previsões aleatórias.
Tanto quanto eu entendo, kappa
poderia ser a melhor escolha aqui, pois a chance aleatória é levada em consideração. Do kappa de Cohen, em inglês simples, eu entendo que kappa
lida com o conceito de ganho de informação:
[...] uma precisão observada de 80% é muito menos impressionante, com uma precisão esperada de 75% versus uma precisão esperada de 50% [...]
Portanto, minhas perguntas seriam:
- É correto assumir
kappa
que é uma métrica de classificação mais adequada para esse problema? - O simples uso
kappa
evita os efeitos negativos do desequilíbrio no algoritmo de classificação? A aprendizagem com base em re (down / up) ou aprendizado baseado em custos (consulte http://www.icmc.usp.br/~mcmonard/public/laptec2002.pdf ) ainda é necessário?
Respostas:
Sim, suas suposições sobre Kappa parecem certas. O Kappa como métricas escalares únicas é principalmente uma vantagem sobre outras métricas escalares, como precisão, que não refletem o desempenho de previsão de classes menores (sombreado pelo desempenho de qualquer classe muito maior). O Kappa resolve esse problema de maneira mais elegante, como você apontou.
O uso de uma métrica como Kappa para medir seu desempenho não aumentará necessariamente a forma como seu modelo se ajusta aos dados. Você pode medir o desempenho de qualquer modelo usando várias métricas, mas como o modelo ajusta os dados é determinado usando outros parâmetros (por exemplo, hiperparâmetros). Portanto, você pode usar, por exemplo, o Kappa para selecionar o tipo de modelo mais adequado e a hiperparametrização entre várias opções para o seu problema muito desequilibrado - mas apenas calcular o próprio Kappa não mudará a forma como o modelo se ajusta aos seus dados desequilibrados.
Para métricas diferentes: além de Kappa e precisão / recall, observe também as taxas TPR / TNR e curvas ROC verdadeiras positivas e negativas verdadeiras e ROC e a área sob a curva AUC. Quais são úteis para o seu problema dependerão principalmente dos detalhes do seu objetivo. Por exemplo, as diferentes informações refletidas em TPR / TNR e precisão / recall: é seu objetivo ter uma alta parcela de fraudes realmente detectadas como tal, e uma alta parcela de transações legítimas sendo detectadas como tal e / ou minimizar o compartilhamento de alarmes falsos (que você naturalmente terá "em massa" com esses problemas) em todos os alarmes?
Para up / downsampling: acho que não há resposta canônica para "se isso for necessário". Eles são mais uma maneira de adaptar seu problema. Tecnicamente: sim, você pode usá-los, mas use-os com cuidado, especialmente ampliando a amostragem (você pode acabar criando amostras irrealistas sem perceber) - e esteja ciente de que alterar a frequência de amostras de ambas as classes para algo não realista "na natureza "também pode ter efeitos negativos no desempenho das previsões. Pelo menos o conjunto final de testes deve refletir a frequência real das amostras novamente. Conclusão: vi os dois casos em que fazer e não aumentar ou diminuir a amostragem resultou em melhores resultados finais; portanto, é algo que você pode precisar experimentar (mas não manipule seu (s) conjunto (s) de teste!) .
fonte
Além da AUC e do kappa de Kohonen já discutidos nas outras respostas, eu também gostaria de adicionar algumas métricas que achei úteis para dados desequilibrados. Ambos estão relacionados à precisão e recall . Porque, calculando a média destes, você obtém uma métrica que pesa e ambos os tipos de erros ( e ):TP FP FN
Nota: Para conjuntos de dados desequilibrados, é melhor ter suas métricas com média macro .
fonte
Para conjuntos de dados desequilibrados, a métrica de precisão média às vezes é uma alternativa melhor ao AUROC. A pontuação AP é a área sob a curva de precisão de recuperação.
Aqui está uma discussão com algum código (Python)
Aqui está um papel .
Veja também as curvas Precision-Recall-Gain de Peter Flach , juntamente com uma discussão sobre as deficiências das curvas AP.
fonte