что такое модель data science
Новая данность: что такое Data Science и зачем она нужна бизнесу
Что изучает Data Science
Каждый день человечество генерирует примерно 2,5 квинтиллиона байт различных данных. Они создаются буквально при каждом клике и пролистывании страницы, не говоря уже о просмотре видео и фотографий в онлайн-сервисах и соцсетях.
Наука о данных появилась задолго до того, как их объемы превысили все мыслимые прогнозы. Отсчет принято вести с 1966 года, когда в мире появился Комитет по данным для науки и техники — CODATA. Его создали в рамках Международного совета по науке, который ставил своей целью сбор, оценку, хранение и поиск важнейших данных для решения научных и технических задач. В составе комитета работают ученые, профессора крупных университетов и представители академий наук из нескольких стран, включая Россию.
Сам термин Data Science вошел в обиход в середине 1970-х с подачи датского ученого-информатика Петера Наура. Согласно его определению, эта дисциплина изучает жизненный цикл цифровых данных от появления до использования в других областях знаний. Однако со временем это определение стало более широким и гибким.
Data Science (DS) — междисциплинарная область на стыке статистики, математики, системного анализа и машинного обучения, которая охватывает все этапы работы с данными. Она предполагает исследование и анализ сверхбольших массивов информации и ориентирована в первую очередь на получение практических результатов.
В 2010-х годах объемы данных стали расти по экспоненте. Свою роль сыграл целый ряд факторов — от повсеместного распространения мобильного интернета и популярности соцсетей до всеобщей оцифровки сервисов и процессов. В итоге профессия дата-сайентиста быстро превратилась в одну из самых популярных и востребованных. Еще в 2012 году позицию дата-сайентиста журналисты назвали самой привлекательной работой XXI века (The Sexiest Job of the XXI Century).
Развитие Data Science шло вместе с внедрением технологий Big Data и анализа данных. И хотя эти области часто пересекаются, их не следует путать между собой. Все они предполагают понимание больших массивов информации. Но если аналитика данных отвечает на вопросы о прошлом (например, об изменениях в поведениях клиентов какого-либо интернет-сервиса за последние несколько лет), то Data Science в буквальном смысле смотрит в будущее. Специалисты по DS на основе больших данных могут создавать модели, которые предсказывают, что случится завтра. В том числе и предсказывать спрос на те или иные товары и услуги.
Зачем Data Science бизнесу
Компании используют Data Science вне зависимости от размера бизнеса, показывает статистика Kaggle (профессиональная соцсеть специалистов по работе с данными). А по подсчетам IDC и Hitachi, 78% предприятий подтверждают, что количество анализируемой и используемой информации в последнее время значительно возросло. Бизнес понимает, что неструктурированная информация содержит очень важные для компании знания, способные повлиять на результаты бизнеса, отмечают авторы исследования.
Причем это касается самых разных сфер экономики. Вот лишь несколько примеров отраслей, которые используют Data Science для решения своих задач:
И это лишь самый краткий и поверхностный список использования Data Science. Количество различных кейсов с использованием «науки о данных» увеличивается с каждым годом в геометрической прогрессии.
Каждый интернет-пользователь и просто потребитель ежедневно десятки раз сталкивается с продуктами и решениями, в которых применяются инструменты Data Science. К примеру, аудио-сервис Spotify использует их, чтобы лучше подбирать треки для пользователей в соответствии с их предпочтениями. То же самое можно сказать о предложении фильмов и сериалах на видео-стримингах, таких как Netflix. А в Uber науку о данных рассматривают как инструмент для предиктивной аналитики, прогнозирования спроса, улучшения и автоматизации всех продуктов и клиентского опыта.
Конечно, дата-сайентисты не могут в точности предсказать будущее компании и учесть абсолютно все возможные риски. «Все модели неправильные, но некоторые из них полезны», — иронизировал по этому поводу британский статистик Джордж Бокс. Тем не менее, инструменты Data Science служат хорошей поддержкой для компаний, которые хотят принимать более информированные и обоснованные решения о своем будущем.
Как работают дата-сайентисты
Для работы с данными дата-сайентисты применяют целый комплекс инструментов — пакеты статистического моделирования, различные базы данных, специальное программное обеспечение. Но, главное, они используют технологии искусственного интеллекта и создают модели машинного обучения (нейросети), которые помогают бизнесу анализировать информацию, делать выводы и прогнозировать будущее.
Каждую такую нейросеть необходимо спланировать, построить, оценить, развернуть и только потом перейти к ее обучению. «Сейчас, по нашим оценкам, в процессе работы над ИИ-решениями только 30% времени специалистов уходит на обучение моделей. Все остальное — на подготовку к нему и другую рутину», — говорит CTO «Сбербанк Груп», исполнительный вице-президент и глава блока «Технологии» Давид Рафаловский.
Компания Anaconda, которая разрабатывает продукты для работы с данными, приводит еще более печальную статистику. Ее опросы показывают, что в среднем почти половину времени (45%) специалисты тратят на подготовку данных, то есть их загрузку и очистку. Еще примерно треть уходит на визуализацию данных и выбор модели. На обучение и развертывание остается всего 12% и 11% рабочего времени соответственно.
Дата-сайентисты в облаках
Облегчить и ускорить работу по сбору данных, построению и развертыванию моделей помогают специальные облачные платформы. Именно облачные платформы для машинного обучения стали самым актуальным трендом в Data Science. Поскольку речь идет о больших объемах информации, сложных ML-моделях, о готовых и доступных для работы распределенных команд инструментах, то дата-сайентистами понадобились гибкие, масштабируемые и доступные ресурсы.
Именно для дата-сайентистов облачные провайдеры создали платформы, ориентированные на подготовку и запуск моделей машинного обучения и дальнейшую работу с ними. Пока таких решений немного и одно из них было полностью создано в России. В конце 2020 года компания Sbercloud представила облачную платформу полного цикла разработки и реализации AI-сервисов — ML Space. Платформа содержит набор инструментов и ресурсов для создания, обучения и развертывания моделей машинного обучения — от быстрого подключения к источникам данных до автоматического развертывания обученных моделей на динамически масштабируемых облачных ресурсах SberCloud.
Сейчас ML Space — единственный в мире облачный сервис, позволяющий организовать распределенное обучение на 1000+ GPU. Эту возможность обеспечивает собственный облачный суперкомпьютер SberCloud — «Кристофари». Запущенный в 2019 году «Кристофари» является сейчас самым мощным российским вычислительным кластером и занимает 40 место в мировом рейтинге cуперкомпьютеров TOP500
Платформу уже используют команды разработчиков экосистемы Сбера. Именно с ее помощью было запущено семейство виртуальных ассистентов «Салют». Для их создания с помощью «Кристофари» и ML Space было обучено более 70 различных ASR- моделей (автоматическое распознавание речи) и большое количество моделей Text-to-Speech. Сейчас ML Space доступна для любых коммерческих пользователи, учебных и научных организаций.
«ML Space – это настоящий технологический прорыв в области работы с искусственным интеллектом. По нескольким ключевым параметрам ML Space уже превосходит лучшие мировые решения. Я считаю, что сегодня ML Space одна из лучших в мире облачных платформ для машинного обучения. Опытным дата-сайентистам она предоставляет новые удобные инструменты, возможность распределенной работы, автоматизации создания, обучения и внедрения ИИ-моделей. Компаниям и организациям, не имеющим глубокой ML-экспертизы, ML Space дает возможность впервые использовать искусственный интеллект в своих продуктах, приложениях и рабочих процессах», — уверен Отари Меликишвили, лидер продуктового вправления AI Cloud, компании SberCloud.
Облака помогают рынку все шире использовать платформы для работы с данными, предлагая безграничные вычислительные мощности, подтверждают аналитики Mordor Intelligence.
По мнению экспертов из Anaconda, потребуется время, чтобы бизнес и сами специалисты созрели для широкого использования инструментов DS и смогли получить результаты. Но прогресс уже очевиден. «Мы ожидаем, что в ближайшие два-три года Data Science продолжит двигаться к тому, чтобы стать стратегической функцией бизнеса во многих отраслях», — прогнозирует компания.
Чем занимается специалист по Data Science и как начать работать в этой области?
Специалист в области Data Science строит на основе данных модели, которые помогают принимать решения в науке, бизнесе и повседневной жизни. Он может работать с неструктурированными массивами информации в разных сферах: от выявления элементарных частиц в экспериментах на БАК, анализа метеорологических факторов, анализа данных о перемещениях автотранспорта до исследования финансовых операций, поисковых запросов, поведения пользователей в Интернете.
В результате получаются модели, которые прогнозируют погоду, загруженность дорог, спрос на товары, находят снимки, где могут оказаться следы нужных элементарных частиц, выдают решения о предоставлении кредита, могут рекомендовать товар, книгу, фильм, музыку.
Анна Чувилина, автор и менеджер программы «Аналитик данных» Яндекс.Практикума, рассказала, какие задачи решает специалист в области Data Science или датасаентист, в чем состоит его работа и чем он отличается от аналитика данных.
Что такое Data Science?
Data Science — это применение научных методов при работе с данными, чтобы найти нужное решение. В широком смысле, естественные науки основаны на Data Science. Например, биолог проводит эксперименты и анализирует результаты для проверки своих гипотез. Он должен уметь обобщать частные наблюдения, исключать случайности и делать верные выводы.
Датасаентист работает с данными так же, как ученый в любой другой сфере. Он использует математическую статистику, логические принципы и современные инструменты визуализации, чтобы получить результат.
Сбор данных — это способ измерить процессы вокруг нас. А научные методы позволяют расшифровать большие массивы данных, найти в них закономерности и применить для решения конкретной задачи.
Кто такой специалист по Data Science?
Датасаентист обрабатывает массивы данных, находит в них новые связи и закономерности, используя алгоритмы машинного обучения, и строит модели. Модель — это алгоритм, который можно использовать для решения бизнес-задач.
Например, в Яндекс.Такси модели прогнозируют спрос, подбирают оптимальный маршрут, контролируют усталость водителя. В результате стоимость поездки снижается, а качество растет. В банках модели помогают точнее принимать решения о выдаче кредита, в страховых компаниях — оценивают вероятность наступления страхового случая, в онлайн-коммерции — увеличивают конверсию маркетинговых предложений.
Глобальные поисковые системы, рекомендательные сервисы, голосовые помощники, автономные поезда и автомобили, сервисы распознавания лиц — все это создано с участием датасаентистов.
Анализ данных — это часть работы датасаентиста. Но результат его труда — это модель, код, написанный на основе анализа. В этом главное отличие между датасаентистом и аналитиком данных. Первый — это инженер, который решает задачу бизнеса как техническую. Второй — бизнес-аналитик, больше погруженный в бизнес-составляющую задачи. Он изучает потребности, анализирует данные, тестирует гипотезы и визуализирует результат.
«Датасаентист решает задачи с помощью машинного обучения, например распознавание изображений или предсказание расхода материала на производстве. Результат его работы — работающая модель по техническому заданию, которая будет решать бизнес-задачу», — Анна Чувилина, автор и менеджер программы «Аналитик данных» в Яндекс.Практикуме.
Специалист по Data Science проходит те же карьерные ступени, что и другие профессионалы в IT: джуниор, мидл, тимлид или сеньор. В среднем, каждая ступень занимает от года до двух. Более опытный специалист лучше понимает бизнес-задачи и может предложить лучшее решение для них. Чем выше уровень, тем меньше датасаентист сфокусирован только на технических задачах. Он может оценивать проект и его смысловую составляющую.
Задачи специалиста по Data Science
Задачи различаются от компании к компании. В крупных корпорациях датасаентист работает с несколькими направлениями. Например, для банка он может решать задачу кредитной оценки и заниматься процессами распознавания речи.
Этапы работы над задачей у датасаентистов из разных сфер похожи:
Каждая новая итерация позволяет лучше понять проблемы бизнеса, уточнить решение. Поэтому каждый этап повторяется снова и снова для развития модели и обновления данных.
Data Science работает и для стартапов, и для крупных корпораций. В первых специалисты работают в одиночку или небольшими командами над отдельными задачами, а во вторых — реализуют долгосрочные проекты в связке с бизнес-аналитиками, аналитиками данных, разработчиками, инфраструктурными администраторами, дизайнерами и менеджерами.
Руководитель проекта с аналитиками берёт на себя большую часть работы: общается с бизнесом, собирает требования, формирует техническое задание. В зависимости от уровня и принципов работы в компании, специалист по Data Science участвует в переговорах или получает задачи от руководителя проекта и аналитиков.
Следующий этап — сбор данных. Если в компании не налажены процессы для получения данных, датасаентист решает и эту задачу. Он внедряет инструменты, которые помогают автоматически получать и предварительно очищать, структурировать нужную информацию.
Разметка данных — это тоже способ навести в них порядок. Каждой записи присваивается метка, по которой можно определять класс данных: это спам или нет, клиент платежеспособен или недостаточно. Для этой задачи редко используют алгоритмы, метки проставляют вручную. Качественно размеченные данные имеют большую ценность.
«Со стороны заказчика часто присылаются первые данные, которые не готовы для анализа. Специалист их изучает и пытается понять взаимосвязи внутри данных. Для этого часто используется пайплайн — стандартная последовательность действий для процесса анализа данных, которая у каждого своя. Во время ‘‘просмотра’’ у специалиста возникают гипотезы относительно данных, которые он потом будет проверять», — говорит Анна Чувилина, автор и менеджер программы «Аналитик данных» в Яндекс.Практикум.
Во время обработки данные переводятся в формат, удобный для машинного обучения, чтобы запустить первое, «пробное» обучение. Оно должно подтвердить или опровергнуть гипотезы о данных, которые есть у специалиста по Data Science. Если гипотезы не подтверждаются, работа с этим набором данных прекращается. Если одна или несколько гипотез окажутся жизнеспособными — на выходе получается первая версии модели. Её можно назвать baseline-моделью или базовой, относительно которой на следующих итерациях можно искать улучшения в качестве работы модели. Это минимально работающий продукт, который можно показать, протестировать и развивать дальше.
Вместе с моделированием или перед ним выбирают метрики для оценки эффективности модели. Как правило, это две категории: метрики для бизнеса и технические. Бизнес-метрики отвечают на вопрос «каков экономический эффект от работы данной модели?» Технические определяют качество модели, например, точность предсказаний.
Модель оценивают на контролируемость и безопасность. Например, для задач медицинской диагностики это решающий фактор. Когда модель готова и протестирована, то её встраивают в производственный процесс (например, кредитный конвейер) или продукт (например, мобильное приложение). Она начинает приносить пользу в реальной жизни.
Ошибки в моделях могут дорого стоит компании. Например, неверная скоринговая модель создаст ситуацию, когда ненадежные заемщики массово не смогут возвращать кредиты. В результате банк понесёт убытки.
Что нужно для старта
Знание математической статистики, базовые навыки программирования и анализа данных нужны для входа в любую сферу, где может быть занят датасаентист. Следующие этапы потребуют более глубоких знаний. Набор необходимых скиллов и инструментов будет во многом зависеть от задач конкретной компании.
«Для решения простых задач и попадания на уровень джуниора достаточно базовых знаний машинного обучения, математического аппарата и программирования. От специалиста уровня мидл и сеньор уже требуется умение тонко настраивать параметры, которые влияют на общее качество результата. Список разделов из высшей математики и понимание математической постановки каждой модели на этому уровне на порядок выше, чем для джуниора» — Анна Чувилина, автор и менеджер программы «Аналитик данных» в Яндекс.Практикум.
Как правило, в Data Science используют SQL, Python, для сложных вычислений — C/C++. Хороший уровень английского поможет быстрее расти за счет чтения профессиональной литературы и общения с другими профессионалами отрасли.
Бэкграунд разработчика хорошо подходит для переквалификации в датасаентисты. Разработчики знают языки программирования, разбираются в алгоритмах и имеют представление о принципах работы инструментов в ИТ. В таком случае переход в новую специальность займет несколько месяцев. Важные конкурентные преимущества, доступные профессионалам из других сфер: лучшее понимание предметной области, сильные коммуникативные навыки.
От начинающего специалиста по Data Science работодатель ждёт:
Опыт работы с реальными бизнес-проектами для работодателя важнее, чем ученая степень или профильное высшее образование. Дипломы сильных вузов и тематические научные работы ценятся больше при выборе привлеченных консультантов на стратегические проекты. А по практическому опыту выбирают датасаентиста для решения ежедневных задач компании.
Перед датасаентистом не стоит задача охватить все области математического знания или освоить каждый программный инструмент, который можно применить для анализа данных и построения модели. Над масштабными и сложными проектами обычно работают группы специалистов. Здесь навыки и знания каждого дополняют общий инструментарий. Чтобы стартовать в профессии достаточно любить программирование, математику и не бояться сложных задач.
Структура Data Science-проекта с высоты птичьего полета
Как узнать наверняка, что внутри у колобка?
Может, ты его проглотишь, а внутри него река? © Таня Задорожная
Что такое Data Science сегодня, кажется, знают уже не только дети, но и домашние животные. Спроси любого котика, и он скажет: статистика, Python, R, BigData, машинное обучение, визуализация и много других слов, в зависимости от квалификации. Но не все котики, а также те, кто хочет стать специалистом по Data Science, знают, как именно устроен Data Science-проект, из каких этапов он состоит и как каждый из них влияет на конечный результат, насколько ресурсоемким является каждый из этапов проекта. Для ответа на эти вопросы как правило служит методология. Однако бОльшая часть обучающих курсов, посвященных Data Science, ничего не говорит о методологии, а просто более или менее последовательно раскрывает суть упомянутых выше технологий, а уж со структурой проекта каждый начинающий Data Scientist знакомится на собственном опыте (и граблях). Но лично я люблю ходить в лес с картой и компасом и мне нравится заранее представлять план маршрута, которым двигаешься. После некоторых поисков неплохую методологию мне удалось найти у IBM — известного производителя гайдов и методик по управлению чем угодно.
Итак, в Data Science-проекте выделяется 3 блока по 3 этапа в каждом, всего 9 этапов. Если совсем коротко, то проект состоит из работы с бизнес-требованиями, с данными и собственно с моделью.
Работа с бизнес-требованиями
На этом шаге мы ничего не знаем о том, какие у нас есть данные. Мы должны вникнуть в постановку задачи, понять, какой результат требуется получить от проекта, узнать все про участников и заинтересованных лиц. Далее в соответствии с определенной задачей мы должны решить, каким методом задача будет решаться. Результатом этого шага будут требования к данным: ок, задача ясна, метод выбрали, теперь подумаем, а что нам может понадобиться для успешного решения?
Работа с данными
На втором шаге мы приступаем к поиску данных для решения задачи: узнаем, какие источники нам доступны, и формируем выборку, с которой в дальнейшем будем работать. После того как данные собраны, необходимо провести ряд исследований, чтобы лучше понимать, как устроена выборка: исследовать центральное положение и вариабельность, выявить корреляции между признаками, построить графики распределения. После этого этапа можно приступать к подготовке данных. Как правило, этот этап самый трудоемкий и на него может уходить до 90% от всего времени проекта, но от того, насколько качественно он выполнен, зависит успех всего проекта.
Разработка и внедрение
Наконец, третий шаг. После того, как данные готовы, можно приступать собственно к разработке и внедрению. Программируем модель, натравливаем на обучающую выборку, проверяем на тестовой, если результат устраивает, то демонстрируем заказчику, внедряем, собираем фидбэк и… можно начинать все сначала.
Весь процесс представляется в виде замкнутого круга: по-хорошему DS-проект никогда не может считаться окончательно завершенным (примерно, как ремонт, который, как известно, нельзя закончить, а можно только прекратить):
Пройдемся подробнее по каждому из этапов.
1. Понимание бизнес-задачи
Этот этап как фундамент для всей последующей работы: без него ничего не построишь. На нем необходимо четко определить цель исследования: что является проблемой? Почему проблема должна быть решена? Кого затрагивает проблема? Какие есть альтернативы? И самое главное: по каким метрикам будет оцениваться успешность проекта?
Иными словами, необходимо четко выявить цель заказчика. Например, владелец бизнеса спрашивает: можем ли мы снизить затраты на определенную деятельность? Нужно уточнить: является ли целью повысить эффективность этой деятельности? Или повысить доход от бизнеса?
Как только цель определена, можно переходить к следующему шагу.
2. Аналитический подход
Теперь необходимо выбрать аналитический подход для решения бизнес-задачи. Выбор подхода зависит от того, какой тип ответа нужно получить в итоге: если ответ должен быть вида да/нет, подойдет наивный байесовский классификатор. Если нужен ответ в виде численного признака, то подойдут регрессионные модели. Деревья принятия решений могут иметь дело как с численными, так и с категориальными данными. Если вопрос в том, чтобы определить вероятности определенных исходов, необходимо использовать предиктивную модель. Если необходимо выявить связи, используется дескриптивный подход.
3. Требования к данным
Когда четко определена цель исследования и выбран подход, то есть мы четко понимаем, какого рода ответ на вопрос мы ищем, необходимо определиться с тем, какие данные позволят дать искомый ответ. Мы должны подготовить требования к данным: контент, форматы и источники, которые будут использованы на следующей стадии проекта.
4. Сбор данных
На этом этапе мы выполняем сбор данных из имеющихся источников: убеждаемся, что источники доступны, надежны и могут быть использованы для получения искомых данных в требуемом качестве. После того, как выполнен первоначальный сбор данных, необходимо понять, получили ли мы те данные, какие хотели. На этой стадии можно пересмотреть требования к данным и принять решения о необходимости дополнительных данных (то есть существует вероятность, что придется вернуться на этап 3). Могут быть выявлены лакуны в данных и составлен план, как их закрыть или найти замену.
5. Анализ данных
Анализ данных включает в себя все работы по конструированию выборки. На этом этапе необходимо получить ответ на вопрос: репрезентативны ли собранные данные относительно поставленной задачи?
Здесь нам понадобится описательная статистика. Она применяется ко всем переменным, которые будут использоваться в выбранной модели: исследуется центральное положение (среднее, медиана, мода), ищутся выбросы и выполняется оценка вариабельности (как правило, это размах, дисперсия и стандартное отклонение). Также строятся гистограммы распределения переменных. Гистограммы — это хороший инструмент, чтобы понять, как распределяются значения данных и какого рода подготовка нужна, чтобы переменная была максимально полезна при построении модели. Также могут быть полезны другие инструменты визуализации, например, ящики с усами.
Далее выполняется попарное сравнение: вычисляются корреляции между переменными, чтобы определить, какие из них связаны и насколько. Если найдутся значительные корреляции между переменными, какие то из них могут быть отброшены, как избыточные.
6. Подготовка данных
Вместе со сбором и анализом данных, подготовка данных является одной из самых ресурсоемких активностей проекта: эти фазы могут занимать 70, а то и 90% времени проекта. На этой стадии мы перерабатываем данные в такую форму, чтобы с ними было удобно работать: удаляем дубликаты, обрабатываем отсутствующие или неверные данные, проверяем и при необходимости исправляем ошибки форматирования.
Также на этом этапе мы конструируем набор факторов, с которым на следующих этапах будет работать машинное обучение: проводим извлечение и отбор признаков, которые потенциально помогут решить бизнес-задачу. Ошибки на этом этапе могут оказаться критическими для всего проекта, поэтому к нему стоит отнестись особенно внимательно: избыточное количество признаков может привести к тому, что модель будет переобучена, а недостаточное — к тому, что модель будет недообучена.
7. Построение модели
Выбор модели, как можно было заметить, осуществляется в самом начале работы и зависит от бизнес-задачи. Таким образом, когда тип модели определен и имеется обучающая выборка, аналитик разрабатывает модель и проверяет, как она работает на созданном на этапе 6 наборе признаков.
8. Применение модели
Применение модели идет в тесной связке с собственно построением модели: вычисления чередуются с настройкой модели. На этом этапе мы должны ответить на вопрос, отвечает ли построенная модель бизнес-задаче.
Вычисление модели имеет две фазы: проводятся диагностические измерения, которые помогают понять, работает ли модель, так как задумано. Если используется предиктивная модель, может использоваться дерево решений, чтобы понять, что выдача модели соответствует изначальному плану. На второй фазе проводится проверка статистической значимости гипотезы. Она необходима, чтобы убедиться, что данные в модели правильно используются и интерпретируются и полученный результат выходит за пределы статистической погрешности.