En el caso general: no se puede
La curva ROC muestra cómo varían la sensibilidad y la especificidad en todos los umbrales posibles . Se ha calculado una tabla de contingencia en un único umbral y se ha perdido la información sobre otros umbrales. Por lo tanto, no se puede calcular la curva ROC a partir de estos datos resumidos.
Pero mi clasificador es binario, así que tengo un único umbral
Los clasificadores binarios no son realmente binarios. Aunque sólo expongan una decisión binaria final, todos los clasificadores que conozco se basan en alguna estimación cuantitativa bajo el capó.
- ¿Un árbol de decisión binario? Intenta construir un árbol de regresión.
- ¿Un clasificador SVM? Haga una regresión de vectores de apoyo.
- ¿Regresión logística? Acceda a las probabilidades brutas.
- ¿Red neuronal? Utilice la salida numérica de la última capa en su lugar.
Esto le dará más libertad para elegir el umbral óptimo para llegar a la mejor clasificación posible para sus necesidades.
Pero realmente quiero
Realmente no deberías. Las curvas ROC con pocos umbrales subestiman significativamente el área real bajo la curva (1). Una curva ROC con un solo punto es el peor escenario, y cualquier comparación con un clasificador continuo será inexacta y engañosa.
¡Sólo dame la respuesta!
Vale, vale, tú ganas. Con un solo punto podemos considerar el AUC como la suma de dos triángulos T y U:
Podemos obtener sus áreas en base a la tabla de contingencia (A, B, C y D, tal y como has definido):
$$ \begin{align*} T = \frac{1 \times SE}{2} &= \frac{SE}{2} = \frac{A}{2(A + C)} \\ U = \frac{SP \times 1}{2} &= \frac{SP}{2} = \frac{D}{2(B + D)} \end{align*} $$
Conseguir el AUC: $$ \begin{align*} AUC &= T + U \\ &= \frac{A}{2(A + C)} + \frac{D}{2(B + D)} \\ &= \frac{SE + SP}{2} \end{align*} $$
Para concluir
Técnicamente se puede calcular un AUC ROC para un clasificador binario a partir de la matriz de confusión. Pero, por si acaso no lo he dejado claro, permíteme repetirlo una última vez: ¡NO LO HAGAS!
Referencias
(1) DeLong ER, DeLong DM, Clarke-Pearson DL: Comparación de las áreas bajo dos o más curvas operativas receptoras correlacionadas: A Nonparametric Approach. Biometrics 1988,44:837-845. https://www.jstor.org/stable/2531595
6 votos
No tengo claro que pueda haber una respuesta útil a esta pregunta. La curva de características operativas del receptor (ROC) representa la gama de compensaciones entre las clasificaciones de verdaderos y falsos positivos a medida que uno altera el umbral para hacer esa elección del modelo. Una tabla de contingencia representa los resultados de la clasificación en un elección particular de ese umbral. Se podría calcular algo así como un área (como hace una respuesta propuesta aquí), pero no está claro que eso represente realmente el área bajo la curva ROC para el modelo completo.
1 votos
Si su predictor es dicotómico y, por tanto, sólo hay un umbral, creo que el AUC sigue proporcionando (cierta) información útil.
0 votos
@JeremyMiles por favor proporcione un ejemplo no trivial del predictor donde sólo existe un umbral.
0 votos
@PavelTyshevskyi - claro. (He olvidado cuál era el contexto de esta pregunta). Trabajo con calificadores que clasifican anuncios. Un ejemplo es la pornografía (que es mala). Preguntamos a los calificadores "¿Este anuncio es de pornografía?". Dicen que sí o que no.