我正在使用 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
我确定这对我来说很愚蠢,但我找不到解决方案。任何提示将不胜感激。谢谢!