Curva precisión-exhaustividad

Rendimiento de un clasificador con clases desiguales.

Definición

La curva precisión-exhaustividad dibuja, para cada punto de corte de un clasificador, qué parte de los positivos encuentra (exhaustividad) y qué parte de lo que señala es correcta (precisión). Cada punto de la curva es un corte posible, y el área bajo ella resume el modelo para compararlo con otros. Es la referencia cuando la clase positiva es rara, como el fraude.

Precision-Recall Curve
Datos
x · y · series
Buena para
Elegir el punto de corte de un clasificador y comparar modelos cuando los positivos son pocos.
Evítala cuando
Cuando las clases están equilibradas y el público espera la curva ROC, que es allí la convención.
Se lee bien
Entre 10 y 200 elementos; dibuja hasta 1000
Datos que faltan
Dibuja el valor ausente como cero.
Accesibilidad
Lector de pantalla: resumen en texto · respeta «reducir movimiento»

Forma de los datos

Qué columnas pide

ColumnaTipoPara qué
x · opcionalnumberCobertura (eje X). Las filas se ORDENAN por ella dentro de cada modelo, así que el orden del dato no manda.
y · opcionalnumberPrecisión (eje Y).
series · opcionalstringEl modelo: una curva por valor distinto. Es la que parte los datos en series, y su AUC se calcula por trapecios sobre los puntos que le llegan — no se lee del dato.

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

¿La clase positiva es mucho más rara que la negativa?

Con clases equilibradas, la curva ROC es la comparación habitual.

Sí: quédate con curva precisión-exhaustividad

No: usa Curva ROC

¿Buscas el punto de corte y no el detalle de errores de uno ya elegido?

Si el corte ya está decidido, una matriz de confusión enseña aciertos y errores en ese punto.

Sí: quédate con curva precisión-exhaustividad

No: usa Matriz de confusión

¿Te interesa cómo ordena el modelo y no si sus probabilidades son fiables?

Si la pregunta es si un 70 % predicho se cumple un 70 % de las veces, se usa una curva de calibración.

Sí: quédate con curva precisión-exhaustividad

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('precisionrecall');
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

¿Qué es cada punto de la curva?

Un punto de corte posible: subirlo suele ganar precisión a costa de dejar positivos sin encontrar.

¿Para qué sirve el área bajo la curva?

Resume todos los cortes en un número para comparar modelos; no dice qué corte conviene usar.

¿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 →