Paar-Diagramm
Pair Plot wird verwendet, um paarweise Beziehungen zwischen den numerischen Variablen in einem Datensatz darzustellen. Es ist dem Joint Plot sehr ähnlich, jedoch nicht auf nur zwei Variablen beschränkt. Tatsächlich erstellt ein Pair Plot ein NxN
-Raster von Axes
-Objekten (mehrere Subplots), wobei N
die Anzahl der numerischen Variablen (numerische Spalten in einem DataFrame
) ist.
Beschreibung des Pair Plots
In einem Pair Plot teilt jede Spalte die gleiche x-Achsen-Variable und jede Zeile die gleiche y-Achsen-Variable. Die Diagonale zeigt Histogramme der einzelnen Variablen, während die anderen Plots Streudiagramme darstellen.
Erstellung eines Pair Plots
Die Erstellung eines Pair Plots mit seaborn
erfolgt durch Aufruf der Funktion pairplot()
. Der wichtigste und einzige erforderliche Parameter ist data
, welcher ein DataFrame
-Objekt sein muss.
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()
Das DataFrame iris_df
wird an die Funktion pairplot()
übergeben. Die Parameter height
und aspect
definieren die Höhe und Breite (berechnet als Höhe multipliziert mit Aspect) jeder Facette in Zoll.
Hue
Ein weiterer erwähnenswerter Parameter ist hue
, der die Variable (Spaltenname) in data
angibt, um Plot-Eigenschaften auf verschiedene Farben abzubilden oder sogar separate Plots (auf einer Axes
) für jeden ihrer Werte zu erstellen.
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()
Hier ist der Unterschied deutlich zu erkennen. Die Datenpunkte in jedem Streudiagramm sind entsprechend der Art eingefärbt, zu der sie gehören, basierend auf den Werten aus der species-Spalte. Die Diagonaldiagramme sind jetzt KDE-Plots für jede Art anstelle von Histogrammen.
Bei Klassifikationsproblemen ist es oft sinnvoll, ein Pairplot mit dem hue
-Parameter auf die Zielvariable zu erstellen, also die kategoriale Variable, die vorhergesagt werden soll.
Der Unterschied ist klar. Die Datenpunkte in jedem Streudiagramm sind entsprechend ihrer Art eingefärbt, basierend auf den Werten in der species-Spalte. Die Diagonaldiagramme wurden durch KDE-Plots für jede Art anstelle von Histogrammen ersetzt.
Bei Klassifikationsaufgaben ist es oft hilfreich, ein Pairplot mit dem hue
-Parameter auf die Zielvariable — die zu prognostizierende kategoriale Variable — zu erstellen.
Plot-Arten ändern
Es ist möglich, den Typ der verwendeten Plots anstelle der standardmäßigen Streudiagramme sowie die auf der Diagonalen angezeigten Plots zu ändern. Der Parameter kind
steuert die Hauptdiagramme und ist standardmäßig auf Streudiagramme eingestellt, während der Parameter diag_kind
die Diagonaldiagramme steuert und automatisch gewählt wird, abhängig davon, ob der hue
-Parameter gesetzt ist.
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'
sind mögliche Werte für den Parameter kind
.
diag_kind
kann auf einen der folgenden Werte gesetzt werden:
'auto'
;'hist'
;'kde'
;None
.
Alles ist diesbezüglich ähnlich wie bei der Funktion jointplot()
.
Weitere Informationen finden Sie in der pairplot()
-Dokumentation.
Swipe to start coding
- Die korrekte Funktion zur Erstellung eines Pair Plots verwenden.
- Die Daten für das Diagramm über das erste Argument auf
penguins_df
setzen. - Die Spalte
'sex'
als Kriterium für die farbliche Unterscheidung der Diagrammaspekte über das zweite Argument festlegen. - Für die nicht-diagonalen Plots eine Regressionslinie (
'reg'
) über das dritte Argument einstellen. height
auf2
setzen.aspect
auf0.8
setzen.
Lösung
Danke für Ihr Feedback!