问题标签 [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.
multilabel-classification - 在 R 中使用 mlr 包进行多标签文本分类
我需要训练一个模型,该模型将对文本数据执行多标签多类分类。
我目前正在尝试按照此链接中的说明使用 R 中的 mlr 包执行相同的操作-
1)有没有其他推荐的包?
2)否则,我被困在这个地方(如上文所述)
“分类”为 NULL
任何帮助/指示将不胜感激。
谢谢。
更新:- 尝试创建“任务”对象。代码如下-
面对以下错误 -
makeSupervisedTask("multilabel", data, target, weights, blocking) 中的错误:数据的列名不包含目标变量:10
解决了
在获得所需格式的输入数据框后,我能够对其进行训练,类似于教程链接中的酵母数据,该数据作为 makeMultilabelTask() 函数的输入
r - 使用 R 包 mlr 教程示例获取错误消息
我正在尝试使用 R 包 mlr 的第一个示例,可以在此处找到。但我收到以下错误消息:
会话信息提供以下输出:
这是 traceback() 的输出:
知道为什么会发生此错误(我使用的是 R 版本 3.2.0)吗?
r - 无法在使用代理服务器的工作机器上安装 mlr 包
我的工作电脑上有 R 和 R 工作室,我正在尝试下载和使用不平衡的包。但是,每次我尝试时,它都会告诉我依赖项 mlr 不会被下载。
我在另一个线程上读到这可能是因为 Rtools 不是最新的。检查了。
尝试通过 github 下载并超时,但我质疑是否需要先登录才能使其正常工作。
真正奇怪的是,我可以在这台 PC 上下载其他软件包,在我的个人 PC 上下载它没有问题。
编辑我检查了我在两台机器上使用的镜像,它是相同的(http://www.stats.ox.ac.uk/pub/RWin)所以这不是问题。我还使用了下面第一条评论的答案中建议的调整选项,但失败了。
有什么想法吗?我有点迷茫,只能想寻找另一个包来重新平衡我的数据。
Ĵ
r - R中的链分类器
有没有办法在多标签分类问题中执行链分类。我使用 mlr 包创建了一个二进制相关模型,它使用学习者来实现相同的目标。但是所有二元相关的分类模型都是相互独立的,没有考虑变量的相互依赖关系。如果我可以执行链分类以及二进制相关方法来改进我的模型,那将非常有帮助。
r - 为什么即使使用 set.seed(),mlr 在不同的运行中也会给出不同的结果?
要发布在包中获得的可重现结果,mlr
应该使用该set.seed()
函数来控制代码的随机性。
测试,似乎这种做法不会导致预期的结果,其中代码的不同运行会给出稍微不同的输出,例如在这个问题的来源和以下代码中报告。
这是一些可重现的代码
结果如下:
您可以看到不同的运行给出不同的数值输出。这在每个分类器中都是正确的,从最随机的到最小的。
我可以做些什么来确保可重复的结果?
r - mlr包安装错误
当我尝试安装mlr
软件包时,我收到此错误消息
仅以源代码形式提供的包,可能需要编译 C/C++/Fortran:
'mlr'<br> 这些将不会安装
mod - 未找到 MLR 模组
我爱MLR!在下面的代码中,我比较了四个分类器的性能。当我使用 PIMA Indian Diabetes 数据运行以下代码时,我遇到了一些奇怪的错误:
我得到的错误是:
我确实得到了性能结果..关于我做错了什么有什么想法吗?谢谢!!!
measures - MLR 的措施断言失败
我在数据集上运行 4 个分类器并比较它们的性能。当我运行以下代码时,我收到一些奇怪的错误:
我收到的错误是:
lrn2 = makeTuneWrapper(lrn2, rdesc.inner,ms, ps, ctrl, show.info = FALSE) makeTuneWrapper 中的错误(lrn2, rdesc.inner, ms, ps, ctrl, show.info = FALSE) : 关于“措施”的断言failed:可能只包含以下类型:Measure。lrns = list(lrn1, lrn2,lrn3,lrn5) rdesc.outer = makeResampleDesc("CV", iters = 5)
bmr = benchmark(lrns, tasks = filtered.task, resampling = rdesc.outer, measure = ms, show.info = FALSE) Error in FUN(X[[i]], ...) : List measure has element of wrong在位置 1 键入函数。应该是:测量 bmr 错误:找不到对象“bmr”
关于我做错了什么的任何想法?谢谢!!
r - 使用 mlr 中的嵌套交叉验证调整 glmnet 超参数并评估性能?
我正在尝试使用 R 包 mlr 在非常适中的硬件(我的笔记本电脑有 4GB RAM --- 我没有可以使用更多的 CPU 肌肉)。我决定使用 mlr,因为我需要使用嵌套交叉验证来调整分类器的超参数并评估最终模型的预期性能。据我所知,目前 caret 和 h2o 都没有提供嵌套交叉验证,但 mlr 提供了实现这一点的基础设施。但是,我发现 mlr 提供的大量功能非常令人不堪重负,并且很难知道如何将所有内容组合在一起以实现我的目标。什么去哪里?它们是如何组合在一起的?我在这里通读了整个文档:https://mlr-org.github.io/mlr-tutorial/release/html/我仍然很困惑。有一些代码片段显示了如何做特定的事情,但(对我来说)不清楚如何将它们拼接在一起。大局是什么?我寻找了一个完整的工作示例以用作模板,但只找到了这个:https ://www.bioconductor.org/help/course-materials/2015/CSAMA2015/lab/classification.html我一直在使用它作为我的开始观点。任何人都可以帮助填补空白吗?
这是我想要做的:
使用网格搜索或随机网格搜索(或者如果存在更快的方法——迭代 F-racing?自适应重采样?)和分层 k 折交叉验证内循环,调整 glmnet 模型的超参数(l1 和 l2 正则化参数),使用外部交叉验证循环来评估预期的最终性能。我想在内部循环中包含一个特征预处理步骤,包括居中、缩放和 Yeo-Johnson 变换,以及基于过滤器的快速特征选择(后者是必要的,因为我的硬件非常适中,我需要缩小特征空间以减少训练时间)。我有不平衡的类(正类约为 20%),所以我选择使用 AUC 作为我的优化目标,但这只是感兴趣的真实指标的替代品,with 是少数真阳性不动点的假阳性率(即,我想知道 TPR = 0.6、0.7、0.8 的 FPR)。我想调整概率阈值以实现这些 TPR,并注意这在嵌套 CV 中是可能的,但目前尚不清楚这里究竟优化了什么: https://github.com/mlr-org/mlr/issues/856 我想知道应该在哪里进行切割而不会导致信息泄漏,所以我想使用 CV 来选择这个。
我使用 glmnet 是因为我宁愿将 CPU 周期用于构建稳健的模型,而不是产生过于乐观的结果的花哨模型。如果我发现可以足够快地完成 GBM 或随机森林,则可以稍后再完成,但我不希望我的数据中的特征提供足够的信息,从而花费大量时间来训练任何特别复杂的东西。
最后,在我对最终模型的预期性能进行了估计之后,我想实际构建最终模型并获得 glmnet 模型的系数 --- 包括哪些系数为零,所以我知道哪些特征已被 LASSO 处罚选中。
希望这一切都有意义!
这是我到目前为止所得到的:
r - 在 MLR 中为 xgboost 设置非可调参数最大化(与 early.stop.round 一起)
我如何设置参数maximize
来判断xgboost
早期停止标准是 logloss 越来越差。我尝试以下示例:
我收到以下错误:
我认为设置maximize=FALSE
足以告诉调优算法 logloss 应该最小化。但是我不能将其传递给xgb.train
.
我的会话信息如下: