¿Cómo crear un mapa de calor de correlación de triángulos en seaborn – Python?

Seaborn es una biblioteca de Python que se basa en matplotlib y se utiliza para la visualización de datos. Proporciona un medio para presentar datos en un formato de gráfico estadístico como un medio informativo y atractivo para impartir alguna información. Un mapa de calor es uno de los componentes admitidos por seaborn donde la variación en los datos relacionados se representa mediante una paleta de colores. Este artículo se centra principalmente en un mapa de calor de correlación y cómo se puede usar seaborn en combinación con pandas y matplotlib para generar uno para un marco de datos.

Instalación

Como cualquier otra biblioteca de Python, seaborn se puede instalar fácilmente usando pip:

pip install seaborn

Esta biblioteca es parte de la distribución de Anaconda y, por lo general, funciona solo con la importación si su IDE es compatible con Anaconda, pero también se puede instalar con el siguiente comando:

conda install seaborn

Mapa de calor de correlación de triángulos

Un mapa de calor de correlación es un mapa de calor que muestra una array de correlación 2D entre dos dimensiones discretas, utilizando celdas de colores para representar datos de una escala generalmente monocromática. Los valores de la primera dimensión aparecen como filas de la tabla mientras que los de la segunda dimensión como columna. El color de la celda es proporcional al número de medidas que coinciden con el valor dimensional. Esto hace que los mapas de calor de correlación sean ideales para el análisis de datos, ya que hace que los patrones sean fáciles de leer y resalta las diferencias y variaciones en los mismos datos. Un mapa de calor de correlación, como un mapa de calor normal, está asistido por una barra de colores que hace que los datos sean fáciles de leer y comprender. 

Un mapa de calor de correlación es una representación rectangular de datos y repite la misma descripción de datos dos veces porque las categorías se repiten en ambos ejes para el análisis informático. Por lo tanto, el mismo resultado se obtiene dos veces. Un mapa de calor de correlación que presenta datos solo una vez sin repetición, es decir, las categorías se correlacionan solo una vez, se conoce como mapa de calor de correlación triangular. Dado que los datos son simétricos a lo largo de la diagonal desde la parte superior izquierda hasta la parte inferior derecha, la idea de obtener un mapa de calor de correlación triangular es eliminar los datos que se encuentran sobre él para que se representen solo una vez. Los elementos de la diagonal son las partes donde se correlacionan categorías del mismo tipo.

Para trazar el método de mapa de calor del módulo seaborn se utilizará. Junto con esa máscara, se pasará argumento. Máscara es un atributo de mapa de calor que toma un marco de datos o una array booleana como argumento y muestra solo aquellas posiciones que están marcadas como Falso o donde se proporciona el enmascaramiento como Falso. 

Sintaxis:

mapa de calor (datos, vmin, vmax, centro, cmap,……………………………………………………)

A excepción de los datos, todos los demás atributos son opcionales y, obviamente, los datos serán los datos que se trazarán. Los datos aquí deben pasarse con el método corr() para generar un mapa de calor de correlación. Además, corr() en sí mismo elimina las columnas que no serán de utilidad mientras genera un mapa de calor de correlación y selecciona aquellas que se pueden usar.

Para enmascarar, aquí se genera una array que usa NumPy como se muestra a continuación: 

np.triu(np.ones_like())

primero, el método ones_like() del módulo NumPy generará una array del mismo tamaño que la de nuestros datos que se trazarán y que solo contiene el número uno. Luego, el método triu() del módulo NumPy convertirá la array así formada en una array triangular superior, es decir, los elementos por encima de la diagonal serán 1 y por debajo, y sobre ella será 0. Se aplicará el enmascaramiento a los lugares donde 1 (Verdadero ) Está establecido.

Los siguientes pasos muestran cómo se puede producir un mapa de calor de correlación de triángulos:

  • Importe primero todos los módulos requeridos
  • Importa el archivo donde se almacenan tus datos
  • Trazar un mapa de calor
  • Enmascare la parte del mapa de calor que no debería mostrarse
  • Mostrarlo usando matplotlib

Ejemplo 1:

Para el ejemplo que se proporciona a continuación, aquí se utiliza un conjunto de datos descargado de kaggle.com. La trama muestra datos relacionados con las novelas más vendidas de amazon.

Conjunto de datos utilizado: los más vendidos

Python3

# import modules
import matplotlib.pyplot as mp
import pandas as pd
import seaborn as sb
import numpy as np
 
# import file with data
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\bestsellers.csv")
 
# creating mask
mask = np.triu(np.ones_like(data.corr()))
 
# plotting a triangle correlation heatmap
dataplot = sb.heatmap(data.corr(), cmap="YlGnBu", annot=True, mask=mask)
 
# displaying heatmap
mp.show()

Producción:

Ejemplo 2:

El conjunto de datos utilizado en este ejemplo es un conjunto de datos de investigación espacial de exoplanetas compilado por la NASA.

Conjunto de datos utilizado: acumulativo

Python3

# import modules
import matplotlib.pyplot as mp
import pandas as pd
import seaborn as sb
import numpy as np
 
# import file with data
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\gfg\\cumulative.csv")
 
# applying mask
mask = np.triu(np.ones_like(data.corr()))
 
# plotting a triangle correlation heatmap
dataplot = sb.heatmap(data.corr(), mask=mask)
 
# displaying heatmap
mp.show()

Producción:

Publicación traducida automáticamente

Artículo escrito por vanshikagoyal43 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *