Inizia subitoInizia gratis

Dare la giusta scala agli scaler

Nel precedente esercizio abbiamo applicato il min-max scaling a una singola variabile. Se invece hai MOLTE variabili da scalare, non vorrai scrivere centinaia di righe di codice per ognuna. Estendiamo l'esercizio precedente e trasformiamolo in una funzione.

Questo esercizio fa parte del corso

Feature Engineering con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Definisci una funzione chiamata min_max_scaler che accetta come parametri df, un dataframe, e cols_to_scale, la lista di colonne da scalare.
  • Usa un ciclo for per iterare su ciascuna colonna della lista ed eseguire il min-max scaling.
  • Restituisci il dataframe df con le nuove colonne aggiunte.
  • Applica la funzione min_max_scaler() a df e alla lista di colonne cols_to_scale.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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()
Modifica ed esegui il codice