Я использую Python для запуска модели случайного леса на моем несбалансированном наборе данных (целевой переменной был двоичный класс). Разделяя набор данных обучения и тестирования, я боролся, использовать ли стратифицированную выборку (как показано в коде) или нет. До сих пор я наблюдал в своем проекте, что стратифицированный случай приведет к более высокой производительности модели. Но я думаю, что если я буду использовать мою модель для прогнозирования новых случаев, которые, скорее всего, будут отличаться в распределении целевого класса с моим текущим набором данных. Поэтому я склонен ослабить это ограничение и использовать неразделенное разбиение. Может ли кто-нибудь посоветовать уточнить этот момент?
train,test=train_test_split(myDataset, test_size=0.25, stratify=y)