🗊Презентация Модели CatBoost в ClickHouse

Нажмите для полного просмотра!
Модели CatBoost в ClickHouse, слайд №1Модели CatBoost в ClickHouse, слайд №2Модели CatBoost в ClickHouse, слайд №3Модели CatBoost в ClickHouse, слайд №4Модели CatBoost в ClickHouse, слайд №5Модели CatBoost в ClickHouse, слайд №6Модели CatBoost в ClickHouse, слайд №7Модели CatBoost в ClickHouse, слайд №8Модели CatBoost в ClickHouse, слайд №9Модели CatBoost в ClickHouse, слайд №10Модели CatBoost в ClickHouse, слайд №11Модели CatBoost в ClickHouse, слайд №12Модели CatBoost в ClickHouse, слайд №13Модели CatBoost в ClickHouse, слайд №14Модели CatBoost в ClickHouse, слайд №15Модели CatBoost в ClickHouse, слайд №16Модели CatBoost в ClickHouse, слайд №17Модели CatBoost в ClickHouse, слайд №18Модели CatBoost в ClickHouse, слайд №19Модели CatBoost в ClickHouse, слайд №20Модели CatBoost в ClickHouse, слайд №21Модели CatBoost в ClickHouse, слайд №22Модели CatBoost в ClickHouse, слайд №23Модели CatBoost в ClickHouse, слайд №24Модели CatBoost в ClickHouse, слайд №25Модели CatBoost в ClickHouse, слайд №26Модели CatBoost в ClickHouse, слайд №27Модели CatBoost в ClickHouse, слайд №28Модели CatBoost в ClickHouse, слайд №29Модели CatBoost в ClickHouse, слайд №30Модели CatBoost в ClickHouse, слайд №31Модели CatBoost в ClickHouse, слайд №32Модели CatBoost в ClickHouse, слайд №33Модели CatBoost в ClickHouse, слайд №34Модели CatBoost в ClickHouse, слайд №35Модели CatBoost в ClickHouse, слайд №36Модели CatBoost в ClickHouse, слайд №37Модели CatBoost в ClickHouse, слайд №38Модели CatBoost в ClickHouse, слайд №39Модели CatBoost в ClickHouse, слайд №40

Содержание

Вы можете ознакомиться и скачать презентацию на тему Модели CatBoost в ClickHouse. Доклад-сообщение содержит 40 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Модели CatBoost в ClickHouse, слайд №1
Описание слайда:

Слайд 2





Применение моделей CatBoost в ClickHouse
Николай Кочетов
Описание слайда:
Применение моделей CatBoost в ClickHouse Николай Кочетов

Слайд 3





Что такое ClickHouse?
ClickHouse - distributed analytical column-oriented DBMS
Описание слайда:
Что такое ClickHouse? ClickHouse - distributed analytical column-oriented DBMS

Слайд 4





Почему column-oriented?
Так работают row-oriented системы:
Описание слайда:
Почему column-oriented? Так работают row-oriented системы:

Слайд 5





Почему column-oriented?
Так работают column-oriented системы:
Описание слайда:
Почему column-oriented? Так работают column-oriented системы:

Слайд 6





Особенности ClickHouse
column-oriented
линейная масштабируемость
отказоустойчивость
загрузка данных в реальном времени
онлайн (sub-second) запросы
поддержка диалекта SQL + расширения
(массивы, вложенные структуры данных, domain-specific функции, сэмплирование)
Описание слайда:
Особенности ClickHouse column-oriented линейная масштабируемость отказоустойчивость загрузка данных в реальном времени онлайн (sub-second) запросы поддержка диалекта SQL + расширения (массивы, вложенные структуры данных, domain-specific функции, сэмплирование)

Слайд 7





Предсказание вероятности покупки
Описание слайда:
Предсказание вероятности покупки

Слайд 8





