Construcción de pipelines de ML reproducibles
sklearn Pipeline, persistencia de pipelines con joblib y ejecuciones parametrizadas con archivos de configuración.
Construcción de pipelines de ML reproducibles es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 3 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é la reproducibilidad?
Un resultado que no puede reproducirse no es ciencia, sino suerte. Los pipelines reproducibles garantizan que los mismos datos y la misma configuración produzcan siempre el mismo modelo, algo esencial para la depuración, las auditorías y el trabajo en equipo.
El Pipeline de sklearn
Un Pipeline de scikit-learn encadena el preprocesamiento y el modelo en un solo objeto, de modo que las transformaciones exactas aplicadas durante el entrenamiento también se aplican durante la inferencia, eliminando el desfase entre entrenamiento y servicio.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
pipe = Pipeline([
("scaler", StandardScaler()),
("model", RandomForestClassifier(n_estimators=200))
])
pipe.fit(X_train, y_train)Persistencia del Pipeline como artefacto
Como todo el pipeline es un solo objeto, puede guardarlo como un único artefacto y volver a cargarlo en cualquier lugar, con la seguridad de que el preprocesamiento viaja junto con el modelo.
joblib.dump y load
joblib serializa eficazmente los objetos de scikit-learn (maneja las matrices grandes de NumPy mejor que pickle). Guarde el pipeline ajustado y vuelva a cargarlo para ofrecer el servicio.
import joblib
joblib.dump(pipe, "pipeline.joblib") # save
loaded = joblib.load("pipeline.joblib") # reload
preds = loaded.predict(X_new)Configuración YAML para hiperparámetros
Los valores codificados directamente ocultan lo que utilizó una ejecución. Coloque todos los hiperparámetros en un archivo YAML para que cada configuración sea explícita, tenga control de versiones y pueda cambiarse sin editar el código.
# config.yaml
model:
n_estimators: 200
max_depth: 8
data:
test_size: 0.2
random_state: 42Carga de la configuración
Lea el YAML una vez al iniciar y pase los valores a su pipeline, de modo que un único archivo controle toda la ejecución.
import yaml
with open("config.yaml") as f:
cfg = yaml.safe_load(f)
model = RandomForestClassifier(
n_estimators=cfg["model"]["n_estimators"],
max_depth=cfg["model"]["max_depth"]
)Fijación de semillas aleatorias
La reproducibilidad también requiere fijar las semillas aleatorias en todos los lugares: división entre entrenamiento y prueba, inicialización del modelo y cualquier barajado. Guarde la semilla en la configuración YAML para que sea explícita y coherente.
from sklearn.model_selection import train_test_split
X_tr, X_te, y_tr, y_te = train_test_split(
X, y, test_size=cfg["data"]["test_size"],
random_state=cfg["data"]["random_state"]
)Makefile para pasos repetibles
Un Makefile convierte cada etapa del pipeline en un destino con nombre, de modo que cualquiera pueda ejecutar make train en lugar de recordar comandos largos. Esto estandariza el flujo de trabajo de todo el equipo.
Definición de destinos de Make
Algunos destinos habituales son make data, make train y make evaluate, cada uno de los cuales llama al script correspondiente.
# Makefile
data:
python src/prepare_data.py
train:
python src/train.py --config config.yaml
evaluate:
python src/evaluate.py --config config.yamlEncadenamiento de dependencias
Los destinos de Make pueden depender unos de otros, de modo que make train ejecute primero data si es necesario y garantice que el pipeline siempre se ejecute en el orden correcto.
train: data
python src/train.py --config config.yamlIntegración de todos los elementos
Una configuración reproducible: un Pipeline persistido con joblib, todos los hiperparámetros en YAML, semillas fijadas y un Makefile que expone make data / train / evaluate. Cualquiera puede clonar el repositorio y reproducir exactamente su modelo.
Comprobación rápida
Ponga a prueba sus conocimientos sobre pipelines reproducibles.
Resumen
Ha creado pipelines reproducibles: un Pipeline de sklearn persistido mediante joblib.dump/load, todos los hiperparámetros en una configuración YAML, semillas aleatorias fijadas y un Makefile con los destinos make data / train / evaluate. Siguiente tema: monitorización de modelos en producción.
Preguntas frecuentes
¿La lección «Construcción de pipelines de ML reproducibles» es gratis?
Sí — el texto completo de «Construcción de pipelines de ML reproducibles» 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 «Construcción de pipelines de ML reproducibles»?
sklearn Pipeline, persistencia de pipelines con joblib y ejecuciones parametrizadas con archivos de configuración. 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 3 de 4.
¿Cuánto tiempo toma la lección «Construcción de pipelines de ML reproducibles»?
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
- Seguimiento de experimentos con MLflow
- Registro y versionado de modelos
- Construcción de pipelines de ML reproducibles
- Supervisión del rendimiento de modelos en producción