问题标签 [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 中为 CV(重采样)使用预定义的列吗?
要在 R 包中进行交叉验证(重采样)mlr
,通常我们需要调用makeResampleDesc
函数来指定方法和折叠。
我的问题是:
- 是否可以使用预定义的列作为折叠列?或者,
makeResampleDesc
in确保创建的mlr
折叠是一致的(在同一原因种子下的不同学习者之间),并且可以导出以进行进一步操作?
r - 如何处理虚拟特征
如果这个问题早点出现,我很抱歉,但我没有发现这样的问题。我的预测模型有问题。我想建立 xgboost 和随机森林。我使用的包要求在 xgboost 构造中,应该创建虚拟变量。问题是我是否应该使用虚拟集来构建两者?(即使森林可以处理计算并且不需要假人)?为了测试模型并进行比较,我还应该将训练集中的分类变量更改为虚拟变量,对吧?换句话说,我的训练集和测试集对于每个模型都必须相同吗?非常感谢您的帮助!
r - R中uisng mlr包的文本分类
我需要训练一个模型,该模型将对文本数据执行多标签多类分类。
目前,我在 R 中使用 mlr 包。但不幸的是,由于在训练模型之前出现错误,我没有继续进行。
更具体地说,我被困在这个地方:
并且,得到了这个错误
makeMultilabelTask(id = "classif", data = termsDf, target = target) 中的错误:'data' 断言失败:列必须根据 R 的变量命名约定命名,并且不得包含特殊字符。
我使用了这个例子: - 在 R 中使用 mlr 包进行多标签文本分类
这是我目前使用的完整代码片段,
我在带有标签类的文档术语矩阵之后创建了数据框。但我被困在后记我该如何进一步进行机器学习部分?
善意回答的问题:-
- 如何进一步创建 DocumentTermMatrix?
- 如何在这个特定的数据集上应用随机森林算法?
r - R包mlr用多核耗尽内存
我正在尝试使用mlr
R 包并行运行一个可重现的示例,为此我找到了使用parallelStartMulticore
(链接)的解决方案。该项目也运行packrat
。
代码可以在工作站和小型服务器上正常运行,但在带有扭矩批处理系统的 HPC 中运行会导致内存耗尽。与常规的 linux 机器相反,似乎 R 线程是无限生成的。我尝试切换到parallelStartSocket
,效果很好,但是我无法用 RNG 种子重现结果。
这是一个最小的例子:
HPC 的硬件是 HP Apollo 6000 System ProLiant XL230a Gen9 服务器刀片 64 位,配备 Intel Xeon E5-2683 处理器。如果问题来自扭矩批处理系统、硬件或上述代码中的任何缺陷,我会忽略。sessionInfo()
高性能计算:
r - R MLR 包:停止 makeClassifTask 删除测试集的空因子级别
我有一个涉及分类预测变量Var1
&的二元分类问题Var2
:
训练集包括所有-2,-1,0
作为级别,Var1
但测试集不包括-1
作为输入Var1
。
我确实确保Var1
包含测试集中的所有级别:
因此,即使测试数据不包含-1
在其记录中,也确实存在空白因子水平。
但是当我尝试使用以下方法为测试集创建任务时:
我收到一条警告,指出已删除列的空因子级别:Var1
我也尝试设置fixup.data = "no"
参数。它给出了以下错误:
PS:我不是自己重新采样测试数据,它是我不知道响应变量的外部数据集。
此外,在创建任务之前,我确实为测试集中的响应变量重新编码了虚拟值。
r - R包mlr多标签文本分类:如何对新数据进行分类
我在有关使用 package 的多标签分类的教程中找到了此代码mlr
。
我了解数据集的结构yeast
,但是当我有要分类的新数据时,我不明白如何使用代码,因为那样我就不会有任何标签的 TRUE 或 FALSE 值。实际上,我会有一些结构相同的训练数据,yeast
但对于我的新数据,1:14 列会丢失。我是不是误会了什么?如果不是:如何正确使用代码?
编辑:
这是我将如何使用代码的示例代码:
所以,问题是我没有任何标签,test.data
因为那是我真正想要计算的?
编辑2:
当我简单地使用
结果是两个文本相同,实际上不是我所期望的。
r - MLR - 使用嵌套重采样的基准实验。如何访问内部重采样调优结果?
我在一项任务上使用基准实验。我正在使用嵌套重新采样策略(https://mlr-org.github.io/mlr-tutorial/devel/html/nested_resampling/index.html)。我使用内部重采样策略创建了一个学习器。例如,这里是 c50 的粗略:
然后,我使用如下外部重新采样策略创建了一个基准实验(bench_data 是我的 data.frame):
我找不到使用 getBMR<> 函数提取内部重采样结果的方法?有没有办法做到这一点,我错过了?
编辑:可重现的例子
r - R - mlr:有没有一种简单的方法可以在嵌套重采样(空间)中获得调整的支持向量机模型的可变重要性?
我试图通过使用-package in来获取调整后的支持向量机 (svm)模型的所有预测变量(或变量或特征)的变量重要性。但我不确定,如果我做的评估是正确的。好吧,起初的想法是:e1071::svm
mlr
R
为了得到一个诚实的调谐 svm 模型,我遵循嵌套重采样教程SpRepCV
,在外循环中使用空间 n 折交叉验证( SpCV
),在内循环中使用空间交叉验证 ()。作为调整参数gamma
并cost
在随机网格搜索中调整。作为所有预测变量的变量重要性评估,我想使用permutation.importance
与描述相关的,基本上是特征置换和未置换预测之间的聚合差异。
在mlr
中,有一些过滤函数可以获得变量的重要性,但同时在模型拟合之前根据用户特定的选择输入(阈值或变量数量)创建一个子集。- 但是,我想检索每个拟合模型的所有变量的变量重要性。(我知道学习者random forest
具有“包容性”的重要评估)
现在,我在重采样中使用mlr::generateFeatureImportanceData
了extract
-argument,这看起来很尴尬。所以我问我,如果没有更简单的方法吗?
这是一个使用mlr
-development 版本的示例:
r - 未使用的参数错误 R
我正在尝试使用 mlr 库来估算缺失值。出现以下错误。
这是代码
这是一个示例数据。它包含来自 head 命令的数据。
r - 由于 java 错误,R 库(FSelector)无法运行
我最近一直试图从 MLR 包中获取 FSelector 工作,但在我的 mac 上遇到了相同的 java 问题:
错误:“FSelector”的包或命名空间加载失败:“rJava”的 loadNamespace() 中的 .onLoad 失败,详细信息:调用:dyn.load(file, DLLpath = DLLpath, ...) 错误:无法加载共享对象“ /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so':dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava .so,6):库未加载:@rpath/libjvm.dylib 引用自:/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so 原因:找不到合适的图像。确实找到了:/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libjvm.dylib:mach-o,但架构错误/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libclient。 dylib:mach-o,但架构错误
有谁知道如何解决这个问题?谢谢!