CommencezCommencez gratuitement

Ajuster vos échelles

Dans l'exercice précédent, nous avons appliqué un min-max scaling à une seule variable. Supposez que vous ayez BEAUCOUP de variables à mettre à l'échelle : vous ne voulez pas des centaines de lignes de code pour chacune. Développons l'exercice précédent et transformons-le en fonction.

Cette activité fait partie du cours

Ingénierie des caractéristiques avec PySpark

Voir le cours

Instructions de l’exercice

  • Définissez une fonction appelée min_max_scaler qui prend les paramètres df, un dataframe, et cols_to_scale, la liste des colonnes à mettre à l'échelle.
  • Utilisez une boucle for pour parcourir chaque colonne de la liste et appliquer le min-max scaling.
  • Retournez le dataframe df avec les nouvelles colonnes ajoutées.
  • Appliquez la fonction min_max_scaler() à df et à la liste de colonnes cols_to_scale.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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()
Modifier et exécuter le code