Lær AI med Python · Lektion

Opbygning af preprocessing-pipelines

sklearn Pipeline, ColumnTransformer og kombination af transformere til rene preprocessing-workflows.

Lektion 4 af 413 trin

Opbygning af preprocessing-pipelines er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.

Hvorfor bruge behandlingskæder

En Pipeline i scikit-learn kæder forbehandlingstrin og en model sammen i ét objekt. Den garanterer, at de samme transformationer anvendes på trænings- og testdata, og forhindrer datalækage og uoverskuelig kode.

En grundlæggende behandlingskæde

Pipeline tager en liste med tupler af typen (navn, trin). Når du kalder fit, køres hvert trin i rækkefølge; det sidste trin er normalt 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 behandlingskæden

Behandl behandlingskæden som én samlet model. fit lærer skaleringens parametre OG træner modellen; predict anvender først skaleren og derefter modellen automatisk og ensartet.

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

Ingen datalækage efter design

Fordi behandlingskæden kun tilpasser skaleren under fit (på træningsdata) og blot transformer­er under predict, fjerner den automatisk fejlen med at bruge fit på testdata.

Blandede kolonnetyper

Virkelige datasæt indeholder både NUMERISKE og KATEGORISKE kolonner, som kræver forskellig forbehandling. ColumnTransformer anvender en forskellig behandlingsmetode på hver delmængde af kolonnerne.

ColumnTransformer

Angiv tupler af typen (navn, transformer, kolonner). Numeriske kolonner skaleres, og kategoriske kolonner one-hot-kodes, alt sammen i ét trin.

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

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

Indlejring i en komplet behandlingskæde

Placér ColumnTransformer som det første trin i en Pipeline, efterfulgt af modellen, for at få et komplet arbejdsforløb uden datalækage.

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

Håndtering af manglende værdier i et trin

Tilføj en SimpleImputer i den numeriske gren (ofte selv en lille behandlingskæde) for at udfylde manglende værdier før skalering, så alt forbliver inde i behandlingskæden.

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

fit_transform på træningsdata, transform på testdata

Den samme gyldne regel gælder for hele behandlingskæden: Den lærer alle parametre fra træningsdata under fit og transformer­er derefter kun testdata under predict eller transform.

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

Lagring af en behandlingskæde

Gem hele den tilpassede behandlingskæde, både forbehandling og model, på disken med joblib. Når du indlæser den senere, anvendes den samme forbehandling i produktionen uden manuelle trin, der skal genskabes.

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

Hvorfor det er vigtigt i produktion

En gemt behandlingskæde betyder, at den udrullede model forbehandler indkommende data PRÆCIS som under træningen. Denne ensartethed er det vigtigste værn mod fejl, hvor træning og levering bruger forskellige dataforarbejdninger.

Hurtigt tjek

Test din viden om behandlingskæder.

Opsummering

Værktøjer til behandlingskæder:

  • Pipeline kæder forbehandling og model sammen i ét objekt til fit/predict
  • Ingen datalækage: Parametre læres med fit og anvendes med predict
  • ColumnTransformer håndterer blandede numeriske og kategoriske kolonner
  • SimpleImputer håndterer manglende værdier inde i behandlingskæden
  • Gem med joblib for ensartet forbehandling i produktionen
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
53
Lektioner
225

Ofte stillede spørgsmål

Er lektionen “Opbygning af preprocessing-pipelines” gratis?

Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “Opbygning af preprocessing-pipelines”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Opbygning af preprocessing-pipelines”?

sklearn Pipeline, ColumnTransformer og kombination af transformere til rene preprocessing-workflows. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Lær AI med Python?

Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Opbygning af preprocessing-pipelines”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

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

Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Detektion og fjernelse af outliers
  2. Kodning af kategoriske variabler
  3. Feature-skalering: normalisering og standardisering
  4. Opbygning af preprocessing-pipelines
← Tilbage til Lær AI med Python