Lær AI med Python · leksjon

Bygge forhåndsbehandlingspipelines

sklearn Pipeline, ColumnTransformer og kombinasjon av transformatorer for ryddige arbeidsflyter for forhåndsbehandling.

Leksjon 4 av 413 trinn

Bygge forhåndsbehandlingspipelines er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 4 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 bruke pipelines?

En scikit-learn-Pipeline kobler forbehandlingstrinn og en modell sammen til ett objekt. Den sikrer at de samme transformasjonene brukes på trenings- og testdata, og hindrer datalekkasje og uoversiktlig kode.

En enkel pipeline

Pipeline tar imot en liste med tupler av typen (navn, trinn). Når du kaller fit, kjøres hvert trinn i rekkefølge. Det siste trinnet er vanligvis en estimator.

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

pipe = Pipeline([
    ("scale", StandardScaler()),
    ("model", LogisticRegression()),
])

fit og predict for hele pipelinen

Behandle pipelinen som én enkelt modell. fit lærer skaleringsparameterne OG trener modellen; predict bruker først skaleringen og deretter modellen, automatisk og konsekvent.

pipe.fit(X_train, y_train)
preds = pipe.predict(X_test)   # scaling applied automatically

Ingen lekkasje takket være utformingen

Siden pipelinen bare bruker fit på skaleren under fit (på treningsdata) og bare transformerer under predict, eliminerer den automatisk feilen med å bruke fit på testdata.

Blandede kolonnetyper

Virkelige datasett inneholder ofte både NUMERISKE og KATEGORISKE kolonner som trenger ulik forbehandling. ColumnTransformer bruker en forskjellig transformator på hvert delsett av kolonner.

ColumnTransformer

Oppgi tupler av typen (navn, transformator, kolonner). Numeriske kolonner skaleres, mens kategoriske kolonner one-hot-kodes, alt i ett trinn.

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder

pre = ColumnTransformer([
    ("num", StandardScaler(), ["age", "income"]),
    ("cat", OneHotEncoder(handle_unknown="ignore"), ["city"]),
])

Bygge inn i en komplett pipeline

Sett ColumnTransformer som det første trinnet i en Pipeline, etterfulgt av modellen, for å få en komplett arbeidsflyt uten lekkasje.

full = Pipeline([
    ("prep", pre),
    ("model", LogisticRegression()),
])
full.fit(X_train, y_train)

Håndtere manglende verdier i et trinn

Legg til en SimpleImputer i den numeriske grenen (ofte selv en liten pipeline) for å fylle inn manglende verdier før skalering, slik at alt forblir inne i pipelinen.

from sklearn.impute import SimpleImputer
num_pipe = Pipeline([
    ("impute", SimpleImputer(strategy="median")),
    ("scale", StandardScaler()),
])

fit_transform på treningsdata, transform på testdata

Den samme gullregelen gjelder for hele pipelinen: Den lærer alle parametere fra treningsdata under fit, og transformerer deretter bare testdata under predict eller transform.

full.fit(X_train, y_train)        # learns imputer, scaler, encoder, model
full.predict(X_test)              # transform-only path

Lagre en pipeline

Lagre hele den tilpassede pipelinen, både forbehandlingen og modellen, på disk med joblib. Når den lastes inn senere, brukes identisk forbehandling i produksjon, uten manuelle trinn som må gjenskapes.

import joblib
joblib.dump(full, "model.joblib")
loaded = joblib.load("model.joblib")
loaded.predict(X_new)   # same preprocessing guaranteed

Hvorfor dette er viktig i produksjon

En lagret pipeline betyr at modellen i produksjon forbehandler innkommende data NØYAKTIG på samme måte som under treningen. Denne konsistensen er det viktigste vernet mot feil som skyldes forskjeller mellom trening og kjøring.

Rask kontroll

Test kunnskapene dine om pipelines.

Oppsummering

Verktøykasse for pipelines:

  • Pipeline kobler forbehandling og modell sammen til ett objekt for fit/predict
  • Ingen lekkasje: Parametere læres under fit og brukes under predict
  • ColumnTransformer håndterer blandede numeriske og kategoriske kolonner
  • SimpleImputer håndterer manglende verdier inne i pipelinen
  • Lagre med joblib for konsekvent forbehandling 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 «Bygge forhåndsbehandlingspipelines» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Bygge forhåndsbehandlingspipelines», 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 «Bygge forhåndsbehandlingspipelines»?

sklearn Pipeline, ColumnTransformer og kombinasjon av transformatorer for ryddige arbeidsflyter for forhåndsbehandling. 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 4 av 4.

Hvor lang tid tar leksjonen «Bygge forhåndsbehandlingspipelines»?

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. Deteksjon og fjerning av uteliggere
  2. Koding av kategoriske variabler
  3. Skalering av egenskaper: normalisering og standardisering
  4. Bygge forhåndsbehandlingspipelines
← Tilbake til Lær AI med Python