ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Selecciona las columnas numéricas y filtra las filter_cols dadas 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].____)
Editar y ejecutar código