Введение в Data Science (часть 1)

В современном мире наблюдается колоссальный рост объема данных, и остро стоит вопрос хранения. Это было основной проблемой для отрасли до 2010 года. Основное внимание было уделено созданию инфраструктуры и разработке всевозможных решений для оптимизации хранения данных. Теперь, когда Hadoop HDFS, HBase и другие фреймворки успешно решили проблему хранения, акцент сместился на обработку этих данных.

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

Зачем нам нужна наука о данных?

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

Давайте посмотрим на тренды увеличения данных на рисунке ниже. Видим что к 2020 году более 80% данных будут неструктурированными.

Эти данные генерируются из разных источников, таких как финансовые журналы, текстовые файлы, мультимедийные формы, датчики и инструменты. Простые инструменты бизнес-аналитики не способны обрабатывать такой огромный объем и разнообразие данных. Нужны более сложные, продвинутые аналитические инструменты и алгоритмы обработки, анализа и извлечения значимых идей.

Это не единственная причина, почему Data Science стала настолько популярной. Давайте копать глубже и посмотрим, как Data Science используется в различных областях.

  • Можно получать точные рекомендации для своих товаров на основе просмотров, добавлений в корзину и т.д. Конечно, все эти показатели и так у вас есть, но благодаря Data Science, вы сможете проводить углубленный анализ и создавать более качественные рекомендации для ваших покупателей, что, очевидно, повысит доходы бизнеса.
  • Data Science в области принятия решений. Уже сейчас тестируются полноценные автопилоты — машины в реальном времени считывают и анализируют дорожную ситуацию и, на основе машинного обучения, могут принимать решения о правильном маневре.
  • Data Science в области анализа и прогнозирования. Для прогнозирования погоды в мире собирается большое количество данных с самолетов, кораблей, МКС, метеорологических зондов. В результате идет построение глобальных климатических моделей, которые позволяют не только предсказать температуру, влажность и давление, но и предостеречь людей от стихийных бедствий и катастроф.

Рассмотрим инфографику, представленную ниже, чтобы увидеть основные области, в которых используется Data Science.

Теперь становится понятнее, что важность Data Science сложно переоценить, узнаем об этой науке поподробнее.

Что такое наука о данных?

Все чаще мы слышим термин Data Science, но что он означает? Какие навыки вам нужны, чтобы стать Data Scientist? В чем разница между бизнес-аналитикой и наукой о данных? Как принимаются решения и осуществляются прогнозы? Это лишь некоторые из вопросов, на которые мы постараемся ответить.

Data Science — это сочетание различных инструментов, алгоритмов и принципов машинного обучения, с помощью которых мы можем обнаружить скрытые закономерности среди необработанных данных. Чем это отличается от того, чем занимаются «традиционные» аналитики?

Основная разница заключается непосредственно между понятиями объяснения и предсказания данных.

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

Таким образом, Data Science в первую очередь используется для принятия решений и прогнозирования, учитывающего причинно-следственные связи, позволяет создавать предписывающие стратегии (прогнозирование плюс наука принятия решений) и использовать машинное обучение.

  • Прогнозирующая причинно-следственная аналитика — используется для создания модели, которая сможет предсказать возможность появления искомого события в будущем. Например, вы занимаетесь кредитованием и беспокоитесь за своевременность обязательных платежей. На помощь приходит модель, которая, на основе кредитной истории каждого конкретного человека, может предсказывать, как он будет относиться к погашению платежей.
  • Предписывающая аналитика: если вам нужна модель, обладающая интеллектом для принятия собственных решений и способностью обучаться. Эта относительно новая область — предоставление консультаций. Другими словами, мы сможем не только получать предсказания, а целое руководство к действию и связанных с ними предположений о результате. Рассмотрим беспилотный автомобиль Google. Данные, собранные транспортными средствами, могут использоваться для обучения беспилотных автомобилей. На их основе можно обучать нейронные мети. Это позволит вашему автомобилю принимать решения, например, когда повернуть, какой путь выбрать, когда замедлиться или ускориться.
  • Машинное обучение для составления прогнозов. Если у вас есть данные о транзакциях финансовой компании и вам необходимо построить модель для определения тенденции, лучше всего подойдут алгоритмы машинного обучения. Чаще всего, это обучение «с учителем». Он называется контролируемым, потому что у вас уже есть данные, на основе которых вы можете обучать свои машины. Например, модель обнаружения мошенничества может быть обучена с использованием истории мошеннических покупок.
  • Машинное обучение для распознавания образов. Если у вас нет параметров, на основе которых можно делать прогнозы, то вам необходимо выяснить скрытые закономерности в наборе данных, чтобы получить статистически значимые предсказания. Это не что иное, как обучение «без учителя», поскольку у вас нет предопределенных меток для группирования. Наиболее распространенным алгоритмом, используемым для обнаружения шаблонов, является кластеризация. Допустим, если вы работаете в телефонной компании и вам необходимо организовать сеть, поставив сотовые вышки в регионе. Вы можете использовать кластеризацию, чтобы найти те места расположения башен, которые обеспечат оптимальную мощность сигнала для всех пользователей.

