问题标签 [mlr]
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 - 使用 MLR 包调整 rpart 中的参数?
我正在尝试使用 MLR 包来调整使用 rpart 包构建的决策树的超参数。即使我可以调整决策树的基本参数(例如minsplit
,maxdepth
等等),我也无法正确设置参数的值param
。具体来说,我想priors
在网格搜索中尝试不同。
这是我编写的代码(dat
是我正在使用的数据框,target
也是我的类变量):
当我尝试执行调整时,使用:
我得到错误
Error in get(paste("rpart", method, sep = "."), envir = environment())(Y, : The parms list must have names
我也尝试定义parms
为UntypedParam
with
这是因为通过键入getParamSet("classif.rpart")
,在我看来调整接受“无类型变量”而不是离散变量。
但是,当我尝试这个时,我得到了错误:
有人可以帮忙吗?
r - 如何在二进制分类中调整 auc 的某个部分(使用 mlr)?
我想优化 ROC 曲线的某个部分,因此在调整过程中只优化部分 AUC。是否在 mlr 包中可用,是否有适合该目标的另一种度量,或者我是否必须创建一个新的度量对象。如果后者是真的,我该怎么办?
以正常 AUC 作为衡量标准的示例:
r - 列出 Mlr 中的学习者,包括未安装的学习者
我想获取 mlr 包中集成的所有聚类算法的列表。我期望此代码返回它们,但它不包括已卸载的代码:
相反,我收到以下警告:
我做错了什么还是这个功能坏了?
r - MLR MARS/Earth 分类器:灵活的判别分析还是逻辑回归?
我正在尝试了解用于分类的 MARS/地球模型,并在 R 的 MLR 包中使用“classif.earth”。我的问题是 MLR 文档说“classif.earth”使用地球算法执行灵活的判别分析.
但是,当我查看代码时:(https://github.com/mlr-org/mlr/blob/master/R/RLearner_classif_earth.R)我没有在 mda 包中看到对 fda 的调用,而是指示 earth 以适应具有默认 logit 链接的 glm。
如果我错了,请告诉我,但在我看来,“classif.earth”不是在进行灵活的判别分析,而是在地球模型上拟合逻辑回归。
r - 从 kknn 模型中检索距离矩阵
kknn
在 R 中使用mlr
包和交叉验证时,是否可以从模型中检索距离矩阵?
cv$models
我在or中看不到任何相关内容cv$pred
。
r - 如何在使用 mlr 和在 R 中使用 rpart 和 mboost 等其他包时插入不同的结果
我正在使用 mlr 和其他软件包进行生存分析。在 mlr 中,我使用 surv.rpart 和 surv.glmboost。我还使用原始包 rpart 和 mboost 来执行此操作。我发现他们的结果是不同的。这是一个例子:
当我在 mlr 中使用 surv.rpart 时,结果是:
如果我使用原始的 rpart 包,结果是:
为什么我得到了两个不同的结果?看起来 rpart 包直接给了我想要的结果,而来自 mlr 的结果有某种转换。当我使用 surv.glmboost 时也会发生同样的事情:
这是使用 mboost 包的结果:
这是我到目前为止发现的。这可能发生在 surv.cforest 等其他函数上。我的问题是:为什么会这样?以及如何在使用 mlr 包时获得 rpart 和 mboost 等结果?
r - 用于 R 的 mlr 包中的 makeStackedLearner 的 super.learner
R 包中的makeStackedLearner
函数 mlr 似乎需要super.learner
formethod="stack.cv"
和其他(至少在某些情况下)。但是,我找不到任何有关如何选择的信息。在合适的地方寻找什么super.learner
?哪些通常是不错的选择?
r - 当我只想使用 surv 预测数据的最后一行时,如何重新采样和比较结果。mlr 包中的函数,R?
我刚开始尝试 R 包 mlr,我想知道是否可以自定义训练集和测试集。例如,一个时间序列的数据除了最后一个都是训练集,最后一个是测试集。
这是我的例子:
肺数据来自生存包。我只使用三个维度:时间、地位和年龄。现在,让我们假设它们并不意味着患者的年龄和他们可以存活多长时间。假设这是一位客户的墨水购买历史。
age=74 表示该客户当天购买了 74 瓶墨水,time=306 表示客户在 306 天后用完墨水。所以,我想使用除最后一行之外的所有数据建立一个生存模型。然后,当我有最后一行的数据,即age=58,表示客户当天购买了58瓶墨水时,我可以按时做出预测。接近 177 的数字将是一个很好的估计。所以,我的训练集和测试集是固定的,不需要重新采样。
此外,我需要更改超参数以进行比较。这是我的代码:
你可以看到我使用split=1
inmakeResampleDesc
因为我有固定的训练集,不需要重新采样。措施makeTuneWrapper
目前对我没有意义,因为我需要自定义自己的措施。由于固定的数据拆分,当使用不同的超参数时,我无法使用resample
或等函数tuneParams
对测试数据进行评估。
所以,我的问题是:当训练集和测试集固定时,mlr 能否为每个超参数提供全面的比较?如果是这样,该怎么做?
顺便说一句,看起来有makeFixedHoldoutInstance
可能做到这一点的功能,只是不知道如何使用它。比如我这样使用makeFixedHoldoutInstance
,就得到了这样的错误信息:
r - 如何使用mlr自定义分类模型
我正在研究 mlr 并尝试定制自己的分类模型。我正在使用来自https://mlr-org.github.io/mlr-tutorial/release/html/create_learner/index.html#classification的示例。这是我的代码:
我只是从网站上复制并粘贴了这三个功能。但我收到以下错误:
我发现我的tr中没有$learner.model,它应该在那里并被转移到预测函数中。我的 tr 有:
我试过注册学习者,但我想我的方法不对。这是我的代码:
可能我不应该只是从网站上复制代码。但我不知道该怎么做。我对 mlr 包真的很陌生。
r - R 包 mlr 的(二进制)因子变量应该有哪些类?
我想准备一个数据集以Task
在mlr
包中使用它。二元因子自变量应该是类因子、逻辑、字符还是整数?是否可以将具有超过 2 个类的因子变量作为因子/字符,或者是否有集成在 mlr 中的模型需要例如 mlr 不会自动进行转换的模型矩阵?对于这些情况,mlr 期望哪些类?
例如: