随机森林:平衡测试集?

时间:2019-02-27 17:11:18

标签: python random-forest

我正在尝试在不平衡的数据集(〜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)

使用scikit Learn中的RepeatedStratifiedKFold,在交叉验证方法中进行训练和测试集的拆分。

但是,我想知道是否也需要平衡测试仪才能获得合理的准确度评分(敏感性,特异性等)。希望您能帮到我。

非常感谢!

1 个答案:

答案 0 :(得分:0)

docs开始,

  

平衡的随机森林随机地对每个引导样本进行欠采样   保持平衡。

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