Давайте посмотрим, в каких пропорциях описанные методики используются в Data Science. С одной стороны, наука о данных использует прогнозирование и анализ данных, с другой — прогнозирующую причинно-следственную аналитику и машинное обучение.

Часто Data Science путают с бизнес аналитикой, давайте разберемся.

Бизнес-аналитика или Data Science

  • BI в основном анализирует предыдущие данные, чтобы выполнить ретроспективный анализ и понять тенденции бизнеса. BI позволяет получать данные из внешних и внутренних источников, адаптировать их, выполнять запросы к ним и создавать информационные панели для ответов на такие вопросы, как квартальный анализ доходов или проблемы в определенных отраслях. BI может оценить влияние определенных событий в ближайшем будущем.
  • Data Science — это более дальновидный подход, исследование, сфокусированное на анализе прошлых и/или текущих данных и прогнозировании будущих результатов с целью принятия обоснованных решений. Он отвечает на открытые вопросы о том, «что за» и «как происходят» события.

Рассмотрим некоторые отличительные особенности.

Распространенной ошибкой, допущенной в проектах Data Science, является стремление к сбору и анализу данных, без понимания требований или даже постановки бизнес-задачи должным образом. Поэтому очень важно, чтобы вы разобрались со всеми этапами на протяжении всего жизненного цикла Data Science, чтобы обеспечить бесперебойную работу проекта.

Жизненный цикл науки о данных

Вот краткий обзор основных этапов жизненного цикла Data Science:

Этап 1. Обнаружение.

Перед началом проекта важно понять различные спецификации, требования, приоритеты и необходимый бюджет. Нужно ставить правильные вопросы, для того, чтобы получить грамотные ответы. Здесь вы оцениваете наличие необходимых ресурсов с точки зрения людей, технологий, времени и данных для поддержки проекта. На этом этапе вам также необходимо сформулировать бизнес-задачу и сформулировать исходные гипотезы для проверки.

Этап 2. Подготовка данных.

На этом этапе потребуется аналитическая тестовая среда, в которой вы можете выполнять аналитику на протяжении всего проекта. Вам необходимо изучить и обработать данные до моделирования. Далее вы будете выполнять ETLT (извлечение, преобразование и загрузка), чтобы получить данные в песочницу. Давайте рассмотрим пример анализа данных.

Вы можете использовать алгоритмы, написанные на языке R для очистки, преобразования и визуализации данных. Это поможет вам определить выбросы и установить связь между переменными. После того, как вы подготовили данные, пришло время провести аналитику. Посмотрим, как этого добиться.

Этап 3. Планирование модели.

Нужно определить методы и приемы для построения взаимосвязей между переменными. Эти отношения станут основой для алгоритмов, которые вы будете реализовывать на следующем этапе. Можно применять Исследовательский анализ данных (EDA), используя различные статистические формулы и инструменты визуализации.

Теперь мы получили представление о природе ваших данных и определили алгоритмы, которые будут использоваться. На следующем этапе мы будем применять алгоритм и создавать модель.

Этап 4. Построение модели.

На этом этапе мы будем разрабатывать наборы данных для обучения и тестирования. Вы подумаете, хватит ли существующих инструментов для запуска моделей или потребуется более надежная среда (например, быстрая и параллельная обработка)? Нужно будет анализировать различные методы обучения, такие как классификация, ассоциация и кластеризация, чтобы построить модель.

Этап 5 — Развертывание.

На этом этапе вы предоставляете окончательные отчеты, код и техническую документацию. Кроме того, иногда пилотный проект также реализуется в производственной среде в реальном времени. Это предоставит вам четкое представление о производительности и других связанных ограничениях в небольшом масштабе перед полным развертыванием.

Этап 6 — Анализ полученных результатов.

Теперь важно оценить, удалось ли вам достичь цели, которую вы запланировали на первом этапе. Итак, на последнем этапе вы определяете все ключевые выводы, общаетесь с заинтересованными сторонами и определяете, являются ли результаты проекта успешными или неудачными, на основании критериев, разработанных на этапе 1.

Теперь возьмем пример из практики, чтобы объяснить вам различные этапы, описанные выше.

Тематическое исследование: профилактика диабета

Что если бы мы могли предсказать возникновение диабета и заранее принять соответствующие меры для его предотвращения?

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

Шаг 1:

  • Во-первых, мы будем собирать данные на основе истории болезни пациента, как описано в первом этапе. Вы можете обратиться к образцу данных ниже.

