Вопрос с собеседования · AI и LLM

Как работать с несбалансированными классами?

MiddleОсновы машинного обучения
Ещё спрашивают так:
  • Почему accuracy плоха при дисбалансе классов?
  • Что такое oversampling и SMOTE?
Коротко

При 1% мошенничества модель «всё честно» даёт 99% accuracy и бесполезна. Нужны правильные метрики (precision, recall, F1, PR-AUC), подбор порога под цену ошибок, веса классов в функции потерь, а пересэмплирование (undersampling, oversampling, SMOTE) — с осторожностью.

  • Порог 0,5 почти никогда не оптимален при дисбалансе
  • class_weight="balanced" — простой первый шаг
  • Пересэмплирование — только внутри обучающей части, не до разбиения

А ещё Вероятности после пересэмплирования искажены — их калибруют

Попробуйте сами

Порог классификатора: матрица ошибок, ROC и PR

Подробно

Метрики. Accuracy доминирует большой класс. Смотрят на:

  • recall — какую долю мошенников нашли;
  • precision — какая доля тревог настоящая;
  • PR-AUC — площадь под кривой precision-recall, информативнее ROC-AUC при сильном дисбалансе.

Порог. Модель выдаёт вероятность; решение принимается порогом. Порог выбирают по цене ошибок: пропуск мошенничества дороже ложной тревоги — порог ниже.

Методы:

  • веса классов — ошибка на редком классе стоит дороже в функции потерь; работает почти во всех моделях;
  • undersampling — выбросить часть большого класса: быстро, но теряем данные;
  • oversampling / SMOTE — дублировать или синтезировать примеры редкого класса: риск переобучения на синтетике;
  • ансамбли на сбалансированных подвыборках.

Типичная ошибка — пересэмплировать до разбиения на обучение и тест: копии одного объекта попадают в обе части, метрика завышена. Тест должен сохранять реальную долю классов.

Что хотят услышать

  • Почему accuracy вводит в заблуждение.
  • Метрики и подбор порога.
  • Веса классов и пересэмплирование с оговорками.

Проверьте себя

Несколько верных вариантов. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Метрики precision, recall, PR-AUC вместо accuracy
  • ✓Подбор порога под цену ошибок и веса классов в функции потерь
  • ✗Пересэмплировать данные до разбиения на обучение и проверку
  • ✗Оставить порог 0,5 — он оптимален при любом дисбалансе

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования