Está en la página 1de 3

Escrito por Santiago Morante, PhD, Científico de Datos en LUCA

Para que funcionen mejor muchos algoritmos de Machine Learning usados en Data Science, hay que normalizar
las variables de entrada al algoritmo. Normalizar significa, en este caso, comprimir o extender los valores de la
variable para que estén en un rango definido. Sin embargo, una mala aplicación de la normalización, o una
elección descuidada del método de normalización puede arruinar tus datos, y con ello tu análisis. Vamos a ver unos
ejemplos de los métodos de normalización más usados actualmente.

Escalado de variables (Feature Scaling o MinMax Scaler)

En este caso, cada entrada se normaliza entre unos límites definidos:

Figura 1: Fórmula normalización.

El problema de este tipo de normalizacion, es que comprime los datos de entrada entre unos límites empíricos (el
máximo y el mínimo de la variable). Esto quiere decir que si existe ruido, éste va a ser ampliado.

Pongamos por ejemplo que queremos analizar la calidad de la fibra óptica de 30 Mb/s de un hogar y para ello
medimos durante 50 días su velocidad de conexión.

Figura 2: Velocidad de conexión a lo largo de 50 días.

Parece una conexión bastante estable, ¿verdad?. Vamos a proceder a escalar esta variable en el rango 0-1,
usando como maximo y minimo los maximos y minimos de la señal.
Figura 4: Velocidad conexión /día en escala 0-1.

Después del escalado, nuestros datos se han distorsionado. Lo que era una conexión estable, ahora parece tener
muchas variaciones. Esto nos dice que este método de normalización no es adecuado para señales estables.

Escalado estándar (Standard Scaler)

Una alternativa al escalado de variables es usar otra técnica conocida como escalado estándar (a cada dato se le
resta la media de la variable y se le divide por la desviación típica).

Figura 5: Fórmula de escalado estándar.

Éste método funcionaría para normalizar la señal de la fibra óptica del ejemplo anterior, conservando su forma,
pero, ¿qué pasará con otras señales?. Los dos estadísticos que se usan (media y desviación típica) son muy
sensibles a valores anómalos (muy grandes o muy pequeños con respecto al resto).

Imaginemos otro ejemplo. Vamos a medir cuánto se usa la palabra “resaca” en publicaciones de Facebook (datos
reales). La frecuencia de uso de esta palabra tiene picos durante el fin de semana y valles entre semana. Los datos
tienen valores anormalmente altos en fiestas como Halloween y Navidad.

Figura 6: Número de veces que se usa la palabra “resaca” en Facebook/días.

Antes de normalizar, calculamos la media (5.55) y la desviación típica (10.53). Ya podemos ver que la media está
en torno a 5, cuando nuestros datos sin anomalias no pasan de valores en torno al 4 (mala señal). Si aplicamos
ahora la normalización estándar, tenemos lo siguiente.
Figura 7: La normalización estándar para los datos anteriores no es una buena elección.

Lo primero que vemos es que no hemos conseguido normalizar entre 0-1 con este método. Además ahora
tenemos valores negativos, cuando antes no los teníamos. Por si esto fuera poco, nuestros valores pico y valle han
quedado muy atenuados por culpa de las anomalías. Una solución a esto sería eliminar las anomalías antes de
normalizar (tema para otro post).

Análisis similares se puede hacer para otros métodos de normalización: escalar sobre máximo, normalizer,
escalado robusto, etc. Puedes consultar una versión extendida de este análisis en este enlace.

Cosas a recordar

La normalización puede (posiblemente [peligrosamente]) distorsionar tus datos

No existe un método ideal de normalización que funcione para todas las formas de variables. Es trabajo del Data
Scientist conocer cómo se distribuyen los datos, saber si existen anomalías, comprobar rangos, etc. Con este
conocimiento, se puede seleccionar la mejor técnica para no distorsionar los datos.

No te pierdas ninguno de nuestros post. Suscríbete a LUCA Data Speaks.

Para mantenerte al día con LUCA visita nuestra página web, y no olvides seguirnos en Twitter, LinkedIn y YouTube.

También podría gustarte