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')
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)**
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.
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.
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
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)
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.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
KDE-plott:
Kde-plot representerer den faktiske distribusjonen av dataene ved å bruke kjernedensitetsestimat.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Den kan også brukes til å representere den bivariate fordelingen av to kontinuerlige variabler.
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.
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.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Linjeplott:
- Representerer forholdet mellom variabler som en kontinuerlig funksjon.
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.
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.
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.
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.
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.
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.
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!