Datavisualisatie in Python met Seaborn

Python
datavisualisatie
zeegeboren
Datavisualisatie in Python met Seaborn cover image

Tegenwoordig is de meest waardevolle hulpbron ter wereld niet langer olie, maar data. Visualisatie wordt een steeds belangrijker hulpmiddel om de miljarden rijen gegevens te begrijpen. Door gegevens te vertalen naar een grafische weergave die gemakkelijk te interpreteren is, helpt datavisualisatie bij het vertellen van gegevens door relevante informatie, patronen en uitschieters te benadrukken. De gegevens en de grafische weergave moeten echter samenwerken: het is de kunst om geweldige analyses te integreren met geweldige verhalen. In deze blogpost laten we u "Sea Born" zien, een van de bekendste visualisatietools geschreven in Python.

Visualisatietools

We gebruiken visualisatietools om de trends, patronen, uitschieters en de relatie tussen variabelen te visualiseren. Het is een veelgevraagde vaardigheid, vooral voor een carrière in de datawetenschap.

Zeegeboren

Seaborn is een Python-datavisualisatiebibliotheek gebaseerd op matplotlib. Het biedt een interface op hoog niveau voor het tekenen van aantrekkelijke en informatieve statistische grafieken.

Seaborn-plotfuncties:

In Seaborn hebben we 3 categorieën percelen

  • Categorische percelen.

  • Verdeelkavels.

  • Relationele plots.


Categorische plots

We gebruiken de categorische plotfuncties van seaborn om de tendensen van een categorische variabele te visualiseren of om de relatie tussen twee variabelen met ten minste één categorische variabele te visualiseren.

Telplot:

  • Toont het aantal waarnemingen van elke categorie van de categorische variabele. We tellen eenvoudigweg het aantal waarnemingen van elke categorie van de variabele
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Barplot:

  • Vertegenwoordigt een schatting van de tendens van een continue variabele met de hoogte van de rechthoek voor elke categorie van een categorische variabele. De plotfunctie neemt dus twee variabelen als invoer, één die continu is en één die categorisch is. Voor elke categorie uit variabele_1 berekenen we de tendens van variabele_2.

  • De tendens kan het gemiddelde zijn, de variantie, of u kunt een aangepaste functie doorgeven...

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

Bar Plot

Stripplot:

  • Stripplot is een van de eenvoudigste en meest duidelijke plots in datavisualisatie. We tekenen eenvoudigweg punten die de waarden van een continue variabele vertegenwoordigen. Voor elke categorie van variabele 1 tekenen we de waarden van variabele 2.

Strip Plot

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

Zwermplot:

  • Zwermplot lijkt zo op het stripplot, omdat het precies dezelfde functionaliteit heeft. Het enige verschil zit in de manier waarop de punten worden weergegeven. Terwijl bij een stripplot gegevenspunten elkaar kunnen overlappen omdat ze willekeurig op de x-as worden geplaatst, zorgen we er bij een zwermplot voor dat de punten elkaar niet overlappen door ze op elkaar te stapelen.

  • Het nadeel hier is dat als we veel datapunten hebben, het onmogelijk zou zijn om ze niet te overlappen, dus zal het algoritme enkele datapunten verwijderen om niet te overlappen.

Swarm Plot

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

Boxplot:

  • Boxplot wordt gebruikt om de verdeling van een continue variabele voor elke categorie van een categorische variabele weer te geven. Hoewel het vrij eenvoudig is, levert het veel informatie op:

  • De waarden van de kwartielen:

De doos heeft een horizontale lijn aan de binnenkant, die de mediaan vertegenwoordigt. De horizontale lijn erboven zijn de bovenste kwartielen, de lijn daaronder de onderste kwartielen.

  • De uitschieters:

Merk op dat er enkele punten buiten het kader zijn; deze punten vertegenwoordigen de uitschieters

Box Plot

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

Vioolplot:

