2013-03-17 4 views
1

Я использую пакет GBM для прогнозирования в R. Traning работает очень хорошо с разумной частотой ошибок , однако, когда вам нужно было выполнить прогноз на обучающем наборе, который содержит фактор переменной с новыми уровнями, то я получил следующее сообщение об ошибке:Ошибка прогноза в R в случае новых уровней для переменной

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

Ошибка четкая (даже вы разрезали ее перед тем, как дать нам имя переменной, я не знаю почему), у вас есть новый уровень в новых данных, которые вы даете 'gbm.predict'. – agstudy

ответ

4

I! Не знаком с GBM, но ошибка указывает на то, что GBM не может иметь дело с прогнозированием из модели, когда данные прогнозирования содержат ранее неизвестный уровень. Обоснование этого заключается в том, что модель может только что-то сказать о классе данных, для которых он был обучен. В случае простой линейной модели вы не можете ожидать, что модель a~b (a зависит от b) для прогнозирования данных, которые включают в себя новую переменную b, то есть a~b+c. Модель не имеет обученного поведения для b+c, только для b.