Перейти к содержанию

CatBoost

Расширение catboost_classifier команды fit выполняет обучение алгоритма CatBoost для решения задачи классификации. CatBoost - это вариация градиентного бустинга над решающими деревьями, разработанная компанией "Яндекс". CatBoost "из коробки" одинаково хорошо работает как с числовыми признаками, так и с категориальными, и (как правило) не требует применения One-Hot Encoding для категориальных признаков.

Синтаксис команды

fit catboost_clf  
        [depth=<depth>]
        [iterationSubsample=<iterationSubsample>]
        [iterations=<iterations>]
        [random_seed=<random_seed>]
        [learningRate=<learningRate>]
        [l2LeafReg=<l2LeafReg>]
        [border_count=<border_count>]
<targetname> from <features> [into <modelname>]

Параметры

Обязательные параметры:

  • targetname — имя поля, содержащее название параметра, который требуется спрогнозировать.
  • features — список полей, на основе которых требуется выполнить прогноз. Список задается через запятую, например: from field1, field2

Опциональные параметры:

  • depth — максимальная глубина деревьев. Значение по умолчанию - 3
  • iterationSubsample — доля признаков, которые будут использоваться для разбиения в каждом узле дерева. Значение по умолчанию - 1.0
  • iterations — максимальное количество деревьев, которое будет построено в процессе работы алгоритма. Значение по умолчанию - 100
  • random_seed - число для фиксации случайных (random) параметров. Значение по умолчанию - 0
  • learningRate — скорость обучения. Значение по умолчанию - 0.03
  • l2LeafReg — коэффициент в L2-регуляризации в вычислении cost function. Значение по умолчанию - 0.3
  • border_count — максимальное количество отрезков для дискретизации числовых признаков. Значение по умолчанию - 254
  • modelname — название модели, с которым она будет сохранена в кэше. Чтобы сохранить модель в постоянное хранилище моделей для дальнейшего использования, используйте команду save.

Примеры использования

На демонстрационных данных с параметрами работы электрической сети спрогнозируем ее стабильность в зависимости от параметров работы сети(потребляемой и производимой мощности, коэффициента стабильности сети и длительности переходного процесса в сети, отражающего характер нагрузки).

Текст запроса

| fsget path=demo_electrical_grid
| fit catboost_clf stabf from tau1, tau2, tau3, tau4, p1, p2, p3, p4, stab into cb_model
| head 100

Описание запроса

  • Команда fsget загружает данные из хранилища признаков.
  • Команда fit выполняет обучение модели CatBoostClassifier и временно сохраняет модель под названием cb_model.
  • Команда head 100 выводит первые 100 строк таблицы после обучения.

Результат запроса

После выполнения запроса будут созданы дополнительные колонки cb_model_prediction и cb_model_probabilities, в которых будет записан результат прогноза модели и вероятность на обучающей выборке.

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

CatBoost

К началу