首页 文章

scikit-learn(python)中的 balancer 随机森林

提问于
浏览
7

我想知道在scikit-learn软件包的最新版本中是否有 balancer 随机森林(BRF)的实现 . BRF用于不 balancer 数据的情况 . 它可以作为普通RF工作,但是对于每次自举迭代,它通过欠采样来 balancer 普遍性类 . 例如,给定两个类N0 = 100,N1 = 30个实例,在每个随机抽样中,它从第一个类中抽取(替换)30个实例,从第二个类抽取相同数量的实例,即它在一个树上训练一个树 . balancer 数据集 . 有关更多信息please refer to this paper .

RandomForestClassifier()确实有'class_weight ='参数,可能设置为'balanced',但我不确定它是否与bootrapped训练样本的下采样有关 .

1 回答

  • 7

    我知道这已经晚了10个月,但我认为你所寻找的是来自imblearnBalancedBaggingClassifier .

    imblearn.ensemble.BalancedBaggingClassifier(base_estimator=None,
     n_estimators=10, max_samples=1.0, max_features=1.0, bootstrap=True,
     bootstrap_features=False, oob_score=False, warm_start=False, ratio='auto',
     replacement=False, n_jobs=1, random_state=None, verbose=0)
    

    有效的是,它允许你做的是连续地对你的大多数类进行欠采样,同时在顶部拟合估算器 . 您可以使用随机森林或来自scikit-learn的任何基本估算器 . 这是example .

相关问题