Parplot
Pair plot bruges til at visualisere parvise relationer mellem de numeriske variabler i et datasæt. Det ligner meget et joint plot, men er ikke begrænset til kun to variabler. Faktisk opretter et pair plot et NxN
gitter af Axes
objekter (flere underplots), hvor N
er antallet af numeriske variabler (numeriske kolonner i en DataFrame
).
Beskrivelse af Pair Plot
I et pair plot deler hver kolonne den samme x-akse variabel, og hver række deler den samme y-akse variabel. Diagonalen viser histogrammer for de enkelte variabler, mens de øvrige plots viser scatter plots.
Oprettelse af et Pair Plot
Oprettelse af et pair plot med seaborn
kræver blot et kald til funktionen pairplot()
. Dens vigtigste og eneste påkrævede parameter er data
, som skal være et DataFrame
objekt.
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()
DataFrame'en iris_df
videregives til funktionen pairplot()
. Parametrene height
og aspect
angiver højden og bredden (beregnet som højde multipliceret med aspect) af hver facet i tommer.
Hue
Et andet parameter, der er værd at nævne, er hue
, som angiver variablen (kolonnenavn) i data
, der bruges til at tildele plotaspekter forskellige farver eller endda oprette separate plots (på én Axes
) for hver af dens værdier.
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()
Du kan tydeligt se forskellen her. Datapunkterne i hvert scatter plot er farvet baseret på den art, de tilhører, ved hjælp af værdierne fra species-kolonnen. De diagonale plots er nu KDE plots for hver art i stedet for histogrammer.
Ved klassifikationsproblemer giver det ofte mening at oprette et pair plot med hue
-parameteren sat til målvariablen, som er den kategoriske variabel, vi ønsker at forudsige.
Forskellen er tydelig. Datapunkterne i hvert scatter plot er farvet efter deres art, baseret på værdierne i species-kolonnen. De diagonale plots er blevet erstattet med KDE plots for hver art i stedet for histogrammer.
Ved klassifikationsopgaver er det ofte nyttigt at oprette et pair plot med hue
-parameteren sat til målvariablen — den kategoriske variabel, der skal forudsiges.
Ændring af plottyper
Du kan ændre typen af plots, der bruges i stedet for de standard scatter plots, samt de plots, der vises på diagonalen. kind
-parameteren styrer hovedplotsene og er som standard scatter plots, mens diag_kind
-parameteren styrer de diagonale plots og vælges automatisk afhængigt af, om hue
-parameteren er sat.
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'
er mulige værdier for parameteren kind
.
diag_kind
kan indstilles til en af følgende værdier:
'auto'
;'hist'
;'kde'
;None
.
Alt fungerer på samme måde som i funktionen jointplot()
i denne sammenhæng.
Udforsk mere i pairplot()
dokumentationen.
Swipe to start coding
- Brug den korrekte funktion til at oprette et pair plot.
- Angiv dataene for plottet til at være
penguins_df
via det første argument. - Angiv
'sex'
som kolonnen, der kortlægger plottets aspekter til forskellige farver ved at specificere det andet argument. - Angiv, at ikke-diagonale plots skal have en regressionslinje (
'reg'
) ved at specificere det tredje argument. - Sæt
height
til2
. - Sæt
aspect
til0.8
.
Løsning
Tak for dine kommentarer!