Python

Trabajando con datos multidimensionales en Seaborn: gráficos de pares y los gráficos de factores

Al trabajar con conjuntos de datos que contiene múltiples variables es clave ser capaz de visualizar las relaciones que existen entre estas. Para comprender, así cómo se relacionan las variables entre sí. Seaborn, una de las principales bibliotecas de visualización de datos en Python, dispone de varias funciones para trabajar con datos multidimensionales. En esta entrada, se verán dos de estas funciones para trabajar con datos multidimensionales en Seaborn: los gráficos de pares y los gráficos de factores.

Importación del conjunto de datos iris

En esta entrada se utilizará el popular conjunto de datos iris para crear los gráficos de pares y los gráficos de factores. Este conjunto de datos se encuentra disponible en la propia biblioteca de Seaborn, por lo que se puede importar mediante la función load_dataset() indicándole el nombre del conjunto de datos.

import seaborn as sns

# Cargar el conjunto de datos "iris" de Seaborn
iris = sns.load_dataset("iris")

# Imprimir los primeros registros del conjunto de datos
print(iris.head())
   sepal_length  sepal_width  petal_length  petal_width species
0           5.1          3.5           1.4          0.2  setosa
1           4.9          3.0           1.4          0.2  setosa
2           4.7          3.2           1.3          0.2  setosa
3           4.6          3.1           1.5          0.2  setosa
4           5.0          3.6           1.4          0.2  setosa

Gráficos de pares (pairplot)

Los gráficos de pares (pairplot) permiten visualizar las relaciones entre los pares de variables de un conjunto de datos multidimensional. En Seaborn se incluye la función pairplot() con la que es posible crear de forma automática este tipo de gráficos para cada par de variables de un DataFrame de Pandas. El uso de la función es extremadamente sencilla, solamente se debe pasar un DataFrame, lo que se muestra en el siguiente ejemplo.

# Crear un gráfico de pares
sns.pairplot(iris)
Gráfico de pares creado para los datos de iris con Seaborn

En esta gráfica se puede ver la relación que existe entre cada una de las variables del conjunto de datos con el resto. Además, en la dragona principal de la matriz se puede ver el histograma de cada una de las variables. En los gráficos de dispersión se puede incluir una regresión lineal, algo que puede facilitar el análisis de las relaciones. Esto se puede conseguir indicando mediante el parámetro kind que el tipo de gráfica es 'reg' .

# Crear un gráfico de pares con regresión lineal
sns.pairplot(iris, kind='reg')
Gráfico de pares creado para los datos de iris con Seaborn en la que se incluye la regresión lineal de todos los gráficos de dispersión

Otra alternativa para los gráficos de pares es usar gráficos de densidad, para lo que se debe indicar la propiedad 'kde' mediante el parámetro kind.

# Crear un gráfico de pares con graficos de densidad
sns.pairplot(iris, kind='kde')
Gráfico de pares creado para los datos de iris con Seaborn en la que se usa gráficos de densidad

Gráficos de factores

Los gráficos de factores permiten dividir un conjunto de datos en subconjuntos más pequeños según una o más variables categóricas y crear una visualización separada para cada subconjunto. Seaborn ofrece varias funciones, como FacetGrid() y catplot(), para crear estos tipos de gráficos.

En el siguiente ejemplo, se muestra cómo se puede utilizar FacetGrid() para crear una cuadrícula y luego incluir gráficos de dispersión a cada de ellas con el método map(). Notese que FacetGrid() es una clase, por lo que su uso es algo más complicado que una función como es el caso de catplot(). En primer lugar, al construir el objeto se usa el conjunto de datos y la columna por la que se desea dividir los datos. A continuación, en el método map() se indica la función y las columnas que se desean representar, en este caso la longitud y el ancho del sépalo.

# Crear un gráfico de factores utilizando FacetGrid
g = sns.FacetGrid(iris, col="species")
g.map(sns.scatterplot, "sepal_length", "sepal_width")
Gráfico de factores para el conjunto de datos iris creado con FacetGrid

Seaborn también ofrece la función catplot() para crear gráficos de facetas más fácilmente, especialmente para variables categóricas.

# Crear un gráfico de factores utilizando catplot
sns.catplot(data=iris, x="sepal_length", y="sepal_width", col="species")
Gráfico de factores para el conjunto de datos iris creado con catplot

Conclusiones

Los gráficos de pares y los gráficos de factores son dos herramientas que se pueden emplear para visualizar la relación entre datos multidimensionales en Seaborn. Facilitando la exploración y comprensión de las relaciones entre variables en conjuntos de datos multidimensionales.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Seaborn

Recent Posts

Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)

Y llegamos al final de una serie que había programado para ser de tres entradas.…

2 días ago

PSI: Cómo Saber Cuándo tu Modelo de Credit Scoring se ha Degradado

Un modelo de credit scoring no es un artefacto estático. Se construye en un momento…

4 días ago

Los indicadores que se autocumplen, o cuando medir es modificar – El bestiario de los indicadores económicos absurdos (parte 7)

En las seis entregas anteriores hemos paseado por casi todos los géneros del disparate económico:…

1 semana ago

Customer Lifetime Value: la fórmula clásica que todo analista debería dominar

El Customer Lifetime Value (CLV) es, probablemente, la métrica más importante que puede calcular una…

2 semanas ago

Analytics Lane lanza la versión 1.4 del laboratorio con nuevas herramientas de conversión y modelos avanzados de CLV

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.4, que…

2 semanas ago

This website uses cookies.