1

我在 R 中使用 GBM 包进行预测。Traning 在合理的错误率下工作得很好,但是,当想要在包含具有新级别的因子变量的训练集上运行预测时,我收到以下错误:

gbm1 <- gbm(SalePrice ~., data=bb,distribution="gaussian",n.trees=7000,cv.folds=3,shrinkage=0.001,interaction.depth=4)

    f.predict <- exp(predict.gbm(gbm1,data.frame(bbv),n.trees=7000))
        Error in predict.gbm(gbm1, data.frame(bbv), n.trees = 7000) : 
          New levels for variable <and the name of the levels are listed>

试图搜索错误文本,但只找到 GBM 代码本身;(

任何建议表示赞赏!

4

1 回答 1

4

我不熟悉 GBM 包,但错误表明当预测数据包含以前未知的级别时,GBM 无法处理从模型进行的预测。其背后的基本原理是,该模型只能说明它所训练的数据类别。在简单线性模型的情况下,您不能期望模型a~ba取决于b)预测涉及新变量 b 的数据,即a~b+c。该模型没有针对 的训练行为b+c,仅针对b

于 2013-03-17T20:55:39.220 回答