← Volver a Aprende con CDIA

Procesamiento de datosEscalado y normalización

IntermedioProcesamiento de datos7 min de lectura

Escalado y normalización

Poner variables de escalas dispares en pie de igualdad para que ninguna domine por su magnitud: estandarización (z-score) y normalización Min-Max.

Cuando unas variables van de 0 a 100 y otras de 0 a 1.000.000, muchos modelos se dejan dominar por la de números más grandes, sin importar si de verdad es más importante. Escalar pone todas las variables en un rango comparable, en pie de igualdad.

El problema: escalas dispares

Imagina predecir con dos variables: edad (0–80) e ingreso (0–1.000.000). Para un modelo que mide distancias, la diferencia de ingreso entre dos personas (miles) aplasta cualquier diferencia de edad (decenas). La edad queda invisible, no por ser irrelevante, sino por su escala.

Antes de escalar Después de escalar Edad Ingreso Edad Ingreso
Sin escalar, el ingreso domina por su magnitud; tras escalar, ambas variables pesan por igual y el modelo decide cuál importa.

Estandarización (z-score)

La más usada: a cada variable le resta su media y la divide por su desviación estándar . El resultado tiene media 0 y desviación 1.

Un valor de significa "dos desviaciones por encima del promedio", sin importar la unidad original.

Normalización Min-Max

Lleva cada variable al rango [0, 1], usando su mínimo y su máximo:

Útil cuando quieres un rango acotado (por ejemplo, entradas de una red neuronal o píxeles de imágenes). Su punto débil: es sensible a valores atípicos, que estiran el rango.

¿Qué modelos lo necesitan?

En código

El escalador se ajusta con el entrenamiento y se aplica a todo:

from sklearn.preprocessing import StandardScaler, MinMaxScaler

escalador = StandardScaler()
escalador.fit(X_train)             # aprende μ y σ SOLO del entrenamiento

X_train_esc = escalador.transform(X_train)
X_test_esc = escalador.transform(X_test)  # usa la μ y σ del entrenamiento

Meterlo dentro de un Pipeline garantiza que el escalado se recalcule bien en cada partición de la validación cruzada.

Para llevar

Escalar pone a todas las variables en un rango comparable para que ninguna domine por su magnitud. La estandarización (media 0, desviación 1) es la opción por defecto; la normalización Min-Max lleva a [0, 1] pero sufre con atípicos. Lo necesitan los modelos de distancias y gradientes; los árboles no. Y siempre: ajustar con el entrenamiento, aplicar al resto.