Назад к подготовке

Imbalanced classification: метрики, loss и leakage

Как обучать и оценивать модель, если положительный класс редкий?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Смотреть PR-AUC, precision/recall по порогу и бизнес-cost ошибок; использовать class weights, sampling, focal loss и строго проверять leakage/time split.

Полный разбор

При сильном imbalance accuracy почти бесполезна: модель может всегда предсказывать majority class. Обычно смотрят PR-AUC, recall@precision, precision@recall, confusion matrix по выбранному порогу, calibration и бизнес-стоимость false positive/false negative.

Обучение можно стабилизировать class weights, over/under-sampling, hard negative mining, focal loss, balanced batches и аугментациями. Но sampling меняет распределение, поэтому probabilities после обучения могут требовать calibration.

Отдельная опасность - leakage. В product ML часто есть признаки из будущего: события после target time, агрегаты, построенные на всей истории, или дубликаты пользователей между train/test. Для временных задач нужен time split и point-in-time feature join.

Теория

В редком классе важна не общая точность, а качество на нужном operating point.

Типичные ошибки

  • Отчитываться accuracy при доле positives меньше нескольких процентов.
  • Случайно включать будущие события в признаки.
  • Выбирать threshold без бизнес-cost и calibration.