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