Opbygning af preprocessing-pipelines
sklearn Pipeline, ColumnTransformer og kombination af transformere til rene preprocessing-workflows.
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 automaticallyIngen datalækage efter design
Fordi behandlingskæden kun tilpasser skaleren under fit (på træningsdata) og blot transformerer 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 transformerer derefter kun testdata under predict eller transform.
full.fit(X_train, y_train) # learns imputer, scaler, encoder, model
full.predict(X_test) # transform-only pathLagring 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 guaranteedHvorfor 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:
Pipelinekæder forbehandling og model sammen i ét objekt til fit/predict- Ingen datalækage: Parametre læres med
fitog anvendes medpredict ColumnTransformerhåndterer blandede numeriske og kategoriske kolonnerSimpleImputerhåndterer manglende værdier inde i behandlingskæden- Gem med
joblibfor ensartet forbehandling i produktionen
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
- Detektion og fjernelse af outliers
- Kodning af kategoriske variabler
- Feature-skalering: normalisering og standardisering
- Opbygning af preprocessing-pipelines