Como plotar curvas ROC na classificação multiclasse?

66

Em outras palavras, em vez de ter um problema de duas classes, estou lidando com 4 classes e ainda gostaria de avaliar o desempenho usando a AUC.

Rob Hyndman
fonte
A redução de dimensão é uma opção?
Shane
2
temos 4 classes, na verdade não
Weka faz isso perfeitamente, usando aquele contra toda a estratégia de classe.

Respostas:

53

Parece que você está procurando uma análise ROC de várias classes, que é um tipo de otimização de vários objetivos, abordada em um tutorial no ICML'04. Como em vários problemas de várias classes, a ideia é geralmente realizar comparações pareadas (uma classe versus todas as outras classes, uma classe versus outra classe, consulte (1) ou os Elementos do aprendizado estatístico ), e há uma recente artigo de Landgrebe e Duin sobre esse tópico, Aproximando o ROC multiclasse por análise em pares , Pattern Recognition Letters 2007 28: 1747-1758. Agora, para fins de visualização, já vi alguns trabalhos há algum tempo, a maioria deles girando em torno do volume sob a superfície ROC (VUS) ou diagrama de Cobweb .

No entanto, não sei se existe uma implementação R desses métodos, embora eu ache que a stars()função possa ser usada para o gráfico de teias de aranha. Acabei de encontrar uma caixa de ferramentas Matlab que parece oferecer análise ROC de várias classes, o PRSD Studio .

Outros documentos que também podem ser úteis como um primeiro começo para visualização / computação:

Referências:
1. Allwein, EL, Schapire, RE e Singer, Y. (2000). Reduzindo multiclasse para binário: uma abordagem unificadora para classificadores de margem. Journal of Machine Learning Research , 1 : 113–141.

chl
fonte
7

Recentemente, eu encontrei este pacote pROC em R que plota um ROC multiclasse usando a técnica especificada por Hand e Till (2001) . Você pode usar a função multiclass.roc.

garak
fonte
6

As respostas aqui são bastante completas, mas eu ainda gostaria de adicionar meus 5 centavos. Nesta pergunta, você pode encontrar um exemplo de código R para produzir curvas ROC usando a abordagem One-Vs-All e a biblioteca ROCR R.

Este é o enredo dessa resposta:

Curva ROC

Alexey Grigorev
fonte
5

Embora a matemática esteja além de mim, este artigo de revisão geral tem algumas referências nas quais você provavelmente se interessará e uma breve descrição de gráficos ROC de várias classes.

Uma introdução à análise ROC por Tom Fawcett Pattern Recognition Letters Volume 27, Edição 8, Junho de 2006, Páginas 861-874

Link para pdf como fornecido por gd047- obrigado

Andy W
fonte
2
Eu diria o mesmo fornecendo outro link google.gr/…
George Dontas
11
E aqui está outro, diretamente relacionado ao problema de várias classes: Análise ROC de várias classes sob uma perspectiva de otimização multi-objetivo, Pattern Recognition Letters 2006 27 (8): 918-927 ( j.mp/9AMgzq ).
chl
11
Obrigado pelos outros links, aparentemente toda a questão é popular, e seu arquivo sobre ciência direta pode ser encontrado aqui sciencedirect.com/…
Andy W