Предсказание вероятности покупки
Задача
Узнать больше информации про пользователей
Цель
По поведению пользователей в прошлом, предсказывать их поведение в будущем. Например, ответить на вопрос — с какой вероятностью пользователь совершит заказ.
Описание слайда:
Предсказание вероятности покупки Задача Узнать больше информации про пользователей Цель По поведению пользователей в прошлом, предсказывать их поведение в будущем. Например, ответить на вопрос — с какой вероятностью пользователь совершит заказ.

Слайд 9





Рабочий процесс
Описание слайда:
Рабочий процесс

Слайд 10





Сбор данных
Используем данные Яндекс.Метрики из Logs API
Сырые данные по хитам и визитам
Предыдущие покупки
Состояние корзины
Посещения страниц с описанием товара
Загружаем данные в ClickHouse
Описание слайда:
Сбор данных Используем данные Яндекс.Метрики из Logs API Сырые данные по хитам и визитам Предыдущие покупки Состояние корзины Посещения страниц с описанием товара Загружаем данные в ClickHouse

Слайд 11





Вычисление признаков
Можем использовать более 60 характеристик
Характеристики пользователя: 
Устройство, браузер, регион
Поведение: 
Источники трафика, доход, 
был ли последний визит отказом и т.д.
Описание слайда:
Вычисление признаков Можем использовать более 60 характеристик Характеристики пользователя: Устройство, браузер, регион Поведение: Источники трафика, доход, был ли последний визит отказом и т.д.

Слайд 12





Вычисление признаков
Храним данные в ClickHouse в неагрегированном виде
Можем получить (почти) любые признаки
Например, средняя длительность сессии:
Описание слайда:
Вычисление признаков Храним данные в ClickHouse в неагрегированном виде Можем получить (почти) любые признаки Например, средняя длительность сессии:

Слайд 13





Обучение моделей
Собрали выборку и обучили несколько различных моделей:
SVM
Logistic Regression
Random Forest
XGBoost
CatBoost
Описание слайда:
Обучение моделей Собрали выборку и обучили несколько различных моделей: SVM Logistic Regression Random Forest XGBoost CatBoost

Слайд 14





Внедрение обученной модели
В результате обучения получили модель и набор скриптов.
Как с этим жить?
Описание слайда:
Внедрение обученной модели В результате обучения получили модель и набор скриптов. Как с этим жить?

Слайд 15





Способ 1: Используем код из обучения
Наводим порядок в куче скриптов:
Выгружаем данные раз в неделю (каждый понедельник)
Применяем модель также, как и тестировали
Загружаем вероятность покупки в таблицу ClickHouse
Описание слайда:
Способ 1: Используем код из обучения Наводим порядок в куче скриптов: Выгружаем данные раз в неделю (каждый понедельник) Применяем модель также, как и тестировали Загружаем вероятность покупки в таблицу ClickHouse

Слайд 16





Способ 1: Используем код из обучения
Преимущества
Просто, быстро, эффективно. Часть кода уже написана.
Полезно. Пригодится при переобучении.
Недостатки
Загрузка и выгрузка данных. Может тормозить.
Заранее готовим ответы. 
Сложно получить ответ для произвольного периода.
Описание слайда:
Способ 1: Используем код из обучения Преимущества Просто, быстро, эффективно. Часть кода уже написана. Полезно. Пригодится при переобучении. Недостатки Загрузка и выгрузка данных. Может тормозить. Заранее готовим ответы. Сложно получить ответ для произвольного периода.

Слайд 17





Способ 2: препарируем модель
План работ
Смотрим, как устроена модель
Переносим процесс применения в хранилище данных
Избавляемся от загрузки и выгрузки данных
Чего сможем добиться?
Избавимся от перекладывания данных
Будем работать с произвольным множеством данных
Применение модели — запрос в базу
Описание слайда:
Способ 2: препарируем модель План работ Смотрим, как устроена модель Переносим процесс применения в хранилище данных Избавляемся от загрузки и выгрузки данных Чего сможем добиться? Избавимся от перекладывания данных Будем работать с произвольным множеством данных Применение модели — запрос в базу

