Проверка данных¶
catboost_utils.validation запускает быстрые проверки данных и возвращает отчёт со списком проблем и предупреждений.
from catboost_utils import validate
report = validate(
X, y,
cat_features=["city"],
eval_set=(X_val, y_val),
model_params={"task_type": "GPU"},
)
report.ok # True, если блокирующих проблем нет
report.issues # список блокирующих проблем
report.warnings # список предупреждений
report.raise_if_failed()
Блокирующие проблемы¶
- пустой DataFrame
- таргет содержит NaN или одно уникальное значение
- категориальная колонка имеет тип float
- в object-колонке есть NaN, и она не указана как категориальная
- в числовой колонке есть
infили-inf
Предупреждения¶
- колонка типа object, category, string или bool не указана в
cat_features - целочисленная колонка имеет мало уникальных значений (вероятно, она категориальная)
- больше 50% значений в колонке — пропуски
- колонка состоит из одного значения
- колонка имеет тип datetime или timedelta
- набор колонок в обучающей и валидационной выборках не совпадает
- одновременно заданы
class_weightsиauto_class_weights task_type='GPU'илиthread_count > 1— результаты не будут битово воспроизводимыми
catboost_utils.validation.runner.validate ¶
validate(
X: DataFrame,
y: Series | None = None,
*,
cat_features: list[str | int] | None = None,
eval_set: tuple[DataFrame, Any] | None = None,
model_params: dict[str, Any] | None = None,
) -> ValidationReport
Run pre-flight checks against a training DataFrame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
DataFrame
|
feature DataFrame (a |
required |
y
|
Series | None
|
target series. Optional — when |
None
|
cat_features
|
list[str | int] | None
|
list of categorical column names or positional indices. |
None
|
eval_set
|
tuple[DataFrame, Any] | None
|
optional |
None
|
model_params
|
dict[str, Any] | None
|
optional dict of CatBoost params for cross-cutting warnings
( |
None
|
Returns:
| Type | Description |
|---|---|
ValidationReport
|
|
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
when |
TypeError
|
when |
catboost_utils.validation.models.ValidationReport ¶
Bases: BaseModel
Full result of validate().
catboost_utils.validation.models.ValidationIssue ¶
Bases: BaseModel
Blocking problem — training will (almost certainly) fail.
catboost_utils.validation.models.ValidationWarning ¶
Bases: BaseModel
Non-blocking concern — training proceeds but the user should be aware.