Я думаю, что субсэмплирование (даунсэмплинг) является популярным методом контроля дисбаланса классов на базовом уровне, то есть устраняет корень проблемы. Так что для всех ваших примеров будет работать случайный выбор 1000 из большинства класса каждый раз. Вы могли бы даже поиграть с 10 моделями (10 сгибов большинства в 1000 против 1000 меньшинств), так что вы будете использовать весь свой набор данных. Вы можете использовать этот метод, но опять же вы выбрасываете 9000 сэмплов, если не попробуете несколько методов ансамбля. Легко исправить, но сложно получить оптимальную модель на основе ваших данных.
Степень, в которой вы должны контролировать дисбаланс классов, в значительной степени зависит от вашей цели. Если вы заботитесь о чистой классификации, то дисбаланс повлияет на 50% -ую вероятность, отсекаемую для большинства методов, поэтому я бы подумал о понижающей выборке. Если вы заботитесь только о порядке классификаций (хотите, чтобы положительные значения, как правило, были выше, чем отрицательные), и используете такую меру, как AUC, дисбаланс классов только сместит ваши вероятности, но относительный порядок должен быть достаточно стабильным для большинства методов.
Логистическая регрессия хороша для дисбаланса класса, потому что, если у вас> 500 класса меньшинства, оценки параметров будут достаточно точными, и единственное влияние будет на перехват, который можно исправить, если это то, что вы могли бы хотеть. Логистическая регрессия моделирует вероятности, а не просто классы, так что вы можете сделать больше ручных корректировок в соответствии с вашими потребностями.
Многие методы классификации также имеют аргумент веса класса, который поможет вам больше сосредоточиться на классе меньшинства. Это накажет классификацию пропусков истинного класса меньшинства, так что ваша общая точность немного пострадает, но вы начнете видеть больше классов меньшинства, которые правильно классифицированы.