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

Быстрый старт

Самый простой способ начать — использовать CBXClassifier или CBXRegressor. Это те же CatBoostClassifier и CatBoostRegressor, просто с дополнительными возможностями.

from catboost_utils import CBXClassifier

model = CBXClassifier(
    iterations=500,
    auto_cat_features=True,    # категориальные колонки определяются автоматически
    nan_fill="__NA__",         # чем заполнять пропуски в категориальных колонках
    early_stopping="auto",     # включить раннюю остановку, если передан eval_set
)
model.fit(X_train, y_train, eval_set=(X_val, y_val))

isinstance(model, CatBoostClassifier) по-прежнему True, поэтому clone(), GridSearchCV и pickle работают как обычно.

Если модель уже создана

Если вам передали готовый CatBoostClassifier, можно добавить улучшения через wrap:

from catboost import CatBoostClassifier
from catboost_utils import wrap

model = wrap(CatBoostClassifier(iterations=500))
model.fit(X, y)

wrap меняет класс у того же объекта, поэтому ссылки на модель не ломаются, а к ней добавляется обработка ошибок и определение имён колонок.

Проверить данные перед обучением

from catboost_utils import validate

report = validate(X_train, y_train, cat_features=["city"])
report.raise_if_failed()    # бросает исключение, если есть блокирующие проблемы
report                       # в Jupyter — таблица с проблемами и предупреждениями

Дальше

Все модули независимы. Описание каждого — в разделе Модули.