0

我正在尝试在不平衡的数据集(〜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训练集和测试集的分割是在使用from scikit learn的交叉验证方法中执行的。

但是,我想知道测试集是否也需要平衡以获得合理的准确度分数(敏感性、特异性等)。我希望你能帮我解决这个问题。

非常感谢!

4

1 回答 1

1

从 imblearn文档

一个平衡的随机森林随机地对每个 bootstrap 样本进行欠采样以平衡它。

如果您可以将随机欠采样作为您的平衡方法,那么分类器会在“幕后”为您执行此操作。事实上,这就是首先使用 imblearn 来处理类不平衡的重点。如果您使用的是直接随机森林,例如 sklearn 的开箱即用版本,那么我会更关心处理前端的类不平衡问题。

于 2019-02-27T17:24:31.310 回答