Ефективна визуализация на многоизмерни данни - практически подход

Стратегии за ефективно визуализиране на данни

Въведение

Описателната аналитика е един от основните компоненти на всеки цикъл на анализ на анализа, който се отнася до проект за научни данни или дори конкретни изследвания. Обобщаването, обобщаването и визуализацията на данните са някои от основните стълбове, подкрепящи тази област на анализа на данните. От дните на традиционната бизнес интелигентност дори до тази епоха на изкуствения интелект визуализацията на данни е мощен инструмент и е широко възприета от организациите благодарение на ефективността си да абстрахира правилната информация, разбира и интерпретира резултатите и ясно и лесно.

Обаче работата с многоизмерни набори от данни с обикновено повече от два атрибута започва да създава проблеми, тъй като нашата среда за анализ и комуникация на данни обикновено е ограничена до две измерения. Написал съм няколко популярни статии около ефективната визуализация на данни в миналото и също съм говорил на конференции за същото. Тази статия ще бъде компилация от моя опит досега в работата със структурирани и неструктурирани данни! В тази статия ще проучим следните аспекти:

  • Граматиката на графиката
  • Ефективни стратегии за визуализиране на многоизмерни структурирани данни (вариращи от 1-D до 6-D)
  • Кратко описание за визуализиране на неструктурирани данни, включително текст, изображения и аудио

Примерите ще бъдат показани в Python, но ако се интересувате, можете да копирате същото в R или друга платформа по ваш избор.

мотивиране

Визуализацията на данни и разказването на истории винаги е била една от най-важните фази на всеки тръбопровод за научни данни, включващ извличане на смислена информация от данни, независимо от сложността на данните или проекта. Вземете прост пример за „Дузината на Datasaurus“ - дванадесет различни набора от данни, изобразени на следващата фигура.

Можете ли да познаете какво е общото между тези много различни изглеждащи набори от данни?
The Datasaurus Dozen - Какво е общото между тези разнообразни набори от данни?
Отговор: Обобщената статистика за всички набори от данни е абсолютно еднаква!

Това е забавен вариант на добре познатия квартет на Anscombe, с който много от вас може би са много запознати, както е показано на следващата фигура.

Квартет на Anscombe - различни набори от данни с една и съща обобщена статистика

Основното извличане от тези демонстрации би било „Не се доверявайте сляпо на данните си и започнете да моделирате своите данни“. Обобщената статистика винаги може да бъде измамна. Винаги визуализирайте и разбирайте вашите атрибути на данни, преди да преминете към проектиране и изграждане на статистически, машинно и дълбоко обучение модели.

Друг много важен източник на мотивация, особено за ефективна визуализация на данни, може да се извлече от отлични казуси, датиращи от няколко века назад, когато дори не сме имали компютри, камо ли Python или R! Първият от тях е известната визуализация на Джон Сноу, изобразяваща Широката улична холера в Лондон, Англия през 1854 г.!

