Как работать с несбалансированными классами?
- Почему accuracy плоха при дисбалансе классов?
- Что такое oversampling и SMOTE?
При 1% мошенничества модель «всё честно» даёт 99% accuracy и бесполезна. Нужны правильные метрики (precision, recall, F1, PR-AUC), подбор порога под цену ошибок, веса классов в функции потерь, а пересэмплирование (undersampling, oversampling, SMOTE) — с осторожностью.
- Порог 0,5 почти никогда не оптимален при дисбалансе
- class_weight="balanced" — простой первый шаг
- Пересэмплирование — только внутри обучающей части, не до разбиения
А ещё Вероятности после пересэмплирования искажены — их калибруют
Подробно
Метрики. Accuracy доминирует большой класс. Смотрят на:
- recall — какую долю мошенников нашли;
- precision — какая доля тревог настоящая;
- PR-AUC — площадь под кривой precision-recall, информативнее ROC-AUC при сильном дисбалансе.
Порог. Модель выдаёт вероятность; решение принимается порогом. Порог выбирают по цене ошибок: пропуск мошенничества дороже ложной тревоги — порог ниже.
Методы:
- веса классов — ошибка на редком классе стоит дороже в функции потерь; работает почти во всех моделях;
- undersampling — выбросить часть большого класса: быстро, но теряем данные;
- oversampling / SMOTE — дублировать или синтезировать примеры редкого класса: риск переобучения на синтетике;
- ансамбли на сбалансированных подвыборках.
Типичная ошибка — пересэмплировать до разбиения на обучение и тест: копии одного объекта попадают в обе части, метрика завышена. Тест должен сохранять реальную долю классов.
Что хотят услышать
- Почему accuracy вводит в заблуждение.
- Метрики и подбор порога.
- Веса классов и пересэмплирование с оговорками.
Проверьте себя
Несколько верных вариантов. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Метрики precision, recall, PR-AUC вместо accuracy
- ✓Подбор порога под цену ошибок и веса классов в функции потерь
- ✗Пересэмплировать данные до разбиения на обучение и проверку
- ✗Оставить порог 0,5 — он оптимален при любом дисбалансе
Разбор темы
- Метрики качества моделей
Матрица ошибок, precision и recall, ROC-AUC и PR-AUC, метрики регрессии и работа с несбалансированными классами.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.