Bygga pipelines för förbehandling
sklearn Pipeline, ColumnTransformer och hur transformatorer kombineras i rena arbetsflöden för förbehandling.
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 automaticallyInget 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 pathSpara 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 guaranteedVarfö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:
Pipelinelänkar samman förbehandling och modell till ett enda fit/predict-objekt- Inget data leakage: parametrar lärs in med
fitoch tillämpas medpredict ColumnTransformerhanterar blandade numeriska och kategoriska kolumnerSimpleImputerhanterar saknade värden inuti pipelinen- Spara med
joblibför konsekvent förbehandling i produktion
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
- Detektera och ta bort avvikare
- Koda kategoriska variabler
- Feature-skalning: normalisering och standardisering
- Bygga pipelines för förbehandling