EngX Code Review: начни писать код еще лучше и построй эффективный процесс код-ревью.


Data Science — что из себя представляет, зачем нужна бизнесу и какие открывает перспективы профессии

Мария Иванина, ex-Senior Data Scientist в EPAM (в настоящее время — Software инженер в Google) детально отвечает на вопрос, что такое Data Science и правда ли, что за профессией Data Scientist, — будущее. Спойлер: правда!

Мария Иванина рассказывает, что такое data science

Что такое Data Science?

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

— Сегодня каждое наше действие в сети (написание сообщения в мессенджере, просмотр видео, заказ в интернете и т. п.) — это данные, которые могут использоваться специалистами для понимания пользовательского поведения и улучшения рекомендательных систем. Цель сбора таких данных — помогать юзерам найти то, что им нужно, намного быстрее. Когда вы говорите «Hey, Google» своему голосовому помощнику на телефоне и просите уточнить прогноз погоды на сегодня, запускается множество моделей: распознавание речи, алгоритмы понимания текстовой информации, собственно поиск ответа на вопрос, генерация этого ответа и ряд других подзадач. И да, даже прогноз погоды моделируется с помощью машинного обучения.

Почему Data Science важен для бизнеса?

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

В каких отраслях используется Data Science сегодня?

IT-сферы

Поисковые системы, организация рабочих процессов на основе чат-ботов и голосовых помощников.

Страхование

Расчет вероятности несчастного случая и оценка потенциального риска для каждого клиента.

E-commerce

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

Медицина

Прогнозирование заболеваний и рекомендации по сохранению здоровья.

Транспорт и логистика

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

Реклама

Автоматизированное размещение контента и таргетирование.

Финансы

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

Недвижимость

Поиск и предложение наиболее подходящих покупателю объектов.

Спорт

Отслеживание показателей здоровья для персонализированных тренировок, отбор перспективных игроков, разработка стратегий игры.

Как крупные компании сегодня используют Data Science

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

Многие крупные IT-компании, такие как Google, Amazon, Meta, Microsoft, собирают терабайты-петабайты данных: это позволяет тренировать и использовать модели, которые можно назвать state of the art в области машинного обучения. Но благодаря тому, что некоторые модели они выпускают в open source, менее крупные компании могут их использовать для своих нужд за счет transfer learning и тренировать модели, для которых уже можно иметь меньше данных на старте.

Кто такие специалисты по Data Science?

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

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

Главное отличие Data Science от разработки – это степень неопределенности в результатах работы. Например, если есть задача – написать веб-сайт, то понятно, что это возможно сделать. Есть, конечно, много вопросов по назначению сайта, технологиям, фичам и т.п., но факт остается фактом, сделать это — вполне реально. А в Data Science, пока ты не исследовал данные, не понял до конца цели и задачи проекта, ты вообще не можешь сказать, возможно решить задачу заказчика или нет. Или может быть так, что заказчику необходима заданная точность модели, а с теми данными и алгоритмами, которые существуют, просто нереально добиться такого качества. И поэтому зачастую проект начинается с PoC (proof of concept) стадии, чтобы примерно понять, с какой задачей мы имеем дело и в каком направлении можно идти к ее решению. Но тем не менее много и моментов, пересекающихся со стандартным IT, когда уже нужно доставлять результаты моделей: продукционализировать модель путем создания веб-сервиса, например.

Быть или не быть: перспективы профессии Data Scientist

Data Scientist

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

Хорошая математика

Необходима хорошая математическая база: это и теория вероятности, и статистика, и знания математического анализа и дифференцирования, методы оптимизации и еще много предметов, которые изучаются в высших учебных заведениях по математическому профилю. Многие студенты думают, зачем же они это изучают, ведь в разработке софта это практически не используется, но в Data Science эти знания как раз будут полезными и очень важными. Они помогут понимать, как правильно решать задачу, знать, почему в алгоритмах что-то не работает, проверять гипотезы и делать правильные выводы. К счастью, сейчас эти знания можно получить не только в университете: есть онлайн курсы, посвященные этим темам, на Coursera, Stepik, лекции школы анализа данных от Яндекс и другие.

Python

Основным языком программирования для Data Science является Python, поэтому нужны хорошие знания в основах языка. Огромным плюсом будет углубленные знания, так как если ты будешь разбираться в некоторых фишках языка, сможешь более эффективно и оптимизировано писать решения задач. Не только Pythonединым: есть место и для R, и Julia, да и в принципе на других языках программирования тоже существуют библиотеки машинного обучения, которыми можно пользоваться.

