Быстрый старт¶
Самый простой способ начать — использовать 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 — таблица с проблемами и предупреждениями
Дальше¶
Все модули независимы. Описание каждого — в разделе Модули.