Datavisualisering i Python med Seaborn

python
datavisualisering
sjöfödd
Datavisualisering i Python med Seaborn cover image

Nuförtiden är världens mest värdefulla resurs inte längre olja, utan data. Visualisering blir ett viktigare verktyg för att förstå de miljarder rader med data. Genom att översätta data till en grafisk representation som är lätt att tolka, hjälper datavisualisering till databerättelsen genom att lyfta fram relevant information, mönster och extremvärden. Datan och grafiken måste dock fungera tillsammans: Det är konsten att integrera bra analys med bra storytelling. I det här blogginlägget visar vi dig "Sea Born", ett av de mest välkända visualiseringsverktygen skrivet i Python.

Visualiseringsverktyg

Vi använder visualiseringsverktyg för att visualisera trender, mönster, extremvärden och förhållandet mellan variabler. Det är en mycket efterfrågad färdighet, särskilt för en datavetenskapskarriär.

Seaborn

Seaborn är ett Python-datavisualiseringsbibliotek baserat påmatplotlib. Det ger ett gränssnitt på hög nivå för att rita attraktiv och informativ statistisk grafik.

Seaborn plottningsfunktioner:

I seaborn har vi 3 kategorier av tomter

  • Kategoriska tomter.

  • Utdelningstomter.

  • Relationella tomter.


Kategoriska tomter

Vi använder sjöbornas kategoriska plottningsfunktioner för att visualisera tendenserna hos en kategorisk variabel eller för att visualisera förhållandet mellan två variabler med minst en kategorisk variabel.

Räkna tomt:

  • Visar antalet observationer för varje kategori från den kategoriska variabeln. Vi räknar helt enkelt antalet observationer av varje kategori av variabeln
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Bartomt:

  • Representerar en uppskattning av tendensen för en kontinuerlig variabel med rektangelhöjden för varje kategori av en kategorisk variabel. Så plottningsfunktionen tar två variabler som indata, en som är kontinuerlig och en som är kategorisk. För varje kategori från variabel_1 beräknar vi tendensen för variabel_2.

  • Tendensen kan vara medelvärdet, variansen, eller så kan du passera någon anpassad funktion...

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

Bar Plot

Strip tomt:

  • Stripplot är en av de enklaste och mest enkla plottarna inom datavisualisering, vi ritar helt enkelt punkter som representerar värdena för en kontinuerlig variabel. För varje kategori av variabel 1 kommer vi att rita värdena för variabel 2.

Strip Plot

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

Svärmplot:

  • Svärmplotten är så lik stripplotten, eftersom den har exakt samma funktionalitet. Den enda skillnaden är hur den visar poängen. Medan i stripplot kan datapunkter överlappa varandra eftersom de placeras slumpmässigt på x-axeln, i svärmplot ser vi till att punkter inte överlappar varandra genom att stapla dem ovanpå varandra.

  • Nackdelen här är att om vi har många datapunkter skulle det vara omöjligt att inte överlappa dem, så algoritmen kommer att ta bort några datapunkter för att inte överlappa varandra.

Swarm Plot

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

Lådtomt:

  • Boxplot används för att representera fördelningen av en kontinuerlig variabel för varje kategori av en kategorisk variabel. Även om det är ganska enkelt, ger det mycket information:

  • Värdena för kvartilerna:

Boxen har en horisontell linje inuti, som representerar medianen. Den horisontella linjen ovanför är de övre kvartilerna, den under den är de nedre kvartilerna.

  • Outliers:

Lägg märke till att det finns några punkter utanför boxen, dessa punkter representerar extremvärdena

Box Plot

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

Fiolintrig:

Istället för att plotta distributionsrutan, kommer violinplotten att plotta den faktiska fördelningen av den kontinuerliga variabeln för varje kategori av den kategoriska variabeln med hjälp av KDE ( Kernel Density Estimation )

Violin Plot

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

Utdelningstomter:

Vi använder fördelningsplottningsfunktionerna för sjöfödda för att visualisera fördelningen av kontinuerliga variabler.

Hans handling:

Histdiagrammet representerar fördelningen av kontinuerliga variabler med användning av bins.

Hist Plot

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

KDE plot:

Kde-plotten representerar den faktiska fördelningen av data, med hjälp av kärndensitetsuppskattningen.

KDE Plot

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

Den kan också användas för att representera den bivariata fördelningen av två kontinuerliga variabler.

KDE Plot

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

ECDF plot:

ECDF-plot representerar den empiriska kumulativa fördelningen av en kontinuerlig variabel.

ECDF Plot

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

Relationella tomter:

Vi använder de relationella plottningsfunktionerna för sjöborna för att visualisera sambandet mellan kontinuerliga variabler.

Plott:

  • Den visar förhållandet mellan två kontinuerliga variabler genom att helt enkelt plotta alla datapunkter.

Scatter Plot

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

Linjeplot:

  • Representerar förhållandet mellan variabler som en kontinuerlig funktion.

Line Plot

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

Fler funktioner:

Du kanske har märkt att vi i alla plottningsfunktioner har använt högst två variabler per plot, men vad händer om vi vill introducera fler variabler i vår visualisering? Lyckligtvis tog Seaborn hand om det:

Nyans:

  • Genom att använda hue kan vi introducera en 3:e variabel som är kategorisk för vår visualisering med hjälp av färgkodning, det betyder att datapunkterna som tillhör samma kategori av denna 3:e variabel kommer att ha samma färg.

Hue

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

Storlek:

  • Storlek liknar nyans, men använder storlekskodning istället för färgkodning. Det betyder att datapunkterna som tillhör samma kategori av den 3:e variabeln kommer att ha samma unika storlek. Olika storlekar betyder olika kategorier.

Size

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

Stil:

  • Ganska mycket samma sak som Hue och Size, det betyder att datapunkterna som tillhör samma kategori av den 3:e variabeln kommer att ha samma unika stil. En punktstil kan vara en prick, stjärna, kors, triangel, ... vi kallar dem markörer.

Style

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

Vi kan också introducera en ny kategorivariabel med hjälp av multipla plotter, varje plot tillhör en kategori från kategorikategorivariabeln:

Kol:

Kommer att skapa många figurer horisontellt med avseende på den tredje variabelns kategorier.

Col

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

Rad:

Kommer att skapa många figurer vertikalt med avseende på den tredje variabelns kategorier.

Row

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

Vi kan också använda Hue och Size i samma plot, för att representera 4 variabler, eller till och med Hue and Style och Col, för att använda 5 variabler i samma plot! Vi kan använda upp till 7 variabler (variabel 1, variabel 2, Hue, Size, Style, Col, Row) i samma plot, men det kommer att ge oss en väldigt laddad plot som är så rörig och extremt svår att tolka, ibland inte informativt överhuvudtaget.

Hue & Size

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

Slutsats:

I det här inlägget lärde vi oss om seaborn, dess 3 kategorier av plottningsfunktioner: Kategoriska, Distributions- och Relationsplottar, och vi förklarade varje plottningsfunktion för varje kategori, tillsammans med pythonkoden.

Kolla in vårt Data Science Bootcamp för att lära dig mer om det här ämnet!


Career Services background pattern

Karriärtjänster

Contact Section background image

Låt oss hålla kontakten

Code Labs Academy © 2024 Alla rättigheter förbehållna.