我正在使用kernlab来学习内核SVM的基础知识,并且在绘制应用于路透社数据集的模型的结果时遇到了一些困难 .

Jean-Philippe Vert撰写了一篇精彩的教程,我正在关注(http://members.cbio.mines-paristech.fr/~jvert/svn/tutorials/practical/stringkernels/stringkernels.R),但我想修改它以包含实际决策边界的图,而不仅仅是错误 . 我的代码看起来像这样:

library(kernlab)
data(reuters)

y <- rlabels
x <- reuters

kmax <- 20
errspectrum <- numeric(kmax)
errboundrange <- numeric(kmax)

for (k in seq(kmax)) {
  cat('.')
  sk <- stringdot(type="spectrum", length=k, normalized=TRUE)
  svp <- ksvm(x,y,kernel=sk,scale=c(),cross=5)
  plot(svp, data = x, main = k)
  errspectrum[k] <- cross(svp)
  sk <- stringdot(type="boundrange", length=k, normalized=TRUE)
  svp <- ksvm(x,y,kernel=sk,scale=c(),cross=5)
  errboundrange[k] <- cross(svp)    
}

他们的关键行是 plot(svp, data = x, main = k) - 我想绘制这样的东西:https://github.com/topepo/caret/issues/337但是我收到以下错误:

Error in sub[, 2] : subscript out of bounds

我确信这对我来说是愚蠢的,但我找不到解决方案 . 任何提示将非常感激 . 谢谢!