Machine Learning
и DataScience
В предыдущем уроке мы говорили про создание BI-дэшбордов.

Сегодня BI  часто называют «классической» аналитикой. BI-дэшборд способен представить тренды, графики, зависимости и ключевые показатели (KPI). Но, чтобы их проанализировать и принять решение требуется человек. Задача BI-дэшбордов — упростить человеку процесс анализа информации через визуализацию и наглядное представление данных.

А DataScience позволяет пользователям упростить не только процесс анализа данных, но и процесс принятия решений.
Что такое DataScience?
DataScience и BI — связанные, но разные области работы с данными, которые имеют разные цели и подходы.

В предыдущей статье мы говорили про BI-дэшборд, который может использовать человек для заботы о своем здоровье. На этом дэшборде могут быть выведены тренды: график физической активности, диаграмма КБЖУ, диаграмма сна и KPI — вес. Такое представление информации позволит человеку лучше понять текущую ситуацию и быстрее принять решение — что нужно изменить, чтобы улучшить показатели здоровья.

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

DataScience пытается заглянуть в будущее, спрогнозировать события и сформировать рекомендации, которые помогут достичь или избежать конкретных событий. Это позволяет снизить нагрузку на человека при принятии решений.
Хотя DataScience и BI имеют разные фокусы и цели, но зачастую специалисты из этих отраслей могут использовать схожие инструменты и методы. Например, датасаентист может использовать инструменты BI для сбора и очистки данных перед построением прогнозных модели, а аналитик BI может использовать методы DataScience для лучшего профилирования данных и понимания предметной области. Поэтому, если вы хотите стать хорошим дата-специалистом, полезно будет знать все инструменты для работы с данными.
Чем отличается BI-аналитика и DataScience?
Именно поэтому datascience алгоритмы чаще всего используют в отраслях, где последствия принятия решений не нанесет серьезного вреда. Там, где последствия масштабны и имеют большое влияние на общество, обычно используют другой вид аналитики и классические подходы к принятию решений.
Рассмотрим это на примере сетевого магазина по доставке продуктов.

У нас есть данные о покупках клиентов в нашем магазине. Мы можем отсортировать эти покупки по типу продуктов, стоимости среднего чека и времени покупки. Исходя из этого мы можем выявить некоторые закономерности и тенденции. Например, что люди покупают больше фаст-фуда по выходным или что в некоторых районах большей популярностью пользуются продукты с типом «ЗОЖ». Эту информацию мы можем использовать для принятия решений — на каких точках доставки хранить больше здоровых продуктов, и в какое время запускать рекламу фаст-фуда. Мы можем пойти дальше — сегментировать наших покупателей по их интересам, например, ЗОЖников и бодипозитивщиков. Эта сегментация позволит нам рекомендовать нашим покупателям продукты, которые пользуются популярностью у людей с похожими интересами.

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

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

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

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

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

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

Например, если ваша задача определить вероятность, что мужчина в возрасте 25 лет купит подписку онлайн-кинотеатра — с этой задачей справится Data Science. А чтобы определить, как менялись предпочтения по просмотру контента у аудитории и принять решение о формате нового телешоу, потребуются другие аналитические инструменты.
1. Определение проблемы
На самом деле этими шагами можно верхнеуровнево определить процесс разработки любого аналитического или информационного сервиса. Давайте постараемся разобраться в чем специфика этих шагов при разработке DataScience модели.
Если смотреть на процесс разработки DataScience модели, то по своей структуре и последовательности шагов он может напоминать разработку BI-дэшбордов.
Как видит DataScience обычный человек
Как видит DataScience тот, кто его разрабатывает
Довольно часто в сети можно встретить шутки про магию Data Science и сравнения Data Science с черным чемоданчиком волшебника, куда попадают данные, к ним применяются «магические» инструменты, а на выходе получаются высокоточные прогнозы и инсайты.

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

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

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

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

Сбор, очистка и подготовка данных это очень важный процесс, который может занимать до 70% времени на разработку модели.
2. Сбор, очистка и подготовка данных
Специалисты используют различные инструменты и методы для изучения данных и лучшего их понимания. Это могут быть инструменты профилирования. А могут быть инструменты для создания визуализаций, о которых мы говорили в прошлом уроке. Графики и диаграммы помогают идентифицировать закономерности и взаимосвязи, и лучше понять данные.
Данные могут отсутствовать.

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

В данных могут быть выбросы

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

Данные могут быть нерелевантными

Например, если мы планируем решить задачу эффективных продаж в онлайн магазине, то нам будут бесполезны данные о продажах в физических магазинах.
Или, если мы дарили покупателям подписку на онлайн кинотеатр вместе с устройством, то такие данные будут бесполезны для системы рекомендаций по продажам подписки.
Специалисты должны выявлять и удалять любые нерелевантные данные, которые могут оказаться бесполезными для решения задачи и испортить качество моделей.
После того как данные собраны и технически подготовлены для анализа, например, сохранены в «озере данных», наступает не менее важный этап — исследование. Цель этого этапа — убедится, что собранные данные действительно пригодны для решения нашей задачи. А также исключить те данные, которые могут исказить результаты моделирования.

