Estandarización (standard scaling)
La estandarización transforma las variables numéricas para que tengan media 0 y varianza 1. En este ejercicio, harás una estandarización con StandardScaler() de sklearn. Primero, seleccionarás solo las columnas relevantes a las que aplicar la escala, combinando un filtrado de columnas numéricas con algo de conocimiento sobre las columnas. Este filtrado ya está proporcionado y se hará mediante expresiones regulares, lo que permite coincidencias parciales de cadenas. Después, usarás fit_transform() para transformar las columnas relevantes.
El módulo pandas está disponible como pd en tu espacio de trabajo y el DataFrame de muestra está cargado como df. Además, la columna hour ya está convertida a datetime, y StandardScaler de sklearn.preprocessing está disponible.
Este ejercicio forma parte del curso
Predicción del CTR con Machine Learning en Python
Instrucciones del ejercicio
- Selecciona las columnas numéricas y filtra las
filter_colsdadas usando.select_dtypes(). - Aplica la estandarización a las columnas relevantes creando primero un
StandardScaler()y luego usando.fit_transform(). - Imprime la varianza de las columnas recién transformadas con
.var().
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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].____)