by

Все, кто интересуется Machine Learning, рано или поздно сталкиваются с различными реализациями градиентного бустинга на деревьях решений вне стандартной библиотеки sklearn. Хорошо известны реализации LightGBM и XGBoost, а недавно в это семейство добавился алгоритм от Яндекса — CatBoost.

Что такое CatBoost?
CatBoost — алгоритм машинного обучения, основанный на градиентном бустинге. Основная задача — работать с категориальным данными напрямую, особенно теми, которые трудно представить в виде чисел (категории товаров)

Зачем использовать CatBoost?

Основное преимущество — алгоритм умеет работать со сложными категориальными данными “из коробки”, то есть при использовании CatBoost не нужно делать предварительно препроцессинг категориальных признаков, превращая их в числовые. CatBoost сам совершает все преобразования и статистически выявляет закономерности в данных через комбинации признаков. Подробнее об этом можно почитать здесь. https://tech.yandex.com/catboost/doc/dg/concepts/algo..

Это особенно важно на сложных данных, когда простое кодирование групп уникальными числами приводит к потере взаимосвязей между данными или дает алгоритму ложные сигналы.

Лучше, чем XgBoost?

Подход CatBoost к категориальным данным позволяет ему добиваться высокого качества обучения на сложных данных. Яндекс приводит сравнение алгоритмов на популярных датасетах https://catboost.yandex/#benchmark, где CatBoost показывает себя лучше других популярных алгоритмов.

Какие еще преимущества?

Просто использовать: алгоритм работает с Python, R и даже в командной строке.

Устойчивость: не требует долгой и мучительной настройки множества гиперпараметров, устойчив к переобучению, но при этом при необходимости может быть тонко настроен.

Бонусом идет программа визуализации CatBoost Viewer https://github.com/catboost/catboost-viewer, которая позволяет следить за процессом обучения на графиках.

Материалы:

Небольшое видео про CatBoost от яндекса
http://students.brown.edu/seeing-theory/index.html

Статья от яндекса https://habrahabr.ru/company/yandex/blog/333522/

Пример решения задачи машинного обучения
https://www.analyticsvidhya.com/blog/2017/08/catboost..

Документация с примерами кода на python и R
https://tech.yandex.com/catboost/doc/dg/concepts/abou..

Исходный код, документация, бенчмарки и необходимые инструменты опубликованы на GitHub https://github.com/catboost/catboost

Кстати, Яндекс использует CatBoost в своем точном прогнозе погоды на карте.

P. S. А еще есть отличный сайт с визуализацией базовых концепций из статистики и эконометрики. http://students.brown.edu/seeing-theory/index.html

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s


%d такие блоггеры, как: