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

Dashboard CLV: cuatro modelos, un mismo dataset, conclusiones muy distintas

Los artículos anteriores de esta serie cubrieron cuatro formas de mirar el valor del cliente:…

7 horas ago

Curiosidad: Por qué la criptografía habla siempre de Alice y Bob

Quien se acerca a la criptografía descubre enseguida a dos personajes que aparecen en casi…

5 días ago

Desbalanceo de Clases en Credit Scoring: Por Qué Usamos Ponderación en lugar de Undersampling

En credit scoring el desbalanceo de clases es la norma, no la excepción. En una…

1 semana ago

Curiosidad: El “bug”, la polilla y la leyenda de Grace Hopper

Cualquiera que programe usa la palabra bug a diario para referirse a un fallo en…

2 semanas ago

BG/BB: el modelo de CLV para compras en períodos discretos

Los dos artículos anteriores de la serie cubrieron BG/NBD, el modelo para negocios donde el…

2 semanas ago

Por Qué las Contraseñas Largas son más Seguras que las Complejas

"Tu contraseña debe tener al menos 8 caracteres, una mayúscula, un número y un símbolo…

3 semanas ago

This website uses cookies.