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')
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)**
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.
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.
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
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 )
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.
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.
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.
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.
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.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Linjeplot:
- Representerar förhållandet mellan variabler som en kontinuerlig funktion.
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.
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.
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.
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.
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.
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.
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!