如何在 mlr3 中绘制二元分类器的校准图

Posted

技术标签:

【中文标题】如何在 mlr3 中绘制二元分类器的校准图【英文标题】:how to draw a calibration plot of a binary classifier in mlr3 【发布时间】:2021-03-26 14:49:51 【问题描述】:

mlr 中有一个绘制校准图的函数:

## mlr approach
# train predict
library(mlr)
lrn = makeLearner("classif.rpart", predict.type = "prob")
mod = train(lrn, task = sonar.task)
pred = predict(mod, task = sonar.task)

# make calibration plot
cal = generateCalibrationData(pred)
plotCalibration(cal, smooth=TRUE)
#> `geom_smooth()` using formula 'y ~ x'

现在我想知道如何使用learner$train(task)$predict(task) 的输出在mlr3 中绘制一个漂亮的校准图。 我在 mlr3 书中没有找到这个主题。 任何提示都非常感谢。

## mlr3 approach
# train/predict
library(mlr3)

data("Sonar", package = "mlbench")
task = TaskClassif$new(id = "Sonar", Sonar, target = "Class", positive = "R")
learner = lrn("classif.rpart", predict_type = "prob")
pred = learner$train(task)$predict(task)

由reprex package (v1.0.0) 于 2021 年 3 月 26 日创建

【问题讨论】:

目前mlr3中没有这个功能。我在 mlr3viz 包github.com/mlr-org/mlr3viz/issues/71 中打开了一个问题。 谢谢。不急。我想大多数用户都会自己使用ggplot2来绘制这样的情节。由于我还是 mlr3 的新手,我只是想知道是否有办法在 mlr3 中部署一些“旧”mlr 功能。 【参考方案1】:

根据jakob-r的评论,mlr3还没有这个功能。它可能会在mlr3 中提供。

【讨论】:

以上是关于如何在 mlr3 中绘制二元分类器的校准图的主要内容,如果未能解决你的问题,请参考以下文章

了解二元分类器的精度和召回结果

在 scikit-learn 中获得二元概率分类器的最大准确度

DNN二元分类器的准确率没有增加

如何绘制具有多个数据集的多个分类器的准确性 [关闭]

如何从具有 2 个输出神经元的 softmax 二元分类器绘制 ROC 曲线?

校准会提高 roc 分数吗?