Creazione di pipeline ML riproducibili
Pipeline di sklearn, persistenza delle pipeline con joblib, esecuzioni parametrizzate con file di configurazione
Creazione di pipeline ML riproducibili è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Perché la riproducibilità?
Un risultato che non può essere riprodotto non è scienza, ma fortuna. Le pipeline riproducibili garantiscono che gli stessi dati e la stessa configurazione producano sempre lo stesso modello, un requisito essenziale per il debugging, gli audit e il lavoro di squadra.
La Pipeline di sklearn
Una Pipeline di scikit-learn concatena la pre-elaborazione e il modello in un unico oggetto, così le stesse trasformazioni applicate durante l'addestramento vengono applicate anche in fase di inferenza, eliminando il disallineamento tra training e serving.
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)Persistenza della Pipeline come artefatto
Poiché l'intera pipeline è un unico oggetto, può salvarla come singolo artefatto e ricaricarla ovunque, sapendo che la pre-elaborazione viaggia insieme al modello.
joblib.dump e load
joblib serializza in modo efficiente gli oggetti di scikit-learn, gestendo gli array NumPy di grandi dimensioni meglio di pickle. Salvi la pipeline addestrata, quindi la ricarichi per il serving.
import joblib
joblib.dump(pipe, "pipeline.joblib") # save
loaded = joblib.load("pipeline.joblib") # reload
preds = loaded.predict(X_new)Configurazione YAML per gli iperparametri
I valori codificati direttamente nel codice nascondono le impostazioni usate in un'esecuzione. Inserisca tutti gli iperparametri in un file YAML, così ogni impostazione è esplicita, sottoposta a controllo versione e modificabile senza intervenire sul codice.
# config.yaml
model:
n_estimators: 200
max_depth: 8
data:
test_size: 0.2
random_state: 42Caricamento della configurazione
Legga lo YAML una sola volta all'avvio e passi i valori alla pipeline, così un unico file controlla l'intera esecuzione.
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"]
)Impostazione dei seed casuali
La riproducibilità richiede anche seed casuali fissi ovunque: nella suddivisione train/test, nell'inizializzazione del modello e in qualsiasi mescolamento. Salvi il seed nella configurazione YAML, così sarà esplicito e coerente.
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 per operazioni ripetibili
Un Makefile trasforma ogni fase della pipeline in un target denominato, così chiunque può eseguire make train invece di ricordare comandi lunghi. Questo standardizza il flusso di lavoro all'interno del team.
Definizione dei target Make
I target più comuni sono make data, make train e make evaluate, ognuno dei quali richiama lo script corrispondente.
# Makefile
data:
python src/prepare_data.py
train:
python src/train.py --config config.yaml
evaluate:
python src/evaluate.py --config config.yamlConcatenazione delle dipendenze
I target Make possono dipendere l'uno dall'altro, quindi make train esegue prima data se necessario, garantendo che la pipeline venga sempre eseguita nell'ordine corretto.
train: data
python src/train.py --config config.yamlAssemblaggio della soluzione
Una configurazione riproducibile comprende una Pipeline persistita con joblib, tutti gli iperparametri in YAML, seed fissi e un Makefile che espone i target make data / train / evaluate. Chiunque può clonare il repository e riprodurre esattamente il Suo modello.
Verifica rapida
Verifichi le Sue conoscenze sulle pipeline riproducibili.
Riepilogo
Ha creato pipeline riproducibili: una Pipeline di sklearn persistita tramite joblib.dump/load, tutti gli iperparametri in una configurazione YAML, seed casuali fissi e un Makefile con i target make data / train / evaluate. Prossimo argomento: il monitoraggio dei modelli in produzione.
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 53
- Lezioni
- 225
Domande Frequenti
La lezione «Creazione di pipeline ML riproducibili» è gratuita?
Sì — il testo completo di «Creazione di pipeline ML riproducibili» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Creazione di pipeline ML riproducibili»?
Pipeline di sklearn, persistenza delle pipeline con joblib, esecuzioni parametrizzate con file di configurazione Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Creazione di pipeline ML riproducibili»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Tracciamento degli esperimenti con MLflow
- Registro dei modelli e versionamento
- Creazione di pipeline ML riproducibili
- Monitoraggio delle prestazioni dei modelli in produzione