Vorverarbeitungspipelines erstellen
sklearn Pipeline, ColumnTransformer und Transformer für saubere Vorverarbeitungs-Workflows kombinieren.
Vorverarbeitungspipelines erstellen ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Warum Pipelines?
Eine scikit-learn-Pipeline verbindet Vorverarbeitungsschritte und ein Modell zu einem einzigen Objekt. Sie stellt sicher, dass dieselben Transformationen auf Trainings- und Testdaten angewendet werden, und verhindert Data Leakage sowie unübersichtlichen Code.
Eine einfache Pipeline
Pipeline erwartet eine Liste von Tupeln der Form (Name, Schritt). Der Aufruf von fit führt jeden Schritt der Reihe nach aus; der letzte Schritt ist normalerweise ein Schätzer.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
pipe = Pipeline([
("scale", StandardScaler()),
("model", LogisticRegression()),
])fit und predict für die gesamte Pipeline
Behandeln Sie die Pipeline wie ein einzelnes Modell. fit lernt den Skalierer UND trainiert das Modell; predict wendet automatisch und konsistent zuerst den Skalierer und anschließend das Modell an.
pipe.fit(X_train, y_train)
preds = pipe.predict(X_test) # scaling applied automaticallyKein Leakage dank des Designs
Da die Pipeline den Skalierer nur während fit (auf Trainingsdaten) anpasst und während predict lediglich die Transformation ausführt, verhindert sie den Fehler, auf Testdaten zu fitten, automatisch.
Gemischte Spaltentypen
Reale Datensätze enthalten sowohl NUMERISCHE als auch KATEGORIALE Spalten, die unterschiedlich vorverarbeitet werden müssen. ColumnTransformer wendet auf jede Spaltengruppe einen anderen Transformer an.
ColumnTransformer
Übergeben Sie Tupel der Form (Name, Transformer, Spalten). Numerische Spalten werden skaliert, kategoriale Spalten One-Hot-kodiert – alles in einem Schritt.
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
pre = ColumnTransformer([
("num", StandardScaler(), ["age", "income"]),
("cat", OneHotEncoder(handle_unknown="ignore"), ["city"]),
])Verschachtelung in einer vollständigen Pipeline
Setzen Sie den ColumnTransformer als ersten Schritt einer Pipeline ein und fügen Sie anschließend das Modell hinzu. So entsteht ein vollständiger Workflow ohne Leakage.
full = Pipeline([
("prep", pre),
("model", LogisticRegression()),
])
full.fit(X_train, y_train)Fehlende Werte in einem Schritt behandeln
Fügen Sie einen SimpleImputer in den numerischen Zweig ein (oft selbst eine kleine Pipeline), um fehlende Werte vor der Skalierung zu ersetzen und alles innerhalb der Pipeline zu halten.
from sklearn.impute import SimpleImputer
num_pipe = Pipeline([
("impute", SimpleImputer(strategy="median")),
("scale", StandardScaler()),
])fit_transform für Training, transform für Test
Dieselbe goldene Regel gilt für die gesamte Pipeline: Sie lernt während fit alle Parameter aus den Trainingsdaten und transformiert Testdaten während predict oder transform ausschließlich mit diesen Parametern.
full.fit(X_train, y_train) # learns imputer, scaler, encoder, model
full.predict(X_test) # transform-only pathEine Pipeline speichern
Speichern Sie die vollständig angepasste Pipeline – Vorverarbeitung und Modell – mit joblib auf der Festplatte. Beim späteren Laden wird in der Produktion automatisch dieselbe Vorverarbeitung angewendet, ohne dass manuelle Schritte reproduziert werden müssen.
import joblib
joblib.dump(full, "model.joblib")
loaded = joblib.load("model.joblib")
loaded.predict(X_new) # same preprocessing guaranteedWarum das in der Produktion wichtig ist
Eine gespeicherte Pipeline bedeutet, dass das bereitgestellte Modell eingehende Daten EXAKT wie beim Training vorverarbeitet. Diese Konsistenz ist der wichtigste Schutz vor Fehlern durch Abweichungen zwischen Training und Bereitstellung.
Kurze Überprüfung
Testen Sie Ihr Wissen über Pipelines.
Zusammenfassung
Werkzeuge für Pipelines:
Pipelineverbindet Vorverarbeitung und Modell zu einem gemeinsamen Objekt für fit/predict- Kein Leakage: Parameter werden mit
fitgelernt und mitpredictangewendet ColumnTransformerverarbeitet gemischte numerische und kategoriale SpaltenSimpleImputerfür fehlende Werte innerhalb der Pipeline- Mit
joblibspeichern, um eine konsistente Vorverarbeitung in der Produktion sicherzustellen
Häufig gestellte Fragen
Ist die Lektion „Vorverarbeitungspipelines erstellen“ kostenlos?
Ja — der vollständige Text von „Vorverarbeitungspipelines erstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Vorverarbeitungspipelines erstellen“?
sklearn Pipeline, ColumnTransformer und Transformer für saubere Vorverarbeitungs-Workflows kombinieren. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Vorverarbeitungspipelines erstellen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Ausreißer erkennen und entfernen
- Kategorische Variablen codieren
- Feature-Skalierung: Normalisierung und Standardisierung
- Vorverarbeitungspipelines erstellen