首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用plot.train时卡雷特-缩放支持向量机调整参数t (Sigma)

使用plot.train时卡雷特-缩放支持向量机调整参数t (Sigma)
EN

Stack Overflow用户
提问于 2015-08-27 22:38:43
回答 1查看 5.2K关注 0票数 2

我使用Caret软件包来调优支持向量机模型。

在绘制结果时,是否有一种方法可以缩放与Sigma值类似的Cost值(如所附图所示)。

下面是我的调优值:

代码语言:javascript
复制
svmGrid <- expand.grid(sigma= 2^c(-25, -20, -15,-10, -5, 0), C= 2^c(0:5))

生成情节的代码:

代码语言:javascript
复制
pdf("./Figures/svm/svmFit_all.pdf", width=7, height = 5)
trellis.par.set(caretTheme())
plot(svmFit.all, scales = list(x = list(log = 2)))
dev.off()

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-28 19:03:43

你必须自己做,通过格子:

代码语言:javascript
复制
library(caret)

set.seed(1345)
dat <- twoClassSim(2000)

svmGrid <- expand.grid(sigma= 2^c(-25, -20, -15,-10, -5, 0), C= 2^c(0:5))

set.seed(45)
mod <- train(Class ~ ., data = dat, 
             method = "svmRadial",
             preProc = c("center", "scale"),
             tuneGrid = svmGrid,
             metric = "ROC",
             trControl = trainControl(method = "cv", 
                                      classProbs = TRUE, 
                                      summaryFunction = twoClassSummary))

tmp <- mod$results
tmp$sigma2 <- paste0("2^", format(log2(tmp$sigma)))

xyplot(ROC ~ C, data = tmp, 
       groups = sigma2,
       type = c("p", "l"),
       auto.key = list(columns = 4, lines = TRUE),
       scales = list(x = list(log = 2)),
       xlab = "Cost", 
       ylab = "ROC (Cross-Validation)")

最大值

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32260559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档