Datenvisualisierung in Python mit Seaborn

Aktualisiert auf September 24, 2024 6 Minuten gelesen

Datenvisualisierung in Python mit Seaborn

Heutzutage ist die wertvollste Ressource der Welt nicht mehr Öl, sondern Daten. Visualisierung wird zu einem immer wichtigeren Werkzeug, um die Milliarden von Datenzeilen zu verstehen. Durch die Übersetzung von Daten in eine leicht zu interpretierende grafische Darstellung unterstützt die Datenvisualisierung das Daten-Storytelling, indem sie relevante Informationen, Muster und Ausreißer hervorhebt. Allerdings müssen die Daten und die Grafiken zusammenarbeiten: Es ist die Kunst, großartige Analysen mit großartigem Storytelling zu verbinden. In diesem Blogbeitrag zeigen wir Ihnen „Sea Born“, eines der bekanntesten in Python geschriebenen Visualisierungstools.

Visualisierungstools

Wir verwenden Visualisierungstools, um Trends, Muster, Ausreißer und die Beziehung zwischen Variablen zu visualisieren. Es ist eine sehr gefragte Fähigkeit, insbesondere für eine Karriere im Bereich Datenwissenschaft.

Seaborn

Seaborn ist eine Python-Datenvisualisierungsbibliothek, die aufmatplotlib basiert. Es bietet eine High-Level-Schnittstelle zum Zeichnen attraktiver und informativer statistischer Grafiken.

Seaborn-Plotfunktionen:

Bei Seaborn gibt es drei Kategorien von Grundstücken

  • Kategoriale Diagramme.

  • Verteilungsdiagramme.

  • Beziehungsdiagramme.


Kategoriale Diagramme

Wir verwenden die kategorialen Plotfunktionen von Seaborn, um die Tendenzen einer kategorialen Variablen oder die Beziehung zwischen zwei Variablen mit mindestens einer kategorialen Variablen zu visualisieren.

Plot zählen:

  • Zeigt die Anzahl der Beobachtungen jeder Kategorie aus der kategorialen Variablen an. Wir zählen einfach die Anzahl der Beobachtungen jeder Kategorie der Variablen
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Balkenplot:

  • Stellt eine Tendenzschätzung einer kontinuierlichen Variablen mit der Höhe eines Rechtecks ​​für jede Kategorie einer kategorialen Variablen dar. Die Plotfunktion benötigt also zwei Variablen als Eingabe, eine kontinuierliche und eine kategoriale. Für jede Kategorie aus Variable_1 berechnen wir die Tendenz von Variable_2.

  • Die Tendenz kann der Mittelwert oder die Varianz sein, oder Sie können eine benutzerdefinierte Funktion übergeben …

seaborn.catplot(kind = 'bar',**data = dataset,**
                x    = 'variable_1',**y    = 'variable_2',**
                estimator = np.mean)**

Bar Plot

Streifenplot:

  • Streifendiagramm ist eines der einfachsten und unkompliziertesten Diagramme in der Datenvisualisierung. Wir zeichnen einfach Punkte, die die Werte einer kontinuierlichen Variablen darstellen. Für jede Kategorie von Variable 1 zeichnen wir die Werte von Variable 2.

Strip Plot

seaborn.catplot(kind = 'strip',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                jitter = 0.15)

Schwarmplot:

  • Der Schwarmplot ist dem Streifenplot sehr ähnlich, da er genau die gleiche Funktionalität hat. Der einzige Unterschied besteht in der Darstellung der Punkte. Während sich im Streifendiagramm Datenpunkte überlappen können, da sie zufällig auf der x-Achse platziert werden, stellen wir im Schwarmdiagramm sicher, dass sich die Punkte nicht überlappen, indem wir sie übereinander stapeln.

  • Der Nachteil hierbei ist, dass es bei vielen Datenpunkten unmöglich wäre, diese nicht zu überlappen, sodass der Algorithmus einige Datenpunkte löscht, damit sie nicht überlappen.

Swarm Plot

