Lär Er AI med Python · Lektion

Bygga reproducerbara ML-pipelines

sklearn Pipeline, beständiggöra pipelines med joblib, parameteriserade körningar med konfigurationsfiler.

Lektion 3 av 413 steg

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: 42

Lä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.yaml

Kedja 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.yaml

Sä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.

Gratis att börja

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

  1. Experimentuppföljning med MLflow
  2. Modellregister och versionshantering
  3. Bygga reproducerbara ML-pipelines
  4. Övervaka modellprestanda i produktion
← Tillbaka till Lär Er AI med Python