Функция прогнозирования для ksvm не найдена?
Я пытаюсь использовать функцию predict.ksvm
из библиотеки kernlab
в R. Я читал документацию по следующей ссылке: https://www.rdocumentation.org/packages/kernlab/versions/0.9-27/topics/predict.ksvm
Функция ksvm работает, так что это просто функция предсказания, которая в настоящее время не работает.
Код:
library(kernlab)
mySvm<-ksvm(x=as.matrix(train[,-4703]),y=train[,4703],kernel="vanilladot")
predSvm<-predict.ksvm(mySvm,newdata=test[,-4703])
Ошибка:
Error in predict.ksvm(mySvm, newdata = test[, -4703]) :
could not find function "predict.ksvm"
1 ответ
Попробуй просто
predSvm <- predict(mySvm, newdata = test[,-4703])
Это должно работать, потому что mySvm
является объектом класса ksvm
и соответствующий метод функции будет автоматически выбран для него.
Когда ты пишешь
predSvm <- predict.ksvm(mySvm, newdata = test[,-4703])
это не работает, потому что predict
метод для ksvm
класс несколько скрыт от вас, делает вид, что не существует. Если бы это было S3
функция, вы могли бы написать kernlab:::predict.ksvm
, но в данном случае это S4
функция, так что вам нужно getMethod("predict", "ksvm")
как увидеть функцию.