Reputation: 2153
I am running a gbm.step function from the dismo package with the following parameters
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 )
However, the model goes up to 500 trees and then stops. The 'holdout deviance" is almost at the same level as the begging.
In addition, If I increase the n.trees, or the learning rate, or the step.size I get an error that I should restart the gbm function with decreased learning rate or step.size.
The strange thing is that I am using the same function/parameters for other y variables/kpis with the same data/regressors and I do not get any problem.
What can be the explanation to that? Is it anything else that I could try or investigate?
Any help would be appreciated.
Upvotes: 0
Views: 729
Reputation: 11
I was having the same issue (similar model set up, including a gaussian error distribution, model set up had worked with different response variables) - I had a flat line deviance and it was stopping at 50 trees (or whatever minimum n.trees I input). I found that reducing the range of my response variable (in my case changed units from cm to metres, so that range was 0 to 14 rather than 0 to 1400) solved the problem. I'm not sure why.
Upvotes: 1