Lär Er AI med Python · Lektion

Bygga pipelines för förbehandling

sklearn Pipeline, ColumnTransformer och hur transformatorer kombineras i rena arbetsflöden för förbehandling.

Lektion 4 av 413 steg

Bygga pipelines för förbehandling är en gratis lektion i Lär Er AI med Python på CoddyKit. Detta är lektion 4 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 använda pipelines?

En scikit-learn-Pipeline länkar samman förbehandlingssteg och en modell till ett enda objekt. Den garanterar att samma transformeringar används på tränings- och testdata, vilket förhindrar data leakage och rörig kod.

En grundläggande pipeline

Pipeline tar emot en lista med tupler av typen (namn, steg). När du anropar fit körs varje steg i ordning; det sista steget är vanligtvis en estimator.

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

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

Träna och prediktera med hela pipelinen

Behandla pipelinen som en enda modell. fit lär sig skalningsparametrarna OCH tränar modellen; predict tillämpar först skalningen och sedan modellen, automatiskt och konsekvent.

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

Inget data leakage genom konstruktion

Eftersom pipelinen bara kör fit på skalningsobjektet under fit (på träningsdata) och endast transformerar under predict, eliminerar den automatiskt misstaget att köra fit på testdata.

Blandade kolumntyper

Verkliga datamängder innehåller både NUMERISKA och KATEGORISKA kolumner som behöver olika förbehandling. ColumnTransformer tillämpar en separat transformerare på varje delmängd av kolumner.

ColumnTransformer

Ange tupler av typen (namn, transformerare, kolumner). Numeriska kolumner skalas och kategoriska kolumner one-hot-kodas, allt i ett enda steg.

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

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

Inbäddning i en fullständig pipeline

Placera ColumnTransformer som det första steget i en Pipeline och modellen därefter, så får du ett komplett arbetsflöde utan data leakage.

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

Hantera saknade värden i ett steg

Lägg till en SimpleImputer i den numeriska grenen (ofta själv en liten pipeline) för att fylla i saknade värden före skalningen. Då hålls allt inuti pipelinen.

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

fit_transform på träningsdata, transform på testdata

Samma gyllene regel gäller för hela pipelinen: den lär sig alla parametrar från träningsdata under fit och transformerar sedan endast testdata under predict eller transform.

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

Spara en pipeline

Spara hela den tränade pipelinen, inklusive förbehandling och modell, på disk med joblib. När den läses in senare tillämpas identisk förbehandling i produktion, utan manuella steg som måste återskapas.

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

Varför detta är viktigt i produktion

En sparad pipeline innebär att den driftsatta modellen förbehandlar inkommande data EXAKT som under träningen. Denna konsekvens är det viktigaste skyddet mot buggar orsakade av train/serve skew.

Snabbtest

Testa dina kunskaper om pipelines.

Repetition

Verktygslåda för pipelines:

  • Pipeline länkar samman förbehandling och modell till ett enda fit/predict-objekt
  • Inget data leakage: parametrar lärs in med fit och tillämpas med predict
  • ColumnTransformer hanterar blandade numeriska och kategoriska kolumner
  • SimpleImputer hanterar saknade värden inuti pipelinen
  • Spara med joblib för konsekvent förbehandling 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 pipelines för förbehandling” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär Er AI med Python, inklusive ”Bygga pipelines för förbehandling”, 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 pipelines för förbehandling”?

sklearn Pipeline, ColumnTransformer och hur transformatorer kombineras i rena arbetsflöden för förbehandling. 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 4 av 4.

Hur lång tid tar lektionen ”Bygga pipelines för förbehandling”?

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. Detektera och ta bort avvikare
  2. Koda kategoriska variabler
  3. Feature-skalning: normalisering och standardisering
  4. Bygga pipelines för förbehandling
← Tillbaka till Lär Er AI med Python