【发布时间】:2017-09-10 21:35:22
【问题描述】:
我正在将 ScikitLearn 的随机森林应用于极其不平衡的数据集(比率为 1:10 000)。我可以使用 class_weigth='balanced' 参数。我读过它相当于欠采样。
但是,这种方法似乎对样本应用了权重,并没有改变实际的样本数量。
因为随机森林的每棵树都是建立在训练集的一个随机抽取的子样本上的,恐怕少数类在每个子样本中都不够有代表性(或者根本没有代表性)。这是真的?这会导致非常有偏见的树。
因此,我的问题是:class_weight="balanced" 参数是否允许在极其不平衡的数据集上构建合理无偏的随机森林模型,或者我是否应该找到一种方法来对每棵树上的多数类或在构建训练集时进行欠采样?
【问题讨论】:
-
拥有一个没有太多代表性的课程本身就是一种危险。您希望有足够多的少数群体示例具有代表性。这并不意味着对多数类进行欠采样有好处。
标签: python scikit-learn random-forest