Влияние количества отрицательных выборок, используемых в сильно несбалансированном наборе данных (XGBoost) - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь смоделировать классификатор, используя XGBoost на сильно несбалансированном наборе данных, с ограниченным количеством положительных выборок и практически бесконечным числом отрицательных выборок.Возможно ли, что слишком много отрицательных выборок (что сделает набор данных еще более несбалансированным) ослабит предсказательную силу модели?Есть ли причина ограничивать количество отрицательных выборок помимо времени выполнения?

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

1 Ответ

0 голосов
/ 05 марта 2019

Чтобы ответить на ваш вопрос напрямую: добавление большего количества отрицательных примеров, вероятно, уменьшит способность решения обученного классификатора.Для отрицательного класса выберите наиболее репрезентативные примеры и отбросьте остальные.

Изучение из несбалансированного набора данных может повлиять на предсказательную силу и даже на способность классификатора сходиться вообще.Обычно рекомендуемая стратегия состоит в том, чтобы поддерживать одинаковые размеры учебных примеров для каждого из классов.Влияние дисбаланса классов на обучение зависит от формы пространства принятия решений и ширины границ между классами.Чем они шире и чем проще пространство для принятия решений, тем успешнее обучение даже для несбалансированных наборов данных.

TL; DR

Для быстрого обзора методов несбалансированного обучения я рекомендую эти две статьи:

Существует пакет Python под названием imbalanced-learn, который имеет обширную документациюалгоритмов, которые я рекомендую для углубленного изучения.

...