AutoFSelector
The AutoFSelector is a mlr3::Learner which wraps another mlr3::Learner
and performs the following steps during $train():
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.
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.
mlr3::Learner -> AutoFSelector
instance_args(list())
All arguments from construction to create the
FSelectInstanceSingleCrit.
fselector(FSelector)
Stores the feature selection algorithm.
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.
new()
Creates a new instance of this R6 class.
AutoFSelector$new( learner, resampling, measure, terminator, fselector, store_fselect_instance = TRUE, store_benchmark_result = TRUE, store_models = FALSE, check_values = FALSE )
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?
clone()
The objects of this class are cloneable with this method.
AutoFSelector$clone(deep = FALSE)
deepWhether to make a deep clone.
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$learnerPlease choose more modern alternatives, such as Google Chrome or Mozilla Firefox.