1
无论我们选择什么方法('cv', 'OOB' or 'test'
),我们选择合适的gbm对象中树的数量始终为3*n.trees
数据集iris
。R gbm为什么fit tree的长度始终是数据集iris的n.trees的3倍
是因为iris
数据集有一个3级目标分类变量。
如果是与目标变量具有值A,B和C,为所述第一树,第二树B,第三树C和第四树甲再次?
或者如果n.trees
设置为100,则前100棵树用于A,第2 100棵树用于B,最后100棵用于C?
fit = gbm(data=iris, Species ~., shrinkage = 0.2, n.trees = 50, cv.folds = 2)
best.iter = gbm.perf(fit, method = 'cv')
fit = gbm(data=iris, Species ~., shrinkage = 0.2, n.trees = 40, train.fraction = 0.8)
best.iter = gbm.perf(fit, method = 'test')
fit = gbm(data=iris, Species ~., shrinkage = 0.2, n.trees = 50)
best.iter = gbm.perf(fit, method = 'OOB')
我还发现,如果'distribution'被选为'伯努利',那么它只有1 * n.trees,并且响应必须被重新编码为0和1。 – John