predict.glm () mit drei neuen Kategorien in den Testdaten (r) (Fehler)
Ich habe einen Datensatz mit dem Namendata
mit 481 092 Zeilen.
Ich teiledata
in zwei gleiche Hälften:
train
und wurde für das @ verwendglm()
;die zweite Hälfte (Zeile 240 547: 481 092) heißttest
und sollten verwendet werden, um das Modell zu validieren;Dann habe ich die Regression gestartet:
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)
Jetzt die Vorhersage:
prediction <- predict.glm(testreg, newdata=test, type="response")
gibt mir einen Fehler:
Error in model.frame.default(Terms, newdata, na.action=na.action, xlev=object$xlevels):
Factor 'train$manufacturerID' has new levels 125, 136, 137
etzt weiß ich, dass diese Ebenen in der Regression weggelassen wurden, da für diese Ebenen keine Koeffizienten angezeigt werde
Ich habe es versucht: predict.lm () mit unbekannter Faktorstufe in Testdaten. Aber irgendwie funktioniert es bei mir nicht oder ich verstehe einfach nicht, wie ich es implementieren soll. Ich möchte die abhängige binäre Variable vorhersagen, aber natürlich nur mit den vorhandenen Koeffizienten. Der obige Link schlägt vor, R mitzuteilen, dass Zeilen mit neuen Ebenen nur als NA bezeichnet / oder behandelt werden sollen.
Wie kann ich fortfahren?
Edit-Suggested Ansatz von Z. Li
Ich habe ein Problem im ersten Schritt:
xlevels <- testreg$xlevels$manufacturerID
mID125 <- xlevels[1]
abermID125
istNULL
! Was habe ich falsch gemacht