问题标签 [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.
xgboost - 为什么 xgboost 在与 mlr3 一起使用时不计算所有变量的重要性?
所以,我使用的是在这里找到的超导数据集……它包含 82 个变量,我将数据子集为 2000 行。但是当我使用xgboost
它mlr3
时并没有计算所有变量的重要性!?
这是我设置所有内容的方式:
这会输出如下内容:
正如你所看到的,那里只有 11 个变量......什么时候应该有 81 个ranger
......
关于正在发生的事情有什么建议吗?
r - 合奏的 MLR3 平均分数
使用非常有用的mlr3 book中的一个示例,我试图简单地返回堆叠模型输出的平均分数。有人可以解释一下如何使用 mlr3 做到这一点吗?我尝试使用LearnerClassifAvg$new( id = "classif.avg")和po("classifavg"),但不确定我是否正确应用了这些,谢谢
例子:
r - 使用 mlr3 PipeOps 创建具有不同数据子集的分支
我想在不同的数据子集上训练模型mlr3
,我想知道是否有办法在管道中的不同数据子集上训练模型。
我想做的类似于R for Data Science - Chapter 25: Many models中的示例。假设我们使用相同的数据集 ,gapminder
该数据集包含世界各国的不同变量,例如 GDP 和预期寿命。如果我想为每个国家/地区训练预期寿命模型,是否有一种简单的方法可以使用创建这样的管道mlr3
?
理想情况下,我想mlr3pipelines
在图中为每个子集创建一个分支(例如,每个国家/地区的一个单独的分支),最后有一个模型。因此,最终图将从单个节点开始,并n
在末端节点训练有素的学习器,数据集中的每个组(即国家)一个,或者聚合结果的最终节点。我还希望它适用于新数据,例如,如果我们在未来获得 2020 年的新数据,我希望它能够使用为该特定国家训练的模型为每个国家创建预测。
我发现的所有mlr3
示例似乎都处理整个数据集的模型,或者使用训练集中的所有组训练了模型。
目前,我只是为每组数据手动创建一个单独的任务,但是将数据子集步骤合并到建模管道中会很好。
r - mlr3:从 surv.gbm 获得响应(预测生存时间)
mlr3 框架中的 surv.gbm 输出线性预测变量,但我真正感兴趣的是每个案例的预测生存时间,我想将其与实际生存时间进行比较。有没有办法获得实际的生存时间?
在 mlr3 书中,有一个线性预测变量和分布之间的转换示例。
有没有办法改变这个管道,以便将 "lp" 转换为 "response" ?
任何帮助都将不胜感激。
r - mlr3 - 对新数据应用预处理
在这里使用lmr3verse
包。假设我对用于训练的训练集应用了以下预处理Learner
:
我想使用命令预测数据框中(带有原始变量)中包含的新观察结果的pred
标签predict(Learner, newdata = pred, predict_type="prob")
。这是行不通的,因为Learner
它是使用居中、缩放和单热编码变量进行训练的。
如何将训练集上使用的相同预处理应用于新数据(仅特征,而不是响应)以进行预测?
r - mlr3 - 预测的置信区间
在调整学习器并使用它之后,我们可以使用它通过命令行进行预测
但是,我们如何计算预测的置信区间?
r - mlr3 将最终模型保存在哪里?
训练学习者后,将最终模型保存在哪里mlr3
--- learner$train(data)
?通过“最终模型”,我的意思是类似于由以下代码生成的列表:
有没有办法提取这个列表/对象?
r - mlr3 - 如何使用“mlr3”接口删除不完整的观察
task <- TaskRegr$new("data", data, "y")
是否可以使用过滤器或管道删除任务中的不完整观察mlr3
?
mlr3 - mlr3 - 编辑`task$data()`
有没有办法用完全相同的 colnames编辑task$data()
或替换它?data.frame()
我已经尝试了以下task_train$data() <- newDF
和task_train$data <- newDF
. 它们都分别导致Error in task_train$data() <- di : invalid (NULL) left side of assignment
和Error in task_train$data <- newDF: cannot change value of locked binding for 'data'
。
r - 带有 mlr3::autoplot() 的 ROC 曲线用于“保持”重采样的基准测试
我正在使用 mlr3 包,我想为不同的模型绘制 ROC 曲线。如果我按照文档中的说明使用交叉验证,它工作得很好,但是如果我使用“holdout”进行重采样,那么我会得到一个错误Error: Invalid show_cb. Inconsistent with calc_avg of evalmod.
。
这是代码:
感谢您的帮助,马修