|
|
3 months ago | |
|---|---|---|
| .. | ||
| solution | 3 months ago | |
| README.md | 3 months ago | |
| assignment.md | 3 months ago | |
| notebook.ipynb | 8 months ago | |
README.md
Определение на науката за данни
![]() |
|---|
| Определение на науката за данни - Скица от @nitya |
Тест преди лекцията
Какво е данни?
В ежедневието си сме постоянно заобиколени от данни. Текстът, който четете в момента, е данни. Списъкът с телефонни номера на вашите приятели в смартфона ви са данни, както и текущото време, показано на вашия часовник. Като хора, ние естествено работим с данни, като броим парите, които имаме, или пишем писма на приятелите си.
Въпреки това, данните станаха много по-важни с появата на компютрите. Основната роля на компютрите е да извършват изчисления, но те се нуждаят от данни, за да работят. Затова трябва да разберем как компютрите съхраняват и обработват данни.
С появата на интернет ролята на компютрите като устройства за обработка на данни се увеличи. Ако се замислите, сега използваме компютрите все повече за обработка и комуникация на данни, отколкото за реални изчисления. Когато пишем имейл на приятел или търсим информация в интернет, ние всъщност създаваме, съхраняваме, предаваме и манипулираме данни.
Можете ли да си спомните последния път, когато сте използвали компютър, за да изчислите нещо?
Какво е наука за данни?
Според Wikipedia, науката за данни се определя като научна област, която използва научни методи за извличане на знания и прозрения от структурирани и неструктурирани данни, и прилага знания и практически прозрения от данни в широк спектър от приложни области.
Това определение подчертава следните важни аспекти на науката за данни:
- Основната цел на науката за данни е извличане на знания от данни, с други думи - разбиране на данните, намиране на скрити връзки и изграждане на модел.
- Науката за данни използва научни методи, като вероятност и статистика. Всъщност, когато терминът наука за данни беше въведен за първи път, някои хора твърдяха, че науката за данни е просто ново модерно име за статистика. Днес е очевидно, че областта е много по-широка.
- Получените знания трябва да се прилагат за създаване на практически прозрения, т.е. практически прозрения, които можете да приложите в реални бизнес ситуации.
- Трябва да можем да работим както със структурирани, така и с неструктурирани данни. Ще се върнем към обсъждането на различните видове данни по-късно в курса.
- Приложната област е важна концепция, и учените в областта на данните често се нуждаят от поне известна степен на експертиза в проблемната област, например: финанси, медицина, маркетинг и др.
Друг важен аспект на науката за данни е, че тя изучава как данните могат да бъдат събирани, съхранявани и обработвани с помощта на компютри. Докато статистиката ни предоставя математически основи, науката за данни прилага математически концепции, за да извлече прозрения от данните.
Един от начините (приписван на Jim Gray) да разгледаме науката за данни е да я считаме за отделен научен парадигм:
- Емпиричен, при който разчитаме предимно на наблюдения и резултати от експерименти
- Теоретичен, където нови концепции възникват от съществуващите научни знания
- Изчислителен, където откриваме нови принципи въз основа на някои изчислителни експерименти
- Данни-ориентиран, основан на откриване на връзки и модели в данните
Други свързани области
Тъй като данните са навсякъде, науката за данни също е широка област, която обхваща много други дисциплини.
- Бази данни
- Критично съображение е как да съхраняваме данните, т.е. как да ги структурираме по начин, който позволява по-бърза обработка. Има различни видове бази данни, които съхраняват структурирани и неструктурирани данни, които ще разгледаме в нашия курс.
- Големи данни
- Често се налага да съхраняваме и обработваме много големи количества данни с относително проста структура. Има специални подходи и инструменти за съхраняване на тези данни по разпределен начин на компютърен клъстер и за ефективната им обработка.
- Машинно обучение
- Един от начините да разберем данните е да изградим модел, който ще може да предсказва желан резултат. Разработването на модели от данни се нарича машинно обучение. Може да искате да разгледате нашата Програма за начинаещи в машинното обучение, за да научите повече за това.
- Изкуствен интелект
- Област от машинното обучение, известна като изкуствен интелект (AI), също разчита на данни и включва изграждане на сложни модели, които имитират човешките мисловни процеси. Методите на AI често ни позволяват да превърнем неструктурирани данни (например естествен език) в структурирани прозрения.
- Визуализация
- Огромни количества данни са неразбираеми за човека, но когато създадем полезни визуализации с тези данни, можем да ги разберем по-добре и да направим някои заключения. Затова е важно да знаем много начини за визуализиране на информация - нещо, което ще разгледаме в Раздел 3 на нашия курс. Свързани области включват Инфографика и Взаимодействие човек-компютър като цяло.
Видове данни
Както вече споменахме, данните са навсякъде. Просто трябва да ги уловим по правилния начин! Полезно е да се прави разлика между структурирани и неструктурирани данни. Първите обикновено са представени в някаква добре структурирана форма, често като таблица или множество таблици, докато вторите са просто колекция от файлове. Понякога можем да говорим и за полуструктурирани данни, които имат някакъв вид структура, която може да варира значително.
| Структурирани | Полуструктурирани | Неструктурирани |
|---|---|---|
| Списък на хора с техните телефонни номера | Страници в Wikipedia с връзки | Текст на Енциклопедия Британика |
| Температура във всички стаи на сграда на всяка минута за последните 20 години | Колекция от научни статии във формат JSON с автори, дата на публикуване и резюме | Споделени файлове с корпоративни документи |
| Данни за възраст и пол на всички хора, влизащи в сградата | Интернет страници | Суров видео поток от камера за наблюдение |
Откъде да вземем данни
Има много възможни източници на данни и ще бъде невъзможно да изброим всички! Въпреки това, нека споменем някои от типичните места, откъдето можете да получите данни:
- Структурирани
- Интернет на нещата (IoT), включително данни от различни сензори, като сензори за температура или налягане, предоставя много полезни данни. Например, ако офис сграда е оборудвана със сензори IoT, можем автоматично да контролираме отоплението и осветлението, за да минимизираме разходите.
- Анкети, които молим потребителите да попълнят след покупка или след посещение на уебсайт.
- Анализ на поведението може, например, да ни помогне да разберем колко дълбоко потребителят навлиза в сайта и каква е типичната причина за напускане на сайта.
- Неструктурирани
- Текстове могат да бъдат богат източник на прозрения, като обща оценка на настроението или извличане на ключови думи и семантично значение.
- Изображения или видео. Видео от камера за наблюдение може да се използва за оценка на трафика на пътя и за информиране на хората за потенциални задръствания.
- Логове на уеб сървъри могат да се използват за разбиране кои страници на нашия сайт се посещават най-често и за колко време.
- Полуструктурирани
- Графи на социални мрежи могат да бъдат отлични източници на данни за личностите на потребителите и потенциалната ефективност при разпространение на информация.
- Когато имаме куп снимки от парти, можем да се опитаме да извлечем данни за груповата динамика, като изградим граф на хората, които се снимат заедно.
Като познавате различните възможни източници на данни, можете да се опитате да мислите за различни сценарии, където техниките на науката за данни могат да бъдат приложени, за да разберете по-добре ситуацията и да подобрите бизнес процесите.
Какво можете да правите с данни
В науката за данни се фокусираме върху следните стъпки от пътя на данните:
- 1) Събиране на данни
- Първата стъпка е събирането на данни. В много случаи това може да бъде прост процес, като данни, които постъпват в база данни от уеб приложение, но понякога трябва да използваме специални техники. Например, данните от IoT сензори могат да бъдат прекомерни и е добра практика да се използват междинни точки за буфериране, като IoT Hub, за събиране на всички данни преди по-нататъшна обработка.
- 2) Съхранение на данни
-
Съхранението на данни може да бъде предизвикателство, особено ако говорим за големи данни. Когато решаваме как да съхраняваме данни, има смисъл да предвидим начина, по който бихме искали да ги извличаме в бъдеще. Има няколко начина, по които данните могат да бъдат съхранявани:
- Релационна база данни съхранява колекция от таблици и използва специален език, наречен SQL, за да ги извлича. Обикновено таблиците са организирани в различни групи, наречени схеми. В много случаи трябва да преобразуваме данните от оригиналната форма, за да се впишат в схемата.
- NoSQL база данни, като CosmosDB, не налага схеми върху данните и позволява съхранение на по-сложни данни, например йерархични JSON документи или графи. Въпреки това, NoSQL базите данни нямат богатите възможности за извличане на данни на SQL и не могат да наложат референтна цялост, т.е. правила за това как данните са структурирани в таблици и управляват връзките между таблиците.
- Хранилище за данни се използва за големи колекции от данни в сурова, неструктурирана форма. Хранилищата за данни често се използват с големи данни, където всички данни не могат да се поберат на една машина и трябва да бъдат съхранявани и обработвани от клъстер от сървъри. Parquet е форматът за данни, който често се използва във връзка с големи данни.
- 3) Обработка на данни
- Това е най-вълнуващата част от пътя на данните, която включва преобразуване на данните от оригиналната им форма в форма, която може да бъде използвана за визуализация/обучение на модели. Когато работим с неструктурирани данни, като текст или изображения, може да се наложи да използваме някои AI техники, за да извлечем характеристики от данните, като по този начин ги преобразуваме в структурирана форма.
- 4) Визуализация / Човешки прозрения
- Често, за да разберем данните, трябва да ги визуализираме. Като разполагаме с много различни техники за визуализация в нашия инструментариум, можем да намерим правилния начин да извлечем прозрение. Често учените в областта на данните трябва да "играят с данните", като ги визуализират многократно и търсят връзки. Също така можем да използваме статистически техники, за да тестваме хипотези или да докажем корелация между различни части от данните.
- 5) Обучение на предсказателен модел
- Тъй като крайната цел на науката за данни е да можем да вземаме решения въз основа на данни, може да искаме да използваме техниките на Машинно обучение, за да изградим предсказателен модел. След това можем да го използваме, за да правим прогнози, използвайки нови набори от данни със сходни структури.
Разбира се, в зависимост от действителните данни, някои стъпки може да липсват (например, когато вече имаме данните в базата данни или когато не се нуждаем от обучение на модел), или някои стъпки може да се повторят няколко пъти (като обработка на данни).
Дигитализация и дигитална трансформация
През последното десетилетие много бизнеси започнаха да разбират важността на данните при вземането на бизнес решения. За да се приложат принципите на науката за данни в управлението на бизнес, първо трябва да се съберат някои данни, т.е. да се преведат бизнес процесите в цифрова форма. Това е известно като дигитализация. Прилагането на техники на науката за данни към тези данни за насочване на решения може да доведе до значителни увеличения на производителността (или дори до промяна на бизнес модела), наречено дигитална трансформация.
Нека разгледаме пример. Да предположим, че имаме курс по наука за данни (като този), който пред
Може да твърдите, че този подход не е идеален, защото модулите могат да бъдат с различна дължина. Вероятно е по-справедливо времето да се раздели на дължината на модула (в брой символи) и да се сравнят тези стойности.
Когато започнем да анализираме резултатите от тестове с избор на отговор, можем да се опитаме да определим кои концепции затрудняват учениците и да използваме тази информация, за да подобрим съдържанието. За да направим това, трябва да проектираме тестовете така, че всеки въпрос да се свързва с определена концепция или част от знания.
Ако искаме да усложним още повече, можем да начертаем времето, необходимо за всеки модул, спрямо възрастовата категория на учениците. Може да открием, че за някои възрастови категории е необходимо прекалено много време за завършване на модула или че учениците се отказват преди да го завършат. Това може да ни помогне да предоставим възрастови препоръки за модула и да минимизираме недоволството на хората от неправилни очаквания.
🚀 Предизвикателство
В това предизвикателство ще се опитаме да намерим концепции, свързани с областта на науката за данни, като разгледаме текстове. Ще вземем статия от Wikipedia за науката за данни, ще изтеглим и обработим текста, и след това ще създадем облак от думи като този:
Посетете notebook.ipynb, за да разгледате кода. Можете също така да изпълните кода и да видите как той извършва всички трансформации на данни в реално време.
Ако не знаете как да изпълнявате код в Jupyter Notebook, разгледайте тази статия.
Тест след лекцията
Задачи
- Задача 1: Модифицирайте горния код, за да откриете свързани концепции за областите Големи данни и Машинно обучение
- Задача 2: Помислете за сценарии в науката за данни
Благодарности
Този урок е създаден с ♥️ от Дмитрий Сошников
Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.