У нас есть различные атрибуты, рассмотрим их подробнее.

Атрибуты:

  1. npreg -количество беременных
  2. glu — концентрация глюкозы в плазме
  3. bp — кровяное давление
  4. skin — толщина кожного покрытия
  5. bmi — индекс массы тела
  6. ped — наследственный диабет
  7. age — возраст
  8. income — доход

Шаг 2:

  • Теперь, когда у нас есть данные, нам нужно очистить и подготовить для анализа.
  • Эти данные имеют много несоответствий, таких как пропущенные значения, пустые столбцы, слишком большие или маленькие значения и неправильный формат данных.
  • Здесь мы организовали данные в одну таблицу под разными атрибутами — чтобы они выглядели более структурированными.

Давайте посмотрим на пример данных ниже.

Эти данные имеют много несоответствий.

  1. В столбце npreg слово «один» написано словами, тогда как оно должно быть в числовой форме, например 1.
  2. В столбце bp одно из значений равно 6600, это невозможно (по крайней мере, для человека), поскольку bp не может подняться до такого огромного значения.
  3. Колонка «Доход» пуста и, похоже, не имеет смысла в прогнозировании диабета. Следовательно, она избыточна, удалим ее из таблицы.
  • Итак, мы очистим и предварительно обработаем эти данные, удалив лишнее, заполнив нулевые значения и нормализуя тип данных. Это второй этап, предварительная обработка данных.
  • Наконец, мы получаем чистые данные, как показано ниже, которые можно использовать для анализа.

Шаг 3:

  • Начинаем анализ. Сначала мы загрузим данные в изолированную программную среду и применим к ним различные статистические функции. Например, Python Pandas имеет функции info, head, tailm которые дают нам информацию о пропущенных и уникальных значениях. Мы также можем получить статистики, такие как среднее, медиана, диапазон, минимальное и максимальное значения.
  • Затем мы используем методы визуализации, такие как гистограммы, линейные графики, блочные графики, чтобы получить четкое представление о распределении данных. Рекомендуем Python Seaborn и Plotly.

Шаг 4:

  • Основываясь на выводах, полученных на предыдущем шаге, попробуем применить дерево решений.
  • У нас уже есть основные атрибуты для анализа, такие как npreg, bmi и т.д. Поэтому мы будем использовать обучение «с учителем» для построения модели.
  • Кроме того, мы воспользуемся деревом решений, потому что оно учитывает все атрибуты за один раз, включая те, которые линейно связаны, и те, которые имеют нелинейное отношение. В нашем случае мы имеем линейную связь между npreg и age, тогда как нелинейная связь наблюдается между npreg и ped.
  • Модели дерева решений очень надежны, поскольку мы можем использовать различную комбинацию атрибутов для создания различных деревьев и, наконец, реализовать их с максимальной эффективностью.
  • Однако, всегда помните о возможности переобучения, о которой подробнее расскажем в следующих статьях.

Давайте посмотрим на дерево решений.

Здесь самым важным параметром является уровень глюкозы, поэтому это наш корневой узел. Теперь текущий узел и его значение определяют следующий важный параметр, который будет принят. Это продолжается до тех пор, пока мы не получим результат в терминах pos или neg. Pos означает, что склонность к диабету положительна, а neg означает, что склонность к диабету отрицательна. В дальнейшем мы еще затронем тему дерева решений.

Шаг 5:

На этом этапе мы запустим небольшой пилотный проект, чтобы проверить, правдоподобны ли наши результаты. Мы также будем искать проблемы, связанные с производительность, если они есть. Если результаты не точные, то нам нужно перепланировать и перестроить модель.

Шаг 6:

Сделаем выводы по успешно-выполненному проекту.

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

Как вы можете видеть на изображении выше, вам необходимо развить различные навыки. Вы должны хорошо разбираться в статистике и математике для анализа и визуализации данных. Само собой разумеется, что машинное обучение является сердцем науки о данных и требует от вас хорошей компетенции. Кроме того, вам необходимо иметь четкое представление о предметной области, в которой вы работаете, чтобы четко понимать бизнес-проблему. Но и это еще не все.. Вы должны быть в состоянии реализовать различные алгоритмы, которые требуют хороших навыков программирования. Наконец, после того, как вы достигли каких либо результатов, вам важно передать их заинтересованным сторонам. Соответственно, развитые навыки общения позволят вам быть еще продуктивнее.

Будущее за специалистами из области Data Science. Прогнозируется, что к концу 2018 года потребуется около одного миллиона специалистов. Данных все больше, а это значит мы будем все точнее прогнозировать любые бизнес процессы. Скоро эта наука изменит наш взгляд на мир. Именно поэтому Data Scientist должен быть высококвалифицированным и замотивированным, это позволит решать вам самые сложные задачи.

При написании статьи использовалась информация с сайта edureka.com