Function to conduct nested resampling.
Usage
fselect_nested(
fselector,
task,
learner,
inner_resampling,
outer_resampling,
measure = NULL,
term_evals = NULL,
term_time = NULL,
terminator = NULL,
store_fselect_instance = TRUE,
store_benchmark_result = TRUE,
store_models = FALSE,
check_values = FALSE,
callbacks = list()
)
Arguments
- fselector
(FSelector)
Optimization algorithm.- task
(mlr3::Task)
Task to operate on.- learner
(mlr3::Learner)
Learner to optimize the feature subset for.- inner_resampling
(mlr3::Resampling)
Resampling used for the inner loop.- outer_resampling
mlr3::Resampling)
Resampling used for the outer loop.- measure
(mlr3::Measure)
Measure to optimize. IfNULL
, default measure is used.- term_evals
(
integer(1)
)
Number of allowed evaluations. Ignored ifterminator
is passed.- term_time
(
integer(1)
)
Maximum allowed time in seconds. Ignored ifterminator
is passed.- terminator
(Terminator)
Stop criterion of the feature selection.- store_fselect_instance
(
logical(1)
)
IfTRUE
(default), stores the internally created FSelectInstanceSingleCrit with all intermediate results in slot$fselect_instance
. Is set toTRUE
, ifstore_models = TRUE
- 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?- callbacks
(list of CallbackFSelect)
List of callbacks.
Examples
# Nested resampling on Palmer Penguins data set
rr = fselect_nested(
fselector = fs("random_search"),
task = tsk("penguins"),
learner = lrn("classif.rpart"),
inner_resampling = rsmp ("holdout"),
outer_resampling = rsmp("cv", folds = 2),
measure = msr("classif.ce"),
term_evals = 4)
# Performance scores estimated on the outer resampling
rr$score()
#> task task_id learner learner_id
#> 1: <TaskClassif[50]> penguins <AutoFSelector[46]> classif.rpart.fselector
#> 2: <TaskClassif[50]> penguins <AutoFSelector[46]> classif.rpart.fselector
#> resampling resampling_id iteration prediction
#> 1: <ResamplingCV[20]> cv 1 <PredictionClassif[20]>
#> 2: <ResamplingCV[20]> cv 2 <PredictionClassif[20]>
#> classif.ce
#> 1: 0.06395349
#> 2: 0.09302326
# Unbiased performance of the final model trained on the full data set
rr$aggregate()
#> classif.ce
#> 0.07848837