В основе узла «CatBoost» лежит реализация алгоритма градиентного бустинга, которая оптимизирована под работу с категориальными признаками и хорошо работает с параметрами по умолчанию.
Используется для решения задач классификации и регрессии.
Алгоритм работы градиентного бустинга:
Градиентный бустинг – алгоритм машинного обучения, который строит модель предсказания в виде ансамбля слабых предсказывающих моделей (в основном Дерево решений). На каждой итерации вычисляется отклонение предсказаний уже обученного ансамбля на обучающей выборке. Следующая добавляемая в ансамбль модель будет сводить среднее отклонение предыдущей к минимуму.
Новые деревья добавляются в ансамбль до тех пор, пока ошибка уменьшается, либо пока не выполняется одно из правил «ранней остановки».
Особенности реализации CatBoost:
- CatBoost строит симметричные (сбалансированные) деревья, т.е. на каждом шаге листья предыдущего дерева разделяются по одному и тому же условию.
- Алгоритм сам выбирает лучший способ обработки категориальных признаков в зависимости от решаемой задачи
- Хорошо работает с гиперпараметрами по умолчанию
Список параметров узла представлен в таблице ниже.
Параметр | Возможные значения и ограничения | Описание | Группа параметров |
---|---|---|---|
Название | Ручной ввод | Название узла, которое будет отображаться в интерфейсе | Общий параметр |
Описание | Ручной ввод | Описание узла | Общий параметр |
Количество деревьев | Ручной ввод | Данный параметр задает максимальное количество деревьев | Общий параметр |
Скорость обучения | Ручной ввод | Данный параметр задает скорость обучения, которая определяет насколько быстро или медленно модель будет учиться | Общий параметр |
Цель обучения для регрессии | Раскрывающийся список со следующими значениями:
| Данный параметр задает регрессионный показатель, используемый для обучения. Предусмотрены следующие показатели:
| Общий параметр |
Цель обучения для классификации | Раскрывающийся список со следующими значениями:
| Данный параметр задает классификационный показатель, используемый для обучения. Предусмотрены следующие показатели:
| Общий параметр |
Метрика для валидации регрессии | Раскрывающийся список со следующими значениями:
| Данный параметр задает метрику, используемую для обнаружения переобучения. Предусмотрены следующие:
| Общий параметр |
Метрика для валидации классификации | Раскрывающийся список со следующими значениями:
| Данный параметр задает метрику, используемую для обнаружения переобучения | Общий параметр |
L2 регуляризатор | Ручной ввод | Данный параметр задает коэффициент при члене регуляризации L2 функции потерь | Общий параметр |
Детектор переобучения | Раскрывающийся список со следующими значениями:
| Данный параметр задает тип детектора переобучения. Предусмотрены:
| Параметр ранней остановки |
Порог для IncToDec детектора переобучения | Ручной ввод | Данный параметр задает порог для IncToDec детектора переобучения. | Параметр ранней остановки |
Количество итераций до ранней остановки | Ручной ввод | Данный параметр задает количество итераций до ранней остановки | Параметр ранней остановки |
Количество потоков для обучения | Ручной ввод | Данный параметр задает количество потоков для обучения | Параметр производительности |
Коэффициент регуляризации размера модели | Ручной ввод | Данный параметр задает коэффициент регуляризации модели. Чем больше значение, тем меньше размер модели | Параметр производительности |
Seed | Ручной ввод | Начальное числовое значение для генератора случайных чисел | Общий параметр |
Максимальная глубина дерева | Ручной ввод | Данный параметр задает максимальную глубину дерева | Параметры построения дерева |
Стратегия построения дерева | Раскрывающийся список со следующими значениями:
| Данный параметр определяет, как будет применяться жадный алгоритм поиска. Предусмотрены:
| Параметры построения дерева |
Минимальное количество наблюдений в листе | Ручной ввод | Данный параметр задает минимальное количество обучающих наблюдений в листе | Параметры построения дерева |
Скоринговая функция | Раскрывающийся список со следующими значениями:
| Данный параметр задает тип оценки, используемый для выбора следующего разбиения при построении дерева. Предусмотрены следующие:
| Параметры построения дерева |
Доля выборки признаков в каждом разбиении | Ручной ввод | Данный параметр задает долю переменных, используемых в каждом разбиении | Параметры построения дерева |
Максимальное количество бинов | Ручной ввод | Данный параметр задает максимальное количество бинов, в которые будут группироваться значения признаков | Параметры построения дерева |
Тип квантилизации интервальных переменных | Раскрывающийся список со следующими значениями:
| Данный параметр задает тип квантования интервальных переменных. Предусмотрены следующие:
| Параметры построения дерева |
Максимальное количество листов | Ручной ввод | Данный параметр задает максимальное количество листьев в результирующем дереве. | Параметры построения дерева |
Метод обработки пропусков | Раскрывающийся список со следующими значениями:
| Данный параметр задает метод работы с пропущенными значениями. Предусмотрены следующие:
| Параметры построения дерева |
Метод вычисления значений в листах | Раскрывающийся список со следующими значениями:
| Данный параметр задает метод вычисления значений в листах.
| Параметры построения дерева |
Количество итераций в листах | Ручной ввод | Данный параметр регулирует количество шагов, выполняемых в каждом дереве при вычислении значений листьев | Параметры построения дерева |
Тип отступа при вычислении значений в листах | Раскрывающийся список со следующими значениями:
| Данный параметр задает тип бэктрекинга, использующийся при градиентном спуске. Предусмотрены следующие:
| Параметры построения дерева |
Тип Bootstrap | Раскрывающийся список со следующими значениями:
| Данный параметр определяет метод семплинга весов объектов | Бэггинг |
Соотношение случайной подвыборки в обучающей выборке | Ручной ввод | Данный параметр задает соотношение случайной подвыборки в обучающей выборке | Бэггинг |
Частота сэмлирования весов при построении деревьев | Раскрывающийся список со следующими значениями:
| Данный параметр задает частоту выборки весов и объектов при построении деревьев. Предусмотрены:
| Бэггинг |
Распределение весов в Байесовском Bootstrap | Ручной ввод | Данный параметр определяет распределение из которого выбираются веса для байесовского типа Bootstrap. | Бэггинг |
Вес знаменателя | Ручной ввод | Данный параметр влияет на вес знаменателя и может использоваться для балансировки между сэмплинга на основе важности и Бернулли сэмплинг. | Бэггинг |
Тип бустинга | Раскрывающийся список со следующими значениями:
| Данный параметр задает схему бустинга. Предусмотрены следующие:
| Параметры бустинга |
Тип сжатия модели | Раскрывающийся список со следующими значениями:
| Данный параметр определяет как фактический коэффициент сжатия модели рассчитывается на каждой итерации. | Параметры бустинга |
Коэффициент сжатия модели | Ручной ввод | Данный параметр задает константу, используемую для расчета коэффициента умножения модели на каждой итерации. | Параметры бустинга |
Максимальное количество категорий для One-hot encoding | Ручной ввод | Данный параметр задает использование one-hot encoding для всех категориальных признаков с количеством уникальных значений меньшим или равным заданному значению. | Параметры для обработки категориальных переменных |
Максимальное количество объединяемых категорий | Ручной ввод | Данный параметр задает максимальное количество объединяемых категорий | Параметры для обработки категориальных переменных |
Максимальное количество листов с категориальными переменными | Ручной ввод | Данный параметр задает максимальное количество листьев с категориальными признаками. Если количество превышает указанное значение, часть листьев отбраковывается | Параметры для обработки категориальных переменных |
Результаты выполнения узла:
Узел «CatBoost» имеет разные результаты в зависимости от решаемой задачи.
Результаты регрессии представлены следующими объектами:
- Тепловые карты обучающей, валидационной и тестовой выборок.
- Таблица с метриками качества модели.
- Таблица со списком переменных, сортированных по важности.
Результаты многоклассовой классификации представлены следующими объектами:
- Таблица с метриками качества модели.
- Таблица с метриками качества модели задачи классификации.
- Таблица со списком переменных, сортированных по важности.
Результаты бинарной классификации представлены следующими объектами:
- График ROC.
- График Lift.
- График Cumulative Lift.
- График Gain.
- График Cumulative Gain.
- Таблица с метриками качества модели.