Curva ROC

Capacidad de un modelo para discriminar.

Definición

La curva ROC enseña, para cada umbral de un clasificador, la tasa de falsos positivos en horizontal y la de verdaderos positivos en vertical. La diagonal es lo que acertaría un modelo que decide al azar; cuanto más se aleja la curva hacia la esquina superior izquierda, mejor discrimina, y el área bajo la curva lo resume en una cifra. Se usa para evaluar y comparar modelos de clasificación.

Model ROC Curve
Datos
x · y
Buena para
Ver cuánto discrimina un clasificador entre dos clases en todos sus umbrales a la vez.
Evítala cuando
Cuando una de las clases es muy rara: la curva puede parecer buena aunque casi todos los positivos que señala el modelo sean falsos.
Se lee bien
Entre 5 y 100 elementos; dibuja hasta 1000
Datos que faltan
Dibuja el valor ausente como cero.
Accesibilidad
Lector de pantalla: resumen en texto

Forma de los datos

Qué columnas pide

ColumnaTipoPara qué
x · opcionalnumberPOSICIONAL: la 1.ª columna numérica. Falsos positivos. El AUC se integra por trapecios EN EL ORDEN EN QUE LLEGAN LAS FILAS: la pieza no ordena, así que un dato desordenado da un AUC que no significa nada y aun así se imprime.
y · opcionalnumberPOSICIONAL: la 2.ª columna numérica. Verdaderos positivos. Con menos de dos columnas numéricas la pieza devuelve cero filas.

Tamaños

Recompuesta, no encogida

El motor vuelve a componer la pieza a cada ancho: los rótulos conservan su cuerpo y la figura gana alto si lo necesita.

Móvil · 408 × 499 px
Escritorio · 848 × 648 px

Cuándo usarla

Tres preguntas antes de elegirla

¿Las dos clases están más o menos equilibradas?

Si los positivos son escasos —fraude, averías—, la curva de precisión y exhaustividad enseña el coste de los falsos positivos.

Sí: quédate con curva roc

No: usa Curva precisión-exhaustividad

¿Interesa el comportamiento en todos los umbrales?

Si ya se ha elegido un umbral, la matriz de confusión enseña los aciertos y errores concretos en ese punto.

Sí: quédate con curva roc

No: usa Matriz de confusión

¿Basta con saber si el modelo ordena bien los casos?

Si importa que la probabilidad que da el modelo se pueda tomar como probabilidad, hace falta la curva de calibración.

Sí: quédate con curva roc

No: usa Curva de calibración

Código

La misma pieza, con tus datos

import { getPreset, renderComposition } from 'visx-render/node';

const spec = await getPreset('roccurve');
spec.data.rows = misFilas; // tus columnas
const { svg, warnings } = await renderComposition(spec);

También en React con Chart y prepareComposition. Guía para desarrolladores →

Dudas

¿En qué orden van las filas?

En el de los umbrales, de modo que los falsos positivos crezcan. La pieza no ordena los puntos y calcula el área en el orden en que llegan: con filas desordenadas, el área que imprime no significa nada.

¿Qué columnas necesita?

Dos numéricas, por posición: la primera es la tasa de falsos positivos y la segunda la de verdaderos positivos. Con menos de dos no dibuja nada.

¿Qué significa la diagonal?

Es lo que acertaría un modelo que decide al azar. La distancia de la curva a ella es lo que el modelo aporta.

¿Qué hace si faltan datos?

Dibuja el valor ausente como cero. Si un hueco no es un cero en tus datos, rellénalo o elimina la fila antes de dibujar.

¿Cómo se ve en el móvil?

El motor la recompone a 360 px de ancho —rótulos, leyenda y alto— en vez de encoger la versión de escritorio.

Relacionadas

Otras formas de responder «si dos cosas van juntas»

Guía para elegir: si dos cosas van juntas →