Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

AutoFSelector

AutoFSelector


Description

The AutoFSelector is a mlr3::Learner which wraps another mlr3::Learner and performs the following steps during $train():

  1. The wrapped (inner) learner is trained on the feature subsets via resampling. The feature selection can be specified by providing a FSelector, a bbotk::Terminator, a mlr3::Resampling and a mlr3::Measure.

  2. A final model is fit on the complete training data with the best found feature subset.

During $predict() the AutoFSelector just calls the predict method of the wrapped (inner) learner.

Note that this approach allows to perform nested resampling by passing an AutoFSelector object to mlr3::resample() or mlr3::benchmark(). To access the inner resampling results, set store_fselect_instance = TRUE and execute mlr3::resample() or mlr3::benchmark() with store_models = TRUE.

Super class

mlr3::Learner -> AutoFSelector

Public fields

instance_args

(list())
All arguments from construction to create the FSelectInstanceSingleCrit.

fselector

(FSelector)
Stores the feature selection algorithm.

Active bindings

archive

([ArchiveFSelect)
Returns FSelectInstanceSingleCrit archive.

learner

(mlr3::Learner)
Trained learner.

fselect_instance

(FSelectInstanceSingleCrit)
Internally created feature selection instance with all intermediate results.

fselect_result

(named list())
Short-cut to $result from FSelectInstanceSingleCrit.

Methods

Public methods


Method new()

Creates a new instance of this R6 class.

Usage
AutoFSelector$new(
  learner,
  resampling,
  measure,
  terminator,
  fselector,
  store_fselect_instance = TRUE,
  store_benchmark_result = TRUE,
  store_models = FALSE,
  check_values = FALSE
)
Arguments
learner

(mlr3::Learner)
Learner to optimize the feature subset for, see FSelectInstanceSingleCrit.

resampling

(mlr3::Resampling)
Resampling strategy during feature selection, see FSelectInstanceSingleCrit. This mlr3::Resampling is meant to be the inner resampling, operating on the training set of an arbitrary outer resampling. For this reason it is not feasible to pass an instantiated mlr3::Resampling here.

measure

(mlr3::Measure)
Performance measure to optimize.

terminator

(bbotk::Terminator)
When to stop feature selection, see FSelectInstanceSingleCrit.

fselector

(FSelector)
Feature selection algorithm to run.

store_fselect_instance

(logical(1))
If TRUE (default), stores the internally created FSelectInstanceSingleCrit with all intermediate results in slot $fselect_instance.

store_benchmark_result

(logical(1))
Store benchmark result in archive?

store_models

(logical(1)). Store models in benchmark result?

check_values

(logical(1))
Check the parameters before the evaluation and the results for validity?


Method clone()

The objects of this class are cloneable with this method.

Usage
AutoFSelector$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

library(mlr3)

task = tsk("iris")
learner = lrn("classif.rpart")
resampling = rsmp("holdout")
measure = msr("classif.ce")

terminator = trm("evals", n_evals = 3)
fselector = fs("exhaustive_search")
afs = AutoFSelector$new(learner, resampling, measure, terminator, fselector,
  store_fselect_instance = TRUE)

afs$train(task)
afs$model
afs$learner

mlr3fselect

Feature Selection for 'mlr3'

v0.5.1
LGPL-3
Authors
Marc Becker [aut, cre] (<https://orcid.org/0000-0002-8115-0400>), Patrick Schratz [aut] (<https://orcid.org/0000-0003-0748-6624>), Michel Lang [aut] (<https://orcid.org/0000-0001-9754-0393>), Bernd Bischl [aut] (<https://orcid.org/0000-0001-6002-6980>)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.