Когда положительных объектов 1% или меньше: как обучать, чем мерить и что делать с порогом.
Ключевые тезисы
- Перевзвешивание классов почти всегда лучше и дешевле, чем передискретизация.
- SMOTE помогает на малых табличных выборках и почти бесполезен на больших и на изображениях.
- Любой ресэмплинг делается только внутри фолда и ломает вероятностей.
Какую задачу решает
Когда положительных объектов 1% или меньше, привычные инструменты перестают работать. бессмысленна: модель, всегда отвечающая «нет», получит 99%. Обучение тоже перекошено — вклад редкого класса в ничтожен, и модели выгодно его игнорировать.
Лечение состоит из трёх независимых частей, и путать их не стоит. Метрика — берите , или экономическую функцию вместо . Обучение — перевзвешивание классов или focal loss. Решение — порог, подобранный по цене ошибок, а не 0.5. Чаще всего правильно настроенных метрики и порога достаточно, а до ресэмплинга дело не доходит.
1) Смените метрику: вместо и — при 1% положительных ROC-AUC выглядит красиво даже у бесполезной модели. 2) Добавьте class_weight='balanced' — это одна строка и обычно основной эффект. 3) Постройте PR-кривую и выберите порог по цене ошибок вашей задачи, а не 0.5. 4) Только если этого не хватило — пробуйте focal loss или SMOTE, обязательно внутри фолда. В большинстве проектов шаги 1–3 закрывают вопрос, а начинают почему-то с четвёртого.
Подробный разбор
| Приём | Как работает | Риск |
|---|---|---|
| Веса классов | редкий класс весит больше в | ломает |
| Undersampling | выбрасываем часть большого класса | теряем данные |
| Oversampling / SMOTE | дублируем или синтезируем редкий класс | на синтетике |
| Порог + правильная метрика | модель не трогаем, меняем решение | ничего не ломает |
Начинайте с последней строки: часто «проблема дисбаланса» — это на самом деле проблема выбора метрики и порога, а не обучения.
- Ресэмплинг до разбиения: синтетические объекты попадают и в train, и в валидацию — метрика взлетает.
- Accuracy как метрика: при 1% положительных она бесполезна; смотрите и MCC.
- Потеря калибровки: после перевзвешивания вероятности смещены — калибруйте отдельно, если они нужны.
Где применяется
- АнтифродДоля мошенничества — доли процента, цена пропуска на порядки выше цены проверки.
- Медицинская диагностикаРедкое заболевание: пропуск недопустим, ложная тревога приемлема.
- Отток и дефолтНесколько процентов положительного класса — типичная ситуация в скоринге.
- Промышленный контрольДефектных изделий единицы на тысячу.
Плюсы, минусы и альтернативы
Плюсы
- Перевзвешивание решает большинство случаев одной строкой кода.
- Правильный порог часто даёт больший эффект, чем смена модели.
- Метрики, устойчивые к дисбалансу, сразу делают прогресс измеримым.
Минусы
- Ресэмплинг ломает вероятностей — их придётся восстанавливать.
- SMOTE на больших и высокоразмерных данных обычно не помогает, а иногда вредит.
- Ресэмплинг вне фолда даёт утечку и завышенные метрики.
- При экстремальном дисбалансе (1 к 10 000) простого решения может не быть вовсе.
Брать, если
- Доля положительного класса ниже 5–10%.
- Цена ошибок первого и второго рода различается на порядок и больше.
Не брать, если
- Не начинайте с SMOTE: сначала метрика, вес класса и порог.
- Не балансируйте выборку, если нужны честные вероятности, — это прямой конфликт.
Чем заменяют
Видеолекции
Тайм-кода именно на эту тему в записях нет. Но глава «Данные» разобрана в курсах целиком — с той оговоркой, что место в записи придётся искать самому.
Связанные темы
Редкие классы и события
Isolation Forest80%
Isolation Forest · Классическое машинное обучениеОбнаружение аномалий случайными разбиениями: аномальный объект отделяется от остальных за меньшее число разрезов.
Anomaly Detection80%
Поиск аномалий · Обучение без учителяВыделение объектов, не похожих на основную массу данных, при отсутствии меток.
PR-AUC80%
PR-AUC · МетрикиПлощадь под кривой precision–recall; честнее ROC-AUC при редком положительном классе.
MCC80%
Коэффициент Мэтьюса · МетрикиКорреляция между предсказаниями и истиной, учитывающая все четыре ячейки матрицы ошибок.
Loss functions80%
Функции потерь · Глубокое обучениеФормализуют цель обучения. Выбор потерь важнее выбора архитектуры чаще, чем кажется.
Extreme Value Theory80%
Теория экстремальных значений · Теория вероятностей и распределенияАппарат для моделирования максимумов и хвостов: как оценить вероятность события, которого ещё не случалось.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Перевзвешивание классов
Умножение вклада редкого класса в . Дёшево, не трогает данные, не ломает — начинать надо с него.
Разбор ниже: Что делать с дисбалансомUndersampling / oversampling
Выбрасывание объектов большого класса или дублирование малого. Меняет распределение и портит вероятностей.
Разбор ниже: Что делать с дисбалансомSMOTE
Синтетические объекты между соседями редкого класса. Помогает на малых табличных выборках, почти бесполезен на больших и на изображениях.
Разбор ниже: Что делать с дисбалансомПорог решения
Отдельная ручка, настраиваемая по цене ошибок. Часто даёт больше, чем любые манипуляции с выборкой.
Разбор ниже: Где здесь ошибаютсяРесэмплинг внутри фолда
Любой ресэмплинг делается только на обучающей части фолда — иначе валидация загрязнена.
Разбор ниже: Где здесь ошибаютсяУсиливает профиль: Data Scientist, Инженер рекомендаций.
Спрашивают на собеседовании: Яндекс — Classic ML, Сбер — Скоринг и риски, Сбер — Рекомендации и персонализация, Т-Банк — Антифрод и риски, Авито — Модерация контента, VK — Зрение и модерация контента, Ozon — Спрос и логистика, Wildberries — Каталог, поиск и атрибуты, МТС — Отток и персональные предложения, Альфа-Банк — Скоринг и кредитные риски, Совкомбанк — Скоринг и взыскание, Точка — Антифрод и комплаенс, ЮMoney — Антифрод платежей, Магнит — Лояльность и персонализация, Lamoda — Рекомендации и поиск, Lamoda — Зрение и атрибуты каталога, HeadHunter — Матчинг и рекомендации, Циан — Поиск, ранжирование и достоверность, МегаФон — Отток и предложения, билайн — Маркетинг и удержание, Ростелеком — Качество сети и отток, Лаборатория Касперского — Детектирование вредоносного ПО, Positive Technologies — Аналитика событий и приоритизация, BI.ZONE — Антифрод и защита от автоматизации, СИБУР — Предиктивное обслуживание, Северсталь — Зрение в контроле качества, Росатом — Промышленный ИИ.
Тема встречается в тестах по направлениям — ошибки приведут обратно на эту страницу.
Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.
Глава «Данные» последний раз правилась . Нашли ошибку — напишите.