Was ist eine Pipeline
Swipe um das Menü anzuzeigen
In der vorherigen Sektion wurden drei Vorverarbeitungsschritte durchgeführt: Imputation, Kodierung und Skalierung.
Die Vorverarbeitungsschritte wurden nacheinander angewendet, indem bestimmte Spalten transformiert und anschließend wieder in das X-Array eingefügt wurden. Dieser Ansatz kann umständlich sein, insbesondere mit dem OneHotEncoder, der die Anzahl der Spalten verändert.
Ein weiterer Nachteil ist, dass alle neuen Daten, die für Vorhersagen verwendet werden, denselben Ablauf der Transformationen durchlaufen müssen, was eine Wiederholung des gesamten Prozesses erfordert.
Die Pipeline-Klasse in Scikit-learn vereinfacht dies, indem sie alle Transformationen in einen einzigen Workflow zusammenfasst. Dadurch wird es einfacher, die Vorverarbeitung sowohl auf Trainingsdaten als auch auf neue Instanzen konsistent anzuwenden.
Ein Pipeline dient als Container für eine Abfolge von Transformatoren und schließlich einen Schätzer. Wenn die Methode .fit_transform() auf einem Pipeline aufgerufen wird, wird die Methode .fit_transform() jedes einzelnen Transformators nacheinander auf die Daten angewendet.
# Create a pipeline with three steps: imputation, one-hot encoding, and scaling
pipeline = Pipeline([
('imputer', SimpleImputer(strategy='most_frequent')), # Step 1: Impute missing values
('encoder', OneHotEncoder()), # Step 2: Convert categorical data
('scaler', StandardScaler()) # Step 3: Scale the data
])
# Fit and transform the data using the pipeline
X_transformed = pipeline.fit_transform(X)
Dieser effiziente Ansatz bedeutet, dass .fit_transform() nur einmal auf den Trainingssatz angewendet werden muss und anschließend die Methode .transform() zur Verarbeitung neuer Instanzen verwendet werden kann.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen