Ansøg til vores nye Data Science & AI og Cybersecurity Deltidsårgange

Datavisualisering i Python med Seaborn

python
datavisualisering
søfødt
Datavisualisering i Python med Seaborn cover image

I dag er verdens mest værdifulde ressource ikke længere olie, men data. Visualisering er ved at blive et vigtigere værktøj til at give mening ud af de milliarder af rækker af data. Ved at oversætte data til en grafisk repræsentation, der er nem at fortolke, hjælper datavisualisering med datahistoriefortællingen ved at fremhæve relevant information, mønstre og outliers. Dataene og grafikken skal dog arbejde sammen: Det er kunsten at integrere god analyse med god historiefortælling. I dette blogindlæg viser vi dig "Sea Born", et af de mest kendte visualiseringsværktøjer skrevet i Python.

Visualiseringsværktøjer

Vi bruger visualiseringsværktøjer til at visualisere trends, mønstre, outliers og forholdet mellem variabler. Det er en meget efterspurgt færdighed, især for en datavidenskabskarriere.

Søfødt

Seaborn er et Python-datavisualiseringsbibliotek baseret påmatplotlib. Det giver en grænseflade på højt niveau til at tegne attraktiv og informativ statistisk grafik.

Seaborn plotte funktioner:

I seaborn har vi 3 kategorier af grunde

  • Kategoriske plots.

  • Udlodningsgrunde.

  • Relationelle plots.


Kategoriske plots

Vi bruger Seaborns kategoriske plotningsfunktioner til at visualisere tendenserne for en kategorisk variabel eller til at visualisere forholdet mellem to variable med mindst én kategorisk variabel.

Tælle plot:

  • Viser antallet af observationer af hver kategori fra den kategoriske variabel. Vi tæller simpelthen antallet af observationer af hver kategori af variablen
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Bargrund:

  • Repræsenterer et estimat af tendensen for en kontinuert variabel med højden af ​​rektangel for hver kategori af en kategorisk variabel. Så plottefunktionen tager to variable som input, en der er kontinuerlig og en der er kategorisk. For hver kategori fra variabel_1 beregner vi tendensen til variabel_2.

  • Tendensen kan være middelværdien, variansen, eller du kan bestå en brugerdefineret funktion...

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

Bar Plot

Strip plot:

  • Stripplot er et af de enkleste og mest ligetil plots i datavisualisering, vi tegner simpelthen punkter, der repræsenterer værdierne af en kontinuerlig variabel. For hver kategori af variabel 1 tegner vi værdierne for variabel 2.

Strip Plot

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

Sværm plot:

  • Swarm-plottet ligner så meget stripplottet, da det har nøjagtig samme funktionalitet. Den eneste forskel er, hvordan den viser pointene. Mens datapunkter er i stripplot, kan datapunkter overlappe, da de er tilfældigt placeret på x-aksen, i sværmplot sørger vi for, at punkter ikke overlapper hinanden ved at stable dem oven på hinanden.

  • Ulempen her er, at hvis vi har mange datapunkter, ville det være umuligt ikke at overlappe dem, så algoritmen vil slette nogle datapunkter for ikke at overlappe.

Swarm Plot

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

Boks plot:

  • Boksplot bruges til at repræsentere fordelingen af ​​en kontinuert variabel for hver kategori af en kategorisk variabel. Selvom det er ret simpelt, giver det en masse information:

  • Værdierne af kvartilerne:

Boksen har en vandret linje indeni, som repræsenterer medianen. Den vandrette linje over er de øverste kvartiler, den under den er de nederste kvartiler.

  • Outliers:

Bemærk, at der er nogle punkter uden for boksen, disse punkter repræsenterer outliers

Box Plot

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

Violin plot:

I stedet for at plotte distributionsboksen vil violinplot plotte den faktiske fordeling af den kontinuerlige variabel for hver kategori af den kategoriske variabel ved hjælp af KDE (Kernedensitetsestimation)

Violin Plot

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

Distributionsgrunde:

Vi bruger søborns distributionsplotfunktioner til at visualisere fordelingen af ​​kontinuerte variabler.

Hans plot:

Hist-plottet repræsenterer fordelingen af ​​kontinuerte variabler ved brug af bins.

Hist Plot

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

KDE plot:

Kde-plot repræsenterer den faktiske fordeling af dataene ved hjælp af kernedensitetsestimat.

KDE Plot

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

Det kan også bruges til at repræsentere den bivariate fordeling af to kontinuerte variable.

KDE Plot

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

ECDF plot:

ECDF-plot repræsenterer den empiriske kumulative fordeling af en kontinuert variabel.

ECDF Plot

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

Relationelle grunde:

Vi bruger de relationelle plotningsfunktioner for søfødte til at visualisere forholdet mellem kontinuerte variable.

Spredningsplot:

  • Det viser forholdet mellem to kontinuerte variable ved blot at plotte alle datapunkterne.

Scatter Plot

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

Linje plot:

  • Repræsenterer forholdet mellem variable som en kontinuerlig funktion.

Line Plot

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

Flere funktionaliteter:

Du har måske bemærket, at vi i alle plotningsfunktionerne har brugt maksimalt to variable pr. plot, men hvad nu hvis vi vil introducere flere variabler i vores visualisering? Heldigvis tog Seaborn sig af det:

Nuance:

  • Ved at bruge hue kan vi introducere en 3. variabel, der er kategorisk for vores visualisering ved hjælp af farvekodning, det betyder, at de datapunkter, der tilhører samme kategori af denne 3. variabel, vil have samme farve.

Hue

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

Størrelse:

  • Størrelse svarer til nuance, men bruger størrelseskodning i stedet for farvekodning. Det betyder, at de datapunkter, der tilhører samme kategori af den 3. variabel, vil have samme unikke størrelse. Forskellige størrelser betyder forskellige kategorier.

Size

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

Stil:

  • Stort set det samme som Hue og Size. Det betyder, at de datapunkter, der tilhører den samme kategori af den 3. variabel, vil have den samme unikke stil. En punktstil kan være en prik, stjerne, kryds, trekant, … vi kalder dem markører.

Style

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

Vi kan også introducere en ny kategorisk variabel ved hjælp af multiple plots, hvert plot tilhører en kategori fra den kategoriske kategorivariabel:

Kol:

Vil skabe mange figurer vandret med hensyn til den 3. variabels kategorier.

Col

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

Række:

Vil skabe mange figurer lodret i forhold til den 3. variabels kategorier.

Row

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

Vi kan også bruge Hue og Size i det samme plot, til at repræsentere 4 variabler, eller endda Hue and Style og Col, for at bruge 5 variabler i det samme plot! Vi kan bruge op til 7 variable (variabel 1, variabel 2, Hue, Size, Style, Col, Row) i samme plot, men det vil give os et meget ladet plot, der er så rodet og ekstremt svært at fortolke, nogle gange ikke informativ overhovedet.

Hue & Size

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

Konklusion:

I dette indlæg lærte vi om seaborn, dets 3 kategorier af plottefunktioner: Kategoriske, Distributions- og Relationsplot, og vi forklarede hver plottefunktion for hver kategori, alt sammen med pythonkoden.

Tjek vores Data Science Bootcamp for at lære mere om dette emne!


Career Services background pattern

Karriereservice

Contact Section background image

Lad os holde kontakten

Code Labs Academy © 2024 Alle rettigheder forbeholdes.