Standardní škálování
Standardní škálování transformuje numerické příznaky tak, aby měly průměr 0 a rozptyl 1. V tomto cvičení provedeš standardní škálování pomocí StandardScaler() z knihovny sklearn. Nejprve vybereš pouze relevantní sloupce, na které škálování aplikuješ – a to kombinací filtrování numerických sloupců a znalosti struktury dat. Toto filtrování je již připraveno a probíhá prostřednictvím regulárních výrazů, které umožňují částečné shody řetězců. Poté použiješ fit_transform() k transformaci příslušných sloupců.
Modul pandas je dostupný jako pd a vzorový DataFrame je načtený jako df. Sloupec hour je již převeden na typ datetime a StandardScaler z sklearn.preprocessing je k dispozici.
Toto cvičení je součástí kurzu
Předpovídání CTR pomocí Machine Learning v Pythonu
Pokyny k cvičení
- Vyber numerické sloupce a filtruj zadané
filter_colspomocí.select_dtypes(). - Aplikuj standardní škálování na relevantní sloupce: nejprve vytvoř
StandardScaler()a poté použij.fit_transform(). - Vypiš rozptyl nově transformovaných sloupců pomocí
.var().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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].____)