ScikitLearn随机森林中的欠采样和类别权重

3
我正在将ScikitLearn的随机森林应用于一个极度不平衡的数据集(比率为1:10 000)。我可以使用class_weight='balanced'参数。我已经阅读过它相当于欠采样。
然而,这种方法似乎是对样本应用权重而不改变实际样本数。
由于随机森林的每棵树都是在训练集的随机抽样子集上构建的,我担心少数类在每个子样本中不足以代表(或根本没有代表)。这是真的吗?这会导致非常偏向某一类别的树。
因此,我的问题是:class_weight="balanced"参数是否允许在极度不平衡的数据集上构建合理无偏的随机森林模型,还是我应该找到一种方式在每棵树或构建训练集时对多数类进行欠采样?

2
一个没有代表性的类本身就是危险的。你需要足够多的少数派类别例子来代表它。但这并不意味着对多数派进行欠采样有益处。 - Arya McCarthy
1个回答

0

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


非常感谢!我有类似的想法,但我还没有看到任何地方应用过这样的想法。我想在森林中的每棵树上使用不同的多数类样本(+少数类相同的点)。 - Antoine Caté

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接