In plaats van de verdeelkast te plotten, zal de vioolplot de werkelijke verdeling van de continue variabele voor elke categorie van de categorische variabele plotten met behulp van KDE (Kernel Density Estimation)

Violin Plot

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

Verdelingsdiagrammen:

We gebruiken de distributieplotfuncties van seaborn om de distributie van continue variabelen te visualiseren.

Zijn plot:

De hist-plot vertegenwoordigt de verdeling van continue variabelen met behulp van bins.

Hist Plot

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

KDE-plot:

De Kde-plot vertegenwoordigt de daadwerkelijke verdeling van de gegevens, met behulp van de kerneldichtheidsschatting.

KDE Plot

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

Het kan ook worden gebruikt om de bivariate verdeling van twee continue variabelen weer te geven.

KDE Plot

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

ECDF-plot:

De ECDF-plot vertegenwoordigt de empirische cumulatieve verdeling van een continue variabele.

ECDF Plot

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

Relationele plots:

We gebruiken de relationele plotfuncties van seaborn om de relatie tussen continue variabelen te visualiseren.

Scatterplot:

  • Het toont de relatie tussen twee continue variabelen, door simpelweg alle gegevenspunten in kaart te brengen.

Scatter Plot

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

Lijnplot:

  • Geeft de relatie tussen variabelen weer als een continue functie.

Line Plot

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

Meer functionaliteiten:

Het is je misschien opgevallen dat we bij alle plotfuncties maximaal twee variabelen per plot hebben gebruikt, maar wat als we meer variabelen in onze visualisatie willen introduceren? Gelukkig heeft Seaborn daar voor gezorgd:

Tint:

  • Met behulp van tint kunnen we een derde variabele introduceren die categorisch is voor onze visualisatie met behulp van kleurcodering. Dit betekent dat de gegevenspunten die tot dezelfde categorie van deze derde variabele behoren, dezelfde kleur zullen hebben.

Hue

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

Maat:

  • Grootte is vergelijkbaar met tint, maar gebruikt maatcodering in plaats van kleurcodering. Het betekent dat de gegevenspunten die tot dezelfde categorie van de derde variabele behoren, dezelfde unieke grootte zullen hebben. Verschillende maten betekent verschillende categorieën.

Size

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

Stijl:

  • Vrijwel hetzelfde als Kleurtoon en Grootte. Het betekent dat de gegevenspunten die tot dezelfde categorie van de derde variabele behoren, dezelfde unieke stijl zullen hebben. Een puntstijl kan een punt, ster, kruis, driehoek, … zijn. We noemen dit markeringen.

Style

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

We kunnen ook een nieuwe categorische variabele introduceren met behulp van meerdere plots. Elke plot behoort tot een categorie uit de categorie categorische variabele:

Kol:

Zal horizontaal veel figuren creëren met betrekking tot de categorieën van de derde variabele.

Col

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

Rij:

Zal verticaal veel figuren creëren met betrekking tot de categorieën van de derde variabele.

Row

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

We kunnen ook Tint en Grootte in dezelfde plot gebruiken om 4 variabelen weer te geven, of zelfs Tint en Stijl en Col om 5 variabelen in dezelfde plot te gebruiken! We kunnen maximaal 7 variabelen gebruiken (variabele 1, variabele 2, Tint, Grootte, Stijl, Col, Rij) in hetzelfde plot, maar het geeft ons een zeer geladen plot dat zo rommelig en extreem moeilijk te interpreteren is, soms niet informatief helemaal niet.

Hue & Size

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

Conclusie:

In dit bericht leerden we over seaborn, de 3 categorieën plotfuncties: Categorische, Distributie- en Relationele plots, en we legden elke plotfunctie voor elke categorie uit, samen met de pythoncode.

Bekijk onze Data Science Bootcamp voor meer informatie over dit onderwerp!


Career Services background pattern

Carrièrediensten

Contact Section background image

Laten we in contact blijven

Code Labs Academy © 2024 Alle rechten voorbehouden.