簡體   English   中英

使用 kernlab 包錯誤預測 .local(object, ...) 中的錯誤:測試向量與模型 R 不匹配

[英]predict with kernlab package error Error in .local(object, …) : test vector does not match model R

我正在測試回歸問題中的kernlab包。 'Error in .local(object, ...) : test vector does not match model !似乎是一個常見的問題'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
                )

您忘記刪除測試集中的y變量,因此它失敗了,因為預測變量的數量不匹配。 這將起作用:

predict(mod,ts[,-1])

如果ts是數據幀pred <- predict(mod, ts)您可以使用pred <- predict(mod, ts)

這將是

    data <- setNames(data.frame(matrix(rnorm(200*10),200,10)),
                     c("Y",paste("X", 1:9, sep = "")))
    tr <- data[1:150,]
    ts <- data[151:200,]

    mod <- ksvm(as.formula("Y ~ ."), data = tr,
        kernel = "rbfdot", type = 'nu-svr',
        kpar = "automatic", C = 60, cross = 3)

    pred <- predict(mod, ts)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM