Datavisualisering i Python med Seaborn

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

I dag er verdens mest verdifulle ressurs ikke lenger olje, men data. Visualisering blir et viktigere verktøy for å forstå milliarder av rader med data. Ved å oversette data til en grafisk representasjon som er enkel å tolke, hjelper datavisualisering i datahistoriefortellingen ved å fremheve relevant informasjon, mønstre og uteliggere. Dataene og grafikken må imidlertid fungere sammen: Det er kunsten å integrere god analyse med god historiefortelling. I dette blogginnlegget viser vi deg «Sea Born», et av de mest kjente visualiseringsverktøyene skrevet i Python.

Visualiseringsverktøy

Vi bruker visualiseringsverktøy for å visualisere trender, mønstre, uteliggere og forholdet mellom variabler. Det er en svært etterspurt ferdighet, spesielt for en datavitenskapskarriere.

Seaborn

Seaborn er et Python-datavisualiseringsbibliotek basert påmatplotlib. Det gir et grensesnitt på høyt nivå for å tegne attraktiv og informativ statistisk grafikk.

Seaborn plotting funksjoner:

I seaborn har vi 3 kategorier tomter

  • Kategoriske tomter.

  • Distribusjonstomter.

  • Relasjonstomter.


Kategoriske plott

Vi bruker de kategoriske plottefunksjonene til sjøborn for å visualisere tendensene til en kategorisk variabel eller for å visualisere forholdet mellom to variabler med minst én kategorisk variabel.

Telle plot:

  • Viser antall observasjoner for hver kategori fra den kategoriske variabelen. Vi teller ganske enkelt antall observasjoner av hver kategori av variabelen
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Bartomt:

  • Representerer et estimat av tendensen til en kontinuerlig variabel med høyden på rektangelet for hver kategori av en kategorisk variabel. Så plottefunksjonen tar to variabler som input, en som er kontinuerlig og en som er kategorisk. For hver kategori fra variabel_1 beregner vi tendensen til variabel_2.

  • Tendensen kan være gjennomsnittet, variansen, eller du kan passere en egendefinert funksjon...

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

Bar Plot

Stripplott:

  • Stripplott er et av de enkleste og mest enkle plottene i datavisualisering, vi tegner ganske enkelt punkter som representerer verdiene til en kontinuerlig variabel. For hver kategori av variabel 1 vil vi tegne verdiene til variabel 2.

Strip Plot

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

Swarm plot:

  • Swarm-plottet er så likt stripplottet, siden det har nøyaktig samme funksjonalitet. Den eneste forskjellen er hvordan den viser poengene. Mens i stripeplot kan datapunkter overlappe siden de er tilfeldig plassert på x-aksen, i svermplott sørger vi for at punktene ikke overlapper hverandre ved å stable dem oppå hverandre.

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

Swarm Plot

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

Boksplott:

  • Boksplott brukes til å representere fordelingen av en kontinuerlig variabel for hver kategori av en kategorisk variabel. Selv om det er ganske enkelt, gir det mye informasjon:

  • Verdiene til kvartilene:

Boksen har en horisontal linje inni, som representerer medianen. Den horisontale linjen over er de øvre kvartilene, den under er de nedre kvartilene.

  • Uteliggere:

Legg merke til at det er noen punkter utenfor boksen, disse punktene representerer avvikene

Box Plot

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

Fiolinplottet:

I stedet for å plotte distribusjonsboksen, vil fiolinplott plotte den faktiske fordelingen av den kontinuerlige variabelen for hver kategori av den kategoriske variabelen ved å bruke KDE (Kernel Density Estimation)

Violin Plot

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

Distribusjonstomter:

Vi bruker distribusjonsplottfunksjonene til sjøfødte for å visualisere fordelingen av kontinuerlige variabler.

Hans plot:

Hist-plottet representerer fordelingen av kontinuerlige variabler ved bruk av bins.

Hist Plot

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

KDE-plott:

Kde-plot representerer den faktiske distribusjonen av dataene ved å bruke kjernedensitetsestimat.

KDE Plot

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

Den kan også brukes til å representere den bivariate fordelingen av to kontinuerlige variabler.

KDE Plot

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

ECDF-plot:

ECDF-plott representerer den empiriske kumulative fordelingen av en kontinuerlig variabel.

ECDF Plot

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

Relasjonelle tomter:

Vi bruker de relasjonelle plottefunksjonene til sjøfødte for å visualisere forholdet mellom kontinuerlige variabler.

Spredningsplott:

  • Den viser forholdet mellom to kontinuerlige variabler, ved ganske enkelt å plotte alle datapunktene.

Scatter Plot

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

Linjeplott:

  • Representerer forholdet mellom variabler som en kontinuerlig funksjon.

Line Plot

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

Flere funksjoner:

Du har kanskje lagt merke til at vi i alle plottefunksjonene har brukt maksimalt to variabler per plott, men hva om vi ønsker å introdusere flere variabler i visualiseringen vår? Heldigvis tok Seaborn seg av det:

farge:

  • Ved å bruke hue kan vi introdusere en 3. variabel som er kategorisk for visualiseringen vår ved hjelp av fargekoding, det betyr at datapunktene som tilhører samme kategori av denne 3. variabelen vil ha samme farge.

Hue

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

Størrelse:

  • Størrelse ligner på fargetone, men bruker størrelseskoding i stedet for fargekoding. Det betyr at datapunktene som tilhører samme kategori av den 3. variabelen vil ha samme unike størrelse. Ulike størrelser betyr ulike kategorier.

Size

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

Stil:

  • Ganske mye det samme som Hue og Size, det betyr at datapunktene som tilhører samme kategori av den tredje variabelen vil ha samme unike stil. En punktstil kan være en prikk, stjerne, kryss, trekant, … vi kaller dem markører.

Style

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

Vi kan også introdusere en ny kategorisk variabel ved å bruke multiple plott, hvert plott tilhører en kategori fra den kategoriske kategorivariabelen:

Kol:

Vil lage mange figurer horisontalt med hensyn til kategoriene til den tredje variabelen.

Col

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

Rad:

Vil lage mange figurer vertikalt med hensyn til kategoriene til den tredje variabelen.

Row

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

Vi kan også bruke Hue og Size i samme plot, for å representere 4 variabler, eller til og med Hue and Style og Col, for å bruke 5 variabler i samme plot! Vi kan bruke opptil 7 variabler (variabel 1, variabel 2, Hue, Size, Style, Col, Row) i samme plot, men det vil gi oss et veldig ladet plot som er så rotete og ekstremt vanskelig å tolke, noen ganger ikke informativ i det hele tatt.

Hue & Size

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

Konklusjon:

I dette innlegget lærte vi om seaborn, dens 3 kategorier av plottefunksjoner: Kategoriske, distribusjons- og relasjonsplott, og vi forklarte hver plottefunksjon for hver kategori, sammen med python-koden.

Ta en titt på vår Data Science Bootcamp for å lære mer om dette emnet!


Career Services background pattern

Karrieretjenester

Contact Section background image

La oss holde kontakten

Code Labs Academy © 2024 Alle rettigheter forbeholdes.