Слайд 18





Способ 2: препарируем модель
Какие алгоритмы можем перенести в СУБД?
Описание слайда:
Способ 2: препарируем модель Какие алгоритмы можем перенести в СУБД?

Слайд 19





Способ 2: препарируем модель
Линейные классификаторы
Тривиально
Логистическая регрессия
Результаты на тестовой выборке
 ROC AUC: 0.917
 0.44 sec.   441497 rows/sec.   63.16 MiB/sec.
Описание слайда:
Способ 2: препарируем модель Линейные классификаторы Тривиально Логистическая регрессия Результаты на тестовой выборке ROC AUC: 0.917 0.44 sec. 441497 rows/sec. 63.16 MiB/sec.

Слайд 20





Способ 2: препарируем модель
Дерево принятия решений
Вкладываем дерево в цепочку вызовов условных функций
Описание слайда:
Способ 2: препарируем модель Дерево принятия решений Вкладываем дерево в цепочку вызовов условных функций

Слайд 21





Способ 2: препарируем модель
Лес, бустинг — набор деревьев
Random Forest, 100 деревьев глубины 3
Результаты на тестовой выборке
 ROC AUC: 0.917    (0.923 для глубины 6)
 2.54 sec.   59450 rows/sec.   1.59 MiB/sec.
Описание слайда:
Способ 2: препарируем модель Лес, бустинг — набор деревьев Random Forest, 100 деревьев глубины 3 Результаты на тестовой выборке ROC AUC: 0.917 (0.923 для глубины 6) 2.54 sec. 59450 rows/sec. 1.59 MiB/sec.

Слайд 22





Способ 2: препарируем модель
Небольшой лес из 100 деревьев
Описание слайда:
Способ 2: препарируем модель Небольшой лес из 100 деревьев

Слайд 23





Способ 2: препарируем модель
Недостатки
Сложность преобразования модели в запрос
Ограниченная применимость
Не для всех алгоритмов машинного обучения
Ограничения со стороны СУБД
Проблемы с производительностью
Описание слайда:
Способ 2: препарируем модель Недостатки Сложность преобразования модели в запрос Ограниченная применимость Не для всех алгоритмов машинного обучения Ограничения со стороны СУБД Проблемы с производительностью

Слайд 24





Способ 3: встраиваем применение в базу
Используем библиотеку машинного обучения внутри базы
Перекладываем на базу работу по преобразованию данных
Применяем модель как вызов встроенной функции
Описание слайда:
Способ 3: встраиваем применение в базу Используем библиотеку машинного обучения внутри базы Перекладываем на базу работу по преобразованию данных Применяем модель как вызов встроенной функции

Слайд 25





Способ 3: встраиваем применение в базу
Преимущества
Те же, что и у предыдущего способа, но
Нет неоправданных проблем с производительностью
Основная работа — на базе данных
Оптимизация работы внутри библиотеки машинного обучения

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

Слайд 26





Способ 3: встраиваем применение в базу
CatBoost, 100 деревьев глубины 6
Результаты на тестовой выборке
 ROC AUC: 0.932
 3.96 sec.   19467 rows/sec.   2.78 MiB/sec.

XGBoost
Результаты на тестовой выборке
 1000 деревьев глубины 3 — ROC AUC: 0.929
Описание слайда:
Способ 3: встраиваем применение в базу CatBoost, 100 деревьев глубины 6 Результаты на тестовой выборке ROC AUC: 0.932 3.96 sec. 19467 rows/sec. 2.78 MiB/sec. XGBoost Результаты на тестовой выборке 1000 деревьев глубины 3 — ROC AUC: 0.929

Слайд 27





Способ 3: встраиваем применение в базу
Описание слайда:
Способ 3: встраиваем применение в базу

