Transformaties voor train en test (I)
Tot nu toe heb je scalers gemaakt op basis van één kolom en die scaler toegepast op dezelfde data waarop hij is getraind. Bij het bouwen van Machine Learning-modellen train je je modellen meestal op historische data (train set) en pas je het model toe op nieuwe, ongeziene data (test set). In zulke gevallen moet je ervoor zorgen dat op zowel de train- als testdata exact dezelfde schaling wordt toegepast.
In de praktijk doe je dit door de scaler te trainen op de train set en de getrainde scaler te bewaren om toe te passen op de test set. Je moet een scaler nooit opnieuw trainen op de test set.
Voor deze oefening en de volgende hebben we de DataFrame so_numeric_df gesplitst in een trainset (so_train_numeric) en een testset (so_test_numeric).
Deze oefening maakt deel uit van de cursus
Feature engineering voor Machine Learning in Python
Oefeninstructies
- Maak een instantie van
StandardScaler()alsSS_scaler. - Fit de
StandardScalerop de kolomAge. - Transformeer de kolom
Agein de testset (so_test_numeric).
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())