找不到ksvm的预测功能?

时间:2018-12-12 09:36:45

标签: r kernlab

我正在尝试使用R中库predict.ksvm中的函数kernlab。 我一直在以下链接中阅读文档: already

函数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 个答案:

答案 0 :(得分:1)

简单尝试

predSvm <- predict(mySvm, newdata = test[,-4703])

它应该起作用,因为mySvm是类ksvm的对象,并且会自动为其选择适当的函数 method

写作时

predSvm <- predict.ksvm(mySvm, newdata = test[,-4703])

它不起作用,因为predict类的ksvm方法对您来说有些隐匿,假装不存在。如果它是S3函数,则可以编写kernlab:::predict.ksvm,但是在这种情况下,它是S4函数,因此需要getMethod("predict", "ksvm")才能看到该函数。