Вы здесь ▸ Образование ▸
Исследования и разработки В.К. Иванова
Вы здесь ▸ Образование ▸
Исследования и разработки В.К. Иванова
Вы здесь ▸ Образование ▸
Дорожная карта исследователя данных предназначена для упорядочивания подготовки (или самоподготовки) таких специалистов. Она позволяет выделить основные разделы учебных курсов по data science, назначить приоритеты, определить порядок изучения и освоения, распланировать время. Ниже кратко описывается содержание маршрутов этой дорожной карты, Названия тем даны на русском языке с их английскими эквивалентами. Раздел “Основы” (Fundamentals) расписан более подробно, что соответствует направленности и контенту этого сайта.

Вот она:

Похожа на схему метро, не так ли?
Дорожная карта исследователя данных состоит из разделов, каждый из которых включает ключевые темы. Для раздела “Основы” я привожу краткое содержание тем, для остальных разделов только названия тем.
Хэш-функция – это любая функция, которая может использоваться для сопоставления данных произвольного размера с данными фиксированного размера. Одним из применений является структура данных, называемая хэш-таблицей, широко используемая в компьютерных программах для быстрого поиска данных. Хэш-функции ускоряют поиск в таблице или базе данных.
В информатике бинарное дерево – это древовидная структура данных, в которой каждый узел имеет не более двух дочерних элементов, которые называются левым дочерним элементом и правым дочерним элементом.
Нотация O используется для классификации алгоритмов в соответствии с тем, как возрастают требования к времени их выполнения или объему данных по мере увеличения размера входных данных. В аналитической теории чисел нотация O часто используется для выражения оценки разницы между арифметической функцией и более понятным приближением.
Основное приложение реляционной алгебры заключается в создании теоретической основы для реляционных баз данных, в частности языков запросов к ним, главным из которых является SQL.
Базовым понятием реляционной алгебры является естественное соединение. В языке SQL, естественное соединение между двумя таблицами будет выполнено, если:
SQL-запрос для естественного соединения (mySQL):
SELECT <COLUMNS>FROM <TABLE_1>NATURAL JOIN <TABLE_2>
SELECT <COLUMNS>FROM <TABLE_1>, <TABLE_2>WHERE TABLE_1.ID = TABLE_2.ID
Inner join. В SQL фраза INNER JOIN выбирает записи, которые имеют совпадающие значения в обеих таблицах:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Outer join. В SQL фраза FULL OUTER JOIN возвращает все записи, если есть совпадение либо в левой (table1), либо в правой (table2) записях таблицы:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Left join. В SQL фраза LEFT JOIN возвращает все записи из левой таблицы (table1) и совпадающие записи из правой таблицы (table2). Результат равен нулю с правой стороны, если совпадения нет:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Right join. В SQL фраза RIGHT JOIN возвращает все записи из правой таблицы (table2) и совпадающие записи из левой таблицы (table1). Результат равен нулю с левой стороны, если совпадения нет:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Теорема CAP – утверждение о том, что в распределённых системах нельзя одновременно добиться трёх свойств:
Другими словами, теорема CAP утверждает, что в распределенных системах приходится выбирать между согласованностью и доступностью.
Табличные данные отличаются от данных, содержащихся в реляционных базах данных SQL.
В табличных данных все упорядочено по столбцам и строкам. Каждая строка содержит одинаковый номер столбца (за исключением пропущенного значения, которое может быть заменено на “Нет”). Первая строка табличных данных в большинстве случаев является заголовком, описывающим содержимое каждого столбца.
Наиболее часто используемый формат табличных данных в data science – CSV. Каждый столбец окружен символом (таблица, запятая, …), отделяющим этот столбец от двух соседних.
Энтропия – это мера неопределенности. Высокая энтропия означает, что данные имеют высокую дисперсию и, следовательно, содержат много информации и/или шума.
Например, функция, где f (x) = 4 для всех x, не имеет энтропии и легко предсказуема, содержит мало информации, не содержит шума и может быть представлена в сжатом виде. Аналогично, f (x) = ~ 4 имеет некоторую энтропию, а f (x) = <случайное число> имеет очень высокую энтропию из-за шума.
Фрейм данных используется для хранения таблиц данных. Это список векторов одинаковой длины.
Ряд – это последовательность упорядоченных точек данных.
Сегментирование – это горизонтальное (по строкам) разделение базы данных, в отличие от вертикального (по столбцам) разделения, которое называется Нормализацией.
Зачем использовать сегментирование?
Системы баз данных с большими наборами данных или приложения с высокой пропускной способностью могут создавать проблемы с пропускной способностью одного сервера. Существует два способа решения проблемы роста: вертикальное и горизонтальное масштабирование.
Вертикальное масштабирование. Предполагает увеличение пропускной способности одного сервера. Но из-за технологических и экономических ограничений одной машины может быть недостаточно для данной рабочей нагрузки.
Горизонтальное масштабирование. Предполагает разделение набора данных и нагрузки на несколько серверов, добавление дополнительных серверов для увеличения пропускной способности по мере необходимости Хотя общая скорость или пропускная способность одной машины могут быть невысокими, каждая машина обрабатывает часть общей рабочей нагрузки, что потенциально обеспечивает большую эффективность, чем один высокоскоростной сервер с высокой пропускной способностью.
Идея состоит в том, чтобы использовать концепции распределенных систем для достижения масштабируемости. Но это сопряжено с теми же компромиссами повышенной сложности, которые присущи распределенным системам. Многие системы баз данных обеспечивают горизонтальное масштабирование посредством сегментирования наборов данных.
Оперативная аналитическая обработка, или OLAP (OnLine Analytical Processing), – это подход к быстрому выполнению многомерных аналитических запросов (MDA) в вычислительной технике.
OLAP является частью более широкой категории бизнес-аналитики, которая также включает в себя реляционные базы данных, написание отчетов и интеллектуальный анализ данных. Типичные области применения OLAP включают бизнес-отчетность для целей продаж, маркетинга, управленческую отчетность, управление бизнес-процессами (BPM), бюджетирование и прогнозирование, финансовую отчетность и аналогичные области, а также новые приложения, такие как сельское хозяйство.
Термин OLAP был создан по аналогии с традиционным термином баз данных: ОnLine Transaction Processing (OLTP).
JavaScript Object Notation (JSON) – это не зависящий от языка формат данных. Пример, описывающий человека:
{"firstName": "John","lastName": "Smith","isAlive": true,"age": 25,"address": {"streetAddress": "21 2nd Street","city": "New York","state": "NY","postalCode": "10021-3100"},"phoneNumbers": [{"type": "home","number": "212 555-1234"},{"type": "office","number": "646 555-4567"},{"type": "mobile","number": "123 456-7890"}],"children": [],"spouse": null}
Extensible Markup Language (XML) – это язык разметки, который определяет набор правил для кодирования документов в формате, удобочитаемом как человеком, так и машиной.
<CATALOG><PLANT><COMMON>Bloodroot</COMMON><BOTANICAL>Sanguinaria canadensis</BOTANICAL><ZONE>4</ZONE><LIGHT>Mostly Shady</LIGHT><PRICE>$2.44</PRICE><AVAILABILITY>031599</AVAILABILITY></PLANT><PLANT><COMMON>Columbine</COMMON><BOTANICAL>Aquilegia canadensis</BOTANICAL><ZONE>3</ZONE><LIGHT>Mostly Shady</LIGHT><PRICE>$9.37</PRICE><AVAILABILITY>030699</AVAILABILITY></PLANT><PLANT><COMMON>Marsh Marigold</COMMON><BOTANICAL>Caltha palustris</BOTANICAL><ZONE>4</ZONE><LIGHT>Mostly Sunny</LIGHT><PRICE>$6.81</PRICE><AVAILABILITY>051799</AVAILABILITY></PLANT></CATALOG>
Базы данных NoSQL отличаются от реляционных баз данных (NoSQL расшифровывается как Not Only SQL). Данные не структурированы, и между таблицами нет понятия ключей.
В базе данных NoSQL можно хранить любые данные (JSON, CSV, …), не задумываясь о сложной схеме взаимодействия.
Наиболее популярные NoSQL СУБД: Cassandra, MongoDB, Redis, Oracle NoSQL.
Регулярные выражения (regex) широко используются в информатике. Их можно использовать в широком диапазоне возможностей:
http://regexr.com – хороший веб-сайт для экспериментов с регулярными выражениями.
Для использования регулярных выражений в Python достаточно указать:
import re
Кроме раздела “Основы” дорожная карта исследователя данных содержит еще один ключевой раздел: Интеллектуальный анализ текстов (Text Mining).
Дорожная карта исследователя данных сопровождается обширными дополнительными ресурсами:
Другие посты по этой тематике см. в моем блоге.