Ich trainiere SVM mit meinen Traindata. (e1071 Paket in R). Im Folgenden finden Sie Informationen zu meinen Daten.Fehler erhalten "(tiefgestellt) logischer Index zu lang" beim Training von SVM aus E1071 Paket in R
> str(train)
'data.frame': 891 obs. of 10 variables:
$ survived: int 0 1 1 1 0 0 0 0 1 1 ...
$ pclass : int 3 1 3 1 3 3 1 3 3 2 ...
$ name : Factor w/ 15 levels "capt","col","countess",..: 12 13 9 13 12 12 12 8 13 13
$ sex : Factor w/ 2 levels "female","male": 2 1 1 1 2 2 2 2 1 1 ...
$ age : num 22 38 26 35 35 ...
$ ticket : Factor w/ 533 levels "110152","110413",..: 516 522 531 50 473 276 86 396
$ fare : num 7.25 71.28 7.92 53.1 8.05 ...
$ cabin : Factor w/ 9 levels "a","b","c","d",..: 9 3 9 3 9 9 5 9 9 9 ...
$ embarked: Factor w/ 4 levels "","C","Q","S": 4 2 4 4 4 3 4 4 4 2 ...
$ family : int 1 1 0 1 0 0 0 4 2 1 ...
Ich trainiere es wie folgt.
library(e1071)
model1 <- svm(survived~.,data=train, type="C-classification")
Kein Problem hier. Aber wenn ich sage voraus, wie:
pred <- predict(model1,test)
bekomme ich folgende Fehlermeldung:
Error in newdata[, object$scaled, drop = FALSE] :
(subscript) logical subscript too long
Ich habe auch versucht, „Ticket“ Prädiktor von beiden Bahnen und Testdaten zu entfernen. Aber immer noch der selbe Fehler. Was ist das Problem?
Schwer zu beantworten ohne ein reproduzierbares Beispiel. Der Fehler besagt, dass Ihre neuen Daten (Test hier) nicht genügend Spalten enthalten. – agstudy