Сёння самым каштоўным рэсурсам у свеце з'яўляецца ўжо не нафта, а дадзеныя. Візуалізацыя становіцца ўсё больш важным інструментам для разумення мільярдаў радкоў даных. Пераводзячы даныя ў графічнае прадстаўленне, якое лёгка інтэрпрэтаваць, візуалізацыя даных дапамагае ў апавяданні даных, вылучаючы адпаведную інфармацыю, шаблоны і выкіды. Аднак дадзеныя і графіка павінны працаваць разам: гэта мастацтва інтэграцыі выдатнага аналізу з цудоўным апавяданнем. У гэтым паведамленні ў блогу мы пакажам вам "Sea Born", адзін з самых вядомых інструментаў візуалізацыі, напісаных на Python.
Інструменты візуалізацыі
Мы выкарыстоўваем інструменты візуалізацыі для візуалізацыі тэндэнцый, шаблонаў, выкідаў і ўзаемасувязі паміж зменнымі. Гэта вельмі запатрабаваны навык, асабліва для кар'еры навукі аб дадзеных.
Seaborn
Seaborn - гэта бібліятэка візуалізацыі даных Python, заснаваная на matplotlib. Ён забяспечвае інтэрфейс высокага ўзроўню для малявання прывабнай і інфарматыўнай статыстычнай графікі.
Функцыі пабудовы Seaborn:
У Seaborn у нас ёсць 3 катэгорыі ўчасткаў
-
Катэгарыяльныя сюжэты.
-
Размеркавальныя ўчасткі.
-
Рэляцыйныя сюжэты.
Катэгарыяльныя сюжэты
Мы выкарыстоўваем катэгарыяльныя функцыі графіка seaborn, каб візуалізаваць тэндэнцыі катэгарыяльнай зменнай або візуалізаваць сувязь паміж дзвюма зменнымі па меншай меры адной катэгарыяльнай.
Сюжэт падліку:
- Паказвае колькасць назіранняў кожнай катэгорыі з катэгарыяльнай зменнай. Мы проста падлічваем колькасць назіранняў кожнай катэгорыі зменнай
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Участак бара:
-
Уяўляе сабой ацэнку тэндэнцыі бесперапыннай зменнай з вышынёй прамавугольніка для кожнай катэгорыі катэгарыяльнай зменнай. Такім чынам, функцыя пабудовы графіка прымае дзве зменныя ў якасці ўваходных дадзеных, адну бесперапынную і другую катэгарычную. Для кожнай катэгорыі зменнай_1 мы разлічваем тэндэнцыю зменнай_2.
-
Тэндэнцыяй можа быць сярэдняе значэнне, дысперсія, або вы можаце перадаць некаторую карыстальніцкую функцыю...
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Паласа:
- Палоскавы графік - адзін з самых простых і зразумелых графікаў у візуалізацыі даных, мы проста малюем кропкі, якія прадстаўляюць значэнні бесперапыннай зменнай. Для кожнай катэгорыі зменнай 1 мы будзем маляваць значэнні зменнай 2.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Сюжэт роя:
-
Swarm plot вельмі падобны на strip plot, так як ён мае сапраўды такую ж функцыянальнасць. Розніца толькі ў тым, як ён адлюстроўвае балы. У той час як на палосным графіку кропкі даных могуць перакрывацца, паколькі яны выпадковым чынам размешчаны на восі х, на роевым графіку мы гарантуем, што кропкі не накладаюцца, накладваючы іх адна на адну.
-
Недахопам з'яўляецца тое, што калі ў нас шмат кропак даных, іх немагчыма не перакрываць, таму алгарытм выдаліць некаторыя кропкі даных, каб не перакрывацца.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Скрынічны сюжэт:
-
Карцінавая дыяграма выкарыстоўваецца для адлюстравання размеркавання бесперапыннай зменнай для кожнай катэгорыі катэгарыяльнай зменнай. Нягледзячы на тое, што гэта даволі проста, гэта дае шмат інфармацыі:
-
Значэнні квартилей:
У полі ёсць гарызантальная лінія ўнутры, якая ўяўляе медыяну. Гарызантальная лінія вышэй - гэта верхнія квартылі, лінія пад ёй - ніжнія квартылі.
- Выкіды:
Звярніце ўвагу, што ёсць некаторыя кропкі па-за рамкай, гэтыя кропкі ўяўляюць сабой выкіды
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Сюжэт для скрыпкі:
Замест таго, каб будаваць графік размеркавальнай скрынкі, скрыпічны графік будзе адлюстроўваць фактычнае размеркаванне бесперапыннай зменнай для кожнай катэгорыі катэгарыяльнай зменнай з дапамогай KDE (Ацэнка шчыльнасці ядра).
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Участкі размеркавання:
Мы выкарыстоўваем функцыі пабудовы размеркавання Сіборна, каб візуалізаваць размеркаванне бесперапынных зменных.
Гісторыя:
Гістарычны графік паказвае размеркаванне бесперапынных зменных з выкарыстаннем бінаў.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
Сюжэт KDE:
Дыяграма Kde адлюстроўвае фактычнае размеркаванне даных з выкарыстаннем ацэнкі шчыльнасці ядра.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Яго таксама можна выкарыстоўваць для прадстаўлення двухмернага размеркавання дзвюх бесперапынных зменных.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Графік ECDF:
Графік ECDF уяўляе сабой эмпірычнае кумулятыўнае размеркаванне бесперапыннай зменнай.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Сюжэты адносін:
Мы выкарыстоўваем рэляцыйныя функцыі пабудовы Seaborn, каб візуалізаваць сувязь паміж бесперапыннымі зменнымі.
Дыяграма рассейвання:
- Ён паказвае ўзаемасувязь паміж дзвюма бесперапыннымі зменнымі, проста пабудаваўшы ўсе кропкі дадзеных.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Лінейны графік:
- Прадстаўляе сувязь паміж зменнымі як бесперапынную функцыю.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Дадатковыя функцыі:
Магчыма, вы заўважылі, што ва ўсіх функцыях пабудовы графіка мы выкарыстоўваем максімум дзве зменныя на графік, але што, калі мы хочам увесці больш зменных у нашу візуалізацыю? На шчасце Сіборн паклапаціўся пра гэта:
Адценне:
- З дапамогай адцення мы можам увесці 3-ю зменную, якая з'яўляецца катэгарычнай для нашай візуалізацыі з выкарыстаннем каляровага кадавання, гэта азначае, што кропкі даных, якія адносяцца да той жа катэгорыі гэтай 3-й зменнай, будуць мець аднолькавы колер.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Памер:
- Памер падобны на колер, але замест каляровага кадавання выкарыстоўваецца кадзіроўка памеру. Гэта азначае, што кропкі дадзеных, якія адносяцца да адной катэгорыі 3-й зменнай, будуць мець аднолькавы унікальны памер. Розныя памеры азначаюць розныя катэгорыі.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Стыль:
- Прыкладна тое ж самае, што і адценне і памер. Гэта азначае, што кропкі даных, якія адносяцца да адной катэгорыі 3-й зменнай, будуць мець аднолькавы унікальны стыль. Стыль кропкі можа быць кропкай, зоркай, крыжыкам, трохкутнікам, ... мы называем іх маркерамі.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Мы таксама можам увесці новую катэгарыяльную зменную, выкарыстоўваючы некалькі графікаў, кожны з якіх належыць да катэгорыі з катэгарыяльнай зменнай:
Кол:
Будзе створана шмат фігур па гарызанталі адносна катэгорый 3-й зменнай.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Радок:
Будзе створана шмат фігур па вертыкалі адносна катэгорый 3-й зменнай.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
Мы таксама можам выкарыстоўваць Hue і Size на адным графіку, каб прадставіць 4 зменныя, або нават Hue, Style і Col, каб выкарыстоўваць 5 зменных на адным графіку! Мы можам выкарыстоўваць да 7 зменных (пераменная 1, зменная 2, адценне, памер, стыль, слупок, радок) у адным графіку, але гэта дасць нам вельмі зараджаны графік, які настолькі бязладны і вельмі цяжкі для інтэрпрэтацыі, часам не пазнавальна наогул.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Выснова:
У гэтай публікацыі мы даведаліся пра seaborn, яго 3 катэгорыі функцый пабудовы: катэгарыяльную, размеркавальную і рэляцыйную, а таксама растлумачылі кожную функцыю пабудовы для кожнай катэгорыі разам з кодам Python.
Каб даведацца больш аб гэтай тэме, наведайце наш Data Science Bootcamp!