Решение задач классификации при помощи CatBoost

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

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

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

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

После теоретической части вам будет предложено небольшое задание.

Требования к участникам: для участия в мастер-классе вам понадобится настроенный Jupyter Notebook с установленными библиотеками: catboost (>=0.10.2), ipywidgets, sklearn, matplotlib, shap. Также нужно заранее зарегистрироваться на kaggle.com.

Продолжительность занятия 2 часа. Будет запись.