在变量的新级别的情况下,R中的预测误差

时间:2013-03-17 20:06:33

标签: r regression prediction

我正在使用GBM包进行预测R. 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代码本身;(

任何建议都表示赞赏!

1 个答案:

答案 0 :(得分:4)

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