随机森林:每类样本数的影响

2024-09-25 02:37:39 发布

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

我一直在用sklearn随机分类器做一些实验。我正在多批上训练多个树,并使用以下方法合并它们:

def combine_rfs(rfList):
   rf1 = rfList[0]

   for i in range(1,len(rfList)):
      rf1.estimators_ += rfList[i].estimators_
   rf1.n_estimators = len(rf1.estimators_)

   return rf1

我注意到,如果我在类别A和类别B中给出相同数量的样本,最终树的分类倾向于40-60%的类别A和40-60%的类别B,尽管我预计它在A中更多,在B中更少

基本上我看到的是,A/B中的样本比例将决定这些类别的分类比例,而不管这些类别在测试数据中的实际比例是多少。你知道吗

如何减轻这种影响?你知道吗


Tags: 方法forlen分类器def分类sklearn类别
1条回答
网友
1楼 · 发布于 2024-09-25 02:37:39

您可以研究stratified cross-validation,这种方法可以确保测试和验证数据集中的相对类频率相同。你知道吗

如果你的训练集相对地包含了大量的类别B,那么你的分类器将会预测更多的实例。分层交叉验证通过使三个集合(训练、测试、验证)更相似,克服了这个问题。你知道吗

相关问题 更多 >