Чем занимается дата-сайентист в «ИТ Магнит»?

Виктория Тюфякова рассказывает про популярные Data Science задачи в ритейле: где открывать новые точки и как магазинам-каннибалам не съесть друг друга

Виктория Тюфякова — не только один из ведущих дата-сайентистов в компании, но также ментор по Data Science в SkillFactory. Она объясняет, как устроено машинное обучение, как подготовиться к собеседованию и в каких сферах популярна наука о данных.

Чем я занимаюсь

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

Я ведущий дата-сайентист в компании «ИТ Магнит». Я пришла в проект три года назад, когда он только зарождался: сейчас мы прогнозируем оборот магазинов в новых локациях. Каждый следующий магазин все сложнее открывать, так как сеть большая и кажется, что мест больше нет. Чтобы находить максимально лучшее расположение, мы изучаем локации. Это может делать как опытный риелтор, который разбирается в недвижимости, так и дата-сайентист с помощью данных.

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

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

Обучая модели, мы прогнозируем результат для новой локации. Цикл построения такой модели состоит из четырех этапов: сбор данных, feature engineering, обучение модели и анализ результатов.

Сбор данных

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

Мы рассказывали, чем занимается дата-инженер, в этой статье.

Feature engineering

Это конструирование признаков (обработанных данных) — формирование, перебор признаков, с помощью которых модель даст лучший результат.

Feature engineering происходит как перед обучением модели, так и после. После первого этапа обучения нужно проверить, насколько модель ошибается, на каких объектах, почему именно здесь, как улучшить результат, что нужно добавить. Например, она могла найти закономерность в данных и сделать важным признак, который, по логике, не должен влиять на оборот, это важно контролировать, так как, возможно, есть ошибка в признаке.

Построение модели

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

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

Их подбирают с помощью перебора по сетке. Я, например, использую HyperOpt — это библиотека для перебора. Еще можно использовать GridSearch — она менее продвинутая, так как продолжает перебирать комбинации, даже если они неудачные.

Анализ результатов

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

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

Если нужно показать точность модели на контрольной выборке, мы оформляем это в отчеты, дашборды, а бизнес дальше изучает графики и метрики и принимает решение. Хорошо, если модель близко попадает в прибыль, которую получает магазин. Если модель ошибается больше чем на n процентов, то в ней нет смысла. То есть модели — это инструмент для принятия решений, но не само решение.

Курс 

Data Scientist с нуля

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

Узнать больше

Как мы выбираем алгоритмы для построения моделей

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

Про градиентный бустинг и линейную регрессию рассказывал дата-сайентист Михаил Волович.

В Data Science постоянно появляются новые алгоритмы, одни способы решения задач приживаются, а другие вымирают. Какое-то время на соревнованиях в Kaggle (платформа организации конкурсов по исследованию данных) была популярна технология стекинга, при которой объединяются несколько разных моделей. Это позволяет уменьшить ошибку и сделать метрику точнее на доли процентов. Однако для реальных задач это слишком изощренный способ: на него затрачивается много времени, он громоздкий. Если что-то пойдет не так, быстро найти ошибку не получится. В нашей задаче достаточно предоставить примерное значение прибыли, а не прогнозировать с точностью до рубля.

Недавно Сбер представил нейронную сеть ruDALL-E, которая создает изображения на основе текстового описания. Так, например, она видит линейную регрессию. При запросе можно посмотреть и другие результаты пользователей. Это пример машинного обучения.

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

Читайте также: Кто такой Data Scientist?

Как выполнять тестовые задания

В тестовых заданиях на дата-сайентиста работодатели обычно проверяют знание базовых навыков:

Для дата-сайентиста очень важно программирование, поэтому можно попробовать изучить стандартный синтаксис Python самостоятельно. Программирование — серьезный навык, нужно быть готовым, что на его изучение потребуется не полгода, а как минимум года полтора-два. Сейчас новичков очень много, поэтому и требования у работодателей выше.

У нас есть подборка советов о том, как составить резюме дата-сайентисту.

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

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

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

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

Когда я пришла в компанию, «Магнит» только начинал заниматься развитием направления Data Science. Мне дали тестовое задание на алгоритмы с плохими геоданными, в которых было много пропусков. Если на учебных проектах у меня была максимальная точность, то в этой задаче получались отрицательные показатели. Я неделю сидела над данными, сделала все, что могла, думала, что это провал. Но в итоге меня все равно взяли на работу, потому что они проверяли, какие нетривиальные решения я изобрету.

Где работают дата-сайентисты

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

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

— можно работать над поиском или переводчиком, такие специалисты разбираются в NLP (Natural Language Processing);

— можно, как я, исследовать табличные данные, это популярно в продажах;

— можно изучать deep learning и работать с нейронными сетями и изображениями;

— можно заниматься распознаванием речи, speech recognition, — это тоже работа с текстом, но в аудиоформате.

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

Год назад я поняла, что хочу не только совершенствовать навыки или работать с разными форматами данных, но и улучшать свои софт-скиллы. Поэтому я стала ментором на курсе, начала выступать на конференциях. Кроме того, я завела блог — мне интересно делиться опытом, рассказывать о передовых технологиях.

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

Курс

Data Scientist

Научитесь выявлять закономерности в данных и создавать модели для решения реальных бизнес-задач.

  • 8 проектов в портфолио;
  • соревнования и хакатоны;
  • помощь в трудоустройстве.

Узнать больше

Какие курсы вам подходят

Курс «Data Science»

От 7500 Р/мес

12 мес

Подробнее о курсе

Профессия «Data Scientist»

От 6900 Р/мес

24 мес

Подробнее о курсе

Курс по машинному обучению и нейронным сетям

От 8000 Р/мес

6 мес

Подробнее о курсе
(рейтинг: 5, голосов: 5)
Добавить комментарий