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

Cómo Elegir el Test de Hipótesis Correcto para tus Datos

Tienes dos grupos de datos y quieres saber si son estadísticamente distintos. O tienes una…

1 día ago

Tuplas vs Listas en Python: parecen lo mismo, pero no

A primera vista, tuplas y listas son casi idénticas. Ambas guardan colecciones ordenadas de elementos.…

3 días ago

Qué significa realmente “calidad de datos”

"Nuestros datos no tienen buena calidad." Escuchas esto constantemente en reuniones. El problema es que…

1 semana ago

Cómo Detectar Pseudo-IDs y Data Leakage en el Constructor de Scorecards

El artículo Data Leakage en Credit Scoring explicó por qué este es el error más…

1 semana ago

Cómo Verificar la Normalidad de tus Datos antes de un Test Estadístico

Antes de aplicar muchos tests estadísticos clásicos (el t-test, el ANOVA, la regresión lineal) aparece…

2 semanas ago

Docker Compose: el día a día. Cómo ver qué funciona y qué no

Si acabas de montar tu aplicación en Docker Compose, la primera pregunta que haces cada…

2 semanas ago

This website uses cookies.