CommencerCommencer gratuitement

Standard scaling

La standardisation transforme les variables numériques pour qu’elles aient une moyenne de 0 et une variance de 1. Dans cet exercice, vous allez effectuer une standardisation avec StandardScaler() de sklearn. Vous commencerez par sélectionner uniquement les colonnes pertinentes sur lesquelles appliquer la mise à l’échelle, en combinant un filtrage des colonnes numériques avec votre connaissance des colonnes. Ce filtrage est déjà fourni et sera réalisé à l’aide d’expressions régulières, qui permettent des correspondances partielles sur les chaînes. Vous utiliserez ensuite fit_transform() pour transformer les colonnes pertinentes.

Le module pandas est disponible sous pd dans votre espace de travail et le DataFrame d’exemple est chargé sous df. De plus, la colonne hour est déjà convertie en datetime, et StandardScaler de sklearn.preprocessing est disponible.

Cet exercice fait partie du cours

Prédire le CTR avec le Machine Learning en Python

Afficher le cours

Instructions

  • Sélectionnez les colonnes numériques et filtrez les filter_cols donnés en utilisant .select_dtypes().
  • Appliquez la standardisation aux colonnes pertinentes en créant d’abord un StandardScaler() puis en utilisant .fit_transform().
  • Affichez la variance des colonnes nouvellement transformées avec .var().

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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].____)
Modifier et exécuter le code