Gráfico de Pares
Pair plot se utiliza para graficar relaciones por pares entre las variables numéricas de un conjunto de datos. Es bastante similar a un joint plot, sin embargo, no está limitado solo a dos variables. De hecho, un pair plot crea una cuadrícula de NxN
de objetos Axes
(múltiples subgráficas), donde N
es el número de variables numéricas (columnas numéricas en un DataFrame
).
Descripción del Pair Plot
En un pair plot, cada columna comparte la misma variable del eje x, y cada fila comparte la misma variable del eje y. La diagonal muestra histogramas de variables individuales, mientras que las otras gráficas muestran diagramas de dispersión.
Creación de un Pair Plot
Crear un pair plot con seaborn
consiste en llamar a su función pairplot()
. Su parámetro más importante y el único requerido es data
, que debe ser un objeto DataFrame
.
import seaborn as sns import matplotlib.pyplot as plt # Loading the dataset with data about three different iris species iris_df = sns.load_dataset('iris') # Creating a pair plot sns.pairplot(iris_df, height=2, aspect=0.8) plt.show()
El DataFrame iris_df
se pasa a la función pairplot()
. Los parámetros height
y aspect
definen la altura y el ancho (calculado como altura multiplicada por aspect) de cada faceta en pulgadas.
Hue
Otro parámetro que merece mención es hue
, que especifica la variable (nombre de la columna) en data
para asignar aspectos del gráfico a diferentes colores o incluso crear gráficos separados (en un solo Axes
) para cada uno de sus valores.
import seaborn as sns import matplotlib.pyplot as plt # Ignoring warnings import warnings warnings.filterwarnings('ignore') # Loading the dataset with data about three different iris species iris_df = sns.load_dataset('iris') # Setting the hue parameter to 'species' sns.pairplot(iris_df, hue='species', height=2, aspect=0.8) plt.show()
Aquí se puede observar claramente la diferencia. Los puntos de datos en cada diagrama de dispersión están coloreados según la especie a la que pertenecen, utilizando los valores de la columna species. Los gráficos diagonales ahora son gráficos KDE para cada especie en lugar de histogramas.
En problemas de clasificación, a menudo es conveniente crear un pair plot con el parámetro hue
configurado en la variable objetivo, que es la variable categórica que se desea predecir.
La diferencia es evidente. Los puntos de datos en cada diagrama de dispersión están coloreados de acuerdo con su especie, basándose en los valores de la columna species. Los gráficos diagonales han sido reemplazados por gráficos KDE para cada especie en lugar de histogramas.
En tareas de clasificación, suele ser útil crear un pair plot con el parámetro hue
configurado en la variable objetivo — la variable categórica que se va a predecir.
Cambiar tipos de gráficos
Es posible modificar el tipo de gráficos utilizados en lugar de los diagramas de dispersión predeterminados, así como los gráficos mostrados en la diagonal. El parámetro kind
controla los gráficos principales y por defecto utiliza diagramas de dispersión, mientras que el parámetro diag_kind
controla los gráficos diagonales y se selecciona automáticamente según si se establece el parámetro hue
.
import seaborn as sns import matplotlib.pyplot as plt # Loading the dataset with data about three different iris species iris_df = sns.load_dataset('iris') # Setting the kind parameter and diag_kind parameters sns.pairplot(iris_df, hue='species', kind='reg', diag_kind=None, height=2, aspect=0.8) plt.show()
'scatter'
, 'kde'
, 'hist'
, 'reg'
son valores posibles para el parámetro kind
.
diag_kind
puede establecerse en uno de los siguientes valores:
'auto'
;'hist'
;'kde'
;None
.
Todo es similar a la función jointplot()
en este aspecto.
Explora más en la pairplot()
documentación.
Swipe to start coding
- Utilizar la función correcta para crear un pair plot.
- Establecer los datos del gráfico como
penguins_df
mediante el primer argumento. - Definir
'sex'
como la columna que asignará los aspectos del gráfico a diferentes colores especificando el segundo argumento. - Configurar los gráficos no diagonales para que tengan una línea de regresión (
'reg'
) especificando el tercer argumento. - Establecer
height
en2
. - Establecer
aspect
en0.8
.
Solución
¡Gracias por tus comentarios!