Bygga reproducerbara ML-pipelines
sklearn Pipeline, beständiggöra pipelines med joblib, parameteriserade körningar med konfigurationsfiler.
Bygga reproducerbara ML-pipelines är en gratis lektion i Lär Er AI med Python på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lär Er AI med Python, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.
Varför reproducerbarhet?
Ett resultat som inte kan återskapas är inte vetenskap, utan tur. Reproducerbara pipelines säkerställer att samma data och konfiguration alltid ger samma modell, vilket är avgörande för felsökning, granskningar och samarbete.
sklearn Pipeline
En scikit-learn-Pipeline kopplar samman förbehandling och modellen i ett enda objekt. Då används exakt samma transformeringar vid inferens som under träningen, vilket eliminerar skillnader mellan träning och betjäning.
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)Spara Pipeline som en artefakt
Eftersom hela pipelinen är ett enda objekt kan du spara den som en enda artefakt och läsa in den var som helst, med säkerheten att förbehandlingen följer med modellen.
joblib.dump och load
joblib serialiserar scikit-learn-objekt effektivt och hanterar stora NumPy-arrayer bättre än pickle. Spara den tränade pipelinen och läs sedan in den för betjäning.
import joblib
joblib.dump(pipe, "pipeline.joblib") # save
loaded = joblib.load("pipeline.joblib") # reload
preds = loaded.predict(X_new)YAML-konfiguration för hyperparametrar
Hårdkodade värden döljer vad som användes i en körning. Lägg alla hyperparametrar i en YAML-fil, så att varje inställning är tydlig, versionshanterad och kan ändras utan att koden redigeras.
# config.yaml
model:
n_estimators: 200
max_depth: 8
data:
test_size: 0.2
random_state: 42Läsa in konfigurationen
Läs YAML-filen en gång vid uppstart och skicka värdena till din pipeline, så att en enda fil styr hela körningen.
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"]
)Fixera slumpfrön
Reproducerbarhet kräver också fixerade slumpfrön överallt: vid uppdelning i tränings- och testdata, modellinitiering och all blandning. Spara fröet i YAML-konfigurationen så att det är tydligt och konsekvent.
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 för upprepningsbara steg
En Makefile gör varje pipeline-steg till ett namngivet mål, så att vem som helst kan köra make train i stället för att komma ihåg långa kommandon. Det standardiserar arbetsflödet i hela teamet.
Definiera Make-mål
Vanliga mål är make data, make train och make evaluate, där varje mål anropar motsvarande skript.
# Makefile
data:
python src/prepare_data.py
train:
python src/train.py --config config.yaml
evaluate:
python src/evaluate.py --config config.yamlKedja beroenden
Make-mål kan vara beroende av varandra, så att make train kör data först om det behövs. Därmed körs pipelinen alltid i rätt ordning.
train: data
python src/train.py --config config.yamlSätt ihop allt
En reproducerbar konfiguration består av en Pipeline som sparas med joblib, alla hyperparametrar i YAML, fixerade slumpfrön och en Makefile som tillhandahåller make data / train / evaluate. Vem som helst kan klona kodarkivet och återskapa exakt din modell.
Snabbtest
Testa dina kunskaper om reproducerbara pipelines.
Sammanfattning
Du byggde reproducerbara pipelines: en sklearn-Pipeline som sparas med joblib.dump/load, alla hyperparametrar i en YAML-konfiguration, fixerade slumpfrön och en Makefile med målen make data / train / evaluate. Nästa steg är att övervaka modeller i produktion.
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 53
- Lektioner
- 225
Vanliga frågor
Är lektionen ”Bygga reproducerbara ML-pipelines” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär Er AI med Python, inklusive ”Bygga reproducerbara ML-pipelines”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.
Vad lär jag mig i ”Bygga reproducerbara ML-pipelines”?
sklearn Pipeline, beständiggöra pipelines med joblib, parameteriserade körningar med konfigurationsfiler. Ni övar på Lär Er AI med Python med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Lär Er AI med Python?
Du behöver inga förkunskaper. Utbildningen i Lär Er AI med Python på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Bygga reproducerbara ML-pipelines”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Lär Er AI med Python-lektionen?
Ja. Varje Lär Er AI med Python-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Experimentuppföljning med MLflow
- Modellregister och versionshantering
- Bygga reproducerbara ML-pipelines
- Övervaka modellprestanda i produktion