r语言 - 参数名称与 randomForestSRC_var冲突.使用方法参数选择筛选器



当我使用 randomForestSRC_var.select 过滤器并向其传递方法参数时(例如,method="vh"用于变量搜寻(,我得到了名称冲突,因为内部函数也使用称为方法的参数。这是在Github上提出的一个问题,但据说已经解决了:https://github.com/mlr-org/mlr/issues/1066。我还在 Github 上打开了一个问题:https://github.com/mlr-org/mlr/issues/2639 但认为这可能是一个更合适的论坛,以防它不是错误而是我的错误。

这是我的代码:

library(survival)
#> Warning: package 'survival' was built under R version 3.5.3
library(mlr)
#> Loading required package: ParamHelpers
data(veteran)
set.seed(24601)
task_id = "VET"
vet.task <- makeSurvTask(id = task_id, data = veteran, target = c("time", "status"))
vet.task <- createDummyFeatures(vet.task)
tuning = makeResampleDesc("CV", iters=2, stratify=TRUE) 
outer = makeResampleDesc("CV", iters=2, stratify=TRUE)
filt = makeFilterWrapper(
makeLearner(cl="surv.coxph", id = "cox.filt.rfsrc", predict.type="response"), 
fw.method="randomForestSRC_var.select",
fw.abs=4,
cache=TRUE,
ntree=500,
method="vh"
)
bmr = benchmark(filt, vet.task, outer, list(cindex), show.info = TRUE, models=TRUE, keep.extract=FALSE)
#> Task: VET, Learner: cox.filt.rfsrc.filtered
#> Resampling: cross-validation
#> Measures:             cindex
#> Error in (function (task, method = "randomForestSRC_importance", fval = NULL, : formal argument "method" matched by multiple actual arguments

创建于 2019-09-25 由 reprex 软件包 (v0.3.0(

如果我将参数方法更改为"metho"以尝试避免冲突,我会收到不同的错误:

library(survival)
#> Warning: package 'survival' was built under R version 3.5.3
library(mlr)
#> Loading required package: ParamHelpers
data(veteran)
set.seed(24601)
task_id = "VET"
vet.task <- makeSurvTask(id = task_id, data = veteran, target = c("time", "status"))
vet.task <- createDummyFeatures(vet.task)
tuning = makeResampleDesc("CV", iters=2, stratify=TRUE) 
outer = makeResampleDesc("CV", iters=2, stratify=TRUE)
filt = makeFilterWrapper(
makeLearner(cl="surv.coxph", id = "cox.filt.rfsrc", predict.type="response"), 
fw.method="randomForestSRC_var.select",
fw.abs=4,
cache=TRUE,
ntree=500,
metho="vh"
)
bmr = benchmark(filt, vet.task, outer, list(cindex), show.info = TRUE, models=TRUE, keep.extract=FALSE)
#> Task: VET, Learner: cox.filt.rfsrc.filtered
#> Resampling: cross-validation
#> Measures:             cindex
#> Error in -im[, 1L]: invalid argument to unary operator

创建于 2019-09-25 由 reprex 软件包 (v0.3.0(

似乎此错误来自以下行:

setNames(-im[, 1L], rownames(im))

在 RF 最小深度滤波器中,我假设意味着变量 im(滤波器的结果(为 NULL(尽管我不确定为什么(。 有没有办法解决这个问题?很抱歉在这里和GH上发布。

在此拉取请求的上游修复。

相关内容

  • 没有找到相关文章

最新更新