Sto allenando svm usando il mio traindata. (pacchetto e1071 in R). Di seguito sono riportate le informazioni sui miei dati.Ottenere un errore "(pedice) indice logico troppo lungo" durante l'allenamento SVM dal pacchetto e1071 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 ...
Mi alleno come segue.
library(e1071)
model1 <- svm(survived~.,data=train, type="C-classification")
Nessun problema qui. Ma quando Prevedo come:
pred <- predict(model1,test)
ottengo il seguente errore:
Error in newdata[, object$scaled, drop = FALSE] :
(subscript) logical subscript too long
Ho anche provato a rimuovere predittore "biglietto" da entrambi i dati dei treni e di test. Ma ancora lo stesso errore. Qual è il problema?
Difficile rispondere senza un esempio riproducibile. L'errore dice che i tuoi nuovi dati (test qui) non contengono abbastanza colonne. – agstudy