Aan de slagBegin gratis

Je scalers schalen

In de vorige oefening hebben we één variabele met min-max geschaald. Stel dat je HEEL VEEL variabelen moet schalen; dan wil je niet voor elk honderden regels code schrijven. Laten we voortbouwen op de vorige oefening en er een functie van maken.

Deze oefening maakt deel uit van de cursus

Feature Engineering met PySpark

Bekijk cursus

Oefeninstructies

  • Definieer een functie min_max_scaler met als parameters df (een dataframe) en cols_to_scale (de lijst met kolommen om te schalen).
  • Gebruik een for-lus om door elke kolom in de lijst te gaan en voer min-max-scaling uit.
  • Retourneer de dataframe df met de nieuw toegevoegde kolommen.
  • Pas de functie min_max_scaler() toe op df en de lijst met kolommen cols_to_scale.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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 bewerken en uitvoeren