问题标签 [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.
r - 在 mlr3 中创建 AutoTuner 时“无法将绑定添加到锁定的环境”
从 mlr Manual 运行代码时出现错误消息。
输出消息:self$data$tuner_generator = tuner 中的错误:无法将绑定添加到锁定的环境
这是我的本地设置问题还是只是在 mlr3tuning 中出现问题?
我的设置:Microsoft R Open 3.5.3 来自 Microsoft Microsoft 软件包的增强型 R 发行版 版权所有 (C) 2019 Microsoft Corporation
使用英特尔 MKL 进行并行数学计算(使用 6 个内核)。
R 版本 3.5.3 (2019-03-11) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行于:Windows 10 x64 (build 18362)
r - 如何对新数据使用预测?
我想使用 mlr3 包创建的模型对以前未知的新数据进行预测。我使用 AutoTuner 功能训练模型。
我阅读了 mlr3 书的“3.4.1.4 预测”一章,但该解决方案对于我想使用全新数据的示例没有用。
会话信息:
r - 为什么在模型训练期间选择的超参数与来自重采样的超参数不同?
在重采样期间,将测试值为 5 和 9 的 max_depth 参数。但是,在训练时,使用了一个完全不同的值 10。我预计在训练期间将设置返回最小 RMSE 的参数。在这种情况下,选择了完全不同的参数值。
会话信息:
mlr3 - SVM 未使用“probability = TRUE”进行训练,概率不可用于预测
我在尝试使用 mlr3 输出 SVM 的预测概率时遇到了问题。
我知道 SVM 不会输出概率,但 SVM 可以将预测数据拟合到分离超平面函数并从超平面获得带符号的距离度量。我想检索带符号的距离,然后用它们来计算 AUC。但是predict_type<-"response"
,我只能得到预测的类,而不是有符号的距离。predict_type<-"probability"
,我得到了上面的错误。
mlr3 - 在 mlr3 中使用 classif.svm 调整参数时出错
我正在使用 mlr3 使用 SVM 分类器构建机器学习工作流。当我尝试调整参数时
它输出错误
(函数(xs)中的错误:“xs”上的断言失败:“成本”的条件不正确:类型等于 C 分类;而是:类型 =
我无法弄清楚那里发生了什么。
r - 如何在预测阶段使用 mlr3 包解码 JSON 数据?
我已经开发了一个graphlearner
包mlr3
,我想在Rplumber
服务中发布它。但是,当我收到数据进行预测(JSON 格式的数据)时,graphlearner
无法识别数据,因为 的fromJSON
函数jsonlite
无法推断出正确的类型(在其上学习了图形)。您对此有解决方案吗?在预测阶段是否有一种机制来管理 mlr3 中的 JSON 数据?
学习步骤
预测步骤:有效 (模拟数据进行预测,删除目标 col)
预测步骤:它不起作用 (模拟 JSON 数据进行预测)
和错误:
错误:无法 rbind 任务:类型与列不匹配:cmedv(数字!=整数)
更新 可重现的例子
r - 使用 mlr3-pipelines 在 GraphLearner 中估算数据和编码因子列?
我有几个关于使用 mlr3-pipelines 的问题。事实上,我的目标是创建一个结合三个 3 图的管道:
1 - 处理分类变量的图表:水平插补 => 标准化
2 - 处理数值变量子集的图表: 均值插补 => 标准化
处理另一个数字变量子集的第三个图:中值估算 => 最小最大缩放
通过featureUnion Ops组合这些图表:
最后在 GraphLearner 中添加学习者:
g1 = GraphLearner$new(graph %>>% po(lrn("classif.ranger")))
我的数据中有一些缺失值,因此在每个图中都使用了插补器,并且我有一个二进制分类任务。
my_task = TaskClassif$new(id="classif", backend = data, target = "my_target")
从理论上讲,当我开始学习时,我不应该出现缺失值错误。
g1$train(my_task)
但根据我选择的学习者,我有几个错误。如果我使用例如游侠作为学习者:我有这个错误
Error: Missing data in columns: ....
如果我使用 svm、glmnet 或 xgvoost:由于存在分类变量,我遇到了问题。
Error : has the following unsupported feature types: factor...
使用我的管道,我不应该有分类变量,也不应该有缺失值。所以我不知道如何克服这个问题。
1 - 我在每个图中都使用了一个插补器,为什么有些算法告诉我总是有缺失值?
2 - 如何删除分类变量,一旦编码?一些算法不支持这种类型的变量
更新
我认为在管道期间所做的所有修改都不会保留。换句话说,算法(svm,ranger,...),使火车在原始任务上,而不是在由管道更新的任务上
r - mlr3 重采样自动调谐器 - 不显示调谐参数?
我对 mlr3 相当陌生,并且在获取调整后的超参数(来自每个交叉验证)以及使用 AutoTuner 方法(利用嵌套重采样)优化的超参数方面都遇到了问题。我的理解是,在 AutoTuner 上应用重采样功能后,我们应该能够从每次迭代中看到单独调整的超参数。
为了证明这一点 - 我使用网站 ( https://mlr3gallery.mlr-org.com/house-prices-in-king-county/ ) 上提供的 mlr3 示例,在 Linux 服务器和 Windows 机器上进行了测试。更具体地说,我正在查看 xgboost 参数调整部分 - 代码如下:
下面是 sapply 的输出
会话环境(适用于 Windows 机器)
r - 使用 mlr3 调整 GLMNET
MLR3真的很酷。我正在尝试调整正则化参数
但得到错误
glmnet::cv.glmnet(x = data, y = target, family = "gaussian", 中的错误:cv.glmnet 需要多个 lambda 值
下面是一个最小的非工作示例。任何帮助是极大的赞赏。