Python

Mapas de calor y diagramas de araña en Python

En una entrada anterior se ha visto algunos de los gráficos más importantes disponibles en la librería de Python Seaborn. En esta ocasión se va a ver cómo construir en Python dos tipos de gráficos que pueden ser muy útiles: los mapas de calor y los diagramas de araña. Para construir el primero de ellos se utilizará Seaborn, mientras que para el segundo se utilizará matplotlib. Saber construir mapas de calor y diagramas de araña en Python es de gran ayuda a la hora de mostrar los resultados obtenidos en nuestros análisis.

Mapas de calor con Seaborn

Un mapa de calor es una representación gráfica de los valores contenidos en una matriz mediante el uso de colores. En estos, los índices de la matriz representan las variables de dos características que se desean comparar. Mientras que el color utilizado en cada elemento de la matriz representa la magnitud de la relación existente. Siendo una herramienta excelente para para mostrar las relaciones existentes entre las variables de diferentes características, ya que al mostrar la relación mediante un color se obtiene una interpretación fácil e intuitiva de esta. No solo esto, sino que al mismo tiempo se puede ver comparar las relaciones de unas características con otras observando otros puntos del mapa de calor.

Un ejemplo para crear un mapa de calor con datos aleatorios se puede ver en el siguiente trozo de código.

# Importación de las librerías
import seaborn as sns
import pandas as pd
import numpy as np

# Creación de un conjunto de datos aleatorio
data = pd.DataFrame(np.random.random((5, 5)))

# Representación del mapa de calor
sns.heatmap(data, center=0, cmap='Blues_r', annot=True, fmt='.3f')

En este código se importa inicialmente las librerías necesarias: seaborn, pandas y numpy. Una vez realizado esto se ha de crear una matriz de datos aleatoria, para lo que se utiliza el método random de numpy. Esta es la matriz que se representa, para lo que se utiliza la función heatmap de seaborn. La función únicamente necesita la matriz que contiene los valores a representar, aunque se puede indicar otros parámetros para personalizar el resultado. En el ejemplo anterior se han empleado:

  • center: el valor en el cual centrar el mapa de color al representar los datos.
  • cmap: indica el mapa que se utilizará para la representación de los valores,
  • annot: indica si se representa o no la magnitud de cada celda en el mapa además del color, por defecto no se representará
  • fmt: es el formato con el que se representará la magnitud.

Los resultados obtenidos con el código anterior se pueden ver en la siguiente figura.

Ejemplo de mapa de calor

Diagrama de araña en Python

Los diagramas de araña son una de las mejores maneras para mostrar los valores que toman varias variables con una magnitud. Es decir, se pueden ver los valores que toman diferentes variables a la vez de una magnitud. Así se puede observar de un vistazo si la magnitud de una variable es muy diferente al resto, ya que el área o la longitud se hacen más grandes en la dirección específica. En el caso de que se desee ver cómo se agrupan varias categorías respecto a las mismas características se pueden mostrar unas respecto a otras.

Un ejemplo para crear un diagrama de araña con datos aleatorios se puede ver en el siguiente trozo de código.

# Importación de las librerías
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Creación de un conjunto de datos aleatorio
angles = np.linspace(0, 2 * np.pi, 5, endpoint=False)
values = np.random.random(5)

# Se repite el primer valor para cerrar el gráfico
angles=np.concatenate((angles, [angles[0]]))
values=np.concatenate((values, [values[0]]))
labels=['Label 1', 'Label 2', 'Label 3', 'Label 4', 'Label 5']

# Representación del mapa de calor
plt.polar(angles, values, 'o-', linewidth=2)
plt.fill(angles, values, alpha=0.25)
plt.thetagrids(angles * 180 / np.pi, labels)

Este ejemplo es un poco más complejo que el anterior. Al igual que este se y se crea un conjunto de datos aleatorio. A diferencia del ejemplo anterior se importa matplotlib.pyplot en lugar de seaborn. Posteriormente se ha de repetir el primer valor de la serie al final de este, con lo que se puede cerrar el diagrama. En caso de que no se realice este paso no se mostrará un valor entre el primer y último punto.

Finalmente se procede a representar los datos en tres pasos. En primer lugar, se hace el gráfico polar utilizando el método polar, al que es necesario indicar los ángulos en radianes, los valores y las opciones de representación. Posteriormente se puede rellenar el gráfico con un área, aunque este paso es opcional mejora la vistosidad del resultado. Finalmente se han de agregar las etiquetas con los nombres. Los resultados obtenidos con el código anterior se pueden ver en la siguiente figura.

Ejemplo de diagrama de araña

Conclusiones

En esta entrada se ha visto como construir mapas de calor y diagramas de araña en Python. Ambos tipos de gráficos son de gran utilidad a la hora de representar los resultados obtenidos en los análisis de datos.

Imágenes: Pixabay (Claudia)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Analytics Lane lanza la versión 1.2 del laboratorio con nuevas herramientas de ajuste de curvas y cálculo matricial

Seguimos iterando sobre el laboratorio de Analytics Lane y lanzamos la versión 1.2, disponible en:https://www.analyticslane.com/lab/es…

3 días ago

Cómo comparar tendencias con gráficos de líneas en Matplotlib: guía práctica paso a paso

Tienes los datos de tráfico web de los últimos cinco meses desglosados por canal: orgánico,…

6 días ago

Calibración vs Discriminación en Credit Scoring: diferencias clave y cómo evaluarlas

Imagina que construyes un modelo de credit scoring y obtienes un Gini de 0,65. Un…

2 semanas ago

Ley de Benford: cómo detectar datos manipulados con ejemplos reales

En un mundo donde los datos se han convertido en el lenguaje dominante de la…

3 semanas ago

This website uses cookies.