Volver a la lista

leakage·Pipeline·group/time/site split

Se aprenderán los conceptos clave y las consideraciones de diseño de investigación sobre la fuga de datos, las canalizaciones de procesamiento y la división por grupo, tiempo o sitio, todo ello en el contexto de la bioestadística basada en Python.

Avanzado
|
35min
|
Verificado (2026-08-07)
BioStatPybioestadísticaPythondiseño de investigación
Progreso0/33 (0%)

Fuga de datos · Pipeline · División por grupo/tiempo/sitio

Al finalizar este tema

Podrá identificar las vías por las que la información se filtra del conjunto de entrenamiento al de prueba antes de la evaluación, y aislar el preprocesamiento dentro de un Pipeline. Definirá la división ajustándola a unidades de grupo como paciente, muestra, sitio o tiempo.

La unidad de división es prioritaria

Si de un mismo paciente o de muestras independientes surgen varias filas, una división aleatoria a nivel de fila puede hacer que la información del mismo individuo esté presente simultáneamente en los conjuntos de entrenamiento y prueba. En problemas de predicción futura, también debe conservarse el orden temporal. La división debe definirse antes de la selección del modelo, basándose en la pregunta de investigación y la estructura de los datos.

El Pipeline fija el alcance del preprocesamiento

python
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
model = Pipeline([
("scale", StandardScaler()),
("classifier", LogisticRegression(max_iter=1000)),
])
model.fit(X_train, y_train)
score = model.score(X_test, y_test)

El Pipeline agrupa el preprocesamiento y el modelo que deben ajustarse en el pliegue de entrenamiento. El propio Pipeline no detecta automáticamente divisiones incorrectas o fugas de información hacia la variable objetivo.

División por grupos

Herramientas como GroupKFold crean una estructura de validación cruzada que evita que un mismo grupo aparezca simultáneamente en los conjuntos de entrenamiento y prueba. No se asume que el equilibrio de clases esté garantizado en todos los pliegues; se deben verificar el número de grupos y la distribución de la variable objetivo.

Lista de verificación de posibles fugas

La fuga de información en el preprocesamiento puede ocurrir al ajustar el escalado, la imputación o la selección de características en todos los datos antes de tiempo. La fuga hacia la variable objetivo se produce cuando una columna derivada directamente de la variable objetivo o de información solo disponible después del momento de predicción se incluye como característica. La fuga por grupos ocurre cuando las filas relacionadas de un mismo paciente, muestra o sitio se dividen entre entrenamiento y prueba.

Para cada característica, registre si "podría usarse en el momento real de la predicción" y verifique en qué pliegue se realiza cada paso del preprocesamiento fit. Solo las estadísticas posteriores a la división deben utilizarse para el entrenamiento.

Volver a la pregunta de investigación para interpretar

La puntuación en el conjunto de prueba es el rendimiento de generalización respecto a la división y la variable objetivo definidas. Para hablar del rendimiento en nuevos sitios, tiempos o pacientes, estas unidades deben reflejarse en la evaluación.

Errores frecuentes

  • No ajustar primero la media y la varianza del preprocesamiento con todos los datos.
  • No separar correctamente los mismos pacientes/sitios entre entrenamiento y prueba.
  • No incluir filas futuras en el aprendizaje para predicciones temporales.
  • No afirmar que el Pipeline resuelve todas las fugas de información.

Resumen clave

  • La unidad de división se determina según la pregunta de investigación y la jerarquía de los datos.
  • El Pipeline facilita el preprocesamiento local a cada pliegue.
  • La generalización por grupo/tiempo/sitio requiere diseños de evaluación distintos.

Siguiente tema

En la próxima entrega, aislaremos la información de selección dentro del pliegue mediante la selección de características y el ajuste anidado.

Referencias

El ejemplo de canalización de este capítulo fue elaborado de forma independiente por BioStatPy.

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...