Duomenų vizualizacija Python su Seaborn

python
duomenų vizualizacija
seaborn
Duomenų vizualizacija Python su Seaborn cover image

Šiais laikais vertingiausias pasaulio išteklius yra nebe nafta, o duomenys. Vizualizacija tampa svarbesne priemone, leidžiančia suprasti milijardus duomenų eilučių. Duomenis paverčiant grafiniu vaizdu, kurį būtų lengva interpretuoti, duomenų vizualizacija padeda pasakoti duomenis, išryškinant atitinkamą informaciją, modelius ir pašalinius dalykus. Tačiau duomenys ir grafika turi veikti kartu: tai menas integruoti puikią analizę su puikiu pasakojimu. Šiame tinklaraščio įraše parodysime „Sea Born“ – vieną žinomiausių vizualizacijos įrankių, parašytų Python.

Vizualizacijos įrankiai

Naudojame vizualizacijos įrankius, kad galėtume vizualizuoti tendencijas, modelius, išskirtinius rodiklius ir ryšį tarp kintamųjų. Tai labai paklausūs įgūdžiai, ypač duomenų mokslo karjerai.

Seaborn

Seaborn yra Python duomenų vizualizacijos biblioteka, pagrįsta matplotlib. Tai suteikia aukšto lygio sąsają, leidžiančią piešti patrauklią ir informatyvią statistinę grafiką.

Jūros braižymo funkcijos:

„Seaborn“ turime 3 sklypų kategorijas

  • Kategoriniai siužetai.

  • Paskirstymo sklypai.

  • Santykiniai siužetai.


Kategoriški siužetai

Siekdami vizualizuoti kategorinio kintamojo tendencijas arba vizualizuoti ryšį tarp dviejų kintamųjų, turinčių bent vieną kategorišką, naudojame kategorines braižymo funkcijas.

Skaičiuoti siužetą:

  • Rodo kiekvienos kategorijos stebėjimų skaičių iš kategorinio kintamojo. Tiesiog suskaičiuojame kiekvienos kintamojo kategorijos stebėjimų skaičių
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Baro sklypas:

  • Reiškia ištisinio kintamojo su stačiakampio aukščiu tendencijos įvertinimą kiekvienai kategorinio kintamojo kategorijai. Taigi braižymo funkcija kaip įvestį paima du kintamuosius: vieną ištisinį ir kategorišką. Kiekvienai kategorijai iš kintamojo_1 apskaičiuojame kintamojo_2 tendenciją.

  • Tendencija gali būti vidurkis, dispersija arba galite perduoti kokią nors pasirinktinę funkciją…

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

Bar Plot

Juostos sklypas:

  • Juostelės diagrama yra vienas iš paprasčiausių ir aiškiausių duomenų vizualizavimo diagramų, tiesiog nubrėžiame taškus, kurie atspindi nuolatinio kintamojo reikšmes. Kiekvienai 1 kintamojo kategorijai nubraižysime 2 kintamojo reikšmes.

Strip Plot

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

Spiečiaus sklypas:

  • Swarm sklypas yra labai panašus į juostos sklypą, nes turi lygiai tą patį funkcionalumą. Vienintelis skirtumas yra tai, kaip jis rodo taškus. Juostelės diagramoje duomenų taškai gali sutapti, nes jie yra atsitiktinai išdėstyti x ašyje, o spiečiaus diagramoje užtikriname, kad taškai nesutaptų, sudėdami juos vienas ant kito.

  • Trūkumas yra tas, kad jei turime daug duomenų taškų, būtų neįmanoma jų nesutapti, todėl algoritmas ištrins kai kuriuos duomenų taškus, kad nesutaptų.

Swarm Plot

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

Dėžutės sklypas:

  • Dėžutės diagrama naudojama pavaizduoti nuolatinio kintamojo pasiskirstymą kiekvienai kategorinio kintamojo kategorijai. Nors tai gana paprasta, ji suteikia daug informacijos:

  • Kvartilių reikšmės:

Dėžutės viduje yra horizontali linija, kuri reiškia medianą. Viršuje esanti horizontali linija yra viršutiniai kvartiliai, o žemiau - apatiniai kvartiliai.

  • Išskirtiniai rodikliai:

Atkreipkite dėmesį, kad kai kurie taškai yra už langelio ribų

Box Plot

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

Smuiko siužetas:

Vietoj paskirstymo dėžutės braižymo, smuiko brėžinys nubraižys tikrąjį nuolatinio kintamojo pasiskirstymą kiekvienai kategorinio kintamojo kategorijai, naudojant KDE (brandžio tankio įvertinimą).

