Lær AI med Python · leksjon

Bygging av reproduserbare ML-pipelines

sklearn Pipeline, lagring av pipelines med joblib og parameteriserte kjøringer med konfigurasjonsfiler.

Leksjon 3 av 413 trinn

Bygging av reproduserbare ML-pipelines er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hvorfor reproduserbarhet?

Et resultat du ikke kan gjenskape, er ikke vitenskap, men flaks. Reproduserbare pipelines sørger for at de samme dataene og den samme konfigurasjonen alltid gir den samme modellen, noe som er avgjørende for feilsøking, revisjoner og samarbeid.

sklearn Pipeline

En scikit-learn-Pipeline kobler forbehandling og modellen sammen i ett objekt, slik at nøyaktig de samme transformasjonene som ble brukt under treningen, også brukes ved inferens. Dermed elimineres skjevhet mellom trening og levering.

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)

Lagre pipelinen som et artefakt

Fordi hele pipelinen er ett objekt, kan du lagre den som ett enkelt artefakt og laste den inn hvor som helst, med visshet om at forbehandlingen følger med modellen.

joblib.dump og load

joblib serialiserer scikit-learn-objekter effektivt (det håndterer store NumPy-tabeller bedre enn pickle). Lagre den tilpassede pipelinen, og last den deretter inn for levering.

import joblib

joblib.dump(pipe, "pipeline.joblib")        # save
loaded = joblib.load("pipeline.joblib")    # reload
preds = loaded.predict(X_new)

YAML-konfigurasjon for hyperparametere

Hardkodede verdier skjuler hva som ble brukt i en kjøring. Legg alle hyperparametere i en YAML-fil, slik at hver innstilling er tydelig, versjonskontrollert og kan endres uten at koden må redigeres.

# config.yaml
model:
  n_estimators: 200
  max_depth: 8
data:
  test_size: 0.2
  random_state: 42

Laste inn konfigurasjonen

Les YAML-filen én gang ved oppstart, og send verdiene inn i pipelinen, slik at én enkelt fil styrer hele kjøringen.

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"]
)

Fastsett random seeds

Reproduserbarhet krever også faste random seeds overalt: ved oppdeling i trenings- og testdata, ved initialisering av modellen og ved eventuell stokking. Lagre seed-verdien i YAML-konfigurasjonen, slik at den er tydelig og 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 for repeterbare trinn

En Makefile gjør hvert pipeline-trinn til et navngitt mål, slik at alle kan kjøre make train i stedet for å huske lange kommandoer. Dette standardiserer arbeidsflyten i hele teamet.

Definere Make-mål

Vanlige mål er make data, make train og make evaluate, der hvert mål kaller det tilsvarende skriptet.

# Makefile
data:
	python src/prepare_data.py

train:
	python src/train.py --config config.yaml

evaluate:
	python src/evaluate.py --config config.yaml

Koble sammen avhengigheter

Make-mål kan avhenge av hverandre, slik at make train kjører data først ved behov. Dermed kjører pipelinen alltid i riktig rekkefølge.

train: data
	python src/train.py --config config.yaml

Sette alt sammen

Et reproduserbart oppsett består av en Pipeline som lagres med joblib, alle hyperparametere i YAML, faste seed-verdier og en Makefile som tilbyr make data / train / evaluate. Alle kan klone repositoriet og gjenskape nøyaktig den samme modellen.

Hurtigsjekk

Test kunnskapene dine om reproduserbare pipelines.

Oppsummering

Du bygde reproduserbare pipelines: en sklearn-Pipeline som lagres med joblib.dump/load, alle hyperparametere i en YAML-konfigurasjon, faste random seeds og en Makefile med målene make data / train / evaluate. Neste tema er overvåking av modeller i produksjon.

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
53
Leksjoner
225

Ofte stilte spørsmål

Er leksjonen «Bygging av reproduserbare ML-pipelines» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Bygging av reproduserbare ML-pipelines», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bygging av reproduserbare ML-pipelines»?

sklearn Pipeline, lagring av pipelines med joblib og parameteriserte kjøringer med konfigurasjonsfiler. Du øver på Lær AI med Python med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Lær AI med Python?

Ingen tidligere erfaring er nødvendig. Lær AI med Python på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Bygging av reproduserbare ML-pipelines»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Lær AI med Python-leksjonen?

Ja. Alle Lær AI med Python-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Eksperimentsporing med MLflow
  2. Modellregister og versjonering
  3. Bygging av reproduserbare ML-pipelines
  4. Overvåking av modellens ytelse i produksjon
← Tilbake til Lær AI med Python