ClassicML ClassicMLМетрики
Постановка задачи прогнозирования спроса
- Как переводить бизнес-задачу прогнозирования спроса в формальную ML-постановку (регрессия на временных рядах)?
- Как выбрать день расчёта прогноза и горизонт (на какую неделю / на N недель вперёд)?
- Как обрабатывать пересечения зон доставки между магазинами?
Данные и фичи
- Если есть возможность взять исторические данные за 10 лет — стоит ли это делать? Какие критерии?
- Чем отличаются «хорошие» данные от «плохих»? Хорошие — это без пропусков?
- Что есть «сэмпл» в задаче временных рядов? Что является таргетом?
- Какие признаки делать на этапе feature engineering для прогноза недельного спроса (лаги, роллинги, праздники, скорблизость)?
- Как обработать «сильно праздничные» периоды (8 марта, 14 февраля, новогодние)?
Валидация
- Как разделять данные на train / validation / отложенную выборку для временных рядов?
- Зачем нужна третья выборка (holdout) помимо train и test?
- Что такое подгонка под тест и как её избежать?
Модели и обучение
- Какие бустинги пробуют для прогнозирования спроса (XGBoost, LightGBM, CatBoost)?
- Чем CatBoost обрабатывает категориальные признаки автоматически?
- Какие инструменты используют для подбора гиперпараметров (Optuna)?
- Если фичей не 50, а 2000, как подходить к их отбору? PCA, корреляции, feature importance?
Метрики
- Чем отличаются MAE / MAPE / WAPE / RMSE? Когда что лучше использовать?
- В каких случаях WAPE предпочтительнее MAPE (например, при сильной сезонности: август — 10 заказов, март — 10 000)?
- Как презентовать WAPE бизнесу понятным языком?
- Стоит ли масштабировать таргет при сильном дисбалансе значений?
Прод и AB-тесты
- В каком формате модель попадает в прод (FastAPI, Airflow, MLFlow, ETL pipeline)?
- В каких случаях нужен FastAPI, а в каких — пакетный режим?
- Как доказывать бизнесу состоятельность новой модели (AB-тест)?
- Что такое data drift? Как его отслеживать?
- В каком инструменте смотрят мониторинг (Superset, Grafana)?
Гипотетический кейс — динамическая цена в такси
- Как построить модель справедливой динамической цены для конкретного заказа?
- Какие признаки использовать (дальность, пробки, погода, спрос в районе)?
- Как формализовать это как ML-задачу (бинарная классификация: «согласен ли клиент на цену X»)?
- Какие метрики использовать (Precision / Recall / F1 / ROC-AUC / PR-AUC)?
- Как ROC-AUC поведёт себя при сильном дисбалансе классов? Что покажет PR-AUC?