Transformations à l'entraînement et au test (I)
Jusqu'à maintenant, vous avez créé des normalisateurs à partir d'une colonne, puis vous les avez appliqués aux mêmes données que celles utilisées pour l'entraînement. En créant des modèles de Machine Learning, vous allez généralement bâtir vos modèles sur des données historiques (ensemble d'entraînement) et les appliquer à de nouvelles données jamais vues (ensemble de test). Dans ces cas, vous devez vous assurer que le même étalonnage est appliqué à la fois aux données d'entraînement et aux données de test.
Dans la pratique, vous entraînez le normalisateur sur l'ensemble d'entraînement et vous conservez ce normalisateur entraîné pour l'appliquer à l'ensemble de test. Vous ne devriez jamais réentraîner un normalisateur sur l'ensemble de test.
Pour cet exercice et le prochain, nous avons scindé le DataFrame so_numeric_df en ensembles d'entraînement (so_train_numeric) et de test (so_test_numeric).
Cette activité fait partie du cours
Ingénierie des caractéristiques pour le Machine Learning en Python
Instructions de l’exercice
- Instanciez
StandardScaler()sous le nomSS_scaler. - Ajustez le
StandardScalersur la colonneAge. - Transformez la colonne
Agedans l'ensemble de test (so_test_numeric).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import StandardScaler
from sklearn.preprocessing import StandardScaler
# Apply a standard scaler to the data
SS_scaler = ____
# Fit the standard scaler to the data
____
# Transform the test data using the fitted scaler
so_test_numeric['Age_ss'] = ____
print(so_test_numeric[['Age', 'Age_ss']].head())