Предсказание.glm () с тремя новыми категориями в тестовых данных (r) (ошибка)
У меня есть набор данных под названиемdata
который имеет 481 092 строки.
Я разделилdata
на две равные половины:
train
и был использован дляglm()
;вторая половина (строка 240 547: 481 092) называетсяtest
и должен использоваться для проверки модели;Затем я начал регрессию:
testreg <- glm(train$returnShipment ~ train$size + train$color + train$price +
train$manufacturerID + train$salutation + train$state +
train$age + train$deliverytime,
family=binomial(link="logit"), data=train)
Теперь прогноз:
prediction <- predict.glm(testreg, newdata=test, type="response")
выдает мне ошибку:
Error in model.frame.default(Terms, newdata, na.action=na.action, xlev=object$xlevels):
Factor 'train$manufacturerID' has new levels 125, 136, 137
Теперь я знаю, что эти уровни были опущены в регрессии, потому что она не показывает никаких коэффициентов для этих уровней.
Я попробовал это:Предсказание.lm () с неизвестным уровнем фактора в тестовых данных , Но это как-то не работает для меня, или я просто не понимаю, как это реализовать. Я хочу предсказать зависимую двоичную переменную, но, конечно, только с существующими коэффициентами. Ссылка выше предлагает сообщить R, что строки с новыми уровнями должны просто называться / или рассматриваться как NA.
Как я могу продолжить?
Правка-предложенный подход З. Ли
У меня проблема на первом этапе:
xlevels <- testreg$xlevels$manufacturerID
mID125 <- xlevels[1]
ноmID125
являетсяNULL
! Что я сделал не так?