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....

Комментарии • 32

  • @martins1500
    @martins1500 4 месяца назад +6

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

  • @alexeylubinets8758
    @alexeylubinets8758 3 года назад +3

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

  • @Ivan-rj8fg
    @Ivan-rj8fg 4 года назад +4

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

  • @linterrupt
    @linterrupt 3 года назад +4

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

  • @jjj78ean
    @jjj78ean 5 лет назад +4

    43:20 roc-curve

  • @yugopolis23
    @yugopolis23 2 года назад +4

    Почему он всё время чавкает ?

  • @nikitakuptsov1233
    @nikitakuptsov1233 2 года назад +1

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

  • @jjj78ean
    @jjj78ean 5 лет назад +4

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

    • @ilyin_sergey
      @ilyin_sergey 5 лет назад +1

      а по какой ссылке ноутбуки лежат?

  • @mukammedalimbet2351
    @mukammedalimbet2351 11 месяцев назад

    спасибо! очень полезно

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

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

    • @romanbaldaev227
      @romanbaldaev227 5 лет назад +1

      Как вариант - после predict_proba руками сделать итоговые предсказания

  • @linterrupt
    @linterrupt 3 года назад

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

  • @kuqmua755
    @kuqmua755 5 лет назад +1

    Респект.

  • @sonfiree
    @sonfiree 5 лет назад +1

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

    • @nikitxskv
      @nikitxskv 5 лет назад +5

      github.com/catboost/catboost/blob/master/catboost/tutorials/events/pydata_moscow_oct_13_2018.ipynb

  • @myolimpiada5037
    @myolimpiada5037 5 лет назад +2

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

  • @Sibbarb9
    @Sibbarb9 2 года назад

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

  • @prapor23rus
    @prapor23rus 2 года назад +1

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

  • @mikhailzhitnikov3715
    @mikhailzhitnikov3715 Месяц назад

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

  • @cozyfootball
    @cozyfootball Год назад

    Брак по звуку, Яндекс ну ты чего 😮

  • @darenty6752
    @darenty6752 2 года назад

    таймкод для себя 54:32

  • @user-qt4oo7oc3n
    @user-qt4oo7oc3n 2 года назад

    что у него за ноутбук ?

    • @petrkoklev6857
      @petrkoklev6857 2 года назад +2

      jupyter

    • @martins1500
      @martins1500 4 месяца назад

      Макбук конечно же, как у любого приличного программиста

    • @mikhailzhitnikov3715
      @mikhailzhitnikov3715 Месяц назад

      Если учить модели на локальном GPU, то Макбук не вариант. Любой игровой ноут с картой rtx будет считать сильно лучше.

  • @gordonfreeman6804
    @gordonfreeman6804 3 года назад

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

    • @baxai_
      @baxai_ 3 года назад +6

      Как рэндом форест может быть лучше бустинга?) шо вы придумываете ей богу

  • @jamesmiller2521
    @jamesmiller2521 5 лет назад

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

    • @linterrupt
      @linterrupt 3 года назад +5

      Почему, в сравнении же выигрывает. API CatBoost намного приятнее того же XGBoost. Еще плюсом является, что не надо отдельно обрабатывать категориальные фичи, он сам обработает. Очень удобно, что выводит график в реальном времени