Ошибка прогноза в R при появлении новых уровней для переменной

Я использую пакет GBM для прогнозирования в 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 ;(

Любое предложение приветствуется!


person user2180171    schedule 17.03.2013    source источник
comment
Ошибка ясна (даже вы вырезали ее перед тем, как дать нам имя переменной, я не знаю почему), у вас есть новый уровень в новых данных, которые вы даете gbm.predict.   -  person agstudy    schedule 18.03.2013


Ответы (1)


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

person Paul Hiemstra    schedule 17.03.2013