2017-10-12 98 views
0

我想用h2o过度GBM(我知道这很奇怪,但我需要这个来说明一点)。所以我增加了我的树MAX_DEPTH和收缩,以及残疾停止标准:h2o GBM早期停止

overfit <- h2o.gbm(y=response 
        , training_frame = tapp.hex 
        , ntrees = 100 
        , max_depth = 30 
        , learn_rate = 0.1 
        , distribution = "gaussian" 
        , stopping_rounds = 0 
        , distribution = "gaussian" 
       ) 

过度拟合的伟大工程,但我注意到,训练误差不会在第64棵树后改善。你知道为什么吗 ?如果我理解提升得足够好的概念,随着树木数量的增加,训练误差应该收敛到0。

我的数据信息: 大约100万观察值 10变量 响应变量是定量的。

祝您有美好的一天!

回答

0

您是否尝试降低min_split_improvement参数? 1e-5的默认设置已经是微观的,但是在拥有一百万行时是相关的。 我猜64号后的所有树(在你的例子中)将是微不足道的?

0

如果0.1学习率不适合你,我建议降低学习率,如0.01或0.001。虽然你声明树64后训练错误停止下降,但我仍然建议尝试添加更多的树,至少1000-5000,特别是如果你尝试较慢的学习速度。

+0

谢谢你的回答。 是的,我尝试过,但它是一样的东西,只是更多的树木。训练错误最终会停止下降,我不知道为什么。 –