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

dependencies - MLR3 在学习器分支/依赖项中使用 trafo(转换)在转置时遇到“非数字参数”错误

我正在尝试使用实例调整一些模型,因此有一个包含多个模型的分支步骤。我已经构建了管道并且在没有需要 trafos 的模型的情况下工作。设置了参数,并且依赖项工作正常。我使用 trafos 是因为我更喜欢在指数范围内搜索,而不是线性搜索某些参数。trafos 在添加依赖项之前工作,但显然管道在没有依赖项的情况下无法工作。添加依赖项会破坏 trafos。

有趣的是,在创建一个代表时,我意识到错误不需要任务、管道等,它发生在 trafo/参数集的级别,但只有当管道中有超过 1 个学习者时!

错误消息是Error in exp(x$classif.svm.gamma) : non-numeric argument to mathematical function

同样,该错误仅在有多个学习者并因此需要依赖项时才会发生(只要它是唯一的学习者,它就可以与分支/取消分支一起使用),并且它使网格在没有该transpose()功能的情况下也很好。

我想知道是否需要为 trafo 编写不同的代码才能在依赖项下正常运行。

0 投票
1 回答
137 浏览

classification - makeClassifTask 中的错误 - 要加入的列必须指定“on=”

我在这里收到 MLR 包中的 makeClassifTask() 的错误。

输入这个我得到这个错误。

提供的数据不是纯 data.frame 而是来自类 data.table,因此它将被转换。(data, target)中的错误[.data.table:当 i 是 data.table(或字符向量)时,必须使用 'on=' 参数(参见 ?data.table)指定要连接的列,通过键入 x(即排序,并且,标记为已排序,参见 ?setkey),或者通过在 x 和 i 之间共享列名(即自然连接)。由于 x 在 RAM 中排序,键连接可能对非常大的数据有进一步的速度优势。

如果有人可以帮助我,那就太好了。

0 投票
2 回答
140 浏览

r - 如何更改列名以符合 mlr3 的命名约定

我想使用许多(> 50K)标记作为特征名称执行文本分类。但是,其中的Task()函数mlr3不允许列名中有很多字符,这些字符会被传递,make.names否则很好。这是我到目前为止找到的它们的列表:

如何使我的 data.frame 与 兼容mlr3,而无需以这种方式手动替换所有特殊字符(反复试验)?make.names()显然行不通!

我将非常感谢一些帮助:) 谢谢!

0 投票
2 回答
133 浏览

r - 使用相同任务的 svm 和 ranger 的不同运行时

我已经对这两个学习者的运行时间进行了基准测试,并在 {ranger} 和 {svm} 正在训练时截取了 {htop} 的两个屏幕截图,以使我的观点更加清晰。正如这篇文章的标题所述,我的问题是为什么 svm 中的训练/预测与其他学习者(在本例中为游侠)相比如此缓慢?它与学习者的底层结构有关吗?还是我在代码中犯了错误?或者...?任何帮助表示赞赏。

游侠训练时的 htop 游侠训练时的 htop;使用所有线程。

svm 训练时的 htop svm 训练时的 htop;仅使用 2 个线程。

代码:

reprex 包于 2021-01-12 创建(v0.3.0)

0 投票
0 回答
40 浏览

r - 我们有混合输出类型(连续、类、生存)的回归链

我是 MLR3 的新手,我很喜欢它!那里做得很好!Lennart Schneider 提供了一个非常好的回归链示例https://mlr3gallery.mlr-org.com/posts/2020-04-18-regression-chains/ 这让我开始思考——如何使用混合类型的输出来实现它。假设例如(改编自他的例子):

Step1 很清楚并且保持不变(直接从示例中复制):

当 Y2 是类输出(步骤 2 是分类步骤)且步骤 3 是生存数据(步骤 3 是生存步骤)时,管道的其余部分如何进行。

如果您愿意,我可以提供更多信息。

提前谢谢了

0 投票
1 回答
54 浏览

mlr3 - adding classif.imbalanced.rfsrc in mlr3

First of all, many thanks to the guys @mlr3!

The package randomForestSRC in R has a new function called imbalanced.rfsrc to help deal with class imbalance in classification. Will this learner be accessible in mlr3? imbalanced.rfsrc seems to work very well and also seems to implement state of the art approaches to dealing with class imbalance.

Thank you

0 投票
2 回答
61 浏览

r - 如何访问基准拟合的参数?

这是一个非常基本的问题,但我在其他网站上没有找到答案,所以我不得不在这里问这个问题。

我在 mlr3 库中使用 benchmark(design,store_models) 函数安装了我的“classif.ranger”学习器,我需要访问拟合的参数(obv)。我在基准文档中没有发现任何关于它的信息,所以我尝试以艰难的方式进行:-> 我将 store_models 设置为 TRUE -> 我尝试使用 fit() 访问模型,但它返回 NULL。

我知道这个问题是基本的,而且我可能在做一些愚蠢的事情(例如误读文档或类似的东西),但我只是不知道如何实际访问参数......请帮忙。

如果在这种(可能)微不足道的情况下需要它,代码如下:

这是一些与问题无关的代码现在相关代码:

0 投票
0 回答
163 浏览

mlr3 - mlr3 中随机森林学习器的参数化

在使用 mlr3 时,我正在努力通过图书馆护林员训练随机森林。我设置了 3 个参数,但不知道如何初始化训练。有人可以帮我在 r 中调试这段代码吗?

0 投票
0 回答
67 浏览

mlr3 - 具有 predict.all = TRUE 的游侠学习器中的错误

我想将包 {ranger} 中随机森林的所有预测存储在 ml3 预测对象中,然后将单个树的预测用作另一个学习器的特征。

然后,以下代码将遵循 R 中的以下错误消息。

代码:

错误:

check_prediction_data.PredictionDataClassif( pdata) 中的错误:
“as_factor(pdata$response,levels = lvls)”上的断言失败:长度必须为 30,但长度为 15000。

有人可以帮我解决这个问题吗?

0 投票
1 回答
75 浏览

mlr3 - mlr3 中的 CV 或训练/预测

在 Patrick Schratz 的一篇文章“交叉验证 - 训练/预测”的误解中

https://mlr-org.com/docs/cv-vs-predict/

提到:

(a) CV 用于评估模型的性能。

(b) 训练/预测是为了创建最终预测(你的老板可能会用它来做出一些决定)。

这意味着在mlr3中,如果我们在学术界,需要发表论文,我们需要使用CV,因为我们打算比较不同算法的性能。而在工业中,如果我们的计划是训练一个模型,然后必须一次又一次地使用工业数据进行预测,我们需要使用 mlr3 提供的训练/预测方法吗?

这是我完全选错的东西吗?

谢谢