IniziaInizia gratis

Standard scaling

Lo standard scaling trasforma le variabili numeriche in modo che abbiano media 0 e varianza 1. In questo esercizio eseguirai lo standard scaling usando StandardScaler() di sklearn. Per prima cosa selezionerai solo le colonne rilevanti su cui applicare lo scaling, combinando il filtraggio per colonne numeriche con alcune conoscenze delle colonne. Questo filtraggio è già fornito e verrà eseguito tramite espressioni regolari, che permettono corrispondenze parziali di stringhe. Poi userai fit_transform() per trasformare le colonne rilevanti.

Il modulo pandas è disponibile come pd nel tuo workspace e il DataFrame di esempio è caricato come df. Inoltre, la colonna hour è già convertita in datetime e StandardScaler da sklearn.preprocessing è disponibile.

Questo esercizio fa parte del corso

Prevedere il CTR con il Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Seleziona le colonne numeriche e filtra le filter_cols fornite usando .select_dtypes().
  • Applica lo standard scaling alle colonne rilevanti creando prima un StandardScaler() e poi usando .fit_transform().
  • Stampa la varianza delle nuove colonne trasformate usando .var().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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].____)
Modifica ed esegui il codice