Баннер мобильный (1) Пройти тест

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

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

Обзор профессии

29 февраля 2024

Поделиться

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

Содержание

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

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

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

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

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

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

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

    Сбор данных

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

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

    Feature engineering

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

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

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

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

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

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

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

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

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

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

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

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

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

    В 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 — у них для этого больше хард-скиллов.

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

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

    Скопировано
    0 комментариев
    Комментарии