089. Мастер класс Решение задач классификации при помощи CatBoost - Никита Дмитриев
HTML-код
- Опубликовано: 11 сен 2024
- PyData Moscow, 13 октября 2018 г.
Градиентный бустинг - метод машинного обучения, появление которого привело к прорыву в решении многих задач, включая поиск в интернете, создание рекомендательных систем и прогнозирование погоды. На протяжении многих лет он остаётся основным методом работы с неоднородными признаками, зашумлёнными данными и сложными зависимостями.
CatBoost - это библиотека градиентного бустинга с открытым исходным кодом. Она превосходит по качеству аналоги и имеет дополнительные преимущества. CatBoost поддерживает работу с категориальными признаками (например, жанрами музыки, ID устройства, URL и т. д.) без предобработки данных. У него очень хорошие дефолтные параметры, поэтому их не нужно настраивать для получения качественных моделей. А GPU-реализация CatBoost - самая быстрая среди общедоступных реализаций градиентного бустинга.
С возможностями библиотеки мы будем знакомиться на примере решения задачи классификации. Вместе мы пройдём все этапы построения модели прогнозирования и рассмотрим следующие темы:
- Выбор подходящих функций потерь и метрик для оптимизации.
Обучение модели.
- Визуализация процесса обучения и кросс-валидации.
- Работа со встроенным детектором переобучения.
- Выбор оптимального порога принятия решения.
- Важность признаков и интерпретация прогнозов модели.
- Применение обученной модели к тестовым данным.
Для участия мастер-классе нужен настроенный Jupyter Notebook с установленными библиотеками: catboos, ipywidgets, sklearn, matplotlib, shap.
Никита Дмитриев
Окончил механико-математический факультет МГУ и Школу анализа данных. В Яндексе занимается разработкой систем машинного обучения.
Другие материалы PyData Moscow - events.yandex....
Классный туториал, спасибо. Печально, что я пришел сюда только в 2024.
Отличная лекция, много полезной информации. Ждем многопоточные вычисления на cpu. Хорошо бы еще добавить примеров на официальном сайте.
30:18 Cross-validation
1:06:03 tunning
На XGBoost я получаю ROC AUC = 0.87
На CatBoost ROC AUC = 0.74.
В чем же причина
43:20 roc-curve
Почему он всё время чавкает ?
оче приятно
А есть подобное видео для задачи регрессии?
Для тех, кто хочет поиграться с параметрами -мотайте на 1:06:00
а по какой ссылке ноутбуки лежат?
спасибо! очень полезно
Мы получили число-границу принятия решений при помощи Trashhold. Как ее передать в модель?
Как вариант - после predict_proba руками сделать итоговые предсказания
34:16 Почему нет AUC для train?
А нет, тут есть. Но у меня почему-то не показывает
Респект.
Где ноутбук взять? В репозитории CatBost не правильный лежит
github.com/catboost/catboost/blob/master/catboost/tutorials/events/pydata_moscow_oct_13_2018.ipynb
Первый Нах! :)
Спасибо !
было очень интересно!
А почему не Анна рассказывает? Это же ее ребёночек)
у сотрудника Яндекса стоит адблок - как это показательно...
Очень уж он дефолтный получился. Превзойти результаты параметров по умолчанию крайне сложно на вменяемых данных. С одной стороны это хорошо. С другой получается, что катбустом затестил датасет, оценил приблизительно и пошел дальше учить другие модельки. Впрочем и XGB не далеко ушел. Может так и задумывалось разрабами конкретной реализации, а может сам бустинг "устойчив" к подбору гиперпараметров )
Брак по звуку, Яндекс ну ты чего 😮
таймкод для себя 54:32
что у него за ноутбук ?
jupyter
Макбук конечно же, как у любого приличного программиста
Если учить модели на локальном GPU, то Макбук не вариант. Любой игровой ноут с картой rtx будет считать сильно лучше.
CatBoost лучше некоторых. Уступает в точности Random Forest - сам проверил на сложных датасетах. Да и то, что с шумами и выбросами не борется делает его заурядным алгоритмом. Есть куда более перспективные направления в ML.
Как рэндом форест может быть лучше бустинга?) шо вы придумываете ей богу
У меня такое ощущение, что катбуст в Яндексе написали "шоб було" или по юридическим причинам. Честно говоря, преимущества пред хгбуст и лайтгбм не очевидны.
Почему, в сравнении же выигрывает. API CatBoost намного приятнее того же XGBoost. Еще плюсом является, что не надо отдельно обрабатывать категориальные фичи, он сам обработает. Очень удобно, что выводит график в реальном времени