Translate

Mostrando entradas con la etiqueta dataviz. Mostrar todas las entradas
Mostrando entradas con la etiqueta dataviz. Mostrar todas las entradas

viernes, 20 de enero de 2023

Framework para EDA y como automatizar en Python el análisis exploratorio

 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

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. 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. 2. Dataprep 
  3. 3. Sweetviz, que es más ligero de pandas profiling

Quiero saber más sobre EDA!!

lunes, 11 de mayo de 2020

Eligiendo como visualizar el análisis de datos en 🐍 Python para EDA usando pandas

Hace unos días, me di cuenta que necesitaba una forma de visualizar datos para Adhoc análisis y EDA.
Siempre he sido bastante reacia a perder el tiempo haciendo gráficos en matplotlib porque me parece muy complicado el disenno.

Pero, tras haber perdido parte del código que usaba en Python para hacer todo más rápido por no subirlo a Github, me he dado cuenta de que necesito esto.


Primero vamos a ver que tipo de librerias tenemos en Python que podemos usar en Jupyter Notebook

  • matplotlib
  • Seaborn
  • bokeh
  • plotly
  • cufflinks (plotly + pandas)


matplotlib

 Es la libreria por antonomasia para usar con Pandas.

Seaborn

Basada en matplotlib tiene automatizados muchos gráficos para hacerlos de forma más sencilla. La parte negativa es que no es interactiva

bokeh

La sintaxis y el modelo, no tiene nada que ver con las dos anteriores. Así que hay que aprenderla desde cero. Como puntos destacados puedes exportarse para usarse con JS y es interactiva, eso significa que puedes hacer dashboards con los que se pueden seleccionar variables por ejemplo.

plotly

Es una librería propietaria, pero permite hacer muchos gráficos. Tiene buena usabilidad, así que no necesitas aprender mucho código y la documentación es muy buena. Hay una versión de pago, así que no es totalmente libre. Sería como el debian de las librerias de visualización de datos en Python.

domingo, 15 de julio de 2018

Medir el performance de nuestros productos en Tableau con Bullet graphs

Este post ha estado 'on hold' por bastante tiempo y creo que puede ser útil en estos tiempos de crisis que se avecinan.

Uno de los gráficos más útiles que he encontrado para hacer los dashboards más fáciles de leer y que a la hora de hacer informes no tengas que usar varias páginas.

Si los gráficos de barras son tus favoritos, pero se te queden algo cortos a la hora de ponerle información (suelen quedar un poco sosos) y no sabes muy bien como . Tengo el inmenso placer de presentarte los Bullet graphs. Ah qué no lo conoces. Espera que te lo presento....

Lector del post - Bullet graph



Nada de darse la mano o dos besos a estas alturas. Por favor,mantengan las distancias. No es nada personal

Qué es un Bullet graph

Un Bullet graph, que se puede traducir como gráfico de Bala, (pero queda un poco raro...) es un gráfico de barras con contexto.

En performance nos puedes servir para olvidarnos de los gráficos de ´gauge´ que si, serán vistosos, pero no dan mucho contexto.

Estos gráficos son ideales para poner nuestros target en ellos para análisis de ventas o gastos.

Qué pinta tiene un Bullet graph 

Esta


Dónde puedo encontrar este gráfico en Tableau


El Bullet graph forma parte de Tableau desde hace mucho tiempo. Para poder utlizarlo necesitamos al menos dos métricas y por supuesto podemos poner además dimesiones. Ten en cuenta que las métricas tienen que estar en el mismo rango de datos.

En el panel

En qué otro software puedo encontrar este gráfico

Por ahora no podemos encontrar el gráfico en Data Studio, Excel u hojas de cálculo de Google Drive. Sin embargo hay varias librerías en diferentes lenguajes para visualizar este tipo de gráfico entre otras puedes hacer Bullet graphs con D3.js así

No me gusta este gráfico, qué otros puedo encontrar para visualizar el Performance de mi producto

Ok, si no te he convencido este no pasa nada. Existe dos tipos de gráficos que pueden cumplir la misma función . Radial gauge y Linear gauge. Tableau no cuenta con estos gráficos