Antes de ponernos a hacer algún modelo o análisis y más allá de las herramientas que vamos a utilizar nos va a tocar familiarizarnos con los datos y ver que tipo de modificiones debemos hacerle antes de tenerlos listos
Para ello existe un tipo de análisis EDA: Análisis de datos exploratorio.
Lo que podemos definir que entra dentro de este análisis va a depender de las necesidades del dataset y de las preguntas que tenga el negocio, Lo que si es cierto es que una vez hecho uno, podemos reutiliar formulas para aplicarlo al resto de análisis.Sobre todo la parte de visualización
Así que podemos definir un framework para transformar esos datos
Lo que podemos definir que entra dentro de este análisis va a depender de las necesidades del dataset y de las preguntas que tenga el negocio, Lo que si es cierto es que una vez hecho uno, podemos reutiliar formulas para aplicarlo al resto de análisis.Sobre todo la parte de visualización
Así que podemos definir un framework para transformar esos datos
Framework para realizar el análisis exploratorio
Podemos así ver 5 fases que pueden ser iterativas:
Data Sourcing
De dónde vienen los datos, tenemos que modificar el tipo de variable o la codificación?
Data Cleaning
Existen valores nulos? Debemos eliminar valores atípicos, valores duplicados.
Univariate analysis
Cómo se distribuye cada una de las variables? Valores máximos y mínimos, ...
Bivariate analysis
Existe correlación entre dos variables. Una variabe ayuda a predecir a la otra?
Multivariate analysis
Y cómo se comportan estas variables en su conjunto? Podemos añadir nuevas variables a partir de las que ya tenemos?
Automatización del análisis exploratorio en Python
Pues visto así esto nos puedo llevar bastante tiempo, pero se irá una inversión a medio plazo. Como comentaba más arriba gran parte del análisis exploratorio para el análisis de datos se puede automatizar.
df.describe()
Y sobre todo visualizando las variables usando numpy y pandas con seaborn
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
Librerias para la automatización del EDA en Python
Hasta la fecha ya tengo en mi bookmark tres librerias que automatizan esta parte. Sobre todo a mi me parece útil para hacer visualización tras transformar datos o creas nuevos. Estas librerias también se puede utulizar para comparar los datos que tenemos en nuestros train dataset de forma muy rápida.
Las tres librerias que comento aquí hacen uso de tan sólo 2-3 líneas de comando.
Por mi orden de preferencia:
- 1. Pandas profiling, que nos da un informe de spoiler como este. Aunque los comandos avanzados no son muy avanzados, aquí tienes como instalar esta librería en Python
- 2. Dataprep
- 3. Sweetviz, que es más ligero de pandas profiling