Slide 1

Slide 1 text

Дата-инженеры и машинное обучение Евгений Виноградов Software Engineering Conference Russia 14-15 ноября, 2019. Санкт-Петербург

Slide 2

Slide 2 text

Кто занимается DS-проектами? Data Scientist Data Ingest Data Steward Data Dev Ops Information Security

Slide 3

Slide 3 text

Кто занимается DS-проектами? Data Scientist Data Ingest Data Steward Data Dev Ops Information Security

Slide 4

Slide 4 text

Что такое Data Science-проект? 4

Slide 5

Slide 5 text

Что такое Data Science-проект? 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Количество операций

Slide 6

Slide 6 text

› Мы хотим автоматически определять что-нибудь (аварии и простои) › И никто до нас не сделал устраивающего нас решения (или мы о нем не знаем) Что такое Data Science-проект?

Slide 7

Slide 7 text

Что такое Data Science-проект? 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Количество операций

Slide 8

Slide 8 text

Порядок действий › Датасет › Проблема › Построение модели › Оценка результата › Обратная связь 8

Slide 9

Slide 9 text

Порядок действий 9 Датасет Проблема Построение модели Оценка результата Обратная связь

Slide 10

Slide 10 text

Датасет 10

Slide 11

Slide 11 text

Кто-то что-то об этом знает Авторизация Сбор реквизитов Авторизация карты Зачисление денег в систему Перевод на счет получателя Уведомление получателя Клиринг и т.д.

Slide 12

Slide 12 text

Кто-то что-то об этом знает Авторизация Сбор реквизитов Авторизация карты Зачисление денег в систему Перевод на счет получателя Уведомление получателя Клиринг и т.д. Авторизация Сбор реквизитов Авторизация карты Зачисление денег в систему Перевод на счет получателя Уведомление получателя Клиринг и т.д.

Slide 13

Slide 13 text

Составление датасета › Интеграция › Разметка › Очистка › Расчет фич › Актуализация

Slide 14

Slide 14 text

Порядок действий 14 Датасет Проблема Построение модели Оценка результата Обратная связь

Slide 15

Slide 15 text

Датасет – 2 › Новый расчет фич › (или Realtime-расчет фич) 15

Slide 16

Slide 16 text

Feature Engineering

Slide 17

Slide 17 text

Создание признаков ▌ Каждый час берем с временным окном, увеличиваем окно пока не наберем достаточное число платежей ▌ Выбираем как далеко мы готовы смотреть в прошлое, и минимальное количество дней для подсчета статистики ▌ Накопив данных за минимально достаточное число дней, начинаем расчеты в рамках срезов: › аномальность значения: если значение полученное на текущий час сильно отклоняется от медианы предыдущих дней, то считаем значение аномальным › по неаномальным значениям считаем стандартное отклонение › рассчитываем критическое значение задержки: текущее значение + стандартное отклонение умноженное на выбранное значение лямбда ▌ В реальном времени сравниваем время с последнего платежа и критическую задержку

Slide 18

Slide 18 text

Модель 18

Slide 19

Slide 19 text

Как выбрать модель? Применить экспертные знания

Slide 20

Slide 20 text

Как выбрать модель? Применить экспертные знания Посмотреть http://www.machinelearning.ru/

Slide 21

Slide 21 text

Как выбрать модель? Применить экспертные знания Посмотреть http://www.machinelearning.ru/ Почитать, кто чего недавно в этой области делал

Slide 22

Slide 22 text

- А если все спрыгнут с крыши, ты тоже спрыгнешь? - Ну, вам же никто не мешает говорить фразу, которую все говорят! 22

Slide 23

Slide 23 text

- А если все спрыгнут с крыши, ты тоже спрыгнешь? - Ну, вам же никто не мешает говорить фразу, которую все говорят! 23

Slide 24

Slide 24 text

- А если все спрыгнут с крыши, ты тоже спрыгнешь? [изобретено машинное обучение] 24

Slide 25

Slide 25 text

- А если все спрыгнут с крыши, ты тоже спрыгнешь? [изобретено машинное обучение] - Да! 25

Slide 26

Slide 26 text

И тут меняется профиль 26 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Количество операций

Slide 27

Slide 27 text

ML Engineer › Переобучение моделей as a service › CICD для моделей 27

Slide 28

Slide 28 text

Технологии 28

Slide 29

Slide 29 text

На каких технологиях все это работает? Доставка событий: Kafka, BatchAPI, RabbitMQ, … Репортинг: PowerBI/SSRS, кубы, Tableau, d3js, … Управление ETL: SSIS, SQL Server Agent, python, cron, Jenkins-jobs,… ХД: MSSQL (columnstore/rowstore), clickhouse, graphite, hdfs, …

Slide 30

Slide 30 text

RT Storage exeLogs In Memory Row Store Аналитики txnData Service Broker Column Store Аналитики requestLogs Service Broker Row Store Эксплуатация

Slide 31

Slide 31 text

31 Академический подход ▌ Математика ▌ Kaggle ▌ Coursera ▌ Тестовый проект ▌ Сбор данных ▌ Реальный проект Бери и делай ▌ Найти задачу ▌ Coursera/Machinelearning.ru ▌ Сбор данных ▌ Coursera/Machinelearning.ru ▌ Решение ▌ Снова сбор данных

Slide 32

Slide 32 text

Итого › В реальных проектах ML-проектах Data Engineer играет одну из наиболее важных ролей › Бэкграунд разработчика сильно помогает › Возможности по решению проблем часто шире, чем у дата- саентиста 32

Slide 33

Slide 33 text

[email protected] Спасибо! Евгений Виноградов Руководитель отдела разработки хранилищ данных