Filter which uses the predictive performance of a
mlr3::Learner as filter score. Performs a mlr3::resample() for each
feature separately. The filter score is the aggregated performance of the
mlr3::Measure, or the negated aggregated performance if the measure has
to be minimized.
See also
- PipeOpFilter for filter-based feature selection. 
Other Filter:
Filter,
mlr_filters,
mlr_filters_anova,
mlr_filters_auc,
mlr_filters_boruta,
mlr_filters_carscore,
mlr_filters_carsurvscore,
mlr_filters_cmim,
mlr_filters_correlation,
mlr_filters_disr,
mlr_filters_find_correlation,
mlr_filters_importance,
mlr_filters_information_gain,
mlr_filters_jmi,
mlr_filters_jmim,
mlr_filters_kruskal_test,
mlr_filters_mim,
mlr_filters_mrmr,
mlr_filters_njmim,
mlr_filters_permutation,
mlr_filters_relief,
mlr_filters_selected_features,
mlr_filters_univariate_cox,
mlr_filters_variance
Super classes
mlr3filters::Filter -> mlr3filters::FilterLearner -> FilterPerformance
Methods
Method new()
Create a FilterDISR object.
Usage
FilterPerformance$new(
  learner = mlr3::lrn("classif.featureless"),
  resampling = mlr3::rsmp("holdout"),
  measure = NULL
)Arguments
- learner
- (mlr3::Learner) 
 mlr3::Learner to use for model fitting.
- resampling
- (mlr3::Resampling) 
 mlr3::Resampling to be used within resampling.
- measure
- (mlr3::Measure) 
 mlr3::Measure to be used for evaluating the performance.
Examples
if (requireNamespace("rpart")) {
  task = mlr3::tsk("iris")
  learner = mlr3::lrn("classif.rpart")
  filter = flt("performance", learner = learner)
  filter$calculate(task)
  as.data.table(filter)
}
#>         feature score
#>          <char> <num>
#> 1:  Petal.Width -0.04
#> 2: Petal.Length -0.06
#> 3: Sepal.Length -0.32
#> 4:  Sepal.Width -0.54
if (mlr3misc::require_namespaces(c("mlr3pipelines", "rpart"), quietly = TRUE)) {
  library("mlr3pipelines")
  task = mlr3::tsk("iris")
  l = lrn("classif.rpart")
  # Note: `filter.frac` is selected randomly and should be tuned.
  graph = po("filter", filter = flt("performance", learner = l), filter.frac = 0.5) %>>%
    po("learner", mlr3::lrn("classif.rpart"))
  graph$train(task)
}
#> $classif.rpart.output
#> NULL
#> 