Визуализация на епидемията от холера на широката улица, която помогна да се намери първопричината за епидемията от болестта! (Източник: https://github.com/dipanjanS/art_of_data_visualization)

Можете да видите как обикновена рисувана визуализация помогна за намирането на първопричината за епидемията от холера по Широка улица през 1850-те години. Друга интересна визуализация е построена от Флорънс Найтингейл, майката на съвременната сестринска практика, която проявяваше задълбочен интерес към сестринството и статистиката.

Причини за смъртността в армията на Изтока - Флорънс Найтингейл (Източник: https://github.com/dipanjanS/art_of_data_visualization)

Горната фигура изобразява полярна диаграма на зоната, изобразяваща причините за смъртността (смъртта) в армията през 1850-те години. Виждаме, че визуализацията определено не е опростена, но въпреки това тя предава правилната информация - ясно показва делът на загиналите войници поради болести, които са били предотвратими, въз основа на рани или други причини. Това трябва да послужи като достатъчна мотивация за ефективна визуализация на данните!

Бързо обновяване на визуализацията

Предполагам, че средният читател знае за основните графики и диаграми, които се използват за начертаване и визуализиране на данни, следователно няма да навлизам в подробни обяснения, но ние ще обхванем повечето от тях по време на практическите си експерименти тук. Визуализацията на данните трябва да се използва върху данните, за да се комуникират модели и прозрения с „яснота, прецизност и ефективност“, както е посочено от забележителния пионер и статистик на визуализацията Едуард Туфте.

Тук ще използваме екосистемата за машинно обучение на Python и ви препоръчваме да разгледате рамки за анализ и визуализация на данни, включително панди, matplotlib, seaborn, plotly и bokeh. Освен това знанието за D3.js също е задължително, ако се интересувате от изработка на красиви и смислени визуализации с данни. На заинтересованите читатели се препоръчва да прочетат „Визуалното показване на количествената информация“ от Едуард Туфте.

Разбиране на граматиката на графиката

За да разберем Граматиката на графиката, би трябвало да разберем какво имаме предвид под Граматика. Следващата фигура обобщава накратко и двата аспекта.

Разбиране на граматиката на графиката (Източник: https://github.com/dipanjanS/art_of_data_visualization)

По принцип граматиката на графиката е рамка, която следва слоест подход за описване и конструиране на визуализации или графики по структуриран начин. Визуализацията, включваща многоизмерни данни, често има множество компоненти или аспекти и използването на тази многопластова граматика ни помага да опишем и разберем всеки компонент, участващ във визуализацията - по отношение на данни, естетика, мащаб, обекти и така нататък.

Оригиналната граматика на графичната рамка е предложена от Leland Wilkinson, която обхваща подробно всички основни аспекти, свързани с ефективната визуализация на данните. Определено бих препоръчал на заинтересованите читатели да проверят книгата върху нея, винаги когато получат възможност!

Ние обаче ще използваме вариант на това - известен като многопластова граматика на графичната рамка, която беше предложена от Хадли Уикъм, известен Data Scientist и създател на известния пакет за визуализация на R ggplot2. Читателите трябва да проверят неговия документ със заглавие „Слоеста граматика на графика“, който обхваща подробно предложената му многопластова граматика, а също така говори за неговата рамка за внедряване с отворен код ggplot2, която е създадена за езика на програмиране на R

Определих седем основни компонента, които обикновено ми помагат да изградя ефективни визуализации върху многоизмерни данни. Следващата фигура я илюстрира с някои подробности за всеки конкретен компонент в граматиката.

Основни компоненти на Граматиката на графиката (Източник: https://github.com/dipanjanS/art_of_data_visualization)

Илюстрираме същото с помощта на пирамидална архитектура, за да покажем присъща многопластова йерархия на компонентите. Обикновено, за да изградим или опишем всяка визуализация с едно или повече измерения, можем да използваме компонентите, както следва.

  1. Данни: Винаги започвайте с данните, идентифицирайте размерите, които искате да визуализирате.
  2. Естетика: Потвърдете осите въз основа на размерите на данните, позициите на различни точки от данни в диаграмата. Също така проверете дали е необходима някаква форма на кодиране, включително размер, форма, цвят и т.н., които са полезни за очертаване на множество размери на данни.
  3. Мащаб: Трябва ли да мащабираме потенциалните стойности, да използваме конкретна скала, за да представим множество стойности или диапазон?
  4. Геометрични обекти: Те са популярно известни като „geoms“. Това би обхванало начина, по който бихме изобразили точките на визуализацията. Трябва ли да са точки, барове, линии и т.н.?
  5. Статистика: Трябва ли да показваме някои статистически мерки във визуализацията като мерки за централна тенденция, разпространение, интервали на доверие?
  6. Фасети: Трябва ли да създаваме подпланове въз основа на конкретни измерения на данните?
  7. Координатна система: Каква координатна система трябва да се основава на визуализацията - тя трябва ли да е декартова или полярна?

Сега ще разгледаме как да използваме тази многопластова рамка за изграждане на ефективни визуализации на данни за многомерни данни с някои практически примери.

Визуализиране на структурирани многомерни данни

Нека започнем да пукаме вместо мен да се дрънкам за теорията и концепциите. Ще използваме набора от данни за качеството на виното, наличен от хранилището за машинно обучение на UCI. Тези данни всъщност се състоят от два набора от данни, изобразяващи различни атрибути на червени и бели варианти на португалското вино „Vinho Verde“. Всички анализи в тази статия са достъпни в моето хранилище GitHub като Jupyter Notebook за тези от вас, които сърбят, за да ги изпробвате сами!

Ще започнем с зареждането на следните необходими зависимости за нашите анализи.

Ние основно ще използваме matplotlib и seaborn като нашата рамка за визуализация тук, но вие сте свободни да проверите и да опитате същото с всяка друга рамка по ваш избор. Нека да разгледаме данните след някои основни стъпки за предварителна обработка на данните.

Ние създаваме единични вина от рамкови данни, като обединяваме двата набора от данни, отнасящи се до червените и белите проби от вино. Също така създаваме нова категорична променлива качество_на етикет въз основа на атрибута за качество на пробите от вино. Да погледнем данните сега.

Данните за качеството на виното

Напълно очевидно е, че имаме няколко числови и категорични атрибути за проби от вино. Всяко наблюдение принадлежи към проба от червено или бяло вино и атрибутите са специфични атрибути или свойства, измерени и получени от физикохимични тестове. Можете да проверите тетрадката на Юпитер, ако искате да разберете подробното обяснение на всеки атрибут, но имената са доста обясняващи. Нека да направим кратка основна описателна обобщена статистика за някои от тези атрибути, които представляват интерес.

Основна описателна статистика по вид вино

Доста лесно е да се сравняват и сравняват тези статистически мерки за различните видове проби от вино. Забележете голямата разлика в някои от атрибутите. По-късно ще подчертаем тези в някои от нашите визуализации.

Универсален анализ

Унивариантният анализ е най-простата форма на анализ или визуализация на данните, когато се занимаваме само с анализ на един атрибут или променлива от данни и визуализиране на едно и също (едно измерение).

Визуализиране на данни в едно измерение (1-D)

Един от най-бързите и ефективни начини за визуализиране на всички цифрови данни и тяхното разпространение е да се използват хистограмите с помощта на панди

Визуализиране на атрибутите като едномерни данни

Графиките по-горе дават добра представа за основното разпределение на данните на някой от атрибутите.

Нека да продължим да визуализираме един от непрекъснатите числови атрибути. По същество хистограма или диаграма на плътност работят доста добре в разбирането как се разпределят данните за този атрибут.

Визуализиране на едномерни непрекъснати цифрови данни

От горния сюжет е напълно очевидно, че има определено десен скок в разпределението за винени сулфати.

Визуализирането на дискретен, категоричен атрибут на данни е малко по-различно и лентовите графики са един от най-ефективните начини да направите същото. Можете също така да използвате пай-диаграми, но като цяло опитайте да ги избягвате напълно, особено когато броят на отделните категории е повече от три.

Визуализиране на едномерни дискретни, категорични данни

Да преминем към разглеждането на данни с по-големи измерения сега.

Мултиварентен анализ

Многовариантният анализ е мястото, където започва забавлението, както и сложността. Тук анализираме множество измерения или атрибути на данни (2 или повече). Многовариантният анализ включва не само проверка на дистрибуциите, но и потенциални връзки, модели и корелации между тези атрибути. Можете също така да използвате тестовете за инфекциозна статистика и тестване на хипотези, ако е необходимо, въз основа на проблема, който трябва да бъде решен, за да проверите статистическата значимост за различни атрибути, групи и т.н.

Визуализиране на данни в две измерения (2-D)

Един от най-добрите начини за проверка на потенциалните връзки или корелации между различните атрибути на данни е да се използва двойка-корелационна корелационна матрица и да се изобразява като топлинна карта.

Визуализиране на двумерни данни с корелационна топлинна карта

Градиентите в топлинната карта варират в зависимост от силата на корелацията и можете ясно да видите, че е много лесно да забележите потенциални атрибути, които имат силни корелации помежду си. Друг начин за визуализиране на същото е да се използват парни разпръснати сюжети сред атрибути, които представляват интерес.

Визуализиране на двуизмерни данни с разсейване на двойки

Въз основа на горния график можете да видите, че разпръснатите участъци са също достоен начин за наблюдение на потенциални връзки или модели в двуизмерни атрибути на данни.

Важен момент, който трябва да се отбележи при парно разпръснатите парцели е, че парцелите всъщност са симетрични. Разпръскването за всяка двойка атрибути (X, Y) изглежда различно от същите атрибути в (Y, X) само защото вертикалните и хоризонталните скали са различни. Той не съдържа нова информация.

Друг начин за визуализиране на многовариантни данни за множество атрибути заедно е използването на паралелни координати.

Паралелни координати за визуализиране на многомерни данни

По принцип при тази визуализация, както е изобразена по-горе, точките са представени като свързани сегментни линии. Всяка вертикална линия представлява един атрибут на данните. Един пълен набор от свързани сегментни линии във всички атрибути представлява една точка от данни. Следователно точките, които са склонни да струпват, ще се появят по-близо един до друг. Само като го погледнем, можем ясно да видим, че плътността е малко повече за червените вина в сравнение с белите вина. Също така остатъчната захар и общият серен диоксид са по-високи при белите вина в сравнение с червените, а фиксираната киселинност е по-висока при червените вина в сравнение с белите вина. Вижте статистическите данни от статистическата таблица, която получихме по-рано, за да утвърдите това предположение!

Нека да разгледаме някои начини, по които можем да визуализираме два непрекъснати числови атрибута. По-специално скатерните и съвместните парцели са добри начини не само да проверите за модели, взаимоотношения, но и да видите отделните разпределения за атрибутите.

Визуализиране на двумерни непрекъснати, цифрови данни с помощта на разпръснати и съвместни участъци

Разпръснатият сюжет е изобразен от лявата страна, а съвместният участък отдясно на горната фигура. Както споменахме, можете да проверите корелациите, връзките, както и отделните разпределения в съвместния сюжет.

Какво ще кажете за визуализиране на два дискретни, категорични атрибута? Един от начините е да се използват отделни участъци (субплоти) или фасети за едно от категоричните измерения.

Визуализация на двумерни дискретни категорични данни с помощта на лентови участъци и подпланове (фасети)

Въпреки че това е добър начин за визуализиране на категорични данни, както можете да видите, използването на matplotlib доведе до писането на много код. Друг добър начин е да използвате подредени барове или няколко ленти за различните атрибути в един участък. Можем да използваме морските новородени за същото лесно.

Визуализиране на двуизмерни дискретни, категорични данни в една лентова диаграма

Това определено изглежда по-чисто и можете също така ефективно да сравнявате лесно различните категории от този единствен сюжет.

Нека разгледаме визуализирането на смесени атрибути в двуизмерни (по същество числови и категорични заедно). Един от начините е да използвате фасетиране \ подплоти заедно с общи хистограми или диаграми на плътност.

Визуализиране на смесени атрибути в двуизмерни възможности за използване на фасети и хистограми \ диаграми на плътност

Въпреки че това е добре, за пореден път имаме много кодови кодове, които можем да избегнем, като използваме морските новородени и дори изобразим парцелите в една единствена диаграма.

Използване на множество хистограми за смесени атрибути в двуизмерни

Можете да видите сюжета, генериран по-горе, е ясен и сбит и можем лесно да сравняваме по разпределения лесно. Освен това, полетата с полета са друг начин за ефективно изобразяване на групи от цифрови данни въз основа на различните стойности в категоричния атрибут. Графиките на полетата са добър начин да се познаят стойностите на квартилите в данните, а също и потенциалните хора.

Графични полета като ефективно представяне на двуизмерни смесени атрибути

Друга подобна визуализация са диаграмите за цигулка, които са друг ефективен начин за визуализиране на групирани числови данни с помощта на диаграми за плътност на ядрото (изобразява плътността на вероятността на данните при различни стойности).

Скриптове за цигулка като ефективно представяне на двуизмерни смесени атрибути

Можете ясно да видите графиките за плътност по-горе за различните категории качество на виното за винен сулфат.

Визуализирането на данни до двуизмерни е доста просто, но започва да става сложно, тъй като броят на измеренията (атрибутите) започва да се увеличава. Причината е, защото сме обвързани от двуизмерните на нашите медийни дисплеи и нашата среда.
За триизмерните данни можем да въведем фалшива представа за дълбочина, като вземем z-ос в нашата диаграма или използваме подпланове и фасети.
Но за данни, по-високи от триизмерни, става още по-трудно да се визуализират същите. Най-добрият начин да излезете над три измерения е да използвате сюжетни фасети, цвят, форми, размери, дълбочина и така нататък.

Визуализиране на данни в три измерения (3-D)

Имайки предвид три атрибута или измерения в данните, можем да ги визуализираме, като разгледаме двойно разпръснат сюжет и въведем понятието цвят или оттенък за разделяне на стойностите в категорично измерение.

Визуализиране на триизмерни данни с разпръснати графики и оттенък (цвят)

Горният сюжет ви позволява да проверите корелациите и моделите, а също и да сравните групите вино. Както можем да видим, че общият серен диоксид и остатъчната захар са по-високи за бялото вино в сравнение с червеното.

Нека да разгледаме стратегиите за визуализиране на три непрекъснати числови атрибута. Един от начините е да има две измерения, представени като правилна дължина (x-ос) и широчина (y-ос), а също така да вземем понятието дълбочина (z-ос) за третото измерение.

Визуализиране на триизмерни цифрови данни чрез въвеждане на понятието дълбочина

Но това ефективно ли е? Не точно! Можем обаче да използваме обикновените 2-D оси за представяне на две непрекъснати променливи (диаграма на разсейване) и да въведем третата непрекъсната променлива като категорична променлива, като бинираме нейните стойности в контейнери с фиксирана ширина - популярно това могат да бъдат квантове. Въз основа на тези квантове (или кошчета) можем да използваме размер или дори нюанс, за да представим третата променлива тук, което я прави 3-D.

Използване на понятието размер или нюанс за представяне на непрекъснати данни в 3-D

По-добър вариант би бил да се използва понятието за фасетиране като трето измерение (по същество субплоти), където всеки подплот показва конкретен кош от третата ни променлива (измерение). Не забравяйте, че трябва да създадете своите кошчета ръчно, ако използвате функцията на разпръскване от matplotlib, за разлика от морските новородени (изобразено в следващия пример).

Използване на понятието фасети за представяне на непрекъснати данни в 3-D

Горният сюжет ясно ни казва, че колкото по-високи са остатъчните нива на захар и алкохолното съдържание, толкова по-ниска е фиксираната киселинност в пробите за вино.

Визуализиране на триизмерни категорични данни чрез въвеждане на понятието оттенък и фасети

Графиката по-горе ясно показва честотата, отнасяща се до всяко от измеренията и можете да видите колко лесно и ефективно може да бъде това при разбирането на съответните прозрения.

Като се има предвид визуализацията на три смесени атрибута, можем да използваме понятието нюанс за разделяне на нашите групи в един от категоричните атрибути, като същевременно използваме конвенционални визуализации като разпръснати графики за визуализиране на две измерения за числови атрибути.

Визуализиране на смесени атрибути в триизмерно използване на разпръснатите парцели и концепцията за нюанс

По този начин оттенъкът действа като добър разделител за категориите или групите и въпреки че няма или е много слаба корелация, както се наблюдава по-горе, от тези парцели все още можем да разберем, че сулфатите са малко по-високи за червените вина в сравнение с белите. Вместо разпръснат график, можете също да използвате графика за плътност на ядрото, за да разберете данните в три измерения.

Визуализиране на смесени атрибути в триизмерно използване на графики за плътност на ядрото и концепцията за оттенък

Съвсем очевидно е и се очаква, че пробите от червено вино имат по-високи нива на сулфат в сравнение с белите вина. Можете също да видите концентрациите на плътност въз основа на интензивността на оттенъка.

В случай, че имаме работа с повече от един категоричен атрибут в трите измерения, можем да използваме нюанс и една от правилните оси за визуализиране на данни и да използваме визуализации, като кутии или скрипки, за да визуализираме различните групи данни.

Визуализиране на смесени атрибути в триизмерно използване на разделени сюжетни цигулки и концепцията за оттенък

На фигурата по-горе можем да видим, че при 3-D визуализацията в дясната графика сме представили качеството на виното по x-ос и тип wine_ като оттенък. Ясно можем да видим някои интересни данни като летливата киселинност е по-висока за червените вина в сравнение с белите вина.

Можете също така да обмислите използването на полета за представяне на смесени атрибути с повече от една категорична променлива по подобен начин.

Визуализиране на смесени атрибути в триизмерни полета за използване на полето и концепцията за нюанс

Виждаме, че както по отношение на атрибутите за качество, така и по отношение на качество-етикет, съдържанието на винен алкохол се увеличава с по-добро качество. Също така червените вина имат склонност да са значително по-високо средно съдържание на алкохол в сравнение с белите вина въз основа на клас на качество. Въпреки това, ако проверим оценките за качество, можем да видим, че при по-ниско оценени вина (3 и 4), средното съдържание на алкохол в бялото вино е по-голямо от пробите от червено вино. В противен случай червените вина като цяло имат малко по-високо средно съдържание на алкохол в сравнение с белите вина.

Визуализиране на данни в четири измерения (4-D)

Въз основа на нашата дискусия по-рано, ние използваме различни компоненти на диаграмите, визуализиращи множество измерения. Един от начините за визуализиране на данни в четири измерения е използването на дълбочина и нюанс като специфични измерения на данни в конвенционален график като разпръснат график.

Визуализиране на данни в четириизмерно използване на разпръснатите парцели и концепцията за нюанс и дълбочина

Атрибутът wine_type се обозначава с оттенъка, което е доста очевидно от горния график. Освен това, докато интерпретирането на тези визуализации започва да се затруднява поради сложния характер на парцелите, все още можете да съберете прозрения, като фиксираната киселинност е по-висока за червените вина, а остатъчната захар е по-висока за белите вина. Разбира се, ако имаше някаква връзка между алкохола и фиксираната киселинност, може да наблюдаваме постепенно нарастваща или намаляваща равнина от данни, показваща някаква тенденция.

Това ефективно ли е? Отново не всъщност! Една от стратегиите за подобряване на това е да се поддържа 2-D график, но да се използва нюанс и размер на данните като измерения на данните. Обикновено това ще бъде балонна диаграма, подобна на тази, която визуализирахме по-рано.

Визуализиране на данни в четириизмерни балонни диаграми и концепцията за нюанс и размер

Използваме нюанс, за да представим тип wine_, а размерът на точката за данни, за да представим остатъчната захар. Виждаме подобни модели от наблюдаваните в предишната диаграма и размерите на балончетата са по-големи за бялото вино като цяло показват, че остатъчните стойности на захарта са по-високи за бялото вино в сравнение с червеното.

Сега това може да е по-добро от предишния 4-D сюжет, но честно казано това е просто наред според мен. Да, оттенъкът ни помага да видим кои вина имат по-висока или по-ниска фиксирана киселинност, но не ми харесва понятието размер, тъй като често е трудно да се тълкува. Можем ли да се справим по-добре? Да, можем! Нека вместо това използваме фасети, както е изобразено в следващия сюжет.

Визуализиране на данни в четириизмерно използване на разпръснатите парцели и концепцията за нюанс и фасета

Виж това! Ясните и сбити визуализации, които ни казват фиксираната киселинност, е по-ниска за бялото вино в сравнение с червеното вино, а също така остатъчната захар е много по-висока за бялото вино в сравнение с пробите от червено вино. По-високо ниво на алкохол, понижава фиксираната киселинност.

Ако разполагаме с повече от два категорични атрибута, които да представим, можем да използваме отново концепцията си за използване на оттенък и фасети, за да изобразяваме тези атрибути и редовни сюжети, като разпръснати участъци, които да представят числовите атрибути. Нека разгледаме няколко примера.

Визуализиране на данни в четириизмерно използване на разпръснатите парцели и концепцията за нюанс и фасета

Ефективността на тази визуализация се потвърждава от факта, че лесно можем да забележим множество модели. Нивата на летливата киселинност за белите вина са по-ниски, а също така висококачествените вина имат по-ниски нива на киселинност. Също на базата на проби от бяло вино, висококачествените вина имат по-високи нива на алкохол, а нискокачествените вина имат най-ниските нива на алкохол!

Да вземем подобен пример с някои други атрибути и да изградим визуализация в четири измерения.

Визуализиране на данни в четириизмерно използване на разпръснатите парцели и концепцията за нюанс и фасета

Ясно виждаме, че висококачествените вина имат по-ниско съдържание на общ серен диоксид, което е доста уместно, ако имате и необходимите познания в областта на състава на виното. Виждаме също, че общите нива на серен диоксид за червено вино са по-ниски от бялото вино. Нивата на летливата киселинност обаче са по-високи за червените вина в няколко точки от данни.

Визуализиране на данни в пет измерения (5-D)

За пореден път следвайки подобна стратегия, както следвахме в предишния раздел, за да визуализираме данните в пет измерения, използваме различни компоненти на графиката. Нека използваме дълбочина, оттенък и размер, за да представим три от размерите на данните, освен обикновените оси, представящи другите две измерения. Тъй като използваме понятието размер, в основата си ще начертаем триизмерна балонна диаграма.

Визуализиране на данни в петизмерни полезни диаграми с балончета и концепцията за нюанс, дълбочина и размер

Тази диаграма изобразява същите модели и прозрения, за които говорихме в предишния раздел. Можем също да видим обаче, че въз основа на точковите размери, които са представени от общ серен диоксид, белите вина имат по-високи общи нива на серен диоксид в сравнение с червените вина.

Вместо дълбочина, можем също да използваме фасети, заедно с нюанс, за да представим повече от един категоричен атрибут в тези пет измерения на данните. Един от атрибутите, представляващи размер, може да бъде числов (непрекъснат) или дори категоричен (но може да се наложи да го представим с числа за размери на точки от данни). Въпреки че тук не изобразяваме това поради липсата на категорични атрибути, не се колебайте да го изпробвате на собствените си набори от данни.

Визуализиране на данни в петизмерни балонни диаграми и концепцията за оттенък, фасета и размер

Това е алтернативен подход за визуализиране на един и същ сюжет, който предварително начертахме за пет измерения. Въпреки това, като се има предвид трудността при интерпретирането на размера, която наблюдавахме по-рано, можете да конвертирате една от променливите, ако е непрекъсната, в дискретна категоричност с помощта на binning и след това да я използвате като допълнителен параметър на фасетиране, както е показано по-долу!

Визуализиране на данни в петизмерно използване на разпръснатите парцели и концепцията за нюанс и фасета

Докато допълнителното измерение на дълбочина или размер може да обърка мнозина, когато се вгледаме в сюжета, който предварително сме начертали, този сюжет поради предимството на фасетите все още остава ефективно в 2-D равнина и следователно често е по-ефективен и лесен за интерпретиране.

Визуализиране на данни в шест измерения (6-D)

Сега, когато се забавляваме (надявам се!), Нека добавим още едно измерение на данните във нашите визуализации. Ние ще използваме дълбочина, нюанс, размер и форма, освен обикновените ни две оси, за да изобразим всичките шест измерения на данните.

Визуализиране на данни в шест измерени схеми на разсейване и концепцията за нюанс, дълбочина, форма и размер

Леле, това е шест измерения в един сюжет! Имаме вино качество_label, изобразено с форми, високи (квадратен пиксел), средни (знаците X) и ниски (кръгове) качествени вина. Виновият тип е представен от нюанс, фиксирана киселинност по дълбочина, а размерът на данните представлява общото съдържание на серен диоксид.

Тълкуването на това може да изглежда малко данъчно, но помислете за няколко компонента наведнъж, когато се опитвате да разберете какво се случва.

  1. Като се има предвид формата и Y-оста, имаме високо и средно качествени вина с по-високи нива на алкохол в сравнение с вина с ниско качество.
  2. Имайки предвид оттенъка и размера, имаме по-високо съдържание на общ серен диоксид за белите вина в сравнение с червените вина.
  3. Имайки предвид дълбочина и оттенък, имаме бели вина с по-ниски нива на фиксирана киселинност в сравнение с червените вина.
  4. Имайки предвид оттенък и х-ос, имаме червени вина с по-ниски нива на остатъчна захар в сравнение с белите вина.
  5. Като се има предвид оттенъкът и формата, белите вина изглежда имат по-висококачествени вина в сравнение с червените (възможно поради по-големия размер на пробата на белите вина).

Можем също така да изградим 6-D визуализация, като премахнем компонента на дълбочината и използваме фасети вместо категоричен атрибут.

Визуализиране на данни в шест измерени схеми на разсейване и концепцията за нюанс, фасета и размер

По този начин в този сценарий използваме фасети и оттенък, за да представим три категорични атрибута и двете правилни оси и размер, за да представим три цифрови атрибута за нашата визуализация на 6-D данни.

Можем ли да отидем по-високо?

Актуалният въпрос е, можем ли да отидем по-високо от шест измерения? Е, определено става все по-трудно да пробием пътя си около ограниченията на двуизмерното устройство за изобразяване, за да визуализираме повече измерения на данните.

Един от методите е да се използват повече фасети и подпланове. Освен това, можете също да използвате понятието време, ако вашият набор от данни има времеви аспект, както е показано в следващия пример.

Известната визуализация на световното население, здравето и икономическите показатели на Ханс Рослинг

Това изобразява известната визуализация на Ханс Рослинг за изобразяване на световното население, здравето и различни икономически показатели във всички страни. Това беше представено и на официална TED конференция, която препоръчвам на всички да проверят дали още не са го направили!

Това трябва да ви даде добра представа за това как да използвате многопластовата граматика за визуализиране на многоизмерни данни.

Визуализиране на неструктурирани данни - текст, изображение, аудио

Предишният раздел ви запозна с някои полезни техники за ефективно визуализиране на структурирани данни. Но как да се справим с неструктурирани данни като текст, изображение и аудио? Всеки от тях е много различен един от друг и също значително се различава, като се има предвид всеки от тях поотделно! Тук ще разгледаме накратко някои начини за визуализиране на тези три източника на неструктурирани данни. Не забравяйте, че крайната цел за визуализиране на тези източници на данни не е само за него, а за събиране на прозрения и за генериране на полезни атрибути и функции, които могат да бъдат използвани по-нататък в приложения за машинно обучение или дълбоко обучение.

Визуализиране на текстови данни

Имайки предвид, че имате корпус от текстови данни, един от най-добрите начини да започнете е да направите основен проучвателен анализ на данните. Това може да бъде аспекти като опит да се намери разпределението на типичните дължини на изречението или броя на думите. По-долу е изобразена мостра от един от последните ми семинари по NLP.

Основна EDA за текстови данни

Освен това, можем да се съсредоточим и върху разбирането и визуализирането на езиковата структура, като използваме техники като плитък разбор, синтактичен анализ и разбор на избирателен район. Подробни примери за кодове присъстват в една от моите статии, фокусирани върху обработката на естествен език, в случай че се интересувате от допълнителни подробности.

Следващата фигура изобразява примерен пример от моята статия, демонстриращ анализ на избирателността и зависимостта.

Разбор на избирателни единици и зависимости - разбиране на структурата на текста

Можем също така да разгледаме вгражданията, базирани на последните модели за задълбочено обучение като Word2Vec, GloVe и FastText, за да разберем текстовата семантика освен структура. Разгледах и това подробно в моята статия за Feature Engineering Methods за текстови данни, която можете да посочите, ако се интересувате от детайлите на gory!

Обикновено визуализирането на вграждане на думи може да ви помогне да разберете контекста и семантиката между думите във вашия корпус и дори да използвате тези функции за изграждане на модели за машинно обучение или задълбочено обучение!

Пример за визуализиране на вградени думи на word2vec в Библията

Визуализиране на данни за изображения

Изображенията са основно многоизмерни тензори, които могат да бъдат представени като матрици на стойности на пиксели. Това наистина увеличава размерите на дори просто малко изображение и затруднява работата с тях. Прост пример е изобразен на следващата фигура.

Един от най-добрите начини да започнете е да заредите всякакви конкретни изображения, които представляват интерес, и да разгледате приноса на каналите си въз основа на стойностите на техните пиксели, както следва.

Визуализиране на канали за изображения

Друг интересен аспект, който трябва да се разгледа, е да се наблюдава разпределението на интензивността на изображението, като се проверят стойностите на пиксела на изображението и се начертае разпределение, както е показано на следващата фигура.

Визуализиране на разпределения на интензивността на изображението

Като се имат предвид визуализациите, които могат да бъдат полезни за машинно обучение или по-дълбоко обучение, можем да разгледаме откриването на ръбове, което може да помогне за идентифициране на краищата на изображението и дори да ги използваме като потенциални характеристики!

Визуализиране на краищата на изображението

Можем също да визуализираме функции, получени от HOG, което означава хистограма на ориентирани градиенти. С прости думи, това помага при преброяване на събития с градиентна ориентация в локализирани части. Прост пример е изобразен по-долу.

Визуализиране на функциите на HOG

Можете дори да използвате дескрипторите на функции, получени от предишната техника за изграждане на класификатори на изображения, откриване на обекти и т.н.

CNN промениха света

Конволюционните невронни мрежи, популярно известни като CNN, наистина направиха революция в начина на визуализиране и моделиране на визуални данни, използвайки автоматизирано проектиране и представяне на функции. Всеки слой, обикновено известен като конволюция (обикновено последван от обединяващ слой), може да извлече специфични, както и общи характеристики от входните изображения. Пример е изобразен на следната фигура, където CNN визуализира и научава представяне на функции за всяко лице на всеки слой в мрежата.

CNNs революционизира изображението и конструирането на функции

Визуализацията на междинните слоеве на CNN винаги помага да се разбере кои части от изображенията се извличат като функции и спомага за активирането на скритите единици в тези слоеве!

Визуализиране на аудио данни

Най-големият въпрос тук би бил: „наистина ли можете да видите нещо, което можете да чуете?“. Целта тук е да може да визуализира всеки звук или аудио, създаден от конкретен източник. Обработката на сигнали наистина помага в тези аспекти! Наскоро работих върху интересен случай на класифициране на различни категории аудио файлове от набора от данни UrbanSound8K, използвайки обучение за дълбоко прехвърляне, където използвахме предварително обучени модели, които бяха експертни класификатори на изображения, и изненадващо това ни даде близо 90% точност! Можете да разгледате допълнителни подробности в моята книга „Hands-on Transfer Learning with Python“, ако се интересувате, и аз съм отворил кода за всички в GitHub.

Ние използвахме либрозната рамка за извличане на функции и тя също така осигурява отлични API за визуализация. Един от най-лесните начини за визуализиране на звука е да начертаете амплитудите на формата на вълната, както е показано на следващата фигура.

Визуализиране на амплитудите на звуковата форма

По-полезни визуализации обаче са мел-спектрограмите, които са буквално визуално представяне на спектъра на честотите на нашите аудио сигнали, тъй като те варират с времето. Следващото изображение показва мел-спектрограми на нашите аудио източници.

Визуализиране на аудио Mel-спектрограми

Тези визуализации ни дават представа за това как могат да бъдат различни източници на аудио и са много полезни функции, които могат да се използват от модели на задълбочено обучение като CNN.

заключение

Визуализацията на данни е изкуство, както и наука. Ако четете това, аз наистина ви поздравявам за усилията ви да прегледате тази обширна статия. Намерението не е да запаметявате нищо, нито да давате фиксиран набор от правила за визуализиране на данни. Основната цел тук е да се разберат и научат някои ефективни стратегии за визуализиране на структурирани и неструктурирани данни, особено когато броят на измеренията започне да се увеличава. Направете нещата прости и не прекалявайте с опитите да създавате изключително сложни визуализации.

Съветвам ви да използвате тези фрагменти за визуализиране на вашите собствени набори от данни в бъдеще. Чувствайте се свободни да ми дадете отзиви и да споделяте собствените си стратегии за ефективна визуализация на данните „особено ако можете да отидете по-високо!“

Основна част от тези статии бяха обхванати в един от последните ми разговори на конференцията в ODSC, 2018. Можете да разгледате пълната програма за разговори и слайдовете тук. Конференцията за YouTube е достъпна тук.

Имате отзиви за мен? Или се интересувате да работите с мен в областта на научните изследвания, науката за данни, изкуствения интелект? Можете да се свържете с мен в LinkedIn.

Тази история е публикувана в най-голямото предприемаческо издание The Startup, последвано от +398 714 души.

Абонирайте се, за да получавате нашите топ истории тук.