Transformacje na zbiorze treningowym i testowym (I)
Do tej pory tworzyłeś skalery na podstawie kolumny, a następnie stosowałeś je do tych samych danych, na których były trenowane. W przypadku budowania modeli uczenia maszynowego zazwyczaj trenuje się je na danych historycznych (zbiorze treningowym), a następnie stosuje do nowych, niewidzianych danych (zbiorze testowym). W takich sytuacjach należy zadbać o to, aby to samo skalowanie było stosowane zarówno do danych treningowych, jak i testowych.
W praktyce oznacza to, że skaler dopasowujesz na zbiorze treningowym, a następnie używasz go do transformacji zbioru testowego. Nigdy nie dopasowuj skalera ponownie na zbiorze testowym.
W tym ćwiczeniu i następnym ramka danych so_numeric_df jest podzielona na zbiór treningowy (so_train_numeric) i testowy (so_test_numeric).
To ćwiczenie jest częścią kursu
Inżynieria cech w uczeniu maszynowym w Pythonie
Instrukcje do ćwiczenia
- Utwórz instancję
StandardScaler()i przypisz ją do zmiennejSS_scaler. - Dopasuj
StandardScalerna kolumnieAge. - Zastosuj transformację na kolumnie
Agew zbiorze testowym (so_test_numeric).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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())