r - 在基准实验后绘制训练指标
问题描述
我想在基准实验后访问和绘制训练准确度和测试准确度。我使用准确性作为衡量标准。
如果我将准确度的聚合设置为 train.acc 并创建 test.acc 和 train.acc 的列表,则无法绘制基准结果,因为数据框中有两列“acc”类,它们是偶然相同。但是,即使未指定聚合,我也可以看到基准结果包含训练准确度,因为我已将学习者的 predict.type 设置为“both”。
我想到了一种解决方法,即从基准对象中提取 train.acc 并将其聚合并自己绘制。
我怎么做?有没有更简单的方法?
谢谢!
#Learners
learner_GLM <- makeLearner(cl = "classif.glmnet")
learner_SVM <- makeLearner(cl = "classif.ksvm")
learner_PCA <- cpoPca(rank=2) %>>% learner_GLM
#Data
dataA = datasets::iris
dataB = datasets::iris
#Task
task.A = makeClassifTask(data = dataA,target = "Species" )
task.B = makeClassifTask(data = dataB,target = "Species" )
task = list(task.A, task.B )
#Resample
inner = makeResampleDesc("CV", iters = 2, predict = "both")
outer = makeResampleDesc("CV", iters = 2, predict = "both")
#Tune wrappers
##Ctrl
ctrl = makeTuneControlRandom(maxit = 3L)
#1
numeric_ps = makeParamSet(
makeNumericParam("s", lower = -2, upper = 2, trafo = function(x) 2^x))
learner_GLM = makeTuneWrapper(learner_GLM, resampling =inner, par.set = numeric_ps, control = ctrl, show.info = FALSE)
#2
learner_PCA <- makeTuneWrapper(learner_PCA, resampling =inner, par.set = numeric_ps, control = ctrl, show.info = FALSE)
#3
numeric_ps = makeParamSet(
makeNumericParam("C", lower = -2, upper = 2, trafo = function(x) 2^x),
makeNumericParam("sigma", lower = -2, upper = 2, trafo = function(x) 2^x)
)
learner_SVM = makeTuneWrapper(learner_SVM, resampling = inner, par.set = numeric_ps, control = ctrl)
#Measures
trainaccuracy = setAggregation(acc, train.mean)
measures = list(acc, trainaccuracy)
#BMR
learners = list(learner_GLM,learner_SVM, learner_PCA)
bmr = benchmark(learners, task, outer, measures = measures, show.info = FALSE)
#Plot
plotBMRBoxplots(bmr, acc, style = "violin")
bmr$results$dataA$classif.glmnet.tuned$measures.train
bmr$results$dataA$classif.glmnet.tuned$measures.test
解决方案
推荐阅读
- amazon-emr - EMR Jupyter Notebook 的访问凭证
- collections - Rust 中表示不同类型项目集合的惯用方式是什么?
- dart - 活动选项卡未使用 BottomNavigationBar 突出显示(打开然后关闭)
- javascript - 使用 POST 请求按下按钮并从 Python 中的弹出窗口中抓取数据
- react-admin - 每个资源的选项卡式布局
- java - 为什么 Photon 找不到 JavaFx 库
- python - TypeError:“模块”对象没有属性“__getitem__”,tdd restful api
- r - 将“所有”类别添加到 ggplots2 绘图
- javascript - 仅使用纯 JavaScript 将 <> 箭头替换为 HTML
- javascript - JSON 数据到数组