Кто такой Data Scientist?
Дата-сайентист (он же Data Scientist, специалист по Data Science) может найти себе работу в любой сфере: от розничной торговли до астрофизики. Потому что именно он — настоящий повелитель больших данных. Вместе с автором кейсов для курса по Data Science Глебом Синяковым разбираемся, почему в современном мире всем так нужны дата-сайентисты.
Чем занимается Data Scientist?
Data Scientist применяет методы науки о данных (Data Science) для обработки больших объемов информации. Он строит и тестирует математические модели поведения данных. Это помогает найти в них закономерности или спрогнозировать будущие значения. Например, по данным о спросе на товары в прошлом, дата-сайентист поможет компании спрогнозировать продажи в следующем году. Модели строят с помощью алгоритмов машинного обучения, а с базами данных работают через SQL. Пройдите наш тест и узнайте, какой вы Data Scientist. Ссылка в конце статьи.
Освойте профессию «Data Scientist» на курсе с МГУ
Data Scientist с нуля до PRO
Освойте профессию Data Scientist с нуля до уровня PRO на углубленном курсе совместно с академиком РАН из МГУ. Изучите продвинутую математику с азов, получите реальный опыт на практических проектах и начните работать удаленно из любой точки мира.
25 месяцев
Data Scientist с нуля до PRO
Создавайте ML-модели и работайте с нейронными сетями
11 317 ₽/мес 6 790 ₽/мес
Где нужен и какие задачи решает Data Scientist?
- маркетологам поможет проанализировать данные карт лояльности и понять, каким группам клиентов что рекламировать;
- для логистов изучит данные с GPS-трекеров и оптимизирует маршрут перевозок;
- HR-отделу поможет предсказать, кто из сотрудников скоро уволится, проанализировав их активность в течение рабочего дня;
- с продажниками спрогнозирует спрос на товар с учетом сезонности;
- юристам поможет распознать, что написано на документах, с помощью технологий оптического распознавания текстов;
- на производстве спрогнозирует оборудования на основе данных с датчиков.
В стартапах они помогают разрабатывать технологии, которые выводят продукт на новый уровень: TikTok использует машинное обучение, чтобы рекомендовать контент, а MSQRD — технологии по распознаванию лица и искусственный интеллект.
Пример задачи:
Если дата-сайентисту нужно спрогнозировать спрос на новую коллекцию кроссовок, то он:
- готовит данные о продажах кроссовок за последние несколько лет;
- выбирает модель машинного обучения, которая лучше всего подойдет для этого прогноза;
- выбирает метрики, которые позволят оценить качество модели;
- пишет код модели;
- применяет алгоритм машинного обучения на данных о прошлых продажах;
- получает прогнозные значения и предлагает их менеджерам для принятия решения об объемах производства кроссовок.
Что ему нужно знать?
Дата-сайентист должен хорошо знать математику: линейную алгебру, теорию вероятности, статистику, математический анализ. Математические модели позволяют найти в данных закономерности и прогнозировать их значения в будущем. А чтобы применять эти модели на практике, нужно программировать на Python, уметь работать с SQL и библиотеками (набор готовых функций, объектов и подпрограмм) и фреймворками для машинного обучения (например, NumPy и Scikit-learn). Для более сложных задач дата-сайентистам нужен язык С или C++.
Результаты анализа данных нужно уметь визуализировать, например, с помощью библиотек Seaborn, Plotly или Matplotlib.
Плюсы и минусы профессии
Плюсы:
- Высокая зарплата — дата-сайентист приносит пользу бизнесу, за это готовы платить.
- Влияние на бизнес — ваши модели будут напрямую влиять на развитие компании и выручку.
- Востребованность — данных все больше, а на рынке дефицит кадров, многие крупные компании в поисках хороших кандидатов.
Минусы:
- Непредсказуемые результаты — нельзя понять, будет ли модель эффективной, до начала работы с ней. Поэтому нужно быть терпеливым и готовым к неудачам, начинать с начала по нескольку раз.
- Дата-сайентисты часто работают в больших интернет-компаниях, потому что те обладают огромными массивами данных для обработки. В таких компаниях результат работы специалиста сложно выделить среди результатов всего бизнеса.
Станьте дата-сайентистом на курсе с МГУ и решайте амбициозные задачи с помощью нейросетей
Как выглядит его рабочий день?
Нужно ли дата-сайентисту работать в офисе, зависит от компании. На hh.ru можно найти около 25% вакансий удаленной работы. Иногда компании предлагают комбинировать работу из офиса и из дома. Взаимодействие с командой зависит от масштаба задач: новичок, готовящий данные к обработке, может общаться только с руководителем, а синьор дата-сайентист должен общаться с заказчиками и делегировать задачи команде.
Как правило, рабочий день начинается с разбора почты и общения с командой. Затем начинается работа с данными: нужно писать SQL-запросы и готовить массивы информации к машинному обучению, писать код модели на Python и прогонять данные через модель. В процессе работы нужно периодически созваниваться с командой и менеджерами, которые будут использовать модель на практике.
Как Data Scientist строит карьеру?
Ступени карьеры в Data Science, в целом, типичны для всей IT-отрасли.
- Джуниор нуждается в более детализированной постановке задач, его нужно направлять и объяснять, как решать некоторые задачи. Он готовит данные к обработке, очищает их от ошибок, делает простую обработку, строит сводные таблицы.
- Мидл может сам выполнить стандартные задачи, помощь ему нужна только в нестандартных ситуациях. Занимается машинным обучением и созданием алгоритмов.
- Синьор имеет несколько готовых проектов, может принять задачу от бизнеса и сам решить ее. Может обработать большие данные и визуализировать результаты, работает со сложными фреймворками.
Дата-сайентист может перейти в Chief Data Officer и управлять Data-проектами или выбрать специализацию, например обработку текста или изображений.
В каких случаях становятся специалистом по Data Science?
- Когда нравится анализ и систематизация данных и есть интерес к передовым технологиям — дата-сайентисты работают с искусственным интеллектом, нейросетями и большими данными.
- Когда хочется заниматься исследованиями и наукой на качественно новом уровне.
- Когда есть опыт в обычной разработке и есть желание освоить больший набор инструментов и заниматься масштабными проектами.
- Когда на текущей работе мало перспектив, хочется освоить перспективное направление и больше зарабатывать.
Всех, кто приходит в Data Science, можно разделить на четыре потока. Есть те, кто становятся дата-сайентистами после профессионального образования, но в университетах таких курсов пока немного. Также есть люди технических и научных профессий, которые хотят найти более перспективную работу с большой зарплатой. Третий поток — разработчики, которые устают от скучного программирования и ищут интересные задачи. Есть специалисты, которые начинали с нуля: если у новичков есть самодисциплина и интерес к большим данным, то они становятся хорошими дата-сайентистами. Наконец, есть те, к кому Data Science приходит сам, например к биоинформатикам.
Глеб Синяков
аналитик-разработчик в «Тинькофф»
Подробнее о том, чем занимается Глеб Синяков, читайте в рассказе о его профессии.
Насколько это востребовано?
В крупных компаниях только и разговоров, что о дата-сайентистах. По данным Всемирного экономического форума, работа в Data Science занимает первое место в рейтинге профессий с самым большим спросом на рынке до 2025 года.
Data Science — одна из самых растущих профессий в IT, при этом специалистов компаниям не хватает. За последние три года количество вакансий выросло на 433%.
Сколько зарабатывает специалист по Data Science?
Зарплата зависит от этапа карьеры и компании: медианная зарплата junior-специалиста по Data Science — 100 тыс. руб., а дата-сайентиста middle — более 260 тыс. руб. Для дата-сайентистов с большим стеком технологий и опытом работы от пяти лет есть вакансии и на 700 тыс. руб. Отдельная перспективная опция — возможность работы в международных компаниях.
Какие качества пригодятся дата-сайентисту?
- Коммуникабельность — общаться нужно много: принимать задачи и разбираться в них, общаться с командой, презентовать результаты заказчикам.
- Критическое мышление — умение задавать много вопросов окружающим и искать реальные, а не мнимые закономерности.
- Любознательность — нужно разбираться не только в своей сфере, но и в том, как работают бизнес-процессы, чтобы помочь компании вырасти.
Как стать специалистом по Data Science?
Сейчас хорошее время для входа в профессию — конкуренция пока невысокая. Освоить ее можно и с нулевыми знаниями: главное — интересоваться большими данными и быть готовым много учиться и работать.
Можно пройти бесплатные курсы (вот подборка открытых онлайн-курсов по Data Science от Harvard University), а затем — участвовать в соревнованиях на Kaggle, в мероприятиях, например AI Journey. Не во всех компаниях требуется знать все на отлично, но с хорошим пониманием математики, знанием языка программирования и машинного обучения можно подаваться на позицию стажера или джуниора.
P.S.: Data Scientist — самая сексуальная профессия?
Этот расхожий мем запустил журнал Harvard Business Review, в котором в 2012 году была опубликована статья «Data Scientist — самая сексуальная профессия XXI века».
Текст начинается с рассказа о Джонатане Голдмане, выпускнике Стэнфорда, который устроился в LinkedIn и построил модель, предсказывавшую владельцу аккаунта, кто из пользователей соцсети может оказаться его знакомым. Эта разработка сильно ускорила рост LinkedIn и принесла ей новых пользователей.
В статье упоминается фраза Хэла Вариана, главного экономиста Google: «В ближайшие 10 лет самая сексуальная работа — это статистика. Люди думают, что я шучу, но кто бы мог подумать, что компьютерные инженеры окажутся самой сексуальной работой 90-х?».
Основные инструменты дата-сайентиста
Основным языком программирования для дата-сайентиста является Python. Это наиболее широко распространенный язык в области data science, он применяется для анализа данных, написания рабочего кода, создания моделей, проведения экспериментов и др. Также встречается анализ данных на R: этот язык чаще используется для статистических исследований, в эконометрике. Для работы с данными также нужен язык запросов SQL, на нем пишут запросы к источникам данных и получают результат в нужном формате. Если дата-сайентист разрабатывает ML модели на низком уровне, т.е. он, если быть точным, ML Engineer, — то он будет писать на С++.
Песочница дата-сайентиста
В качестве «песочницы» используют Jupyter Notebook. Это интерактивная веб- оболочка для экспериментов и разведочного анализа данных, в рамках которой дата-сайентист смотрит, что из себя представляют данные, с которыми он работает, какие в них закономерности, аномалии, какие величины есть в данных, как они распределены, строит гистограммы и другие графики, позволяющие наглядно визуализировать данные.
Помимо разведочного анализа, в Jupyter Notebook удобно отлаживать различные части кода, методы, классы, а также это подходящий формат, чтобы создавать сводки по аналитике, потому что помимо кода и отрисовывания графиков и картинок, там можно использовать форматирование markdown, в котором поддерживается синтаксис LaTex для отображения формул, систем уравнений, выражений со сложными индексами. Обобщая, можно сказать, что Jupyter Notebook является «рабочим столом» дата-сайентиста.
Среда разработки и другие программы
Код проекта, который будет использоваться в продакшене, нужно писать в полноценной среде разработки. Одна из самых часто используемых сред — это PyCharm IDE. В ней удобно писать код на Python, реализовывать модули, классы, настраивать и использовать интерпретаторы для Python, работать с Git, делать умный рефакторинг, следить за чистотой кода с помощью подсказок и помощи в форматировании. Расширенная версия PyCharm также позволяет настраивать удаленный интерпретатор, работать с базами данных и с теми же Jupyter-ноутбуками прямо внутри IDE. Есть, конечно, и другие IDE, в которых можно писать на Python: VS Code, Spider, PyDev и др.
При продуктивизации решения применяют CI/CD практики (Continuous Integration / Continuous Delivery) и часто встречающийся GitLab — продукт для хранения кода и совместной разработки больших программных проектов. В этом контексте дата-сайентист близок по инструментам к Python-разработчику.
Из программных инструментов в работе дата-сайентиста также стоит упомянуть и очевидный MS Excel, который является общепонятным форматом и в нем можно что-то быстро и наглядно показать бизнесу.
Помимо этого в работе дата-сайентиста можно встретить инструменты визуализации, например, Tableau (для построения различных бордов и отчетов), SAS (готовое решение по анализу данных) и другие более специфичные вещи, редко встречающиеся в работе и являющиеся скорее исключением, чем правилом, так как это больше про BI и продуктовую аналитику.
Библиотеки анализа данных
Что касается разведочного анализа данных, или же EDA (Exploratory Data Analysis), в Jupyter Notebook для построения графиков используют Matpotlib, Seaborn, Plotly. Обычно этих библиотек хватает, чтобы строить красивые и наглядные визуализации, исследовать зависимости в данных, видеть в данных их физическую сущность. Если говорить про язык R, то там используется библиотека ggplot2 для визуализации.
Помимо этого популярна библиотека scikit-learn. В ней реализовано множество полезных функций, несложных моделей машинного обучения, вспомогательные инструменты, в том числе и для визуализации, подсчет различных статистик.
Для работы с массивами данных используют Pandas. С помощью этой библиотеки можно работать с данными разных форматов, представлять их в виде удобного дата-фрейма, производить операции, рассчитывать статистики, применять функции к колонкам и пр. Также есть библиотека Numpy: с ней удобно оперировать матрицами, векторами, выполнять преобразования из линейной алгебры. Библиотека SciPy содержит дополнительные математические операции: методы оптимизации, преобразования сигналов, интегралы, разреженные матрицы и др.
Машинное обучение
Если говорить про машинное обучение и создание моделей, частично простые модели уже есть в scikit-learn, помимо этого есть отдельные библиотеки для создания чуть более сложных моделей-ансамблей, например, XGBoost, CatBoost и LightGBM. Это библиотеки с бустинговыми алгоритмами, которые можно применять для задач регрессии, классификации. Для интерпретации работы модели есть библиотеки SHAP и DiCE. Если нужно работать с текстами, то стоит упомянуть библиотеку NLTK, если же с нейросетями, то это TensorFlow, PyTorch, Keras. С помощью этих фреймворков создаются нейронные сети для самых разных задач: сегментация, детекция, распознавание, speech-to-text, генерация речи и др.
Работа с данными
Дата-сайентист может тратить на работу с данными до 80 процентов своего времени, и только остальные 20 процентов уходят на запуск и настройку модели, оценку результатов. Основная работа связана со сбором данных, их преобразованием, очисткой, написанием пайплайнов. В первую очередь для этого требуется знание различных баз данных: как классических (PostgreSQL, MySQL, Oracle), так и более специфичных хранилищ данных (ClickHouse, Greenplum, Vertica), использование которых разнится от команды к команде.
Если говорить о больших массивах данных, с которыми нужно выполнять распределенные вычисления, то здесь стоит упомянуть экосистему Hadoop. Распределенная файловая система (HDFS), поверх которой работает множество технологий, также часто используется в работе дата-сайентиста. Это может быть база HBase, СУБД для работы с данными (Hive, Impala, Pig), фреймворк для распределенных вычислений Spark, который имеет множество различных приложений, таких как машинное обучение (Spark MLlib), выполнение SQL-запросов (Spark SQL), процессинг потока данных (Spark Streaming) и др.
Для удобства работы с кластером Hadoop можно использовать Hue, в котором можно писать SQL-запросы, анализировать результаты, просматривать файлы HDFS. Также есть продукт Ambari для решения схожих задач.
Для работы с множеством источников данных одновременно можно использовать DBeaver или DataGrip. Эти программы позволяют подключаться к различным источникам, писать запросы к таблицам и отлаживать запросы на выгрузку данных.
С помощью всех упомянутых технологий можно изучать данные в различных источниках, обрабатывать их, раскладывать в витрины, делать вычисления.
Помимо традиционных баз данных и кластера Hadoop, стоит упомянуть облачные решения для работы с данными от Google, Amazon и др. У Google есть Cloud Platform, а также Colab и Drive. Они позволяют делать удаленные вычисления и экспериментировать в ноутбуках. В амазоновских сервисах (AWS, S3, Redshift etc.) также можно обрабатывать и хранить данные, запускать вычисления. Такой стек можно встретить в небольших компаниях, которым выгоднее арендовать ресурсы, нежели купить свои, которые могут простаивать.
Автоматизация процессов
После того, как процесс обработки данных описан, расчет показателей определен и уже сформирован, нужно дальше автоматизировать все эти пайплайны для регулярного запуска. Здесь потребуется инструмент для настройки пайплайнов, который умеет работать по расписанию и следить за всеми задачами, — это Apache Airflow. Иногда используют Luigi, инструмент попроще, с помощью него можно также описывать DAG (Directed Acyclic Graph), производить вычисления, сбор данных, создание витрин, обучение и валидацию моделей, сохранение прогнозов рекомендаций. Это может быть сохранение в Excel-файл, запись в таблицу, либо подготовка аналитического отчета в Jupyter Notebook.
DevOps и другие полезные практики
Стоит теперь упомянуть про другие практики, в которых дата-сайентист может не быть глубоким экспертом, но с которыми он может столкнуться в работе. Это технологии контейнеризации (Docker, Kubernetes) и в целом элементы DevOps. В контейнерах можно разворачивать приложения, создавать изолированные среды для выполнения своих программ. Понимание DevOps дает возможность самостоятельно настраивать взаимодействие между системами. Также есть MLOps: это область на стыке машинного обучения, разработки и эксплуатации. Это вспомогательные инструменты для проведения различных экспериментов, версионирования моделей и данных: MLflow, DVC, Kubeflow, Hydrosphere. Эти инструменты направлены на продуктивизацию машинного обучения, создание ML-платформы, когда у специалиста есть много моделей и версий, за которыми надо следить.
Аналитик данных и data scientist: в чем отличие?
На первый взгляд профессии аналитик данных и data scientist могут быть похожи, да и во многих компаниях обязанности этих двух специалистов часто пересекаются. Центр непрерывного образования ФКН поговорил с Сергеем Юдиным, руководителем группы качества discovery-сценария в поиске Яндекса, об особенностях работы в каждой из профессий. В интервью Сергей рассказал о необходимых навыках и перспективах профессий и о том, как сделать беспрецедентным преимуществом свой предыдущий опыт.
Чем ты занимаешься?
Я руковожу группой качества discovery-сценария в поиске Яндекса. Мы занимаемся разработкой поисковых рекомендаций. В этом проекте я уже около двух лет, а в самом Яндексе работаю больше четырёх с половиной. Все мои проекты так или иначе были связаны с аналитикой данных и машинным обучением.
Поисковые рекомендации — это запросы, которые в поисковой выдаче помогают пользователю с его задачей, в нужный момент подсказывая, что еще полезного и интересного можно спросить или как уточнить свой запрос.
Наша задача складывается из большого количества составляющих: машинного обучения, аналитики и анализа действий пользователей. Мы стараемся понять, как данные о том, что люди ищут в Яндексе, превратить в полезный продукт.
Есть две специальности: аналитик данных и data scientist. Расскажи, чем занимаются те и другие.
Во-первых, и те, и другие работают с данными и решают очень похожие задачи. Но если говорить про аналитика, то это определение намного шире, чем data scientist. При этом, если мы говорим именно про data-аналитиков, то стоит упомянуть, что они работают с определёнными типами продуктов. Например, когда у нас есть некоторые пользователи и действия в лог-файлах, которые можно агрегировать и изучать.
Data scientist’ы тоже встречаются там, где есть данные, но важное и необходимое условие появления в команде data scientist’а — это наукоёмкая задача вокруг данных. Необязательно должны быть пользователи, но данные — обязаны быть.
Возьмем, например, такое интересное место, как адронный коллайдер. Там очень много данных, которые нужно анализировать и обрабатывать наукоёмкими методами. Типичный data-аналитик в таком месте с его классическими скиллами скорее не нужен, а вот data scientist там пригодится.
Между этими двумя профессиями нет чёткой грани, это скорее спектр. В Яндексе аналитик-разработчик зачастую является тем же самым data scientist’ом, если он работает с методами математической статистики, машинного обучения или оптимизации. Но аналитик — это очень прикладная специальность. Основная задача любого аналитика данных — получить из этих данных пользу для бизнеса, продукта или людей.
А data scientist в первую очередь scientist, то есть ученый, который должен заниматься исследованиями. Зачастую в классическом понимании data science — это наука о данных, а раз это наука, то можно сказать, что KPI такого человека — это продвижение науки вперёд, например, через написание статей. Data-scientist’ы придумывают новые методы, их применение и рассказывают об этом миру.
Я использую не общепринятую терминологию, как на рынке труда, а некое словарное определение профессии, которое можно очень сильно расширять. Когда я говорю про то, что задача data scientist’а писать статьи — это, естественно, некоторая полярность. Интереснее рассмотреть именно полярности, потому что в реальности есть множество людей, которые одновременно занимаются и задачами аналитика, и тем, что можно назвать data science.
Что ты понимаешь под «наукоемкими методами»?
В практическом применении широкую известность имеют методы машинного обучения. Существует множество прикладных алгоритмов обработки данных. При работе с данными иногда появляются задачи, которые можно назвать научными: они формализованы, для них приняты некоторые допущения, и в таком виде задачу можно решить явно. К примеру, можно доказать, что некоторым алгоритмом задача решается оптимальным образом.
Наукоёмкие методы — это те методы, за которыми стоит некое нетривиальное доказательство, и они работают. Часть из них воспроизводимы на практике и имеют практическую пользу, а некоторые оказываются слишком модельными. В теории метод работает, но на практике он не применим, просто потому. что те допущения, вокруг которых доказывалась математическая или компьютерная задача, не воспроизводимы в реальности.
Можно сказать, что в одному углу стоят как раз исключительно теоретические задачи, не используемые на практике. А в другом — задачи обработки данных, за которыми не стоит особой науки: можно просто взять данные, сгруппировать, посчитать среднее, отсортировать и сделать аналитический вывод. Где-то на стыке и лежат те самые методы, которые называют «наукоёмкими».
Можешь на конкретных примерах рассказать, чем занимаются аналитики?
Аналитик — это тот человек, который может смотреть на данные шире, строить и проверять гипотезы. Задача аналитиков — нести практическую пользу и искать новые знания в данных. Люди анализировали данные еще до возникновения компьютеров.
Так, например, японский инженер и статистик Генити Тагути еще в 1940-х годах разработал концепцию «инжиниринг качества». В рамках этой идеи он статистическими методами анализировал данные производства, проводил эксперименты и значительно уменьшал издержки, повышая при этом качество продукции. Впоследствии его методы были реализованы в оптимизации производства Ford Motor Company.
Приведу один пример задачи аналитика из своей практики. В Яндексе провели эксперимент, добавив в поисковую выдачу новые элементы — картинки в сниппетах. При этом пользователи стали иногда реже кликать и решать свои задачи, метрики ухудшились. Можно было выдвинуть десяток гипотез, почему так произошло.
Сергей Юдин
У нас были логи действия пользователей в этом эксперименте: история запросов, клики и другие взаимодействия. Задача аналитика в данном случае — разобраться в том, что произошло. Правда ли новый элемент ухудшает качество выдачи? В нашем случае выяснилось, что пользователи стали реже кликать именно в тот момент, когда на выдаче был всего лишь один элемент с картинкой. Мы предположили, что одна картинка отпугивает пользователей, потому что выглядит чужеродной. Когда в выдаче картинок несколько пользователям проще визуально её воспринимать.
Мы проверили эту гипотезу, и на данных она подтвердилась. В итоге удалось сделать понятный продуктовый вывод: если элемент один, то его лучше отключить, и показывать только в том случае, когда этих элементов несколько. Пользователи были довольны, так как страница выглядела гармонично.
Какими навыками должны обладать аналитик?
В первую очередь это «умение работать с данными». Любые инструменты, которые этому способствуют, начиная от обработки данных в таких программах как Excel, заканчивая любым языком программирования, который позволяет проводить более сложную обработку и автоматизировать процессы.
Кроме инструментария нужно ещё понимание. То, что в резюме подразумевается под «аналитическим складом ума». Во-первых, это присутствие логики, умение строить выводы. Во-вторых, это способность генерировать гипотезы и умение проверить свои выводы. И последнее, рациональное мышление – отсутствие когнитивных искажений или понимание того, как эти когнитивные искажения работают, и умение им противостоять.
Простой пример когнитивного искажения – эффект привязки. Когда-то два учёных Амос Тверски и Даниэль Канеман провели эксперимент: испытуемых в двух группах просили оценить долю африканских стран в ООН. Только в первой группе вопрос задавали следующим образом: «Доля африканских стран в ООН больше или меньше 65%?» И второй вопрос: «Сколько на самом деле процентов составляет доля африканских стран?». Второй группе задавали аналогичные вопросы, только в первом вместо 65% подставляли 10%. Несмотря на то что второй вопрос не отличался, а группы были случайными, результаты статистически очень сильно различались. Медианный ответ в первой группе составлял 45%, а у второй группы – 25%. Ответ на второй вопрос испытуемые давали под сильным влиянием от формулировки первого.
Это и есть когнитивное искажение. В работе с данными часто встречаются подобные проблемы, и аналитику всегда нужно проверять, не является ли вывод натянутым.
А какими навыками должен обладать хороший data scientist?
Любой data scientist – это аналитик, но не любой аналитик – data scientist, поэтому всё, что мы сейчас сказали, к data scientist’у точно относится. В дополнение, это, конечно же углублённые математическая подготовка и понимание статистических методов, а также всё, что связано с работой этих алгоритмов на практике. Методы компьютерного анализа данных построены на линейной алгебре, математической статистике и компьютерных науках. Должно присутствовать базовое понимание каждой из этих областей.
Данные всегда относятся к конкретной области. В зависимости от того, в какой индустрии человек работает, он должен разбираться в этой сфере. Это могут быть медицинские данные, данные адронного коллайдера или лог-файлы интернет-сервиса. В первом случае нужно всё-таки понимать в медицине, в случае адронного коллайдера – понимать в физике, а в случае интернет-сервисов речь идёт уже о некоторой пользовательской аналитике: нужно понимать, как люди могут себя вести, и какие паттерны поведения могут присутствовать.
В каких компаниях могут работать такие специалисты?
Аналитики могут работать в любой сфере, связанной с интернет-сервисами, приложениями или мобильной разработкой. Везде, где есть данные, пусть их совсем немного, нужны такие специалисты.
Data scientist’ов ищут для решения крупных задач связанных с данными. У таких задач обязательно должно быть одно из свойств: либо бизнес-смысл, либо научная ценность, а также место для применения сложных методов, например, алгоритмов оптимизации машинного обучения.
Также для того, чтобы применение сложных методов себя оправдало, должна быть дополнительная прибыль. Применение таких методов зачастую стоит дорого, но оно может окупиться.
К примеру, у маленького магазина действительно может быть много транзакций. Но в данном случае применять сложные методы нет необходимости. Достаточно просто посмотреть, какие товары хорошо покупают, и сделать базовую аналитику. А для сети с тысячью магазинов увеличение чека даже на 0,1% может окупиться и оправдать внедрение сложного метода обработки данных.
В случае научной ценности важна выгода не столько с точки зрения денег, а с точки зрения понимания устройства этого мира. Если мы говорим про исследование космоса или микро-частиц, то применение сложных методов может окупаться за счёт того, что мы узнаем об этом мире больше.
Насколько перспективны эти профессии?
Потребность как в data-аналитиках, так и в data scientist’ах, растет не арифметически, а геометрически. Впрочем, как и количество данных компаний, мощность и стоимость некоторых кластеров, в которых можно применять сложные методы и хранить данные. Пока что тенденция такова, что геометрический рост продолжится ближайшие несколько лет.
Другое дело, что есть перекос в сторону специалистов с некоторым опытом, чем с джуниор-уровнем. Компании в поисках тех специалистов, которые уже сталкивались с аналогичными задачами и умеют их решать.
Но и специалистам без опыта не стоит сильно переживать. Компании готовы учить работников, поэтому иногда бывает достаточно показать, что кандидат готов осваивать новые знания. Важно не просто прослушивать курсы, а показать, что ты можешь быстро освоиться в методах, и доказать, что ты научился их применять. Таким образом ты покажешь, что от тебя можно ждать больших результатов и через несколько лет.
Есть множество специалистов, которые могут быть новичками именно в профессии аналитика, но у них есть некоторый смежный опыт, и они готовы из этого смежного опыта извлекать выгоду. Например, человек, занимающийся медициной, идёт в аналитику данных в области медицины. Он новичок в анализе данных, но его бэкграунд может быть решающим в таком случае: он будет преуспевающим специалистом, вырастет через год и принесет столько пользы, сколько другой опытный data scientist никогда не принёс бы на этой позиции.
Специалистов, у которых есть опыт и в смежной области и в сложной аналитике, еще меньше, а потребность в них – все больше. Количество данных стремительно растет в узкоспециализированных областях. Поэтому всем начинающим специалистам будет полезно сразу определиться со смежной областью и начинать развивать в ней свои навыки.
Можно войти в профессию с нуля?
Да, про это и был в какой-то мере ответ на прошлый вопрос. Никто не рождается профессионалом. Вопрос можно сформулировать так: какой бэкграунд поможет войти в профессию и какова сложность этого входа?
Для аналитиков она меньше, чем для data scientist’ов. Аналитик может начать решать задачи уже с базовыми знаниями. Для некоторых сложностью может стать то, что до устройства на полный рабочий день возможно придётся пройти стажировку, позаниматься своими собственными pet project’ами и загореться этой индустрией. Настолько загореться, чтобы быть готовым даже самостоятельно, в качестве хобби искать данные и их исследовать. Вот в таком случае с нуля точно можно войти в профессию.
Надо набивать руку на написание кода до выхода на первое место работы, потому что программирование – это третий иностранный язык, который нужно знать. Те же самые pet project’ы или соревнования могут этому очень сильно поспособствовать.
С какими сложностями можно столкнуться в работе?
В этой профессии, даже если ты работаешь уже несколько лет, можно быстро отстать, если перестать учиться. Осваивать новое придется постоянно –– и подходы, и инструментарии, потому что мир вокруг нас быстро меняются. К этому нужно быть готовым.
Аналитик никогда не знает, с какой конкретно сложностью он столкнется в задаче, а непонимание в этой области усугубляет проблему. Например, если при исследовании поведения пользователей в эксперименте, у аналитика обнаруживаются провалы в знании математической статистики, то сделать выводы по данным может быть очень сложно, не говоря уж о построении гипотез.
Другая сложность – это коммуникация. Профессия аналитика и data scientist неотрывно связаны с общением с людьми. Data scientist может работать в вакууме с отдельной задачей, которую он будет решать полгода, а потом представить результат. Но зачастую и у людей, занимающихся, например, практическими применениями алгоритмов, возникает потребность общаться с той частью, у которой они будут брать данные. Сейчас есть тенденция разделения на тех, кто исследует что-то и проверяет гипотезы, и тех, кто это потом встраивает. И нужно объяснить, как это всё встроить и разработать.
Аналитику обязательно придется много общаться с другими сотрудниками: доказывать свою точку зрения, убеждать, качественно аргументировать своё мнение и слушать оппонента. Однако не менее важно уметь менять своё мнение, если оно оказалось неправильным. Проверяя гипотезы, нужно уметь смотреть на данные с холодной головой.
Подводя итог, какие ключевые различия между аналитиком данных и data scientist’ом?
Аналитик данных – человек, который из данных получает практическую пользу. Data scientist – это человек, который умеет применять сложные методы обработки данных и понимает, как они устроены. Во многих компаниях эти профессии очень сильно пересекаются.
Если задаться целью освоить конкретную профессию, то в зависимости от бэкграунда можно пойти или в аналитику, или в data science. Если у вас технико-математический бэкграунд, то попробуйте себя в практическом применении тех методов, которые вы уже знаете, и теорем, которые вы уже доказывали. Если ваш бэкграунд больше из конкретной отрасли, то стоит начать с аналитики данных, и постепенно, в зависимости от потребности и от вашего интереса, наметить вектор дальнейшего развития. Сложные методы могут быть и не нужны в той области, которая вам будет интересна.
Изучить базы данных и язык SQL, язык Python, его применения для сбора, визуализации и анализа данных, статистику и машинное обучение, а также аналитические и продуктовые подходы для работы над реальными задачами можно на программе профессиональной переподготовки «Аналитик данных».
На программе «Специалист по Data Science» вы погрузитесь в современный анализ данных и машинное обучение: от изучения программирования и базовых разделов математики до глубинного обучения, прикладной статистики и работы с большими данными.
Что такое Data Science и кто такой Data Scientist
Что делает Data Scientist, сколько получает и как им стать, даже если вы не программист. Объясняем и делимся полезными ссылками.
Даниил Гапешин
Пишу научпоп, люблю делать сложное понятным. Рисую фантастику. Увлекаюсь спелеологией. Люблю StarCraft, шахматы, «Монополию».
Что такое Data Science?
Data Science — это работа с большими данными (англ. Big Data). Большие данные — это огромные объёмы неструктурированной информации: например, метеоданные за какой-то период, статистика запросов в поисковых системах, результаты спортивных состязаний, базы данных геномов микроорганизмов и многое другое. Ключевые слова здесь — «огромный объём» и «неструктурированность». Чтобы работать с такими данными, используют математическую статистику и методы машинного обучения.
Специалист, который делает такую работу, называется дата-сайентист (или Data Scientist). Он анализирует большие данные (Big Data), чтобы делать прогнозы. Какие именно прогнозы — зависит от того, какую задачу нужно решить. Итог работы дата-сайентиста — прогнозная модель. Если упростить, то это программный алгоритм, который находит оптимальное решение поставленной задачи.
Эти прогнозы и правда полезны?
Да. Очень многие сервисы, к которым мы уже привыкли, создали дата-сайентисты. И вы сталкиваетесь с результатами их работы каждый день. Например, это прогнозы погоды, чат-боты, голосовые помощники… А ещё — алгоритмы, рекомендующие музыку и видео под вкус конкретного пользователя. Список возможных друзей в социальных сетях — тоже результат Data Science. В основе поисковых систем и программ для распознавания лиц тоже лежат алгоритмы, написанные дата-сайентистами.
То есть Data Science — то же самое, что и обычная бизнес-аналитика?
Нет, это не одно и то же. Основная разница заключается в результате. Data Scientist ищет в массивах данных связи и закономерности, которые позволят ему создать модель, предсказывающую результат, — то есть можно сказать, что Data Scientist работает на будущее. Он использует программные алгоритмы и математическую статистику и решает поставленную задачу в первую очередь как техническую.
Бизнес-аналитик сосредоточен не столько на технической, программной стороне задачи, сколько на коммерческих показателях компании. Он работает со статистикой и может оценить, например, насколько эффективна была рекламная кампания, сколько было продаж в предыдущем месяце и так далее. Вся эта информация может использоваться для улучшения бизнес-показателей компании. Если данных много и нужен какой-то прогноз или оценка, то для решения технической стороны этой задачи бизнес-аналитик может привлечь дата-сайентистов.
Поясним на примере. Допустим, программа анализирует финансовые операции клиента и рекомендует выдать ему кредит или отказать. То есть задача программы — оценить платёжеспособность клиента. Создание такого програмного алгоритма — работа дата-сайентиста.
А бизнес-аналитик не занимается такими техническими задачами. Его не интересует работа с конкретным клиентом, но он может проанализировать всю статистику банка по кредитам, например, за последние три месяца — и рекомендовать банку сократить или увеличить объёмы кредитования. Это бизнес-задача: предлагаются действия, которые увеличат доходность банка либо снизят финансовые риски.
Работа бизнес-аналитика и дата-сайентиста нередко пересекается, просто каждый занимается своей частью задачи.
А где обычно работает Data Scientist?
Вот несколько вариантов:
- В бизнесе — в любом его направлении. Например, дата-сайентист создаёт алгоритмы, прогнозирующие спрос на услуги компании. Другие алгоритмы помогут решить, нужно ли компании открывать новое направление бизнеса. Вариантов много.
- В банках. Один из примеров мы разобрали в предыдущей карточке.
- В транспортных компаниях. Например, программы помогают выстроить оптимальный маршрут.
- В IT-сфере. Дата-сайентист разрабатывает ботов, поисковые алгоритмы, системы искусственного интеллекта.
- На производстве. Например, программы прогнозируют сбои оборудования и дефекты продукции.
- В страховых компаниях. Машинные алгоритмы оценивают вероятность страхового случая.
- Медицина. Появляется всё больше приборов, автоматически ставящих диагноз на основании данных. Например, программа может указать повреждённые органы на рентгеновских снимках.
- В сельском хозяйстве. Алгоритмы дают прогноз по урожаю, подбирают оптимальные системы землепользования.
- Биоинформатика и современные генетические исследования немыслимы без Data Science. Программы строят генетические карты, определяют вид организма.
- Физические исследования. Например, алгоритмы выявляют элементарные частицы и их следы.
- Метеослужбы. Да, современные прогнозы погоды тоже готовятся с помощью Data Science.
И это далеко не полный список. Везде, где нужны прогнозы, совершаются сделки или оцениваются риски, пригодится Data Scientist. Вот несколько примеров рабочих моделей. Некоторые неожиданные: например, Corrupt Social Interactions — модель, выявляющая коррупцию в Департаменте строительства (Department of Building) США. Или сервис А Roommate Recommendation — он помогает подобрать соседа по комнате в кампусе или хостеле.
Понятно. А работу найти легко? Это точно востребовано?
Легко ли найти работу — зависит и от кандидата тоже. Но сама профессия весьма востребована. В 2016 году американская компания Glassdoor опубликовала рейтинг 25 лучших вакансий в США и профессия Data Scientist возглавила этот список. С тех пор востребованность стала даже выше.
Алгоритмы машинного обучения сейчас стремительно развиваются, прогнозы на их основе становятся точнее, а сфер их применения всё больше. Это значит, что у профессии Data Scientist большое будущее.
Но это за рубежом. А что в России?
У нас спрос на этих специалистов тоже постоянно растёт. Например, в 2018 году вакансий с названием Data Scientist было в 7 раз больше по сравнению с 2015 годом, а в 2019 году рост продолжился.
На середину апреля 2020 года на hh.ru — 323 вакансии с заголовком Data Scientist, из них 204 вакансии — в Москве, 39 — в Санкт-Петербурге и остальные — в других городах.
А сколько они зарабатывают?
Как и везде, это зависит от опыта работы и навыков дата-сайентиста, особенностей компании и сложности конкретного проекта. Но общий расклад примерно такой (данные приведены по состоянию на февраль 2020 года):
- Зарплаты по вакансии Data Scientist на HH.ru начинаются от 70 тысяч рублей по России и от 100 тысяч рублей в Москве. Это деньги, на которые могут претендовать новички в отрасли. Чтобы было проще сориентироваться, средняя зарплата в Москве в начале 2020 года составляет около 86 тысяч рублей.
- Основной диапазон зарплат по вакансиям дата-сайентиста — примерно от 100 до 160 тысяч рублей по России и от 150 до 200 тысяч рублей в Москве. На такие зарплаты могут претендовать специалисты с опытом.
Высококвалифицированные специалисты по Data Science могут получать в месяц 250 тысяч рублей и более.
Вы сказали, что Data Scientist создаёт программный алгоритм. А что конкретно он делает?
В разных компаниях деятельность дата-сайентиста будет различаться. Однако основные этапы похожи:
- сначала он выясняет, что нужно заказчику (внутреннему или внешнему);
- теперь надо оценить, можно ли решить эту задачу методами машинного обучения;
- если да, то дата-сайентист готовит данные для анализа и ищет критерии оценки — чтобы понять, насколько эффективна модель, которую он создаёт;
- затем программирует и тренирует модель машинного обучения;
- после ему нужно оценить, насколько применение этой модели целесообразно экономически. Здесь ему могут помочь другие специалисты;
- теперь полученная модель внедряется в производственный цикл или продукт;
- когда модель уже введена в эксплуатацию, обязанность дата-сайентиста — вести её, то есть дорабатывать и изменять под текущие нужды.
Что нужно знать и уметь, чтобы работать в Data Science?
Если в общих чертах, то нужно знать математику, математическую статистику, программирование, принципы машинного обучения и ту отрасль, где всё это будет использоваться.
И умение работать в команде тоже никто не отменял: дата-сайентисту приходится общаться с разными специалистами.
Если у меня нет технического образования, то о работе в Data Science лучше не мечтать?
Будем откровенны — гуманитариям осваивать эту профессию может быть непросто: для работы в Data Science нужно хорошее знание математики и программирования. А у гуманитария этих знаний чаще всего нет. И наоборот: чем увереннее вы чувствуете себя в этом уже на старте, тем проще будет учиться.
Однако не стоит опускать руки: очень многое зависит от мотивации, от того, насколько вы готовы восполнять пробелы в своем образовании. Сейчас люди приходят в Data Science с разным бэкграундом и в разном возрасте. Вот пример одной такой истории — возможно, она вас поддержит.
А с чего лучше начать?
Начать лучше с математики. Очень сложная математика не понадобится, но вы должны свободно ориентироваться в таких понятиях, как производная, дифференциал, определитель матрицы, и в том, что с ними связано. Освоить это вам помогут книги и лекционные курсы. Например, книга «Математический анализ» Липмана Берса, написанная довольно простым языком.
А что дальше? Там было что-то о статистике?
Да, потому что математическая статистика используется в любой аналитике. И Data Science не исключение. Вот несколько бесплатных курсов, которые помогут вам изучить статистику.
- Курс «Основы статистики» подойдёт тем, кто знакомится с ней с нуля.
- «Математическая статистика» — курс для более продвинутых, там много практических заданий.
- «Статистические методы в гуманитарных исследованиях» — здесь, помимо самой статистики, вы научитесь работать с программами и пакетами, нужными для анализа данных.
Кажется, с математической частью закончили. Что по программированию?
Следующим шагом будет изучение Python. Сейчас этот язык программирования, пожалуй, основной инструмент в Data Science. Среди его достоинств — относительная простота и гибкость. Освоить Python вполне по силам новичку, который до того не программировал. Неслучайно этот язык нередко рекомендуют для начинающих.
По Python есть много курсов, как платных, так и бесплатных. Вот один из бесплатных курсов. И ещё один: «Питонтьютор».
У Skillbox тоже есть курс, он называется «Профессия Python-разработчик». Курс платный, длится год, и за это время студенты фактически осваивают с нуля новую профессию (как теорию, так и практику) и собирают личное портфолио — с помощью наставника. Поэтому по окончании курса им уже есть что показать потенциальному работодателю.
Что учить после Python?
Теперь можно изучать алгоритмы машинного обучения. Когда освоитесь с ними, уже сможете работать в Data Science.
Вот несколько бесплатных онлайн курсов по машинному обучению (много курсов на английском, но кое-что есть и на русском).
- Курс МФТИ «Машинное обучение и анализ данных». Там можно освоить современные инструменты для анализа больших данных и научиться проводить сам анализ — от сбора данных до представления результатов. Курс на русском языке.
- Курс машинного обучения от Google помимо объяснений содержит около 40 практических упражнений. Также на английском языке.
- Запись цикла лекций профессора факультета машинного обучения из университета Карнеги — Меллона. Бесплатный курс, рассчитан на людей с хорошей базой в программировании и математике. На английском языке, но можно поставить русские субтитры.
- Продвинутый курс об использовании алгоритмов машинного обучения в творчестве. Создан при поддержке проекта Google Magenta. На курсе изучаются основные компоненты глубокого обучения: свёрточные сети, генеративные состязательные сети, вариационные автокодеры и рекурсивные нейросети. Если эти слова вас пока пугают — начните с курсов выше, рассчитанных на новичков.
Мало знать методы машинного обучения, нужно уметь применять их для решения практических задач. Научиться этому можно на платформе Kaggle, где собрано огромное количество реальных задач.
Если вы хорошо знаете английский, он поможет вам быстрее развиваться в Data Science. Если нет — самое время его выучить.