问题标签 [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 回答
56 浏览

mlr3 - 如何修复 PipeOP 的状态?

我们如何修复 a PipeOp$state使其参数或配置从一开始就固定,并在训练和预测中保持不变。

在上面的代码中,即使我尝试将它们分别固定为零和二(不确定我是否正确地这样做),参数centerscalefrom也会根据数据重新计算。po("scale")

0 投票
1 回答
87 浏览

r - 如果我使用“holdout”重采样,如何访问训练集的度量(例如:“classif.acc”或其他度量)?

我正在学习 R 中机器学习的 mlr3 包。我使用“holdout”重采样将数据分成训练集和测试集,如何获得训练集的度量?即使我将“predict_set”指定为“train.

0 投票
1 回答
66 浏览

r - 如何在管道中重命名 mlr3 任务特征值

我有一个 mlr3 任务

如何在管道中将功能“v1”值“a”重命名为值“c”?

编码:

给出输出(见第 v1 列,第 2 行):

但是需要输出

0 投票
1 回答
55 浏览

machine-learning - 在 mlr3 中创建学习者:sprintf(msg, ...) 中的错误:参数太少

我想使用 distRforest 包在 mlr3 中创建一个学习器。

我的代码:

给出以下错误: sprintf(msg, ...) 中的错误:参数太少

事实上,复制教程https://mlr3book.mlr-org.com/extending-learners.html中的代码会引发相同的错误。

有任何想法吗?非常感谢-c

0 投票
1 回答
81 浏览

r - 无法在 R 中使用带有虹膜数据的手电筒包计算交互?

所以我试图将flashlight包与虹膜数据一起使用。提供的功能之一flashlight是计算称为 的变量之间的相互作用light_interactionlight_interaction如果我使用lm模型,我可以开始工作,但如果我使用[mlr3旁注:如果我使用创建回归模型mlr3,它与手电筒交互功能完美配合......我只是可以'不能让它用于分类......我需要手电筒来使用 mlr3 来处理我的包裹]。在下面的代码中,我展示了一个使用lm模型的示例......以及一个不使用的示例mlr3......我做错了什么吗?

lm有效的模型示例:

mlr3不起作用的模型:

这会抛出一个错误说:

rowsum.default(xx * ww, gg) 中的错误:“x”必须是数字另外:警告消息:在 Ops.factor(xx,ww) 中:“*”对因子没有意义

0 投票
1 回答
177 浏览

nnet - 我如何在 mlr3 中包含学习者

我在 mlr3 中使用 rpart 库,但是当我将其更改为其他学习者(如 nnet)时,它给了我在 DictionaryLearner 中找不到的错误。在我的代码中,只有 rpart 正在工作,所有其他学习者(如 nnet、svm)都会出错。

我正在使用以下代码

0 投票
1 回答
117 浏览

r - mlr3 中的嵌套分支(和依赖项)

我正在尝试使用 information_gain 和 mrmr 特征过滤,但也是 information_gain 和 mrmr 特征过滤的组合(两者的结合)。我试过在下面创建一个代表。

管道图

到目前为止看起来不错,在这里您可以看到我正在尝试结合 ig 和 mrmr 选择的功能。

接下来我设置参数,我认为是正确的:

依赖项是我苦苦挣扎的地方。我可以在外部分支或内部分支上设置“嵌套”参数,但我不确定如何在两者上触发它们。在下面的示例中,它们设置在外部分支上。

请注意,在我尝试优化调谐器之前,我不会遇到错误。

错误信息:

0 投票
1 回答
124 浏览

parallel-processing - 在堆叠学习器(分类学习器的集合/堆栈)中重新采样的并行化不起作用

下面的代码工作正常,但是,我有兴趣并行运行它。我在内部尝试了不同的计划futurefuture.apply但无法管理。任何帮助表示赞赏。我在 Windows 操作系统上运行,8 个内核。

reprex 包于 2020-12-15 创建(v0.3.0)

0 投票
1 回答
303 浏览

mlr3 - 如何使用嵌套超参数优化在 mlr3 中测试我们的模型

刚开始学习mlr3,看了mlr3的书(参数优化)。在书中,他们提供了嵌套超参数的示例,但我不知道如何提供最终预测,即预测(模型、测试数据)。以下代码提供了学习器、任务、内部重采样(holdout)、外部重采样(3-fold CV)和用于调整的网格搜索。我的问题是:

0 投票
0 回答
107 浏览

r - 在引导中使用数据转换的 MLR3 遇到错误

我正在尝试使用引导重采样作为我在 mlr3 中的交叉验证,并且一直在追踪错误的原因:

as_data_backend.data.frame(backend, primary_key = row_ids) 中的错误:“primary_key”断言失败:包含重复值,位置 2。

位置发生变化(可能是第一个重复的行)。根据错误消息,我首先认为包含行名是一个问题,所以我将它们设置为 col_type$name,并尝试在创建任务之前从数据中删除行名(运气不好!)。

在尝试创建一个代表时,我将其范围缩小以将管道运算符(如“scale”和“pca”)转换为原因:

我也尝试过网格搜索而不是随机的不同学习者,包括 rsmp 中的标志“duplicated_ids = TRUE”,但没有运气。但是,更改为 CV 交叉验证确实可以解决问题。

作为参考,在完整的管道/图中,我正在尝试不同的特征过滤器和学习器来识别候选管道。