seaborn.catplot(kind = 'swarm',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Boxplot:

  • Boxplot wird verwendet, um die Verteilung einer kontinuierlichen Variablen für jede Kategorie einer kategorialen Variablen darzustellen. Obwohl es ziemlich einfach ist, liefert es viele Informationen:

  • Die Werte der Quartile:

In der Box befindet sich eine horizontale Linie, die den Median darstellt. Die horizontale Linie darüber stellt die oberen Quartile dar, die darunter liegende Linie die unteren Quartile.

  • Die Ausreißer:

Beachten Sie, dass es einige Punkte außerhalb des Rahmens gibt. Diese Punkte stellen die Ausreißer dar

Box Plot

seaborn.catplot(kind = 'box',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Geigenhandlung:

Anstatt das Verteilungsfeld zu zeichnen, zeichnet Violin Plot mithilfe von KDE (Kernel Density Estimation) die tatsächliche Verteilung der kontinuierlichen Variablen für jede Kategorie der kategorialen Variablen auf.

Violin Plot

seaborn.catplot(kind = 'violin',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Verteilungsdiagramme:

Wir verwenden die Verteilungsdarstellungsfunktionen von Seaborn, um die Verteilung kontinuierlicher Variablen zu visualisieren.

Historische Handlung:

Das Hist-Plot stellt die Verteilung kontinuierlicher Variablen mithilfe von Bins dar.

Hist Plot

seaborn.distplot(kind = 'hist',
                 data = dataset,
                 x    = 'variable',
                 bins = 20)

KDE-Plot:

Das KDE-Diagramm stellt die tatsächliche Verteilung der Daten unter Verwendung der Kernel-Dichteschätzung dar.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable')

Es kann auch verwendet werden, um die bivariate Verteilung zweier kontinuierlicher Variablen darzustellen.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable_1',
                 y    = 'variable_2')

ECDF-Plot:

Das ECDF-Diagramm stellt die empirische kumulative Verteilung einer kontinuierlichen Variablen dar.

ECDF Plot

seaborn.distplot(kind = 'ecdf',
                 data = dataset,
                 x    = 'variable')

Relationale Diagramme:

Wir verwenden die relationalen Plotfunktionen von Seaborn, um die Beziehung zwischen kontinuierlichen Variablen zu visualisieren.

Streudiagramm:

  • Es zeigt die Beziehung zwischen zwei kontinuierlichen Variablen, indem einfach alle Datenpunkte aufgetragen werden.

Scatter Plot

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Liniendiagramm:

  • Stellt die Beziehung zwischen Variablen als kontinuierliche Funktion dar.

Line Plot

seaborn.relplot(kind = 'line',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Weitere Funktionen:

Sie haben vielleicht bemerkt, dass wir in allen Plotfunktionen maximal zwei Variablen pro Plot verwendet haben, aber was ist, wenn wir mehr Variablen in unsere Visualisierung einführen möchten? Glücklicherweise hat sich Seaborn darum gekümmert:

Farbton:

  • Mit dem Farbton können wir mithilfe der Farbkodierung eine dritte Variable einführen, die kategorisch für unsere Visualisierung ist. Das bedeutet, dass die Datenpunkte, die zur gleichen Kategorie dieser dritten Variablen gehören, die gleiche Farbe haben.

Hue

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3')

Größe:

  • Größe ähnelt Farbton, verwendet jedoch Größenkodierung anstelle von Farbkodierung. Das bedeutet, dass die Datenpunkte, die zur gleichen Kategorie der dritten Variablen gehören, die gleiche eindeutige Größe haben. Unterschiedliche Größen bedeuten unterschiedliche Kategorien.

Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                size = 'variable_3',
                sizes = [50, 100])

Stil:

  • So ziemlich das Gleiche wie Farbton und Größe. Das bedeutet, dass die Datenpunkte, die zur gleichen Kategorie der dritten Variablen gehören, den gleichen eindeutigen Stil haben. Ein Punktstil kann ein Punkt, ein Stern, ein Kreuz, ein Dreieck usw. sein, wir nennen sie Markierungen.

Style

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                style = 'variable_3',
                markers = ['X', '*'])

Wir können auch eine neue kategoriale Variable mithilfe mehrerer Diagramme einführen. Jedes Diagramm gehört zu einer Kategorie aus der kategorialen Variablen cate:

Spalte:

Erstellt viele Figuren horizontal in Bezug auf die Kategorien der dritten Variablen.

Col

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                col  = 'variable_3')

Reihe:

Erstellt viele Zahlen vertikal in Bezug auf die Kategorien der dritten Variablen.

Row

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                row  = 'variable_3')

Wir können auch Hue und Size im selben Plot verwenden, um 4 Variablen darzustellen, oder sogar Hue und Style und Col, um 5 Variablen im selben Plot zu verwenden! Wir können bis zu 7 Variablen (Variable 1, Variable 2, Farbton, Größe, Stil, Spalte, Zeile) im selben Plot verwenden, aber das ergibt einen sehr aufgeladenen Plot, der so chaotisch und extrem schwer zu interpretieren ist, manchmal auch nicht überhaupt informativ.

Hue & Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3',
                size = 'variable_4')

Abschluss:

In diesem Beitrag haben wir etwas über Seaborn und seine drei Kategorien von Plotfunktionen erfahren: kategoriale, Verteilungs- und relationale Plots, und wir haben jede Plotfunktion für jede Kategorie zusammen mit dem Python-Code erklärt.

Schauen Sie sich unser Data Science Bootcamp an, um mehr über dieses Thema zu erfahren!