Pipeline de scikit-learn
Una interfaz común
Scikit-learn unifica casi todo detrás de los mismos métodos: fit para aprender, predict para aplicar, transform para los preprocesadores que devuelven datos. Esa regularidad permite intercambiar componentes y construir flujos complejos con piezas que encajan igual.
Estimadores y transformadores
Un transformador —imputador, escalador, codificador— se ajusta y transforma; un estimador —regresor, clasificador— además predice. Todos comparten fit. Los pasos de preprocesado se ajustan en entrenamiento y luego solo se aplican, sin volver a mirar etiquetas.
Encadenar en un pipeline
Un pipeline lista pasos en orden: imputar, escalar, modelo. Al hacer fit sobre datos, cada paso alimenta al siguiente automáticamente. El objeto resultante se comporta como un único estimador: se puede pasar a validación cruzada o a una rejilla como si fuera una pieza.
Por qué evita fugas
La clave: al validar cruzada sobre un pipeline, el escalado se reajusta desde cero en cada pliegue, usando solo el entrenamiento de ese pliegue. Hacerlo a mano sobre todo el conjunto antes de dividir filtraría información de validación al modelo. El pipeline lo impide por construcción.
Columnas distintas, tratamiento distinto
Un conjunto típico mezcla numéricas y categóricas. El transformador de columnas permite escalar las primeras y codificar las segundas dentro del mismo pipeline, y aunar el resultado. Preprocesado heterogéneo sin perder la garantía anti-fuga.

Ajuste en rejilla
Al exponer cada paso como un hiperparámetro nombrable, la rejilla busca simultáneamente por el preprocesado y el modelo: qué imputador, cuántas componentes, qué regularización. Un solo ajuste conjunto, en vez de optimizar a mano pieza a pieza.
Reproducibilidad y empaquetado
Un pipeline es un único artefacto serializable: se guarda, se versiona y se despliega entero, con el preprocesado pegado al modelo. Así no hay desajuste entre el escalado usado al entrenar y el que se aplica al predecir, una de las fuentes clásicas de errores silenciosos.
Errores frecuentes
- Escalar o imputar sobre todo el conjunto antes de dividir, contaminando la validación.
- Olvidar que predict debe aplicar los parámetros aprendidos en entrenamiento, no recalcularlos.
Ejemplo resuelto: un pipeline sin fugas
Datos con columnas numéricas y categóricas, y una validación cruzada sospechosamente optimista. El protocolo:
- Dividir antes de nada: apartar prueba sin tocarla, y solo entonces mirar estadísticos.
- Montar la cadena: imputar, escalar las numéricas, codificar las categóricas y modelar, en un solo objeto.
- Separar por columnas: un transformador de columnas da a cada tipo el tratamiento que le toca.
- Validar cruzado sobre el todo: cada pliegue reaprende su escalado sin ver su validación.
- Buscar en rejilla por igual en preprocesado y modelo, y guardar el pipeline entero como artefacto.
¿Para qué sirve en la realidad?
En producción, el escalado usado al entrenar debe ser exactamente el aplicado al predecir: un desajuste ahí es un error silencioso que degrada el modelo sin avisar. El pipeline empaqueta todo junto y hace que la versión experimentada sea la versión desplegada.
¿Cuál es la ventaja central de usar un pipeline de scikit-learn al validar con validación cruzada?
Un pipeline de scikit-learn se puede tratar como un único estimador al pasarlo a una rejilla.
Del notebook a producción
El desorden de celdas sueltas —una transformación aquí, un modelo allá— es terreno fértil para fugas y para reproducir mal. Un pipeline captura el flujo completo como objeto: lo que se probó en la experimentación es, literalmente, lo mismo que se despliega.
Pipeline
Toca una tarjeta para ver la respuesta.
Ordena los pasos de un pipeline típico de principio a fin:
Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.
scikit-learn: composing estimatorsDocumentación oficial de pipelines y transformadores de columnas.
Une cada pieza de scikit-learn con lo que hace en el flujo.
scikit-learn
- Pipeline
- Interfaz
- fit
- fit
- transform
- Interfaz
- predict
- imputar
- anti-fuga por pliegues
- transformador de columnas
Clase PipelineDocumentación oficial de la clase Pipeline en scikit-learn.
Tu validación cruzada da un resultado sospechosamente perfecto. ¿Podrías estar escalando antes de dividir, y cómo lo arreglaría un pipeline?
Tu texto se guarda sólo en este dispositivo.
Comentarios
Inicia sesión para comentar.
Todavía no hay comentarios. Sé la primera persona en opinar.