¿Cómo trazar curvas ROC en clasificación multiclase?

66

En otras palabras, en lugar de tener un problema de dos clases, estoy lidiando con 4 clases y todavía me gustaría evaluar el rendimiento utilizando AUC.

Rob Hyndman
fuente
¿Es la reducción de dimensiones una opción?
Shane
2
tenemos 4 clases, no realmente
Weka hace esto perfectamente, usando el uno contra toda la estrategia de clase.

Respuestas:

53

Parece que está buscando un análisis ROC multiclase, que es un tipo de optimización multiobjetivo cubierto en un tutorial en ICML'04. Al igual que en varios problemas de varias clases, la idea generalmente es llevar a cabo una comparación por pares (una clase versus todas las otras clases, una clase versus otra clase, ver (1) o los Elementos del aprendizaje estadístico ), y hay una reciente documento de Landgrebe y Duin sobre ese tema, Aproximación de la ROC multiclase mediante análisis por pares , Pattern Recognition Letters 2007 28: 1747-1758. Ahora, para fines de visualización, he visto algunos documentos hace algún tiempo, la mayoría de ellos girando alrededor del volumen bajo la superficie ROC (VUS) o el diagrama de telaraña .

Sin embargo, no sé si existe una implementación R de estos métodos, aunque creo que la stars()función podría usarse para el diagrama de telaraña. Acabo de encontrarme con una caja de herramientas de Matlab que parece ofrecer análisis ROC multiclase, PRSD Studio .

Otros documentos que también pueden ser útiles como primer comienzo para la visualización / cálculo:

Referencias:
1. Allwein, EL, Schapire, RE y Singer, Y. (2000). Reducir multiclase a binario: un enfoque unificador para clasificadores de margen. Journal of Machine Learning Research , 1 : 113–141.

chl
fuente
7

Recientemente encontré este paquete pROC en R que traza un ROC multiclase utilizando la técnica especificada por Hand and Till (2001) . Puede usar la función multiclass.roc.

garak
fuente
6

Las respuestas aquí son bastante completas, pero todavía me gustaría agregar mis 5 centavos. En esta pregunta , puede encontrar un ejemplo de código R para producir curvas ROC utilizando el enfoque One-Vs-All y la biblioteca ROCR R.

Esta es la trama de esa respuesta:

Curva ROC

Alexey Grigorev
fuente
5

Si bien las matemáticas están más allá de mí, este artículo de revisión general tiene algunas referencias que probablemente le interesarán y tiene una breve descripción de los gráficos ROC de varias clases.

Una introducción al análisis ROC por Tom Fawcett Pattern Recognition Letters Volumen 27, Número 8, junio de 2006, páginas 861-874

Enlace a pdf provisto por gd047- gracias

Andy W
fuente
2
Yo diría lo mismo proporcionando otro enlace google.gr/…
George Dontas
1
Y aquí hay otro, directamente relacionado con el problema multiclase: análisis ROC multiclase desde una perspectiva de optimización multiobjetivo, Pattern Recognition Letters 2006 27 (8): 918-927 ( j.mp/9AMgzq ).
chl
1
Gracias por los otros enlaces, aparentemente todo el tema es popular, y su archivo en Science Direct se puede encontrar aquí sciencedirect.com/…
Andy W