Scalare standard
Scalarea standard transformă caracteristicile numerice astfel încât să aibă media 0 și varianța 1. În acest exercițiu, vei aplica scalarea standard folosind StandardScaler() din sklearn. Mai întâi, vei selecta doar coloanele relevante pe care să aplici scalarea, printr-o combinație de filtrare a coloanelor numerice și cunoașterea structurii acestora. Această filtrare este deja furnizată și se realizează prin expresii regulate, care permit potriviri parțiale ale șirurilor de caractere. Apoi vei folosi fit_transform() pentru a transforma coloanele relevante.
Modulul pandas este disponibil ca pd în spațiul tău de lucru, iar DataFrame-ul de eșantion este încărcat ca df. În plus, coloana hour a fost deja convertită la tipul datetime, iar StandardScaler din sklearn.preprocessing este disponibil.
Acest exercițiu face parte din cursul
Predicția CTR cu Machine Learning în Python
Instrucțiuni pentru exercițiu
- Selectează coloanele numerice și filtrează
filter_colsfurnizat folosind.select_dtypes(). - Aplică scalarea standard coloanelor relevante creând mai întâi un obiect
StandardScaler(), apoi folosind.fit_transform(). - Afișează varianța coloanelor nou transformate cu ajutorul metodei
.var().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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].____)