随机森林:平衡测试集?

2024-04-23 14:05:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在不平衡的数据集(~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来执行的。在

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

非常感谢!在


Tags: 数据方法fromimport分类器trainrandomclass
1条回答
网友
1楼 · 发布于 2024-04-23 14:05:58

从imblearndocs

A balanced random forest randomly under-samples each bootstrap sample to balance it.

如果你可以用随机欠采样作为平衡方法,那么分类器就是在“幕后”为你做这件事。事实上,这就是使用imblearn首先处理类不平衡的要点。如果你使用的是直接的随机森林,比如sklearn的开箱即用版本,那么我会更关心在前端处理类不平衡。在

相关问题 更多 >