我正在使用以下参数从dismo包运行gbm.step函数
gbm_tmp <- dismo::gbm.step(data = data,
gbm.x = predictor_names ,
gbm.y = i,
#site.weights = weights,
max.trees = 10000,
var.monotone = mon_vec,
family = "gaussian", learning.rate = 0.0005,
bag.fraction = 0.7, n.folds = 10, #n.trees=1100,
tree.complexity = 9, prev.stratify = F,
step.size = 25 )
然而,该模型最多可达500棵树然后停止。 “坚持偏差”与乞讨几乎处于同一水平。
另外,如果我增加n.trees,或学习率,或step.size我得到一个错误,我应该重新启动gbm函数学习率降低或step.size。
奇怪的是,我使用与其他y变量/ kpis相同的函数/参数和相同的数据/回归量,我没有遇到任何问题。
可以解释什么?我还可以尝试或调查其他任何内容吗?
任何帮助将不胜感激。
答案 0 :(得分:1)
我遇到了同样的问题(类似的模型设置,包括高斯误差分布,模型设置已经使用不同的响应变量) - 我有一个平线偏差,它停在50棵树(或任何最小n .trees我输入)。我发现减少我的响应变量的范围(在我的情况下,将单位从cm改为米,因此范围是0到14而不是0到1400)解决了这个问题。我不知道为什么。