我在极不平衡的数据集上应用ScikitLearn的随机森林(比例为1:10 000)。我可以使用class_weigth =' balanced'参数。我读过它相当于欠采样。
但是,此方法似乎对样本应用权重,并且不会更改实际的样本数。
因为随机森林的每棵树都建立在训练集的随机抽样子样本上,所以我担心少数类在每个子样本中都不具有足够的代表性(或根本没有表示)。这是真的?这会导致非常偏向的树木。
因此,我的问题是:class_weight ="平衡"参数允许在非常不平衡的数据集上构建合理无偏的随机森林模型,或者我是否应该找到一种方法来对每棵树上的大多数类进行欠采样或构建训练集?
答案 0 :(得分:0)
我认为你可以在+ -10000样本中分割多数类,并使用每个样本加上相同的少数类点来训练相同的模型。