可视化回归学习器基准实验结果的选项有哪些?例如,generateCalibrationData
不接受从一组regr.
学习者派生的基准结果对象。我想要类似于可用于分类的校准图的东西。
为了回应@LarsKotthoff 的评论,我(OP)编辑了我的原始帖子,以提供更多关于我正在寻找的功能的详细信息。
编辑:
我正在寻找实际与预测的校准类型图,例如简单的散点图或类似于Classifier Calibration下存在的图。如果我没记错的话,以下对于回归问题是有意义的(并且似乎是为分类器校准所做的):
决定一些桶来离散化 x 轴上的预测,比如 10 个等长的箱(显然你可以继续使用
breaks
和groups
接口到generateCalibrationData
当前存在的)对于这些箱 10 中的每一个,计算平均值“预测”并在 x 轴上绘制(例如通过一个点)(可能具有某种可变性度量)并连接 10 个箱中的点
对于这些箱 10 中的每一个,计算平均“实际”并在 y 轴上绘制(可能具有某种可变性度量)并连接点
提供每个桶中体积的一些表示(就像您通过“rag/rug”图对分类器校准所做的那样)
我的问题背后的基本前提是可以提供什么样的可视化来帮助解释 rsq、mae等性能测量。有许多实际与预测的配置可以导致相同的 rsq、mae 等。
一旦存在某个图,打开/关闭聚合将允许检查单个重采样结果。
我希望这样的组合:
cal <- generateCalibrationData(bmr)
plotCalibration(cal)
将可用于回归任务,目前似乎不可用(下面的可重现示例):
# Practice Data
library("mlr")
library(mlbench)
data(BostonHousing)
dim(BostonHousing)
head(BostonHousing)
# Define Nested Cross-Validation Strategy
cv.inner <- makeResampleDesc("CV", iters = 2)
cv.outer <- makeResampleDesc("CV", iters = 6)
# Define Performance Measures
perf.measures <- list(rsq, mae)
# Create Task
bh.task <- makeRegrTask(id = "bh",
data = BostonHousing,
target = "medv")
# Create Tuned KSVM Learner
ksvm <- makeLearner("regr.ksvm")
ksvm.ps <- makeParamSet(makeDiscreteParam("C", values = 2^(-2:2)),
makeDiscreteParam("sigma", values = 2^(-2:2)))
ksvm.ctrl <- makeTuneControlGrid()
ksvm.lrn = makeTuneWrapper(ksvm,
resampling = cv.inner,
measures = perf.measures,
par.set = ksvm.ps,
control = ksvm.ctrl,
show.info = FALSE)
# Create Tuned Random Forest Learner
rf <- makeLearner("regr.randomForest",
fix.factors.prediction = TRUE)
rf.ps <- makeParamSet(makeDiscreteParam("mtry", values = c(2, 3, 5)))
rf.ctrl <- makeTuneControlGrid()
rf.lrn = makeTuneWrapper(rf,
resampling = cv.inner,
measures = perf.measures,
par.set = rf.ps,
control = rf.ctrl,
show.info = FALSE)
# Run Cross-Validation Experiments
bh.lrns = list(ksvm.lrn, rf.lrn)
bh.bmr <- benchmark(learners = bh.lrns,
tasks = bh.task,
resampling = cv.outer,
measures = perf.measures,
show.info = FALSE)
# Calibration Charts
bh.cal <- generateCalibrationData(bh.bmr)
plotCalibration(bh.cal)
产生:
> bh.cal <- generateCalibrationData(bh.bmr)
Error in checkPrediction(x, task.type = "classif", predict.type = "prob") :
Prediction must be one of 'classif', but is: 'regr'
> sessionInfo()
R version 3.2.3 (2015-12-10)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] mlbench_2.1-1 ROCR_1.0-7 gplots_3.0.1 mlr_2.9
[5] stringi_1.1.1 ParamHelpers_1.10 ggplot2_2.1.0 BBmisc_1.10
loaded via a namespace (and not attached):
[1] digest_0.6.9 htmltools_0.3.5 R6_2.2.0 splines_3.2.3
[5] scales_0.4.0 assertthat_0.1 grid_3.2.3 stringr_1.0.0
[9] bitops_1.0-6 checkmate_1.8.2 gdata_2.17.0 survival_2.38-3
[13] munsell_0.4.3 tibble_1.2 randomForest_4.6-12 httpuv_1.3.3
[17] parallelMap_1.3 mime_0.5 DBI_0.5-1 labeling_0.3
[21] chron_2.3-47 shiny_1.0.0 KernSmooth_2.23-15 plyr_1.8.4
[25] data.table_1.9.6 magrittr_1.5 reshape2_1.4.1 kernlab_0.9-25
[29] ggvis_0.4.3 caTools_1.17.1 gtable_0.2.0 colorspace_1.2-6
[33] tools_3.2.3 parallel_3.2.3 dplyr_0.5.0 xtable_1.8-2
[37] gtools_3.5.0 backports_1.0.4 Rcpp_0.12.4