¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Documentar un modelo y vigilar la deriva

Después de esta lección: Puedo documentar un modelo y planificar cómo vigilarlo.

Lección de 60 min2 comandosLaboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

¿Qué es una ficha de modelo?

Una ficha de modelo es un documento corto que dice para qué sirve un modelo, con qué datos se hizo y dónde falla. Permite que cualquier persona sepa cuándo fiarse del modelo y cuándo no.

Un banco lleva un año usando un modelo de préstamos. Un día cambia el tipo de cliente que llega, y nadie se da cuenta hasta que llegan las quejas.

Al final de esta lección

Nota

Puedo documentar un modelo y planificar cómo vigilarlo.

Palabras clave

PalabraQué significa
Ficha de modeloun documento corto sobre usos, datos y límites de un modelo
Monitorizacióncomprobar cada cierto tiempo que el modelo sigue bien
Deriva de datoslos datos de hoy ya no se parecen a los de entrenamiento
Alarmaun aviso cuando una medida pasa un límite
Persona responsablequien responde del modelo y puede decidir sobre él
Revisión humanauna persona que mira un caso antes de decidir

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una ficha responde a siete preguntas

La ficha se escribe cuando el modelo sale y se actualiza cuando cambia. Es corta a propósito: la tiene que leer alguien que no hizo el modelo.

Dice para qué sirve y para qué no, con qué datos se entrenó y cómo se midió por grupo. Dice también qué límites se conocen, quién responde y cómo se reclama.

Ejemplo resuelto: la ficha del modelo de préstamos

ApartadoQué dice
Para qué sirveOrdenar solicitudes de préstamos pequeños, de hasta 3.000 euros
Para qué no sirveDecidir solo, sin revisión, préstamos mayores
Datos de entrenamientoSolicitudes de un año, con el grupo A mejor representado que el B
Resultados por grupoTasa de aprobación 0,6 en A y B, oportunidad 0,83 en A y 0,5 en B
Límites conocidosPoco fiable con ingresos muy distintos a los del entrenamiento
Persona responsableLa jefa de riesgos, con su correo en la ficha
Cómo reclamarCada rechazo se puede pedir a revisión humana

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

La deriva: los datos cambian con el tiempo

La deriva de datos ocurre cuando las entradas de hoy se alejan de las de entrenamiento. El modelo no avisa: sigue dando respuestas, pero cada vez menos fiables.

La monitorización compara cada mes una medida con la del entrenamiento. Si la diferencia pasa un límite, salta una alarma.

Ejemplo resuelto: el ingreso medio sube

MesIngreso medioCambio respecto al entrenamientoLímite de 20 %
Entrenamiento1.800 euros0 %Sin novedad
Enero1.850 euros+3 %Sin novedad
Marzo2.000 euros+11 %Sin novedad
Junio2.300 euros+28 %Alarma

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Calcula el cambio y comprueba la alarma

Código: python
# Ingreso medio mensual de quienes piden un préstamo, en euros.
trained_on = 1800
months = ["enero", "marzo", "junio"]
averages = [1850, 2000, 2300]
limit = 20

for n in range(len(months)):
    change = (averages[n] - trained_on) * 100 / trained_on
    if change > limit or change < -limit:
        print(months[n], round(change, 1), "% ALARMA")
    else:
        print(months[n], round(change, 1), "% sin novedad")
# Cambia limit a 10 y vuelve a ejecutar.
# ¿En qué meses salta la alarma ahora?

Repite el cálculo de junio

Comando
docker exec jupyter python3 -c "print(round((2300 - 1800) * 100 / 1800, 1))"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un cambio esperado no es una avería

El archivo hires.csv muestra un cambio con motivo. El comando de abajo imprime los alquileres medios del primer semestre y del segundo: 254.0 y 286.3. El segundo es un 12,7 % mayor.

Eso es el verano, no una avería. Una buena vigilancia conoce las estaciones, o dará alarmas falsas y la gente dejará de mirarlas.

Compara los dos semestres del archivo

Comando
docker exec jupyter python3 -c "print([round(sum(int(r['hires']) for r in __import__('csv').DictReader(open('hires.csv')) if (r['date'] < '2025-07-01') == h) / n, 1) for h, n in ((True, 181), (False, 184))])"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un error muy común

Advertencia

Mucha gente cree que un modelo que pasó las pruebas el primer día seguirá bien para siempre. No es así: el mundo cambia y los datos de hoy dejan de parecerse a los de ayer. Vigila el modelo cada mes.

Alguien con nombre responde del modelo

Un modelo no responde de nada. Debe haber una persona responsable, con nombre y correo, que pueda parar el modelo, corregirlo y contestar a quien reclama.

Las decisiones importantes necesitan además una revisión humana: una persona que mira el caso antes de dar la respuesta por buena.

Sobre este laboratorio y su código: Laboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.