根据kernlab文档中的示例,plot可以很好地反映SVM模型的决策权重和边界。
require(kernlab)
x<- rbind(matrix(rnorm(n=120,mean=-1,sd=2),,2),matrix(rnorm(120,mean=3,sd=2),,2))
y <- matrix(c(rep(1,60),rep(-1,60)))
svp <- ksvm(x,y,type="C-svc",kernel="vanilladot")
plot(svp,data=x)
但是,我想更改背景渐变的默认颜色。有什么建议怎么做?我已经研究了编辑(情节),但是对于通用函数来说,我不够自在地知道要改变什么。谢谢!
答案 0 :(得分:1)
如果您使用showMethods("plot")
然后getMethod("plot", c("ksvm", "missing"))
查看,则您会看到绘图功能会创建自己的颜色:
[...]
mycols <- c(hcl(0, 100 * (nl:0/nl)^1.3, 90 - 40 *
(nl:0/nl)^1.3), rev(hcl(260, 100 * (nl:0/nl)^1.3,
90 - 40 * (nl:0/nl)^1.3)))
[...]
并将其用于绘图:
[...]
filled.contour(xr, yr, matrix(as.numeric(preds),
nrow = length(xr), byrow = TRUE), col = mycols,
[...]
这意味着您无法轻松更改颜色,而是将其硬编码到ksvm
plot()
。
你能做的是
plot()
函数的副本,并重写它,以便您可以覆盖默认颜色。