Curva de pérdida
Cómo converge el entrenamiento de un modelo.
Definición
Una curva de pérdida dibuja la pérdida de un modelo época a época, con una línea para entrenamiento y otra para validación. Lo que se lee es la brecha entre las dos y el momento en que deja de cerrarse. Sirve para decidir cuándo parar de entrenar y si el modelo generaliza.
- Datos
- x · y · series
- Buena para
- Ver si un modelo generaliza o empieza a sobreajustar, y desde qué época.
- Evítala cuando
- Cuando sólo tienes una de las dos curvas: sin la otra no se sabe si el modelo generaliza.
- Se lee bien
- Entre 10 y 500 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
| Columna | Tipo | Para qué |
|---|---|---|
x · opcional | number | La época. Es numérica, no una fecha: el eje cuenta pasos de entrenamiento. |
y · opcional | number | La pérdida. Su escala arranca en cero (padDomainFromZero, data.ts). |
series · opcional | string | El conjunto (train/validation). Formato LARGO obligatorio: sin esta columna la pieza devuelve [] y no dibuja. |
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.
Cuándo usarla
Tres preguntas antes de elegirla
¿Tienes entrenamiento y validación por separado?
Si es una sola serie que evoluciona, basta una línea normal.
Sí: quédate con curva de pérdida
No: usa Gráfico de líneas¿La pregunta es cómo converge el entrenamiento?
Si el modelo ya está entrenado y lo que importa es en qué clases se equivoca, se cruzan aciertos y errores.
Sí: quédate con curva de pérdida
No: usa Matriz de confusión¿Te basta la pérdida como medida de calidad?
Si hay que elegir un umbral de clasificación, conviene ver el compromiso entre aciertos y falsos positivos.
Sí: quédate con curva de pérdida
No: usa Curva ROCCódigo
La misma pieza, con tus datos
import { getPreset, renderComposition } from 'visx-render/node';
const spec = await getPreset('losscurve');
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
¿Por qué hacen falta dos curvas?
Porque el argumento es la distancia entre entrenamiento y validación: una sola no dice si el modelo funciona fuera de los datos que ha visto.
¿En qué formato van los datos?
En formato largo: una fila por época y conjunto, con una columna que diga a qué conjunto pertenece. Sin esa columna no se dibuja.
¿El eje vertical empieza en cero?
Sí. El eje horizontal cuenta épocas como número, no como fecha.
¿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 «cómo cambia en el tiempo»
Burndowntrabajo pendiente frente al plan de un sprint
Líneas en base 100comparar series con distinta escala
Gráfico de líneasuna medida que cambia en el tiempo
Curvas de retencióncuánto aguanta cada cohorte
Retornos móvilesrentabilidad en ventanas que se desplazan
Gráfico de áreasuna medida en el tiempo con el volumen destacado