使用 kernlab 包错误预测 .local(object, ...) 中的错误:测试向量与模型 R 不匹配

nop*_*eva 5 r predict kernlab

我正在测试kernlab回归问题中的包。'Error in .local(object, ...) : test vector does not match model !ksvm对象传递给predict函数时,这似乎是一个常见的问题。但是,我刚刚找到了不适用于我的问题的分类问题或自定义内核的答案(我使用内置的进行回归)。我在这里没有想法了,我的示例代码是:

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
                )
Run Code Online (Sandbox Code Playgroud)

nog*_*pes 5

您忘记删除y测试集中的变量,因此测试失败,因为预测变量的数量不匹配。这将起作用:

predict(mod,ts[,-1])
Run Code Online (Sandbox Code Playgroud)