LoslegenKostenlos starten

Scaler skalieren

In der vorherigen Übung haben wir eine einzelne Variable mit Min-Max skaliert. Angenommen, du hast VIELE Variablen zu skalieren – dann willst du nicht für jede hunderte Zeilen Code schreiben. Lass uns die vorherige Übung erweitern und daraus eine Funktion machen.

Diese Übung ist Teil des Kurses

<Kurs>Feature Engineering mit PySpark</Kurs>
Kurs ansehen

Übungsanweisungen

  • Definiere eine Funktion namens min_max_scaler, die die Parameter df (ein DataFrame) und cols_to_scale (die Liste der zu skalierenden Spalten) entgegennimmt.
  • Verwende eine for-Schleife, um durch jede Spalte in der Liste zu iterieren und sie per Min-Max-Skalierung zu skalieren.
  • Gib das DataFrame df mit den neuen Spalten zurück.
  • Wende die Funktion min_max_scaler() auf df und die Spaltenliste cols_to_scale an.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

def ____(____, ____):
  # Takes a dataframe and list of columns to minmax scale. Returns a dataframe.
  for col in ____:
    # Define min and max values and collect them
    max_days = df.agg({col: 'max'}).collect()[0][0]
    min_days = df.agg({____: 'min'}).collect()[0][0]
    new_column_name = 'scaled_' + col
    # Create a new column based off the scaled data
    df = df.withColumn(____, 
                      (df[____] - min_days) / (max_days - min_days))
  return ____
  
df = min_max_scaler(____, ____)
# Show that our data is now between 0 and 1
df[['DAYSONMARKET', 'scaled_DAYSONMARKET']].show()
Code bearbeiten und ausführen