metrics_slices
MAE нашего CatBoost-ансамбля в срезах cohort/class/hour, в формате Шелестова.
Важно про честность: финальные catboost_seed*.cbm обучены на train+test (для сабмита на validate), поэтому прямая оценка на train/test даёт leakage-число. Здесь используем OOF-предикты proxy K-fold (5 фолдов блоками по 30 мин + tr_id, как устроен validate) — они получены моделями, которые ТЕСТОВЫЕ точки не видели. Это матчит «честный» proxy_mae из train_catboost.py –eval.
Формат выхода statistics/tables/model_metrics.csv:
split,dimension,group,points,mae_model_s
Тот же ключ (split,dimension,group) что и в baseline_metrics.csv — Шелестов делает join и получает MAE модели рядом с baseline.
Запуск:
python ml/src/metrics_slices.py \
--labels ./dataset/labels \
--artifacts ml/artifacts \
--out statistics/tables/model_metrics.csv
Functions
|
|
|
OOF предикт proxy K-fold: клоны в обучении, реальные точки — в отложенных фолдах. |
|
- metrics_slices.main() None[исходный код]
- metrics_slices.oof_predictions(data: dict, feats: list[str], params: dict, k: int = 5, block_min: int = 30, seeds=(0,), w_syn: float = 1.0) pandas.Series[исходный код]
OOF предикт proxy K-fold: клоны в обучении, реальные точки — в отложенных фолдах.
- metrics_slices.slice_metrics(split: str, meta: pandas.DataFrame) pandas.DataFrame[исходный код]