Skalowanie standardowe
Skalowanie standardowe przekształca cechy numeryczne tak, aby miały średnią równą 0 i wariancję równą 1. W tym ćwiczeniu wykonasz skalowanie standardowe za pomocą StandardScaler() z biblioteki sklearn. Najpierw wybierzesz tylko odpowiednie kolumny do skalowania – posłuży do tego kombinacja filtrowania kolumn numerycznych oraz wiedzy o strukturze danych. Filtrowanie jest już przygotowane i opiera się na wyrażeniach regularnych, które umożliwiają dopasowywanie częściowych ciągów znaków. Następnie użyjesz metody fit_transform(), aby przekształcić wybrane kolumny.
Moduł pandas jest dostępny jako pd, a przykładowy DataFrame załadowany jako df. Kolumna hour jest już skonwertowana do typu datetime, a StandardScaler z sklearn.preprocessing jest dostępny w środowisku.
To ćwiczenie jest częścią kursu
Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie
Instrukcje do ćwiczenia
- Wybierz kolumny numeryczne i przefiltruj podany
filter_colsza pomocą.select_dtypes(). - Zastosuj skalowanie standardowe do odpowiednich kolumn: najpierw utwórz obiekt
StandardScaler(), a następnie użyj metody.fit_transform(). - Wyświetl wariancję nowo przekształconych kolumn, korzystając z
.var().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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].____)