Transformationen für Training und Test (I)
Bisher hast du Scaler auf Basis einer Spalte erstellt und den Scaler dann auf dieselben Daten angewendet, auf denen er trainiert wurde. Beim Erstellen von Machine-Learning-Modellen trainierst du deine Modelle in der Regel auf historischen Daten (Trainingsset) und wendest dein Modell auf neue, unbekannte Daten an (Testset). In diesen Fällen musst du sicherstellen, dass auf Training und Test dieselbe Skalierung angewendet wird.
In der Praxis trainierst du dazu den Scaler auf dem Trainingsset und behältst den trainierten Scaler bei, um ihn auf das Testset anzuwenden. Du solltest einen Scaler niemals auf dem Testset neu trainieren.
Für diese und die nächste Übung haben wir das DataFrame so_numeric_df in Trainings- (so_train_numeric) und Testdaten (so_test_numeric) aufgeteilt.
Diese Übung ist Teil des Kurses
Feature Engineering für Machine Learning in Python
Anleitung zur Übung
- Instanziiere
StandardScaler()alsSS_scaler. - Fitte den
StandardScalerauf der SpalteAge. - Transformiere die Spalte
Ageim Testset (so_test_numeric).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import StandardScaler
from sklearn.preprocessing import StandardScaler
# Apply a standard scaler to the data
SS_scaler = ____
# Fit the standard scaler to the data
____
# Transform the test data using the fitted scaler
so_test_numeric['Age_ss'] = ____
print(so_test_numeric[['Age', 'Age_ss']].head())