Comprendiendo los gráficos de mosaico
Understanding mosaic plots
PYTHON | DATOS | VISUALIZACIÓN
Una guía completa para trazar conjuntos de datos multivariables de manera efectiva utilizando Statsmodels y Matplotlib
Vivimos en un mundo inundado de datos, un mar de números que se expande constantemente. Pero en ese mar, hay perlas preciosas de ideas esperando ser descubiertas.
¿La clave para encontrar estas perlas? La visualización de datos, el proceso de tomar datos crudos y presentarlos de manera visualmente digerible que sea más fácil de entender e interpretar.
Con la visualización de datos, estás dando vida a esos números crudos, transformándolos en una forma que revela patrones ocultos, tendencias subyacentes y conexiones cruciales que de otra manera el conjunto de datos podría ocultar.
Entre el arsenal de herramientas a nuestra disposición para la visualización de datos, está el famoso Matplotlib.
Esta poderosa biblioteca de Python es versátil y robusta.
- Rendered.ai integra NVIDIA Omniverse para la generación de datos si...
- Documentación de datos 101 ¿Por qué? ¿Cómo? ¿Para quién?
- Diario de un ingeniero de búsqueda en el sitio Enfrentando desafíos...
Oculto dentro de las habilidades de Matplotlib hay una joya que es posible que no hayas descubierto antes: el gráfico de mosaico.
Estos gráficos ofrecen una forma poderosa de visualizar datos categóricos en múltiples dimensiones.
Imagina poder tener una vista panorámica de tus datos y entender cómo interactúan e intersectan diferentes variables. Los gráficos de mosaico te permiten hacer precisamente eso, presentando relaciones complejas de una manera sencilla y visualmente atractiva.
Ya sea descubriendo segmentos de clientes, entendiendo el comportamiento del usuario o descubriendo tendencias demográficas, los gráficos de mosaico son una herramienta fantástica para que los investigadores y científicos de datos tengan a su disposición.
En este artículo, hablaremos sobre el mundo de los gráficos de mosaico. Repasaremos el proceso de creación de gráficos de mosaico en Matplotlib y también discutiremos cómo podemos interpretarlos, lo que te dará una ventaja adicional en tu conjunto de herramientas de visualización de datos.
Comprendiendo los gráficos de mosaico
Comencemos comparando un gráfico de mosaico con un tapiz de algún tipo. Cada segmento intrincado representa una categoría única dentro de tus datos, y el tamaño del segmento refleja la frecuencia de esa categoría en particular.
Así, el tapiz funciona como un gráfico de mosaico, ofreciendo una representación visual que facilita la comprensión de las interacciones entre varias variables categóricas.
El aspecto único de los gráficos de mosaico es su capacidad para manejar simultáneamente múltiples dimensiones. Imagínalo como examinar un cubo de Rubik de datos vibrante en colores.
Desde una perspectiva externa, se puede observar cómo se conectan y mezclan categorías dispares (o colores, siguiendo nuestra metáfora del cubo de Rubik).
Considera, ¿dónde podrías emplear estos gráficos?
Imagina que trabajas para una plataforma de streaming como Netflix, encargado de entender la interacción entre diversos grupos de edad, géneros y diversos géneros. Aquí, un gráfico de mosaico brilla. Presenta una delimitación visual de la frecuencia con la que, por ejemplo, las mujeres de 18-25 años se involucran con la comedia, en contraste con los hombres en el mismo grupo de edad, o la propensión del grupo de edad de 35-45 años hacia los thrillers.
Los gráficos de mosaico ofrecen numerosas ventajas.
- Son eficientes en el manejo de datos categóricos en múltiples dimensiones, entregando una perspectiva panorámica de tus datos.
- Su intuitiva codificación de colores mejora su atractivo visual, acelerando la interpretación y facilitando la toma de decisiones rápidas.
- Descubren patrones y relaciones que de otra manera permanecerían ocultos en una tabla de datos crudos.
Sin embargo, es vital ser consciente de sus limitaciones.
- Los gráficos de mosaico pueden volverse rápidamente intrincados si el número de categorías es demasiado alto o si las categorías demuestran una distribución uniforme.
- Exhiben limitaciones al tratar datos cuantitativos y pueden no ser la elección ideal cuando se requieren comparaciones numéricas precisas.
A pesar de estas restricciones, los gráficos de mosaico siguen siendo un instrumento esencial en el arsenal de la visualización de datos.
Tienen la capacidad de convertir una tabla aburrida de cifras en una representación dinámica de tendencias y relaciones.
Por lo tanto, cuando se enfrenten a un conjunto de datos categóricos multivariados en el futuro, consideren tejer un gráfico de mosaico para descubrir las ideas ocultas.
Creando su primer gráfico de mosaico con Matplotlib
¿Realizar su primer gráfico de mosaico puede parecer un poco como un laberinto, verdad? En realidad, utilizando Matplotlib, el proceso se vuelve relativamente sencillo.
Primero lo primero. Necesitamos algunos datos, por supuesto. Estaremos utilizando el conjunto de datos abierto de Titanic para este ejemplo (consulte https://www.openml.org/search?type=data&sort=runs&id=40945&status=active ).
¿Nuestro objetivo? Descubrir cómo se dividen las tasas de supervivencia entre hombres y mujeres.
¡Empecemos, vamos!
Comenzamos importando las bibliotecas requeridas:
import seaborn as snsimport matplotlib.pyplot as pltimport pandas as pdfrom scipy.io.arff import loadarfffrom statsmodels.graphics.mosaicplot import mosaic
Luego cargamos nuestro conjunto de datos. El conjunto de datos está en formato ARFF. Podemos cargarlo en pandas de la siguiente manera:
# Cargue los datosraw_data = loadarff('titanic.arff')titanic = pd.DataFrame(raw_data[0])
Llamamos a la función de mosaico de statsmodels y pasamos las características que queremos visualizar.
# Crear el gráfico de mosaicomosaic(titanic, ['alive', 'sex'], gap=0.02)# Personalizar el gráficoplt.title('Supervivencia por sexo en el Titanic')plt.xlabel('Sobrevivido')plt.ylabel('Sexo')plt.show()
Y, obtenemos el siguiente resultado:
Por supuesto, este es un ejemplo muy simple.
¡Vamos a llevar esto a otro nivel, ¿vale?
Supongamos que queremos crear un gráfico de mosaico que represente la proporción de personas en cada clase de pasajeros en el Titanic, su estado de supervivencia y género.
También usaremos codificación de color para la variable ‘sobrevivido’ y agregaremos algunas etiquetas al gráfico.
Esta vez, también necesitamos importar la biblioteca numpy.
import numpy as np
Crearemos la columna sobrevivido
de la siguiente manera:
# Convertir 'sobrevivido' en cadena para mayor claridad en el gráficotitanic['survived'] = titanic['survived'].map({0:'Muerto', 1:'Sobrevivido'})
También definimos las propiedades que se utilizarán en nuestro gráfico. Estos se usan esencialmente para la codificación de color en el gráfico.
# Definir la función de propiedades para los coloresprops = lambda key: {'color': '#1b9e77' if 'Sobrevivido' in key else '#d95f02'}
Y luego creamos el gráfico de la siguiente manera:
# Crear una nueva figura con un tamaño definidofig, ax = plt.subplots(figsize=(10, 8))# Crear el gráfico de mosaicomosaic(titanic, ['class', 'sex', 'survived'], gap=0.02, properties=props, ax=ax)# Personalizar el gráficoplt.title('Supervivencia por clase y sexo en el Titanic', fontsize=15)plt.ylabel('Clase - Sexo')plt.xlabel('Proporción')plt.show()
Interpretando el mosaico
El gráfico de mosaico se divide en tres secciones verticales principales que representan las tres clases en el Titanic: Primera, Segunda y Tercera.
El ancho de cada sección es proporcional al número de pasajeros en cada clase. En este caso, parece que la Tercera clase tuvo más pasajeros, seguida de la Primera y luego la Segunda clase.
Dentro de cada sección de clase, el gráfico se divide horizontalmente en dos secciones que representan hombres
y mujeres
. La altura de estas secciones es proporcional al número de hombres y mujeres en cada clase. Por ejemplo, dentro de la Tercera clase, hay más hombres que mujeres.
Cada una de las secciones de sexo se divide en dos partes que representan Sobrevivientes y Fallecidos. El ancho de estas divisiones es proporcional al número de sobrevivientes y víctimas en cada género en cada clase.
Por ejemplo, en la sección ‘mujeres’ de la clase ‘Primera’, la sección verde que representa ‘Sobrevivientes’ es mucho más grande que la sección naranja que representa ‘Fallecidos’. Esto sugiere que una gran proporción de mujeres en la Primera clase sobrevivieron.
La codificación de colores proporciona pistas visuales adicionales: el verde representa sobrevivientes, mientras que el naranja representa aquellos que no sobrevivieron.
Consejos y trucos para usar Mosaic Plots
- Mantenerlo simple – Los Mosaic Plots pueden ser abrumadores y desordenados rápidamente. Limítate a unas pocas categorías a la vez. El objetivo es comunicar conocimientos.
- Practicar una codificación de colores efectiva – Al igual que con cualquier visualización de datos, la paleta de colores tiene un impacto significativo. Los Mosaic Plots no son una excepción.
- Usar etiquetas y anotaciones – Siempre etiqueta los ejes de tu gráfico y proporciona títulos descriptivos. El contexto es clave.
Observaciones finales
¡Y ahí lo tenemos!
Hemos llegado al final de nuestra exploración de Mosaic Plots. Ahora es un buen momento para pensar en lo que hemos aprendido en el camino.
Comenzamos este viaje entendiendo por qué la visualización de datos es tan importante. Conocimos los Mosaic Plots como una forma sólida de echar un vistazo a datos categóricos de varias capas, lo que nos permite detectar la interacción detallada entre categorías.
Luego armamos nuestro primer Mosaic Plot utilizando el conjunto de datos del Titanic. También agregamos colores, etiquetas y un titular a nuestro gráfico que nos ayudó a contar una historia con nuestros datos.
La verdadera fortaleza de un Mosaic Plot es su habilidad para convertir datos complicados en una historia visual simple. Pero no olvides que mantener las cosas simples es importante. Demasiadas categorías o un esquema de colores confuso pueden convertir un gráfico impresionante en un dolor de cabeza visual.
Ahora, con este conocimiento recién adquirido en tu poder, estás listo para comenzar tu propia aventura de visualización de datos. Tal vez uses Mosaic Plots para entender cómo se comportan tus clientes en tu tienda en línea, o para descubrir las tendencias de votación en tu elección local. Cualquier dato con el que estés lidiando, el Mosaic Plot es tu lienzo en blanco y tus hallazgos son los colores que usarás para pintarlo.
No seas tímido, juega, prueba diferentes ajustes y experimenta con una variedad de conjuntos de datos. La práctica hace al maestro.
Recuerda, cada conjunto de datos tiene una historia que contar. Así que sal ahí fuera y deja que tus Mosaic Plots tejan las historias que se esconden en tus datos.
¡Feliz creación de gráficos!
¿Disfrutaste este artículo? Por $5/mes, puedes convertirte en miembro para desbloquear acceso ilimitado a Zepes. Estarás apoyándome directamente a mí y a todos tus otros escritores favoritos en Zepes. ¡Un agradecimiento enorme por eso!
Únete a Zepes con mi enlace de recomendación – David Farrugia
Obtén acceso exclusivo a todo mi contenido premium y a todo Zepes sin límites. Apoya mi trabajo comprándome un…
david-farrugia.medium.com
¿Quieres ponerte en contacto?
Me encantaría saber tus pensamientos sobre el tema, o cualquier cosa relacionada con IA y datos.
Envíame un correo electrónico a [email protected] si deseas ponerte en contacto.