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

标签 python scikit-learn random-forest

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

但是,这种方法似乎是对样本施加了权重,并没有改变实际的样本数。

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

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

最佳答案

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

关于python - ScikitLearn 随机森林中的欠采样与 class_weight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43414689/

相关文章:

python - Keras:如何为 CNN 和 LSTM 层塑造输入?

python - 属性错误 : 'str' object has no attribute 'items'

machine-learning - 如何调整 GaussianNB?

python - 科学数据包 : What's the easiest way to get the confusion matrix of an estimator when using GridSearchCV?

r - 在R中使用randomForest输入类型不匹配错误

python - cv2.imwrite() 系统错误 : <built-in function imwrite> returned NULL without setting an error

python - 如何使用多维交叉表/数据透视表

csv - 如何在 scikit 中训练 svm 从 csv 文件中的训练数据中学习

classification - sklearn 是否支持成本矩阵?

python - 从 sklearn 随机森林回归器可视化决策树