Visualization ng Data sa Python kasama ang Seaborn

python
data visualization
seaborn
Visualization ng Data sa Python kasama ang Seaborn cover image

Sa ngayon, ang pinakamahalagang mapagkukunan sa mundo ay hindi na langis, kundi data. Ang visualization ay nagiging isang mas mahalagang tool para sa pagbibigay kahulugan sa bilyun-bilyong row ng data. Sa pamamagitan ng pagsasalin ng data sa isang graphical na representasyon na madaling bigyang-kahulugan, nakakatulong ang visualization ng data sa pagkukuwento ng data sa pamamagitan ng pag-highlight ng mga nauugnay na impormasyon, pattern, at outlier. Gayunpaman, ang data at ang mga graphic ay dapat magtulungan: Ito ang sining ng pagsasama ng mahusay na pagsusuri sa mahusay na pagkukuwento. Sa post sa blog na ito, ipapakita namin sa iyo ang "Sea Born", isa sa mga pinakakilalang tool sa visualization na nakasulat sa Python.

Mga tool sa visualization

Gumagamit kami ng mga tool sa Visualization upang mailarawan ang mga uso, pattern, outlier at ang ugnayan sa pagitan ng mga variable. Ito ay isang mataas na hinihiling na kasanayan lalo na para sa isang karera sa agham ng data.

Seaborn

Ang Seaborn ay isang Python data visualization library batay samatplotlib. Nagbibigay ito ng mataas na antas na interface para sa pagguhit ng kaakit-akit at nagbibigay-kaalaman na istatistikal na graphics.

Seaborn plotting function:

Sa seaborn, mayroon kaming 3 kategorya ng mga plot

  • Mga kategoryang plot.

  • Mga plot ng pamamahagi.

  • Relational plots.


Mga kategoryang plot

Ginagamit namin ang mga function ng categorical plotting ng seaborn upang mailarawan ang mga tendensya ng isang kategoryang variable o upang mailarawan ang ugnayan sa pagitan ng dalawang variable na may hindi bababa sa isang kategorya.

Count plot:

  • Ipinapakita ang mga bilang ng mga obserbasyon ng bawat kategorya mula sa kategoryang variable. Binibilang lang namin ang bilang ng mga obserbasyon ng bawat kategorya ng variable
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Bar plot:

  • Kinakatawan ang isang pagtatantya ng tendency ng isang tuluy-tuloy na variable na may taas ng rectangle para sa bawat kategorya ng isang kategoryang variable. Kaya ang pag-plot function ay tumatagal ng dalawang variable bilang input, isa na tuloy-tuloy at isa na kategorya. Para sa bawat kategorya mula sa variable_1, kinakalkula namin ang tendency ng variable_2.

  • Ang tendency ay maaaring ang ibig sabihin, ang pagkakaiba, o maaari kang magpasa ng ilang custom na function...

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

Bar Plot

Strip plot:

  • Ang strip plot ay isa sa pinakasimple at pinakasimpleng plot sa visualization ng data, gumuhit lang kami ng mga puntos na kumakatawan sa mga value ng tuluy-tuloy na variable. Para sa bawat kategorya ng Variable 1, iguguhit namin ang mga value ng Variable 2.

Strip Plot

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

Swarm plot:

  • Ang swarm plot ay katulad ng strip plot, dahil mayroon itong eksaktong parehong functionality. Ang pagkakaiba lamang ay sa kung paano ito ipinapakita ang mga puntos. Habang nasa strip plot, maaaring mag-overlap ang mga data point dahil random na inilalagay ang mga ito sa x-axis, sa swarm plot tinitiyak namin na hindi magkakapatong ang mga puntos sa pamamagitan ng pagsasalansan ng mga ito sa ibabaw ng bawat isa.

  • Ang disbentaha dito ay kung marami tayong data point, imposibleng hindi mag-overlap ang mga ito, kaya tatanggalin ng algorithm ang ilang data point upang hindi mag-overlap.

Swarm Plot

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

Kahon ng plot:

  • Ang box plot ay ginagamit upang kumatawan sa distribusyon ng tuluy-tuloy na variable para sa bawat kategorya ng isang kategoryang variable. Kahit na ito ay medyo simple, nagbubunga ito ng maraming impormasyon:

  • Ang mga halaga ng quartile:

Ang kahon ay may pahalang na linya sa loob, na kumakatawan sa median. Ang pahalang na linya sa itaas ay ang upper quartiles, ang nasa ibaba nito ay ang lower quartiles.

  • Ang mga outlier:

Pansinin na mayroong ilang mga punto sa labas ng kahon, ang mga puntong ito ay kumakatawan sa mga outlier

