Fuga de datosData Leakage

Información indebida que se cuela al entrenar e infla el puntaje

  • Fundamentos
  • 6 min de lectura
  • 3 diagramas

Puntos clave

  • La fuga de datos es el accidente de que información que debía quedar aparte para calificar, o que no se puede saber al momento de predecir, termine colándose hacia el entrenamiento.
  • El síntoma más llamativo es que el puntaje sale sospechosamente bueno. Pero hay muchas fugas que lo inflan solo un poco, así que un puntaje creíble no es garantía de nada. Y al usarlo de verdad, ese puntaje desaparece.
  • La causa es distinta a la del sobreajuste. El sobreajuste es haber memorizado de más; la fuga es haber visto algo que no debía verse.
  • Un camino común por donde entra es el orden: si se fijan valores de referencia, como promedios o rangos, con el conjunto entero antes de separarlo, en ese instante ya pasó información al otro lado.
  • La fuga no baja el puntaje de calificación. Lo infla. Por eso es mucho más difícil de notar.

La analogía

Se quiere saber qué tan bien calienta un calefactor nuevo, así que se cierra la puerta del cuarto y se deja un termómetro adentro. Una hora después, el número no para de subir. Parece que se compró un buen calefactor.

Pero la puerta había quedado con una rendija del ancho de un dedo. El aire que calentaba la caldera de la sala entraba sin parar por esa rendija. El número del termómetro era real, pero ese número no lo había hecho el calefactor del cuarto. La fuga de datos es justo esa rendija.

Si se sella bien la rendija y se vuelve a medir, el número cae de golpe. Da lástima, pero esa es la capacidad real de este calefactor. Si nunca se hubiera notado la rendija abierta y se hubiera confiado en que era un buen aparato, el chasco habría llegado justo en el día más frío.

En detalle

La información colada infla el puntaje

Al construir un modelo, los datos se separan en dos partes: una para entrenar y otra para calificar. Con la primera se enseña, y la segunda se deja sin tocar hasta el final, para medir la capacidad real. La parte de calificar solo tiene sentido si es la primera vez que el modelo la ve.

Pero si aunque sea un poco de la parte de calificar pasa hacia el entrenamiento, el modelo llega al examen ya sabiendo la respuesta. El puntaje sale muy bueno y se cree que se construyó un buen modelo. El problema aparece en el momento de usarlo de verdad: ahí ya no hay nada que se cuele, y el rendimiento cae en picada.

Lo que hace peligroso a este fallo es la dirección en la que se mueve. Los demás problemas suelen avisar de sí mismos bajando el puntaje; la fuga se esconde subiéndolo. Por eso, cuando un resultado sale demasiado bueno, antes de alegrarse conviene buscar la rendija.

Dónde suelen aparecer las rendijas

La primera aparece en el orden. Si se rellenan las casillas vacías con un promedio o se ajusta el rango de valores usando el conjunto entero, y solo después se separa entre entrenamiento y evaluación, el valor de la parte de evaluación ya quedó mezclado en ese promedio. El arreglo que fija valores de referencia mirando los datos debe hacerse después de separar, y con un criterio decidido mirando solo el lado de entrenamiento. En cambio, el arreglo que evita que ambos lados se solapen, como quitar duplicados, conviene hacerlo antes de separar.

La segunda aparece cuando lo mismo termina en ambos lados. Si el registro de una misma persona está repartido en varias filas y se separa por fila sin más, esa misma persona puede quedar tanto en entrenamiento como en evaluación. Pasa igual con varias fotos del mismo producto tomadas desde ángulos distintos. En estos casos hay que separar por persona o por objeto, como unidad completa.

La tercera aparece con el tiempo. Si el problema es predecir algo que va a pasar y los datos se mezclan sin orden antes de separarlos, se termina aprendiendo de algo que ocurrió después para adivinar lo que pasó antes. Un problema con una dimensión de tiempo siempre debe separarse fijando un punto: lo de antes para un lado, lo de después para el otro.

La columna donde viene pegada la respuesta

La rendija más difícil de notar es la de una columna que trae la respuesta con otro nombre. Si en un problema de detectar una enfermedad se incluye una columna con "el nombre del medicamento recetado", el modelo termina leyendo el nombre del medicamento en vez de reconocer la enfermedad. Pasa lo mismo si en un problema de predecir quién cancelará un servicio aparece una columna con "la fecha en que se procesó la cancelación".

Estas columnas suelen verse completamente naturales a simple vista. Por eso hay que revisar cuándo se genera cada columna. Si un valor se crea después del momento que se quiere predecir, ese valor no existe todavía cuando el modelo se usa de verdad, y no debería entrar al entrenamiento.

Cómo encontrar por dónde se cuela

La mejor señal es un puntaje demasiado bueno. Si el problema es difícil y aun así se acierta casi todo, hay que sospechar antes de festejar. Si al quitar una sola columna el puntaje se desploma, vale la pena sospechar de ella. Puede que sea realmente importante, así que el criterio es si su valor se genera antes del momento que se quiere predecir.

También ayuda dejar fijo, como una sola secuencia, el orden en que se manejan los datos: separar, arreglar, entrenar, calificar. Hacerlo a mano y cada vez distinto es fácil de desordenar. Con el orden fijo, se reduce el número de lugares donde podría abrirse una rendija.

Con más precisión

La fuga se confunde a menudo con el sobreajuste. El sobreajuste es memorizar de más los datos de entrenamiento y derrumbarse frente a datos nuevos, y ahí el puntaje de calificación sale bajo. La fuga se distingue porque el puntaje de calificación también sale alto: la parte de calificar dejó de ser, en los hechos, algo nuevo para el modelo.

También hay un punto donde la comparación cojea. Una rendija se siente con la mano cuando pasa aire, pero la rendija de los datos casi siempre es invisible. Si se usa el método de calificar dividiendo varias veces, la misma rendija puede repetirse en cada tanda y hacer que el puntaje salga parejo y bueno en todas. Por eso, para encontrar una fuga conviene menos mirar el puntaje y más rastrear cómo se construyeron los datos, paso por paso.

Vale la pena saber también que este nombre se usa con dos sentidos. Uno es el que se ha explicado, cuando información de calificación pasa al entrenamiento. El otro es cuando entra al entrenamiento información que, en el uso real, nunca se podría tener a mano. El primero solo deja de poder confiarse en el puntaje; el segundo vuelve inutilizable al modelo en sí.

Pruébalo

Malentendidos comunes

  • Es fácil pensar que la fuga hace bajar el puntaje de calificación, pero en realidad lo infla. El rendimiento real puede empeorar sin que el puntaje lo muestre, y por eso se descubre más tarde.

  • Es fácil pensar que mezclar bien los datos antes de separarlos evita la fuga, pero en realidad ese mismo gesto de mezclar es lo que abre una rendija en un problema que tiene orden en el tiempo.

  • Es fácil pensar que la fuga solo pasa cuando por error se mete un dato de calificación en el entrenamiento, pero en realidad también ocurre a menudo donde no parece un error, como al fijar valores de referencia antes de separar los datos, o en una columna con un valor que se genera después.

Resumen en una línea

En resumen

La fuga de datos es el accidente de que información que debía quedar aparte, o que no se puede saber al momento de predecir, se cuele hacia el entrenamiento, y como se esconde inflando el puntaje, un resultado demasiado bueno es lo primero que hay que sospechar.

¿Has visto un error o tienes una analogía mejor? Sugerir una corrección · Última actualización 2026-10-18