Pair Plot
Pair plot viene utilizzato per rappresentare graficamente le relazioni a coppie tra le variabili numeriche in un dataset. È molto simile a un joint plot, tuttavia non è limitato a sole due variabili. Infatti, un pair plot crea una griglia NxN
di oggetti Axes
(più sottotrame), dove N
è il numero di variabili numeriche (colonne numeriche in un DataFrame
).
Descrizione del Pair Plot
In un pair plot, ogni colonna condivide la stessa variabile sull'asse x, e ogni riga condivide la stessa variabile sull'asse y. La diagonale mostra gli istogrammi delle singole variabili, mentre gli altri grafici visualizzano scatter plot.
Creazione di un Pair Plot
La creazione di un pair plot con seaborn
consiste semplicemente nell'invocare la funzione pairplot()
. Il suo parametro più importante e l'unico obbligatorio è data
, che deve essere un oggetto 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()
Il DataFrame iris_df
viene passato alla funzione pairplot()
. I parametri height
e aspect
definiscono rispettivamente l'altezza e la larghezza (calcolata come altezza moltiplicata per aspect) di ciascun riquadro in pollici.
Hue
Un altro parametro degno di nota è hue
, che specifica la variabile (nome della colonna) in data
da associare a colori differenti o persino per creare grafici separati (sullo stesso Axes
) per ciascuno dei suoi valori.
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()
Qui la differenza è chiaramente visibile. I punti dati in ogni scatter plot sono colorati in base alla specie di appartenenza, utilizzando i valori della colonna species. I grafici diagonali ora sono grafici KDE per ciascuna specie invece che istogrammi.
Nei problemi di classificazione, spesso è utile creare un pair plot impostando il parametro hue
sulla variabile target, ovvero la variabile categorica che si desidera prevedere.
La differenza è evidente. I punti dati in ogni scatter plot sono colorati in base alla loro specie, secondo i valori nella colonna species. I grafici diagonali sono stati sostituiti da grafici KDE per ciascuna specie invece che da istogrammi.
Nei compiti di classificazione, è spesso utile creare un pair plot con il parametro hue
impostato sulla variabile target — la variabile categorica da prevedere.
Modifica dei tipi di grafico
È possibile modificare il tipo di grafici utilizzati al posto degli scatter plot predefiniti, così come i grafici mostrati sulla diagonale. Il parametro kind
controlla i grafici principali e per impostazione predefinita utilizza scatter plot, mentre il parametro diag_kind
controlla i grafici diagonali ed è selezionato automaticamente in base alla presenza del parametro 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'
sono valori possibili per il parametro kind
.
diag_kind
può essere impostato su uno dei seguenti valori:
'auto'
;'hist'
;'kde'
;None
.
Tutto è analogo alla funzione jointplot()
sotto questo aspetto.
Approfondisci nella documentazione di pairplot()
.
Swipe to start coding
- Utilizzare la funzione corretta per creare un pair plot.
- Impostare i dati del grafico su
penguins_df
tramite il primo argomento. - Impostare
'sex'
come colonna per mappare gli aspetti del grafico su colori diversi specificando il secondo argomento. - Impostare i grafici non diagonali per includere una linea di regressione (
'reg'
) specificando il terzo argomento. - Impostare
height
a2
. - Impostare
aspect
a0.8
.
Soluzione
Grazie per i tuoi commenti!