Violin Plot

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

Paskirstymo sklypai:

Norėdami vizualizuoti nuolatinių kintamųjų pasiskirstymą, naudojame jūrinio pasiskirstymo braižymo funkcijas.

Jo siužetas:

Hist diagrama parodo nuolatinių kintamųjų pasiskirstymą naudojant dėžes.

Hist Plot

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

KDE sklypas:

Kde diagrama parodo tikrąjį duomenų pasiskirstymą, naudojant branduolio tankio įvertinimą.

KDE Plot

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

Jis taip pat gali būti naudojamas dviejų nuolatinių kintamųjų dvimačiam pasiskirstymui pavaizduoti.

KDE Plot

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

ECDF sklypas:

ECDF diagrama parodo empirinį kaupiamąjį nuolatinio kintamojo pasiskirstymą.

ECDF Plot

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

Santykiniai siužetai:

Norėdami vizualizuoti ryšį tarp nuolatinių kintamųjų, naudojame jūroje gimusių reliacinio braižo funkcijas.

Sklaidos diagrama:

  • Tai rodo ryšį tarp dviejų nuolatinių kintamųjų, tiesiog nubraižant visus duomenų taškus.

Scatter Plot

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

Linijos brėžinys:

  • Reiškia ryšį tarp kintamųjų kaip nuolatinę funkciją.

Line Plot

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

Daugiau funkcijų:

Galbūt pastebėjote, kad visose braižybos funkcijose mes naudojame daugiausia du kintamuosius viename brėžinyje, bet ką daryti, jei savo vizualizacijoje norime įtraukti daugiau kintamųjų? Laimei, Seaborn tuo pasirūpino:

Atspalvis:

  • Naudodami atspalvį galime įvesti 3 kintamąjį, kuris yra kategoriškas mūsų vizualizacijai naudojant spalvų kodavimą, tai reiškia, kad duomenų taškai, priklausantys tai pačiai šio 3 kintamojo kategorijai, turės tą pačią spalvą.

Hue

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

Dydis:

  • Dydis panašus į atspalvį, tačiau vietoj spalvų kodavimo naudojamas dydžio kodavimas. Tai reiškia, kad duomenų taškai, priklausantys tai pačiai 3-ojo kintamojo kategorijai, turės tą patį unikalų dydį. Skirtingi dydžiai reiškia skirtingas kategorijas.

Size

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

Stilius:

  • Beveik tas pats, kas atspalvis ir dydis. Tai reiškia, kad duomenų taškai, priklausantys tai pačiai 3-iojo kintamojo kategorijai, turės tą patį unikalų stilių. Taško stilius gali būti taškas, žvaigždė, kryžius, trikampis,… mes juos vadiname žymekliais.

Style

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

Taip pat galime įvesti naują kategorinį kintamąjį, naudodami kartotinius diagramas, kiekvienas sklypas priklauso kategorijai iš kategorinio kintamojo:

Kol:

Sukurs daug figūrų horizontaliai, atsižvelgiant į 3 kintamojo kategorijas.

Col

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

Eilutė:

Sukurs daug figūrų vertikaliai, atsižvelgiant į 3 kintamojo kategorijas.

Row

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

Taip pat galime naudoti atspalvį ir dydį tame pačiame brėžinyje, kad pavaizduotume 4 kintamuosius, arba net atspalvį ir stilių ir koloną, kad tame pačiame diagramoje būtų naudojami 5 kintamieji! Tame pačiame brėžinyje galime naudoti iki 7 kintamųjų (kintamasis 1, kintamasis 2, atspalvis, dydis, stilius, kolona, ​​eilutė), bet tai suteiks mums labai įkrautą grafiką, kuris yra toks netvarkingas ir nepaprastai sunkiai interpretuojamas, o kartais ir ne. išvis informatyvus.

Hue & Size

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

Išvada:

Šiame įraše mes sužinojome apie jūrinį ženklą, jo 3 braižymo funkcijų kategorijas: kategorinius, pasiskirstymo ir santykio brėžinius, ir paaiškinome kiekvieną kiekvienos kategorijos braižymo funkciją kartu su python kodu.

Peržiūrėkite mūsų Data Science Bootcamp, kad sužinotumėte daugiau apie šią temą!


Career Services background pattern

Karjeros paslaugos

Contact Section background image

Palaikykime ryšį

Code Labs Academy © 2024 Visos teisės saugomos.