LoslegenKostenlos loslegen

Standardisierung

Bei der Standardisierung werden numerische Features so transformiert, dass sie einen Mittelwert von 0 und eine Varianz von 1 haben. In dieser Übung führst du die Standardisierung mit StandardScaler() aus sklearn durch. Zuerst wählst du nur die relevanten Spalten aus, auf die die Skalierung angewendet werden soll. Dafür kombinierst du das Filtern nach numerischen Spalten mit Wissen über die Spalten. Dieses Filtern ist bereits vorgegeben und wird mithilfe von regulären Ausdrücken durchgeführt, die partielle String-Übereinstimmungen erlauben. Anschließend verwendest du fit_transform(), um die relevanten Spalten zu transformieren.

Das pandas-Modul ist in deinem Workspace als pd verfügbar und das Beispiel-DataFrame ist als df geladen. Zusätzlich wurde die Spalte hour bereits in ein datetime konvertiert, und StandardScaler aus sklearn.preprocessing steht zur Verfügung.

Diese Übung ist Teil des Kurses

CTR-Vorhersage mit Machine Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Wähle die numerischen Spalten aus und filtere die gegebenen filter_cols mit .select_dtypes().
  • Wende die Standardisierung auf die relevanten Spalten an, indem du zuerst einen StandardScaler() erstellst und dann .fit_transform() verwendest.
  • Gib die Varianz der neu transformierten Spalten mit .var() aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Get non-categorical columns, with a filter
num_df = df.____(include=['int', 'float'])
filter_cols = ['click', 'banner_pos', 'device_type',
               'search_engine_type', 'product_type', 'advertiser_type']
new_df = num_df[num_df.columns[~num_df.columns.____(filter_cols)]]
num_cols = new_df.____

# Transform columns using StandardScaler
scaler = ____()
df[num_cols] = scaler.____(df[____])

# Print mean and variance of transformed columns
print(df[num_cols].mean())
print(df[num_cols].____)
Code bearbeiten und ausführen