在我的问题数据集中,响应变量非常偏左。我试图用 和 来拟合模型,h2o.randomForest()
如下h2o.gbm()
所示。在这两种情况下,我可以调整min_split_improvement
并min_rows
避免过度拟合。但是对于这些模型,我看到尾部观察的错误非常高。我曾尝试使用 weights_column
对尾部观察进行过采样,并对其他观察进行过采样,但这无济于事。
h2o.model <- h2o.gbm(x = predictors, y = response, training_frame = train,valid = valid, seed = 1,
ntrees =150, max_depth = 10, min_rows = 2, model_id = "GBM_DD", balance_classes = T, nbins = 20, stopping_metric = "MSE",
stopping_rounds = 10, min_split_improvement = 0.0005)
h2o.model <- h2o.randomForest(x = predictors, y = response, training_frame = train,valid = valid, seed = 1,ntrees =150, max_depth = 10, min_rows = 2, model_id = "DRF_DD", balance_classes = T, nbins = 20, stopping_metric = "MSE",
stopping_rounds = 10, min_split_improvement = 0.0005)
我已经尝试了h2o.automl()
h2o 包的功能来解决这个问题以获得更好的性能。但是,我看到明显的过度拟合。我不知道h2o.automl()
控制过度拟合的任何参数。
有谁知道避免过度拟合的方法h2o.automl()
?
编辑
log
转换后的响应的分布如下所示。在艾琳的建议下
EDIT2: 原始响应的分布。