【发布时间】:2021-04-02 23:29:04
【问题描述】:
我尝试使用超级学习器优化分类任务中两个逻辑回归的平均预测。
我的兴趣是classif.auc
mlr3 帮助文件告诉我 (?mlr_learners_avg)
使用权重对预测进行平均(按照出现在 数据)使用非线性优化从 包“nloptr”用于度量中提供的度量(默认为 对于 LearnerClassifAvg 的 classif.acc 和对于 LearnerRegrAvg 的 regr.mse)。 学习的权重可以从 $model 获得。使用非线性 优化在 SuperLearner R 包中实现。对于更多 详细分析请参考 LeDell (2015)。
关于此信息,我有两个问题:
-
当我查看source code 时,我认为
LearnerClassifAvg$new()默认为"classif.ce",这是真的吗? 我想我可以将它设置为classif.auc和param_set$values <- list(measure="classif.auc",optimizer="nloptr",log_level="warn") -
帮助文件参考
SuperLearner包和LeDell 2015。据我正确理解,上述论文中提出的“AUC-Maximizing Ensembles through Metalearning”解决方案在mlr3中没有受到影响?还是我错过了什么?这个解决方案可以在mlr3中应用吗?在mlr3书中我发现了一段关于calling an external optimization function 的段落,SuperLearner可以吗?
【问题讨论】:
-
> "默认为 "classif.ce",是这样吗?是的,严格来说需要在此处修复文档,尽管优化
classif.acc和classif.ce在功能上是等效的(一个最大化准确性,另一个最小化错误分类错误)。 -
感谢您的澄清。据我正确理解
LearnerClassifAvg从 Nloptr 调用 NLOPT_LN_COBYLA 算法。您是否计划实施 AUC 最大化金属学习器(如引用的参考建议)? -
嗨!尝试类似的东西。工作了吗?如果是这样,你介意分享一段你所做的代码吗?谢谢!
标签: r mlr3 superlearner