089. Мастер класс Решение задач классификации при помощи CatBoost – Никита Дмитриев

preview_player
Показать описание
PyData Moscow, 13 октября 2018 г.

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

CatBoost — это библиотека градиентного бустинга с открытым исходным кодом. Она превосходит по качеству аналоги и имеет дополнительные преимущества. CatBoost поддерживает работу с категориальными признаками (например, жанрами музыки, ID устройства, URL и т. д.) без предобработки данных. У него очень хорошие дефолтные параметры, поэтому их не нужно настраивать для получения качественных моделей. А GPU-реализация CatBoost — самая быстрая среди общедоступных реализаций градиентного бустинга.

С возможностями библиотеки мы будем знакомиться на примере решения задачи классификации. Вместе мы пройдём все этапы построения модели прогнозирования и рассмотрим следующие темы:
- Выбор подходящих функций потерь и метрик для оптимизации.
Обучение модели.
- Визуализация процесса обучения и кросс-валидации.
- Работа со встроенным детектором переобучения.
- Выбор оптимального порога принятия решения.
- Важность признаков и интерпретация прогнозов модели.
- Применение обученной модели к тестовым данным.

Для участия мастер-классе нужен настроенный Jupyter Notebook с установленными библиотеками: catboos, ipywidgets, sklearn, matplotlib, shap.

Никита Дмитриев
Окончил механико-математический факультет МГУ и Школу анализа данных. В Яндексе занимается разработкой систем машинного обучения.

Рекомендации по теме
Комментарии
Автор

Классный туториал, спасибо. Печально, что я пришел сюда только в 2024.

martins
Автор

Отличная лекция, много полезной информации. Ждем многопоточные вычисления на cpu. Хорошо бы еще добавить примеров на официальном сайте.

alexeylubinets
Автор

30:18 Cross-validation
1:06:03 tunning

Ivan-rjfg
Автор

На XGBoost я получаю ROC AUC = 0.87
На CatBoost ROC AUC = 0.74.
В чем же причина

linterrupt
Автор

34:16 Почему нет AUC для train?
А нет, тут есть. Но у меня почему-то не показывает

linterrupt
Автор

А есть подобное видео для задачи регрессии?

nikitakuptsov
Автор

Мы получили число-границу принятия решений при помощи Trashhold. Как ее передать в модель?

ОлегДоходицифровыефинансы
Автор

Для тех, кто хочет поиграться с параметрами -мотайте на 1:06:00

jjjean
Автор

Где ноутбук взять? В репозитории CatBost не правильный лежит

sonfiree
Автор

у сотрудника Яндекса стоит адблок - как это показательно...

praporrus
Автор

Очень уж он дефолтный получился. Превзойти результаты параметров по умолчанию крайне сложно на вменяемых данных. С одной стороны это хорошо. С другой получается, что катбустом затестил датасет, оценил приблизительно и пошел дальше учить другие модельки. Впрочем и XGB не далеко ушел. Может так и задумывалось разрабами конкретной реализации, а может сам бустинг "устойчив" к подбору гиперпараметров )

mikhailzhitnikov
Автор

А почему не Анна рассказывает? Это же ее ребёночек)

Sibbarb
Автор

Первый Нах! :)
Спасибо !
было очень интересно!

myolimpiada
Автор

У меня такое ощущение, что катбуст в Яндексе написали "шоб було" или по юридическим причинам. Честно говоря, преимущества пред хгбуст и лайтгбм не очевидны.

jamesmiller
Автор

CatBoost лучше некоторых. Уступает в точности Random Forest - сам проверил на сложных датасетах. Да и то, что с шумами и выбросами не борется делает его заурядным алгоритмом. Есть куда более перспективные направления в ML.

gordonfreeman