Creación de pipelines de preprocesamiento
sklearn Pipeline, ColumnTransformer y combinación de transformadores para flujos de preprocesamiento limpios.
Creación de pipelines de preprocesamiento es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Por qué utilizar pipelines?
Un Pipeline de scikit-learn encadena los pasos de preprocesamiento y un modelo en un solo objeto. Garantiza que se apliquen las mismas transformaciones a los datos de entrenamiento y de prueba, evitando fugas y código difícil de mantener.
Un pipeline básico
Pipeline recibe una lista de tuplas (nombre, paso). Al llamar a fit, ejecuta cada paso en orden; el último suele ser un estimador.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
pipe = Pipeline([
("scale", StandardScaler()),
("model", LogisticRegression()),
])Ajustar y predecir con todo el pipeline
Trate el pipeline como un único modelo. fit aprende el escalador Y entrena el modelo; predict aplica primero el escalador y después el modelo, de forma automática y coherente.
pipe.fit(X_train, y_train)
preds = pipe.predict(X_test) # scaling applied automaticallySin fugas por diseño
Como el pipeline ajusta el escalador únicamente durante fit (con los datos de entrenamiento) y solo transforma durante predict, elimina automáticamente el error de ajustar con los datos de prueba.
Tipos de columnas mixtos
Los conjuntos de datos reales combinan columnas NUMÉRICAS y CATEGÓRICAS que requieren un preprocesamiento diferente. ColumnTransformer aplica un transformador diferente a cada subconjunto de columnas.
ColumnTransformer
Proporcione tuplas de (nombre, transformador, columnas). Las columnas numéricas se escalan y las categóricas se codifican mediante one-hot, todo en un solo paso.
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
pre = ColumnTransformer([
("num", StandardScaler(), ["age", "income"]),
("cat", OneHotEncoder(handle_unknown="ignore"), ["city"]),
])Anidamiento en un pipeline completo
Coloque el ColumnTransformer como primer paso de un Pipeline, seguido del modelo, para obtener un flujo de trabajo completo y sin fugas.
full = Pipeline([
("prep", pre),
("model", LogisticRegression()),
])
full.fit(X_train, y_train)Gestión de valores ausentes en un paso
Añada un SimpleImputer dentro de la rama numérica (a menudo dentro de un pequeño pipeline) para rellenar los valores ausentes antes del escalado, manteniendo todo dentro del pipeline.
from sklearn.impute import SimpleImputer
num_pipe = Pipeline([
("impute", SimpleImputer(strategy="median")),
("scale", StandardScaler()),
])fit_transform con entrenamiento, transform con prueba
La misma regla de oro se aplica al pipeline completo: aprende todos los parámetros a partir de los datos de entrenamiento durante fit y después solo transforma los datos de prueba durante predict o transform.
full.fit(X_train, y_train) # learns imputer, scaler, encoder, model
full.predict(X_test) # transform-only pathPersistencia de un pipeline
Guarde en disco el pipeline completo ya ajustado, incluido el preprocesamiento y el modelo, mediante joblib. Al cargarlo más tarde, aplica un preprocesamiento idéntico en producción, sin pasos manuales que reproducir.
import joblib
joblib.dump(full, "model.joblib")
loaded = joblib.load("model.joblib")
loaded.predict(X_new) # same preprocessing guaranteedPor qué es importante en producción
Un pipeline persistido garantiza que el modelo implementado preprocese los datos entrantes EXACTAMENTE como durante el entrenamiento. Esta coherencia es la mayor defensa contra los errores de discrepancia entre entrenamiento y servicio.
Comprobación rápida
Compruebe sus conocimientos sobre pipelines.
Resumen
Herramientas para pipelines:
Pipelineencadena el preprocesamiento y el modelo en un único objeto de ajuste y predicción- Sin fugas: los parámetros se aprenden con
fity se aplican conpredict ColumnTransformergestiona columnas numéricas y categóricas mixtasSimpleImputerpermite gestionar valores ausentes dentro del pipeline- Persista el pipeline con
joblibpara mantener un preprocesamiento coherente en producción
Preguntas frecuentes
¿La lección «Creación de pipelines de preprocesamiento» es gratis?
Sí — el texto completo de «Creación de pipelines de preprocesamiento» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Creación de pipelines de preprocesamiento»?
sklearn Pipeline, ColumnTransformer y combinación de transformadores para flujos de preprocesamiento limpios. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Creación de pipelines de preprocesamiento»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Detección y eliminación de valores atípicos
- Codificación de variables categóricas
- Escalado de características: normalización y estandarización
- Creación de pipelines de preprocesamiento