Какие могут быть проблемы с данными:
3. Исследование данных
1
2
3
Далее мы определяем ошибки — где модель «угадала» целевой показатель, а где ошиблась. Информация об ошибках на тестовом наборе данных также передается на вход DataScience модели — это позволяет улучшить результат обучения. Главное вовремя остановить обучение модели, когда ошибка в тестовом наборе перестанет уменьшаться или начнет увеличиваться. Это предотвратит переобучение модели и повысит качество предсказаний на целевом датасете.
И получаем результаты работы модели:
Далее мы прогоняем обученную модель на тестовом наборе данных.
Мы выбрали для обучения модель «Дерево решений» и на нашей обучающей выборке модель могла бы создать такой алгоритм для определения вероятности покупки.
Конечно, это упрощенный пример — в реальных обучающих наборах таких параметров тысячи, так как мы не знаем, что именно влияет на решение людей о покупке, и хотим выяснить это с помощью DataScience модели.
Обучение модели

Для обучения модели используют 2 набора данных — обучающий и тестовый.
В обучающем наборе у модели известен целевой параметр, а тестовый набор используется для проверки качества обучения модели — точности предсказания результата.

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

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

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

Например, деревья решений можно использовать для оптимизации управления запасами, прогнозируя будущий спрос и определяя оптимальные уровни запасов.

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

Можно сказать, что data science модель — это алгоритм, или математическое/ статистическое представление процесса. Задача data science модели — найти закономерности в данных, и использовать эти сведения для принятия решений.

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

DataScience моделей огромное множество, например, линейная регрессия, деревья решений, случайные леса и другие. Каждый тип модели подходит для решения одних задач лучше, чем другие. В нашем марафоне мы не сможем рассказать про все модели и критерии их выбора — этому датасаентисты учатся годами — но мы расскажем про 3 самых популярных, чтобы стало понятнее, что это за зверь.
Три предыдущих шага — определение проблемы, подготовка и анализ данных — выполняются при разработке любого аналитического инструмента.
А на этом шаге начинается та самая «магия» DataScience.

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

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

Например, если наша задача — повысить количество продаж с помощью DataScience модели, мы можем разделить список клиентов на 2 части. Одну часть проанализировать стандартными методами, и выбрать клиентов для обзвона, рекламных рассылок и push-уведомлений, экспертным способом. А вторую часть клиентской базы проанализировать при помощи модели.

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

Важно понимать, что у нас никогда не будет 100% гарантированного точного предсказания. Например, если DataScience модели улучшают показатели продаж на 5−7% относительно традиционных методов, это уже хороший результат.
5. Оценка и развертывание
Сегодня DataScience технологии приносит значительную пользу компаниям, помогая им принимать более обоснованные решения, совершенствовать операции и внедрять инновации. DataScience применяют в самых разных отраслях и областях, включая здравоохранение, финансы, розничную торговлю и многих других. И эти технологии приносят пользу не только корпоративным гигантам, но и обычным людям, чья жизнь становится проще, быстрее и интереснее.
DataScience окружает нас практически везде — в социальных сетях, в маркетплейсах, на сайтах и в банковских приложениях.

Вот несколько простых примеров, которые показывают насколько глубоко эти технологии вошли в нашу жизнь:

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

  • Онлайн кинотеатры: потоковые сервисы, такие как Wink, используют DataScience, чтобы рекомендовать шоу и фильмы, которые могут вам понравиться, на основе того, что смотрели в прошлом вы и люди, похожие на вас. Анализируя данные о длительности просмотра и оценки, сервисы прогнозируют, что вам понравится в будущем.

  • Продукты в магазинах: магазины используют DataScience, чтобы выяснить, какие продукты популярны и что люди покупают чаще всего. Они могут использовать эту информацию, чтобы решить, что разместить на своих полках, а что следует перестать продавать.
Где можно встретить DataScience
в обычной жизни?
две из наиболее широко используемых сред глубокого обучения. Они предоставляют высокоуровневый интерфейс для создания и обучения нейронных сетей и используются для таких задач, как классификация изображений, обработка естественного языка и генеративные модели.
TensorFlow и PyTorch
это веб-платформа для написания, выполнения и обмена кодом. Это популярный инструмент для специалистов по обработке и анализу данных, поскольку он обеспечивает удобный процесс исследовательского анализа данных и документирование шагов, связанных с проектом по обработке данных.
Jupyter Notebook
это язык структурированных запросов, используемый для управления и запроса данных в реляционных базах данных. Это важный инструмент не только для датасаентистов, но и для любого человека, который работает с данными и хочет анализировать информацию.
SQL
еще один популярный язык программирования для DataScience. В нем хорошо представлены инструменты статистического анализа и большая библиотеку пакетов для анализа данных и машинного обучения, таких как ggplot2, dplyr и Caret.
R
один из самых популярных языков программирования. Он имеет большое и активное сообщество разработчиков, а также множество библиотек и инструментов, доступных для анализа данных и машинного обучения, таких как NumPy, Pandas, Matplotlib и scikit-learn.
Python
Здесь мы собрали 5 самых популярных инструментов, на самом деле их огромное количество. Выбор конкретных инструментов и языков программирования зависит от ИТ-архитектуры компании, проекта, а также личных предпочтений и знаний датасаентиста.
5 инструментов, которые стоит изучить джуну
Кейс Ростелекома — как завоевать доверие бизнеса к технологиям ИИ

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

  • Предпосылки к внедрению и использованию технологий BigData, продвинутой аналитики, машинного обучения
  • Подходы к созданию сервисной модели (MLOps)
  • Инструментарий для моделирования и деплоймента моделей
Что такое DataScienсe?

  • Зачем компаниям нужен Data Science/
  • Предпосылки Data Science
  • Стандартный процесс разработки в Data Science
  • Основные ошибки в Data Science
Рекомендуем следующие материалы по теме:
Подборка ссылок для самых любознательных
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website