Análisis de datos y modelos Machine Learning


Análisis exploratorio de datos, selección de características para mejores modelos de Machine Learning





Cuando se empieza a trabajar en un proyecto de aprendizaje automático (Machine Learning), un principio crítico a tener en cuenta es que los datos lo son todo. A menudo se dice que si el ML es el motor de un cohete, entonces el combustible son los datos (de alta calidad) alimentados a los algoritmos de ML.

Sin embargo, derivar la verdad y la perspicacia de un montón de datos puede ser un trabajo complicado y propenso a errores. Para tener un comienzo sólido en cualquier proyecto de ML, siempre ayuda analizar los datos por adelantado, una práctica que describe los datos por medio de técnicas estadísticas y de visualización para enfocar aspectos importantes de esos datos para su posterior análisis. 

Durante ese proceso, es importante que tener un profundo conocimiento de: 

  • Las propiedades de los datos, como el esquema y las propiedades estadísticas.
  • La calidad de los datos, como los valores perdidos y los tipos de datos inconsistentes.
  • El poder de predicción de los datos, como la correlación de los rasgos contra el objetivo.
Este proceso sienta las bases para los siguientes pasos de selección de características e ingeniería, y proporciona una base sólida para construir buenos modelos de ML.


Existen muchos enfoques diferentes para llevar a cabo el análisis exploratorio de datos (AED), por lo que puede ser difícil saber qué análisis hay que realizar y cómo hacerlo correctamente.

Para consolidar las recomendaciones sobre la realización de una AED adecuada, la limpieza de datos y la selección de características en los proyectos de ML, resumiremos y proporcionaremos una orientación concisa desde perspectivas tanto intuitivas (visualización) como rigurosas (estadísticas). Basándonos en los resultados del análisis, podremos determinar la selección de características y las recomendaciones de ingeniería correspondientes.

El AED, la selección de características y la ingeniería de características a menudo están unidas y son pasos importantes en el viaje hacia el ML. Con la complejidad de los datos y los problemas comerciales que existen hoy en día (como la puntuación del crédito en las finanzas y la previsión de la demanda en el comercio minorista), la forma en que los resultados de una EDA adecuada pueden influir en sus decisiones posteriores es una gran pregunta.

Análisis de datos estadísticos 

Con este tipo de análisis, la exploración de datos puede realizarse desde tres ángulos diferentes: descriptivo, de correlación y contextual.

Cada tipo introduce información complementaria sobre las propiedades y el poder de predicción de los datos, ayudándonos a tomar una decisión informada basada en el resultado del análisis.

1. Análisis descriptivo (análisis univariado)

El análisis descriptivo, o análisis univariado, permite comprender las características de cada atributo del conjunto de datos. También ofrece importantes pruebas para el preprocesamiento y la selección de características en una etapa posterior.

En el cuadro siguiente se enumeran los análisis sugeridos para los atributos que son comunes, numéricos, categóricos y textuales.




2. Análisis de correlación (análisis bivariado)

El análisis de correlación (o análisis bivariado) examina la relación entre dos atributos, por ejemplo X e Y, y examina si X e Y están correlacionados. Este análisis puede hacerse desde dos perspectivas para obtener varias combinaciones posibles:


  • Análisis cualitativo. En él se realiza el cálculo de las estadísticas descriptivas de los atributos numéricos/categóricos dependientes contra cada valor único del atributo categórico independiente. Esta perspectiva ayuda a comprender  la relación entre X e Y. Las visualizaciones se utilizan a menudo junto con el análisis cualitativo como una forma más intuitiva de presentar el resultado.




  • Análisis cuantitativo. Se trata de una prueba cuantitativa de la relación entre X e Y, basada en un marco de pruebas de hipótesis. Esta perspectiva proporciona una metodología formal y matemática para determinar cuantitativamente la existencia y/o la fuerza de la relación.




3. Análisis contextual

El análisis descriptivo y el análisis de correlación son ambos lo suficientemente genéricos como para realizarse en cualquier conjunto de datos estructurado, y ninguno de ellos requiere información de contexto.
Para comprender o perfilar mejor el conjunto de datos dado y obtener más conocimientos específicos del dominio, se puede utilizar uno de los dos análisis comunes basados en información de contexto:

  • Análisis basado en el tiempo: En muchos conjuntos de datos del mundo real, la marca de tiempo (o un atributo similar relacionado con el tiempo) es una de las piezas clave de la información contextual. Observar y/o comprender las características de los datos a lo largo de la dimensión temporal, con diversas granulometrías, es esencial para comprender el proceso de generación de datos y garantizar la calidad de los mismos

Esta figura muestra el promedio de viajes en tren por hora que se originan y terminan en un lugar determinado basándose en un conjunto de datos simulados.

  • Análisis basado en agentes: Como alternativa al tiempo, el otro atributo común es la identificación única (ID, como el ID de usuario) de cada registro. El análisis del conjunto de datos mediante la agregación a lo largo de la dimensión del agente, es decir, el histograma del número de registros por agente, puede ayudar aún más a mejorar su comprensión del conjunto de datos. 
Selección e ingeniería de las características 


El objetivo final de AED (ya sea riguroso o a través de la visualización) es proporcionar información sobre el conjunto de datos que estás estudiando. Esto puede inspirar su subsiguiente selección de características, ingeniería y proceso de construcción de modelos. 

El análisis descriptivo proporciona las estadísticas básicas de cada atributo del conjunto de datos. Esas estadísticas pueden ayudar a identificar las siguientes cuestiones:


  • Un alto porcentaje de los valores que faltan
  • Baja variabilidad de los atributos numéricos
  • Baja entropía de atributos categóricos
  • Desequilibrio del objetivo categórico (desequilibrio de clase)
  • Distribución sesgada de los atributos numéricos
  • Alta cardinalidad de atributos categóricos

El análisis de correlación examina la relación entre dos atributos. Hay dos puntos de acción típicos que se desencadenan por el análisis de correlación en el contexto de la selección de características o la ingeniería de características:

  • Baja correlación entre la característica y el objetivo
  • Alta correlación entre las características
Una vez que se han identificado los problemas, la siguiente tarea es tomar una decisión sólida sobre cómo mitigar adecuadamente estos problemas. Un ejemplo de ello es para "Alto porcentaje de valores perdidos". El problema identificado es que el atributo falta en una proporción significativa de los puntos de datos. El umbral o definición de "significativo" puede establecerse sobre la base del conocimiento del dominio. Hay dos opciones para manejar esto, dependiendo del escenario de negocios:

  1. Asignar un valor único a los registros de valores perdidos, si el valor perdido, en ciertos contextos, es realmente significativo. Por ejemplo, un valor omitido podría indicar que un proceso subyacente supervisado no funcionaba correctamente. 
  2. Descartar la característica si los valores faltan debido a una mala configuración, a problemas con la recopilación de datos o a razones aleatorias irrastreables, y los datos históricos no pueden ser reconstituidos. 

Una herramienta que te ayuda a automatizar

La AED automatizada de la herramienta incluye:
  • Análisis descriptivo de cada atributo en un conjunto de datos para numéricos, categóricos; 
  • Análisis de correlación de dos atributos (numérico vs numérico, numérico vs categórico y categórico vs categórico) mediante análisis cualitativo y/o cuantitativo.
Basándose en la AED realizada, la herramienta hace recomendaciones de características y genera un informe resumido, que se parece a esto:






Comentarios