Skip to content

Random Forest minimal depth filter returns all NA's #2710

Closed
@annette987

Description

@annette987

The random forest minimal depth filter is returning all NA values. This is because the vector of features returned by the filter is not a named vector and generateFilterValuesData expects a named vector. I can submit a PR to fix this and it will explain the solution.

library(survival)
library(mlr)
#> Loading required package: ParamHelpers
#> 'mlr' is in maintenance mode since July 2019. Future development
#> efforts will go into its successor 'mlr3' (<https://mlr3.mlr-org.com>).

set.seed(24601)
data(veteran)
mas.task <- makeSurvTask(id = "VET", data = veteran, target = c("time", "status"))
outer = makeResampleDesc("CV", iters = 2, stratify = TRUE)

cox.filt.mindepth.lrn = makeFilterWrapper(
    makeLearner(cl = "surv.coxph", id = "cox.filt.mindepth", predict.type = "response"), 
    fw.method = "randomForestSRC_var.select",
    fw.abs = 5,
    more.args = list("randomForestSRC_var.select" = list("metho" = "md", ntree=100, nsplit = 10, nodesize = 3))
  )

learners = list(cox.filt.mindepth.lrn)   
bmr = benchmark(learners, mas.task, outer, show.info = TRUE)
#> Task: VET, Learner: cox.filt.mindepth.filtered
#> Resampling: cross-validation
#> Measures:             cindex
#> Error in (function (task, method = "randomForestSRC_importance", fval = NULL, : Filter method returned all NA values!

Created on 2020-01-08 by the reprex package (v0.3.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions