Transformace trénovacích a testovacích dat (I)
Zatím jsi vytvářel/a scalery na základě sloupce a okamžitě je aplikoval/a na stejná data, na kterých byly natrénované. Při vytváření modelů strojového učení ale obvykle model trénuješ na historických datech (trénovací sada) a aplikuješ ho na nová, dosud neviděná data (testovací sada). V takovém případě je důležité zajistit, aby se stejné škálování použilo jak na trénovací, tak na testovací data.
V praxi to funguje tak, že scaler nafituješ na trénovací sadě a tento natrénovaný scaler pak použiješ i na testovací sadě. Scaler bys nikdy neměl/a znovu trénovat na testovacích datech.
Pro toto a následující cvičení jsme rozdělili DataFrame so_numeric_df na trénovací (so_train_numeric) a testovací (so_test_numeric) sadu.
Toto cvičení je součástí kurzu
Feature Engineering for Machine Learning in Python
Pokyny k cvičení
- Vytvoř instanci
StandardScaler()a ulož ji do proměnnéSS_scaler. - Nafituj
StandardScalerna sloupciAge. - Transformuj sloupec
Agev testovací sadě (so_test_numeric).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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())