Выбор ответа Junior Несбалансированные классы спрашивают часто обновлено

Первое действие при дисбалансе

Вопрос

Классы 1:99. Что разумно сделать в первую очередь?

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

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Выбрать правильную метрику и порог, а не сразу менять данные. Многие модели (бустинг, логрегрессия) нормально учатся на несбалансированных данных, проблема чаще в метрике (accuracy) и пороге 0.5.

Варианты ответа

  1. Сразу сделать SMOTE до баланса 50:50 на всех данных
  2. Удалить 98% объектов мажоритарного класса, чтобы выровнять доли
  3. Заменить модель на нейросеть с softmax и большим батчем
  4. Выбрать правильную метрику и порог, а не сразу менять данныеправильный ответ

Разбор

Многие модели (бустинг, логрегрессия) нормально учатся на несбалансированных данных, проблема чаще в метрике (accuracy) и пороге 0.5. Начинают с PR-AUC, recall при нужной precision и подбора порога. Веса классов и семплирование это следующие шаги, их эффект проверяют на валидации с исходным распределением.

  • SMOTE до 50:50 часто не помогает и искажает вероятности.
  • Агрессивный undersampling выбрасывает информацию.
  • Тип модели не решает проблему метрики.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме