我正在使用 gbm 来预测二进制响应。当我设置 cv.folds=0 时,一切正常。但是,当 cv.folds > 1 时,出现错误:Error in object$var.levels[[i]] : subscript out of bounds
当交叉验证的第一次刺激完成时。有人说这可能是因为某些因子变量在训练或测试数据中缺少水平,但我尝试只使用数字变量并仍然得到这个错误。
> gbm.fit <- gbm(model.formula,
+ data=dataall_train,
+ distribution = "adaboost",
+ n.trees=10,
+ shrinkage=0.05,
+ interaction.depth=2,
+ bag.fraction = 0.5,
+ n.minobsinnode = 10,
+ train.fraction=0.5,
+ cv.folds=3,
+ verbose=T,
+ n.cores=1)
CV: 1
CV: 2
CV: 3
Error in object$var.levels[[i]] : subscript out of bounds
有人对此有一些见解吗?谢谢!
回答我自己:问题解决了。这是因为这个函数中的一个错误。输入数据不能包含模型中变量以外的变量。