Box Plot

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

biyolin plot:

Sa halip na i-plot ang distribution box, ang violin plot ay mag-plot ng aktwal na distribution ng tuluy-tuloy na variable para sa bawat kategorya ng categorical variable gamit ang KDE ( Kernel Density Estimation )

Violin Plot

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

Mga plot ng pamamahagi:

Ginagamit namin ang mga function ng distribution plotting ng seaborn upang mailarawan ang distribusyon ng tuluy-tuloy na mga variable.

Ang kanyang plot:

Ang hist plot ay kumakatawan sa distribusyon ng tuluy-tuloy na mga variable gamit ang mga bins.

Hist Plot

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

KDE plot:

Kinakatawan ng Kde plot ang aktwal na pamamahagi ng data, gamit ang Kernel Density Estimation.

KDE Plot

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

Maaari din itong gamitin upang kumatawan sa bivariate distribution ng dalawang tuluy-tuloy na variable.

KDE Plot

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

ECDF plot:

Kinakatawan ng ECDF plot ang empirical cumulative distribution ng tuluy-tuloy na variable.

ECDF Plot

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

Relational plot:

Ginagamit namin ang relational plotting function ng seaborn upang mailarawan ang kaugnayan sa pagitan ng tuluy-tuloy na mga variable.

Scatter plot:

  • Ipinapakita nito ang relasyon sa pagitan ng dalawang tuluy-tuloy na variable, sa pamamagitan lamang ng paglalagay ng lahat ng mga punto ng data.

Scatter Plot

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

Line plot:

  • Kinakatawan ang relasyon sa pagitan ng mga variable bilang tuluy-tuloy na function.

Line Plot

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

Higit pang mga functionality:

Maaaring napansin mo na sa lahat ng mga function ng pag-plot ay gumagamit kami ng maximum na dalawang variable bawat plot, ngunit paano kung gusto naming magpakilala ng higit pang mga variable sa aming visualization ? Sa kabutihang palad ay inalagaan iyon ni Seaborn:

Kulay:

  • Gamit ang hue, maaari tayong magpakilala ng isang 3rd variable na nakategorya sa ating visualization gamit ang color encoding, nangangahulugan ito na ang mga data point na kabilang sa parehong kategorya ng 3rd variable na ito ay magkakaroon ng parehong kulay.

Hue

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

Laki:

  • Ang laki ay katulad ng kulay, ngunit gumagamit ng size encoding sa halip na color encoding. Nangangahulugan ito na ang mga punto ng data na kabilang sa parehong kategorya ng 3rd variable ay magkakaroon ng parehong natatanging laki. Ang iba't ibang laki ay nangangahulugan ng iba't ibang kategorya.

Size

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

Estilo:

  • Halos kapareho ng Hue at Size, Nangangahulugan ito na ang mga data point na kabilang sa parehong kategorya ng 3rd variable ay magkakaroon ng parehong natatanging istilo. Ang istilo ng punto ay maaaring isang tuldok, bituin, krus, tatsulok, ... tinatawag namin silang mga marker.

Style

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

Maaari rin kaming magpakilala ng bagong variable na pang-kategorya gamit ang mga multiple plot, ang bawat plot ay kabilang sa isang kategorya mula sa categorical variable:

Col:

Gagawa ng maraming figure nang pahalang na may paggalang sa mga kategorya ng 3rd variable.

Col

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

Row:

Gagawa ng maraming figure nang patayo na may paggalang sa mga kategorya ng 3rd variable.

Row

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

Maaari din nating gamitin ang Hue at Size sa parehong plot, para kumatawan sa 4 na variable, o kahit Hue at Style at Col, para gumamit ng 5 variable sa parehong plot! Maaari kaming gumamit ng hanggang 7 variable ( variable 1, variable 2, Hue, Size, Style, Col, Row ) sa parehong plot, ngunit magbibigay ito sa amin ng napaka-charge na plot na napakagulo at napakahirap bigyang-kahulugan, minsan hindi impormasyon sa lahat.

Hue & Size

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

Konklusyon:

Sa post na ito, nalaman namin ang tungkol sa seaborn, ang 3 kategorya nito ng mga plotting function: Categorical, Distribution at Relational plot, at ipinaliwanag namin ang bawat plotting function para sa bawat kategorya, kasama ang python code.

Tingnan ang aming Data Science Bootcamp para matuto pa tungkol sa paksang ito!


Career Services background pattern

Mga Serbisyo sa Karera

Contact Section background image

Manatiling nakikipag-ugnayan tayo

Code Labs Academy © 2024 Lahat ng karapatan ay nakalaan.