ScikitLearn 随机森林中的欠采样与 class_weight

Undersampling vs class_weight in ScikitLearn Random Forests

我正在将 ScikitLearn 的随机森林应用于极度不平衡的数据集(1:10 000 的比率)。我可以使用 class_weigth='balanced' 参数。我看过它相当于欠采样

不过,这个方法好像是给样本加了权重,并没有改变实际的样本数。

因为随机森林的每棵树都是建立在训练集的随机抽取的子样本上的,恐怕少数class在每个子样本中都没有足够的代表性(或者根本没有代表性)。这是真的?这将导致非常有偏见的树。

因此,我的问题是:class_weight="balanced" 参数是否允许在极度不平衡的数据集上构建合理无偏的随机森林模型,或者我是否应该找到一种方法来对大多数 class 在每棵树上还是在构建训练集时?

我认为您可以将多数 class 分成 +-10000 个样本,并使用每个样本加上相同的少数 class 点来训练相同的模型。