Отличным плюсом будут знания в паттернах программирования, понимание, как писать чистый и оптимизированный код, владение CI/CD. Сейчас еще популярно использование облачных технологий, так что умение работать с каким-то из облачным сервисом (Microsoft Azure, AWS, GCP) будет тоже очень здорово.

Бизнес-процессы

И наконец, последняя составляющая, но не менее важная. Понимание бизнес-процессов и бизнес-задачпоможет общаться с заказчиком на его языке и быстрее разбираться с тем, какую проблему он хочет решить, для чего ему это нужно, как измерить успех для бизнеса и донести идею своего решения. Такому уже, к сожалению, не учат в университете для программиста и математика, и скорее всего нужно читать дополнительную литературу. Одна из лучших книг для тех, кто хочет начать изучение дата сайнс с нуля и даже продолжающих — “Data Science for Business” Tom Fawcett, там разбираются некоторые примеры задач и как к ним подступиться, какие вопросы можно задать заказчику и какие могут быть идеи решения. Это хорошая отправная точка, но понятно, что лучше всего этот компонент Data Science работы приходит с опытом и разнообразием проектов, в которых удастся поучаствовать.

Английский язык

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

Софт-скиллы

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

Основные инструменты по работе с данными

Big Data

Взаимодействие с большими данными предполагает, что это настолько большие данные, что мы не сможем работать с ними на одном компьютере: нам нужен кластер машин, чтобы эффективнее и быстрее сделать необходимые расчеты. Наиболее распространенные инструменты для Big Data – Apache Hadoop и Apache Spark. Hadoop состоит из нескольких частей:

  • HDFS — распределенная файловая система;
  • MapReduce — модель распределенных вычислений, которая используется для параллельных вычислений — когда нужно преобразовать задачи в задания. Одна из задач — представить данные в виде ключа – значение (операция Map, другая — сделать какие-то агрегационные действия, такие как суммирование, взятие максимума, расчет каких-то показателей или другие более сложные операции (операция Reduce);
  • YARN — технология для управления кластерами;
  • Различные библиотеки для работы остальных модулей с HDFS;
  • Apache Spark основан на Hadoop, но представляет собой улучшение над концепцией MapReduce. В этой технологии распределенные вычисления происходят в оперативной памяти, что увеличивает скорость обработки. 

Machine Learning (Машинное обучение)

Для работы с данными Data Scientist чаще всего использует Python, поэтому можно рассмотреть несколько библиотек, которые чаще всего используются в каждодневных задачах:

  • Numpy применяется для манипуляций с массивами данных, на его базе был построен Pandas — библиотека, которая помогает работать с данными в табличном виде.
  • Scipy – библиотека для математических, научных, инженерных вычислений, есть алгоритмы интегрирования, дифференцирования и методов оптимизации.
  • Matplotlib — самая популярная библиотека для визуализирования. На его основе была создана библиотека seaborn — она предоставляет более красивые графики и с упрощенным синтаксисом.
  • Plot.ly – библиотека для создания интерактивных и готовых к публикации графиков.
  • Scikit-learn собрал в себе все методы классического машинного обучения, а также удобные утилиты для предобработки данных.

Deep Learning (Обучение на основе нейронных сетей)

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

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

Artificial Intelligence (Искусственный интеллект)

Artificial intelligence — это широкое понятие, которое описывает систему, которая способна имитировать человеческое поведение для выполнения определенных задач и может постепенно обучаться, используя полученную информацию. Это же понятие в себя включает machine learning и deep learning.

Data Mining (Сбор и интеллектуальный анализ данных)

Интеллектуальный анализ данных можно производить и с помощью Python библиотек, описанных выше, однако существуют целые продукты, которые позволяют загрузить данные, анализировать и исследовать их из удобного графического юзер интерфейса, создавать графики и дашборды для интерактивного использования, например, такие системы, как SAS Data Mining, RapidMiner, Knime, Qlik и т.п.

Выводы

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

Подробнее о Data Science можно узнать в выпуске АйТиБорода Shorts на YouTube-канале Anywhere Club



Хотите обсудить Data Science среди своих?
Ждем в Discord
Материалы по теме
Следи за новостями на любимых платформах