2013-09-24 29 views
2

我在迴歸問題中測試kernlab包。當將ksvm對象傳遞給predict函數時,看起來是'Error in .local(object, ...) : test vector does not match model !的常見問題。然而,我只是找到了分類問題或不適用於我的問題的自定義內核的答案(我正在使用內置的迴歸)。我跑出來的想法在這裏,我的示例代碼:預測與kernlab包錯誤.local(對象,...)中的錯誤:測試向量與模型不匹配R

data <- matrix(rnorm(200*10),200,10) 
tr <- data[1:150,] 
ts <- data[151:200,] 

mod <- ksvm(x = tr[,-1], 
      y = tr[,1], 
      kernel = "rbfdot", type = 'nu-svr', 
      kpar = "automatic", C = 60, cross = 3) 

pred <- predict(mod, 
       ts 
       ) 

回答

3

你忘了刪除測試集中的y變量,是因爲預測的數量不匹配失敗。這將工作:

predict(mod,ts[,-1]) 
+0

有時函數需要響應,其他時間不......謝謝! – nopeva

+0

@eccehomo何時需要回應? – nograpes

+0

我指的是像'caret'這樣的其他軟件包。如果你嘗試使用'train = rf'函數''例如你應該提供響應以及預測。 – nopeva