Слайд 28





Интеграция ClickHouse и CatBoost
Описание слайда:
Интеграция ClickHouse и CatBoost

Слайд 29





Модели CatBoost в ClickHouse
Описываем конфигурацию модели
Описание слайда:
Модели CatBoost в ClickHouse Описываем конфигурацию модели

Слайд 30





Модели CatBoost в ClickHouse
Описываем конфигурацию модели
В config.xml добавляем путь к конфигурации и путь к CatBoost
Описание слайда:
Модели CatBoost в ClickHouse Описываем конфигурацию модели В config.xml добавляем путь к конфигурации и путь к CatBoost

Слайд 31





Модели CatBoost в ClickHouse
Описываем конфигурацию модели
В config.xml добавляем путь к конфигурации и путь к CatBoost
Используем функцию
modelEvaluate('model_name', feature1, ..., featureN)
Сначала перечисляем числовые признаки, затем категориальные.
Описание слайда:
Модели CatBoost в ClickHouse Описываем конфигурацию модели В config.xml добавляем путь к конфигурации и путь к CatBoost Используем функцию modelEvaluate('model_name', feature1, ..., featureN) Сначала перечисляем числовые признаки, затем категориальные.

Слайд 32





Чтение из CatBoost Pool
Формат входных данных для обучения CatBoost — CatBoost Pool
Описание столбцов — TSV файл вида


Пример для двух признаков и Target



Описание датасета — TSV файл с данными
Описание слайда:
Чтение из CatBoost Pool Формат входных данных для обучения CatBoost — CatBoost Pool Описание столбцов — TSV файл вида Пример для двух признаков и Target Описание датасета — TSV файл с данными

Слайд 33





Чтение из CatBoost Pool
Чтобы быстро протестировать работу обученной модели в ClickHouse, добавлена возможность читать данные сразу из пула CatBoost.
Табличная функция catBoostPool. 
Параметры — пути к файлам с описанием столбцов и датасета.
catBoostPool('/path/to/column/description', '/path/to/dataset/description')
Создает временную таблицу с движком File('TSV').
Файлы должны находиться в директории данных сервера.
Описание слайда:
Чтение из CatBoost Pool Чтобы быстро протестировать работу обученной модели в ClickHouse, добавлена возможность читать данные сразу из пула CatBoost. Табличная функция catBoostPool. Параметры — пути к файлам с описанием столбцов и датасета. catBoostPool('/path/to/column/description', '/path/to/dataset/description') Создает временную таблицу с движком File('TSV'). Файлы должны находиться в директории данных сервера.

Слайд 34





Чтение из CatBoost Pool
Описание слайда:
Чтение из CatBoost Pool

Слайд 35





Чтение из CatBoost Pool
Описание слайда:
Чтение из CatBoost Pool

Слайд 36





Использование обученной модели
Предсказываем вероятность покупки
Описание слайда:
Использование обученной модели Предсказываем вероятность покупки

Слайд 37





Использование обученной модели
Считаем ошибку на тестовой выборке по метрике Logloss
Описание слайда:
Использование обученной модели Считаем ошибку на тестовой выборке по метрике Logloss

Слайд 38





Использование обученной модели
Описание слайда:
Использование обученной модели

Слайд 39





Итоги
Интеграция ClickHouse и CatBoost
Применение обученных моделей
Чтение данных из пула
Дальнейшие планы
Другие форматы моделей
Встроенное обучение моделей — ?
Описание слайда:
Итоги Интеграция ClickHouse и CatBoost Применение обученных моделей Чтение данных из пула Дальнейшие планы Другие форматы моделей Встроенное обучение моделей — ?

Слайд 40





nik-kochetov@yandex-team.ru
nik-kochetov@yandex-team.ru
Описание слайда:
nik-kochetov@yandex-team.ru nik-kochetov@yandex-team.ru



Похожие презентации
Mypresentation.ru
Загрузить презентацию