Измерение полноты или уровня ложных отрицаний в сильно несбалансированном наборе данных

Вопрос или проблема

Мы хотим измерить полноту (или уровень ложных отрицаний) для нашей модели машинного обучения. Проблема в том, что Положительные случаи встречаются только в <0,1% всех случаев, и мы не можем позволить себе аннотировать объем данных, необходимый для корректной оценки.

Измерение точности не вызывает проблем.

Существуют ли какие-либо методы для работы с такими наборами данных?

Спасибо

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

Из-за правил защиты данных мы не можем передать процесс аннотирования на аутсорсинг.

Ответ или решение

Измерение полноты (recall) или уровня ложных отрицательных (false negative rate) в сильно несбалансированных наборах данных может представлять собой значительную задачу. В вашем случае, когда положительные случаи составляют менее 0.1% от всех случаев и нет возможности провести полную аннотацию данных, предлагаю рассмотреть несколько методов, которые могут помочь в этой ситуации.

  1. Использование методов внутренней оценки: Если у вас есть возможность работать с небольшими подвыборками данных, можно применять кросс-валидацию, выделяя части положительных примеров. Например, вы можете использовать метод Leave-One-Out или k-fold кросс-валидацию, где часть данных, содержащая положительные примеры, будет использоваться для оценки модели.

  2. Синтетическое создание данных: Попробуйте генерировать синтетические положительные примеры с использованием методов, таких как SMOTE (Synthetic Minority Over-sampling Technique) или ADASYN. Хотя вы уже упомянули, что пробовали методы выборки, если вы будете аккуратно генерировать синтетические примеры на основе существующих данных, это может помочь избежать значительного смещения.

  3. Альтернативные метрики для оценки модели: Вместо того чтобы прямиком измерять полноту и уровень ложных отрицательных, рассмотрите возможность использования других метрик, таких как F1-score, ROC AUC или PR AUC, которые могут дать вам лучшее представление о производительности модели, особенно в условиях несбалансированных данных.

  4. Обучение с учетом несбалансированности данных: Используйте методы, такие как взвешивание классов, где модель будет уделять больше внимания положительным классам во время обучения. Это может помочь модели лучше выявлять искомые положительные случаи.

  5. Адаптированные методы оценки: Вы можете применить пороговое значение для вашего классификатора для повышения полноты за счет снижения точности (precision). Это может быть сделано путем анализа кривой Precision-Recall или ROC, а затем выбора порогового значения, где полнота будет в приемлемом диапазоне.

  6. Анализ известных случаев: Если у вас есть известные случаи положительного класса, попробуйте сфокусироваться на их детальном анализе. Это может помочь выявить закономерности, которые в будущем можно использовать для предсказания положительных примеров на более общем уровне.

  7. Локальная проверка: При возможности выбирайте небольшие наборы данных с положительными классами для аннотации и тестирования. Это может быть окно в реальность и поможет вам понять, насколько хорошо ваша модель работает.

Обратите внимание, что важно учитывать специфику вашего конкретного случая, включая доступные ресурсы и ограничения. Удачи в оценке вашей модели!

Оцените материал
Добавить комментарий

Капча загружается...