问题标签 [mlr3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
98 浏览

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

其中mlr有一个绘制校准图的功能:

现在我想知道如何在mlr3使用learner$train(task)$predict(task). 我在 mlr3 书中没有找到这个主题。任何提示都非常感谢。

reprex 包于 2021-03-26 创建(v1.0.0)

0 投票
2 回答
102 浏览

mlr3 - 在 mlr3 中使用“classif.fbeta”作为性能度量时如何更改 Beta 值?

library(mlr3verse)
preformace_msr <- msr("classif.fbeta", beta = 1.5)

我正在尝试在 fbeta 度量中使用 BETA 的自定义值来调整分类模型。

但是上述试图给出 beta 值的方式在 mlr3 中会引发错误。

在 mlr3 中正确的做法是什么?

0 投票
1 回答
117 浏览

r - AUC 和 cvAUC 的 mlr3 置信区间

我想计算曲线下面积(AUC)和交叉验证(cv)AUC的置信区间mlr3

了解到,对于回归任务,这可以通过predict_type = "se"

我想知道如何在 AUC/cvAUC 内做到这一点mlr3

在下面的更新中提出了 mlr3 之外的 cvAUC 解决方案)。

示例数据:

reprex 包于 2021-04-02 创建(v1.0.0)

更新:

在外面mlr3我会用cvAUC包裹做

0 投票
1 回答
95 浏览

r - mlr3 优化的集合平均

我尝试使用超级学习器优化分类任务中两个逻辑回归的平均预测。

我感兴趣的衡量标准是classif.auc

mlr3帮助文件告诉我( ?mlr_learners_avg)

使用权重(按数据中出现的顺序)对预测进行平均,这些权重使用“nloptr”包中的非线性优化对 measure 中提供的度量进行优化( LearnerClassifAvg 的默认值为 classif.acc,LearnerRegrAvg 的默认值为 regr.mse)。学习的权重可以从 $model 获得。SuperLearner R 包中实现了使用非线性优化。如需更详细的分析,请参阅 LeDell (2015)。

关于此信息,我有两个问题:

  1. 当我查看源代码时,我认为LearnerClassifAvg$new()默认为"classif.ce",这是真的吗?我想我可以将其设置classif.aucparam_set$values <- list(measure="classif.auc",optimizer="nloptr",log_level="warn")

  2. 帮助文件指的是SuperLearner软件包和LeDell 2015。正如我正确理解的那样,上述论文中提出的“通过元学习最大化 AUC”解决方案在mlr3? 还是我错过了什么?这个解决方案可以应用mlr3吗?在mlr3书中我找到了关于调用外部优化函数的段落,这可能SuperLearner吗?

0 投票
0 回答
93 浏览

machine-learning - 您如何使用通过超频带调优和 mlr3 找到的最佳配置来预测新数据?

我正在使用mlr3一系列软件包和超频带方法来调整机器学习模型。一切进展顺利,但我无法弄清楚如何预测使用超频带找到新数据的最佳配置。

是否可以直接使用存储在结果中的信息来执行此操作instance- 或者我是否需要提取最佳配置(即instance$result),然后使用这些参数拟合一个新模型,然后我可以用它来预测?

在下面的示例中(从 mlr3 书中借用)如何使用存储的信息instance来预测新数据?

reprex 包于 2021-04-07 创建(v1.0.0)

0 投票
0 回答
21 浏览

r - 使用 predict_type="prob" 设置估计的门槛率

我用 predict_type="prob" 训练了一个学习者。在进行预测时,在计算度量时会应用“默认障碍率”。我想改变这个障碍率。我怎样才能做到这一点?

0 投票
1 回答
35 浏览

r - 图和图学习器之间的区别

我试图理解图和图学习器之间的区别。我可以用图表来 $train 和 $predict 。但我需要“包装器”才能使用行选择和分数(见下面的代码)。

有没有什么可以用不同时是学习者的图来完成?(在带有gr但不带有的代码中glrn

0 投票
1 回答
60 浏览

cross-validation - mlr3 中的留一法交叉验证

我喜欢在 mlr3 中使用 Leave-One-Out 交叉验证(作为管道的一部分)。

我可以指定折叠数(=实例数),例如通过

但这明确指的是可能无法在管道中工作的“任务”。

我该如何继续?

0 投票
0 回答
197 浏览

mlr3 - 在 MLR3 Ranger 设置 class.weights 中,错误“'xs' 上的断言失败:class.weights:必须长度为 1”

我想使用 MLR3 中的 Ranger 分类器设置 class.weights 参数。在基本 Ranger 包中,class.weights 参数采用向量。尝试在 MLR3 中设置相同的参数时,出现错误。

这运行良好。现在尝试使用 MLR3:

这会返回一个错误

self$assert(xs) 中的错误:“xs”上的断言失败:class.weights:必须长度为 1

检查 learner$param_set 表明 MLR3 期望 class.weight 的 ParamDBL,而不是列表,因此出现错误。

但是,如果你给它一个参数值,Ranger 会抛出一个错误

返回的错误如下:

ranger::ranger(dependent.variable.name = task$target_names, data = task$data(), 中的错误:错误:类权重的数量不等于类的数量

如何在 MLR3 中设置这个 class.weights 参数?

0 投票
1 回答
28 浏览

cross-validation - 当某些迭代具有 NaN 值时,在 mlr3 ResampleResult 中聚合性能度量

我想计算一个留一法重采样的所有迭代的聚合性能度量(精度)。

对于单次迭代,该度量的结果只能是 0、1(如果预测为正类)或 NaN(如果预测为负类。

我想将其聚合到整个重采样的现有值上,但聚合结果始终为 NaN(自然,多次迭代将是 NaN)。我无法弄清楚(从 ResampleResult$aggregate() 的帮助页面)如何做到这一点: