Precauciones a la hora de normalizar datos en Data ScienceSantiago Morante 1 noviembre, 2018 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. Las 3 CulturasLUCA Talk: Roles profesionales en el mundo del Big Data
Alberto García García-Castro Incentivos en redes blockchain empresariales: un nuevo enfoque La importancia del uso de incentivos que premien la colaboración y las buenas prácticas de los participantes en una red blockchain siempre ha sido parte fundamental de la tecnología....
Pablo Salinero Ruiz AI of Things (VIII): segmentación y analítica para mejorar la experiencia de compra El auge del comercio electrónico, con las numerosas ventajas y comodidades que ofrece a los clientes, ha hecho que las tiendas físicas hayan visto reducida de forma significativa su...
Marta Mallavibarrena Inteligencia artificial: haciendo más reales las fake news Cómo usar la inteligencia artificial para crear una noticia totalmente falsa desde cero con el mínimo esfuerzo humano posible
Telefónica Tech ¿Es hora de empezar a plantar semillas digitales para el futuro? Preparar las operaciones empresariales para el futuro del trabajo es uno de los problemas que definen nuestra época. Las organizaciones de todo el mundo se encuentran ahora en una...
Álvaro Alegria Meunier Principales retos para la adopción del metaverso En un post anterior dedicado al metaverso explicaba en qué consiste el metaverso y veíamos qué oportunidades iba a ofrecer a las empresas. Hoy quiero compartir otros retos que, en...
Paloma Recuero de los Santos ¿Cómo hablar a los niños sobre la Inteligencia Artificial? Desde la conocida como “generación de los constructores”, los nacidos entre 1925 y 1944, a los pequeños “alfa”, los hijos de los “millenials”, la tecnología ha ido ganando terreno...
Buenas, no logro comprender porque se distorsionan las señales cuando realiza un escalado, tengo entendido que las distancias entre los puntos se mantienen (aplicando un factor de escala por supuesto), por eso no veo como pueden aparecer distintas modulaciones aplicando MIn y Max Responder