Padronização (standard scaling)
A padronização (standard scaling) transforma recursos numéricos para terem média 0 e variância 1. Neste exercício, você fará a padronização usando StandardScaler() do sklearn. Primeiro, você vai selecionar apenas as colunas relevantes para aplicar a transformação, combinando um filtro para colunas numéricas com algum conhecimento sobre as colunas. Esse filtro já é fornecido e será feito com expressões regulares, o que permite correspondências parciais de strings. Em seguida, você usará fit_transform() para transformar as colunas relevantes.
O módulo pandas está disponível como pd no seu ambiente, e o DataFrame de amostra está carregado como df. Além disso, a coluna hour já foi convertida para datetime, e StandardScaler de sklearn.preprocessing está disponível.
Este exercício faz parte do curso
Prevendo CTR com Machine Learning em Python
Instruções do exercício
- Selecione as colunas numéricas e filtre as
filter_colsfornecidas usando.select_dtypes(). - Aplique a padronização às colunas relevantes, primeiro criando um
StandardScaler()e depois usando.fit_transform(). - Imprima a variância das colunas recém-transformadas usando
.var().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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].____)