Créer des pipelines reproductibles d’apprentissage automatique
Pipeline de sklearn, conservation des pipelines avec joblib, exécutions paramétrées avec des fichiers de configuration.
Créer des pipelines reproductibles d’apprentissage automatique est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Pourquoi la reproductibilité ?
Un résultat que vous ne pouvez pas reproduire ne relève pas de la science, mais de la chance. Les pipelines reproductibles garantissent que les mêmes données et la même configuration produisent toujours le même model, ce qui est essentiel pour le débogage, les audits et le travail en équipe.
Le pipeline sklearn
Un pipeline scikit-learn enchaîne le prétraitement et le model dans un seul objet. Ainsi, les transformations appliquées lors de l'entraînement sont exactement les mêmes lors de l'inférence, ce qui élimine l'écart entre l'entraînement et la mise en service.
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)Conserver le pipeline comme artefact
Comme le pipeline entier constitue un seul objet, vous pouvez l'enregistrer comme un artefact unique et le recharger n'importe où, en sachant que le prétraitement accompagne le model.
joblib.dump et load
joblib sérialise efficacement les objets scikit-learn ; il gère mieux les grands tableaux NumPy que pickle. Enregistrez le pipeline ajusté, puis rechargez-le pour la mise en service.
import joblib
joblib.dump(pipe, "pipeline.joblib") # save
loaded = joblib.load("pipeline.joblib") # reload
preds = loaded.predict(X_new)Configuration YAML des hyperparamètres
Les valeurs codées en dur masquent ce qu'un run a utilisé. Placez tous les hyperparamètres dans un fichier YAML afin que chaque réglage soit explicite, suivi par le contrôle de version et modifiable sans changer le code.
# config.yaml
model:
n_estimators: 200
max_depth: 8
data:
test_size: 0.2
random_state: 42Charger la configuration
Lisez le YAML une seule fois au démarrage et transmettez ses valeurs à votre pipeline, afin qu'un seul fichier pilote l'ensemble du run.
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"]
)Fixer les graines aléatoires
La reproductibilité nécessite également de fixer les graines aléatoires partout : séparation entre entraînement et test, initialisation du model et éventuel mélange. Stockez la graine dans la configuration YAML afin qu'elle soit explicite et cohérente.
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 pour des étapes répétables
Un Makefile transforme chaque étape du pipeline en cible nommée, afin que chacun exécute make train au lieu de devoir mémoriser de longues commandes. Cela standardise le flux de travail de l'équipe.
Définir les cibles de Make
Les cibles courantes sont make data, make train et make evaluate, chacune appelant le script correspondant.
# Makefile
data:
python src/prepare_data.py
train:
python src/train.py --config config.yaml
evaluate:
python src/evaluate.py --config config.yamlEnchaîner les dépendances
Les cibles de Make peuvent dépendre les unes des autres : ainsi, make train exécute d'abord data si nécessaire, ce qui garantit que le pipeline s'exécute toujours dans le bon ordre.
train: data
python src/train.py --config config.yamlRassembler le tout
Une configuration reproductible comprend : un pipeline conservé avec joblib, tous les hyperparamètres dans YAML, des graines fixes et un Makefile exposant les cibles make data / train / evaluate. Chacun peut cloner le dépôt et reproduire exactement votre model.
Vérification rapide
Évaluez vos connaissances des pipelines reproductibles.
Récapitulatif
Vous avez créé des pipelines reproductibles : un pipeline sklearn conservé via joblib.dump/load, tous les hyperparamètres dans une configuration YAML, des graines aléatoires fixes et un Makefile contenant les cibles make data / train / evaluate. Ensuite : surveiller les modèles en production.
Questions Fréquemment Posées
La leçon « Créer des pipelines reproductibles d’apprentissage automatique » est-elle gratuite ?
Oui — le texte complet de « Créer des pipelines reproductibles d’apprentissage automatique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Créer des pipelines reproductibles d’apprentissage automatique » ?
Pipeline de sklearn, conservation des pipelines avec joblib, exécutions paramétrées avec des fichiers de configuration. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Créer des pipelines reproductibles d’apprentissage automatique » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Suivi des expériences avec MLflow
- Registre des modèles et gestion des versions
- Créer des pipelines reproductibles d’apprentissage automatique
- Surveiller les performances d’un modèle en production