CommencezCommencez gratuitement

Normalisation standard

La normalisation standard transforme les caractéristiques numériques pour qu'elles aient une moyenne de 0 et une variance de 1. Dans cet exercice, vous allez effectuer une normalisation standard avec StandardScaler() de sklearn. Vous commencerez par ne sélectionner que les colonnes pertinentes sur lesquelles appliquer la normalisation, en combinant un filtrage des colonnes numériques avec certaines connaissances sur les colonnes. Ce filtrage est déjà fourni et s'effectuera à l'aide d'expressions régulières, ce qui permet de faire des correspondances partielles de chaînes. Vous utiliserez ensuite fit_transform() pour transformer les colonnes pertinentes.

Le module pandas est accessible sous pd dans votre environnement 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.

Cette activité fait partie du cours

Prédire le CTR avec le Machine Learning en Python

Voir le cours

Instructions de l’exercice

  • Sélectionnez les colonnes numériques et filtrez les filter_cols fournis à l'aide de .select_dtypes().
  • Appliquez la normalisation standard aux colonnes pertinentes en créant d'abord un StandardScaler(), puis en utilisant .fit_transform().
  • Affichez la variance des nouvelles colonnes transformées avec .var().

Exercice interactif pratique

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

# 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