Я пытаюсь запустить классификатор случайных лесов для несбалансированного набора данных (~ 1: 4).
Я использую метод из imblearn следующим образом:
from imblearn.ensemble import BalancedRandomForestClassifier
rf=BalancedRandomForestClassifier(n_estimators=1000,random_state=42,class_weight='balanced',sampling_strategy='not minority')
rf.fit(train_features,train_labels)
predictions=rf.predict(test_features)
Разделениев обучении и тестовый набор выполняется в рамках метода перекрестной проверки с использованием RepeatedStratifiedKFold
из scikit learn.
Однако мне интересно, нужно ли также сбалансировать набор тестов для получения разумных оценок точности (чувствительности)специфика и т. д.).Я надеюсь, что вы можете помочь мне с этим.
Большое спасибо!