2

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

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

我确定这对我来说很愚蠢,但我找不到解决方案。任何提示将不胜感激。谢谢!

4

0 回答 0