【发布时间】:2018-07-26 01:57:09
【问题描述】:
我想用 H2O 构建 GBM 模型。我的数据集不平衡,所以我使用 balance_classes 参数。对于网格搜索(参数调整),我想使用 5 折交叉验证。我想知道在这种情况下 H2O 如何处理类平衡。只会重新平衡训练折叠吗?我想确保测试折叠没有重新平衡。
【问题讨论】:
标签: machine-learning cross-validation h2o gbm imbalanced-data
我想用 H2O 构建 GBM 模型。我的数据集不平衡,所以我使用 balance_classes 参数。对于网格搜索(参数调整),我想使用 5 折交叉验证。我想知道在这种情况下 H2O 如何处理类平衡。只会重新平衡训练折叠吗?我想确保测试折叠没有重新平衡。
【问题讨论】:
标签: machine-learning cross-validation h2o gbm imbalanced-data
在类不平衡设置中,人为地平衡测试/验证集没有任何意义:这些集必须保持现实,即您想在现实世界设置中测试分类器性能,其中,比如说,负类将包括 99% 的样本,以便查看您的模型在预测 1% 的感兴趣的正类方面的效果如何,而不会出现太多误报。人为地夸大少数类或减少多数类将导致不切实际的性能指标,与您尝试解决的现实世界问题没有真正的关系。
为了证实,这里是 Max Kuhn,caret R 包的创建者和(强烈推荐)Applied Predictive Modelling 教科书的合著者,在Chapter 11: Subsampling For Class Imbalances 电子书的Chapter 11: Subsampling For Class Imbalances 中:
您永远不会想要人为地平衡测试集;它的类频率应该与人们在“野外”看到的一致。
重新平衡仅在训练集中才有意义,以防止分类器简单天真地将所有实例分类为负例,从而获得 99% 的感知准确度。
因此,您可以放心,在您描述的设置中,重新平衡仅对训练集/折叠采取行动。
【讨论】:
一种强制平衡的方法是使用权重列为不同的类使用不同的权重,在 H2O weights_column
【讨论】: