我已經訓練了一個svm模型。我想測試它,但是我在predict()函數中遇到了一個錯誤。爲了簡單起見,我在這裏將測試和訓練數據分成非隨機70/30分割。svm預測中的錯誤
library(e1071)
train <- mydata[1:9731, ]
test <- mydata[(9731+1):13901, ]
mysvm <- svm(formula = outcome ~ BW + GA, data = train, type = "C-classification", kernel = "linear", gamma = 1, cost = 2)
predict(mysvm, newdata=test)
的錯誤信息是從預測()是:
Error in names(ret2) <- rowns :
'names' attribute [4170] must be the same length as the vector [4106]
數據的頭部看起來像......
> head(mydata)
BW outcome GA
1 2.00 Survived 34
2 2.81 Survived 41
3 1.85 Survived 35
4 2.23 Survived 32
5 1.21 Survived 34
6 2.91 Survived 37
This user有同樣的錯誤消息。問題在於他/他沒有使用數據框。這不是我的問題。
> class(test)
[1] "data.frame"
> class(train)
[1] "data.frame"
我不知道爲什麼這個錯誤發生或者是什麼意思。回溯()和調試(預測)也沒有幫助。
你可以顯示你的原始數據的頭(duput())嗎? (mydata) – erasmortg