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