Tôi đang đào tạo svm bằng cách sử dụng traindata của tôi. (gói e1071 trong R). Sau đây là thông tin về dữ liệu của tôi.Nhận một lỗi "(subscript) subscript logic quá dài" trong khi đào tạo SVM từ gói e1071 trong 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 ...
Tôi đào tạo như sau.
library(e1071)
model1 <- svm(survived~.,data=train, type="C-classification")
Không vấn đề gì ở đây. Nhưng khi tôi dự đoán như:
pred <- predict(model1,test)
tôi nhận được lỗi sau:
Error in newdata[, object$scaled, drop = FALSE] :
(subscript) logical subscript too long
Tôi cũng đã cố gắng loại bỏ "tấm vé" dự đoán từ cả dữ liệu huấn luyện và thử nghiệm. Nhưng vẫn còn lỗi tương tự. Vấn đề là gì?
Khó trả lời mà không có ví dụ tái sản xuất. Lỗi nói rằng newdata của bạn (kiểm tra ở đây) không chứa đủ cột. – agstudy