View source: R/CallbackBatchFSelect.R
callback_batch_fselect | R Documentation |
Function to create a CallbackBatchFSelect.
Predefined callbacks are stored in the dictionary mlr_callbacks and can be retrieved with clbk()
.
Feature selection callbacks can be called from different stages of feature selection.
The stages are prefixed with on_*
.
Start Feature Selection - on_optimization_begin Start FSelect Batch - on_optimizer_before_eval Start Evaluation - on_eval_after_design - on_eval_after_benchmark - on_eval_before_archive End Evaluation - on_optimizer_after_eval End FSelect Batch - on_result - on_optimization_end End Feature Selection
See also the section on parameters for more information on the stages. A feature selection callback works with bbotk::ContextBatch and ContextBatchFSelect.
callback_batch_fselect(
id,
label = NA_character_,
man = NA_character_,
on_optimization_begin = NULL,
on_optimizer_before_eval = NULL,
on_eval_after_design = NULL,
on_eval_after_benchmark = NULL,
on_eval_before_archive = NULL,
on_optimizer_after_eval = NULL,
on_result = NULL,
on_optimization_end = NULL
)
id |
( |
label |
( |
man |
( |
on_optimization_begin |
( |
on_optimizer_before_eval |
( |
on_eval_after_design |
( |
on_eval_after_benchmark |
( |
on_eval_before_archive |
( |
on_optimizer_after_eval |
( |
on_result |
( |
on_optimization_end |
( |
When implementing a callback, each function must have two arguments named callback
and context
.
A callback can write data to the state ($state
), e.g. settings that affect the callback itself.
Avoid writing large data the state.
This can slow down the feature selection when the evaluation of configurations is parallelized.
Feature selection callbacks access two different contexts depending on the stage.
The stages on_eval_after_design
, on_eval_after_benchmark
, on_eval_before_archive
access ContextBatchFSelect.
This context can be used to customize the evaluation of a batch of feature sets.
Changes to the state of callback are lost after the evaluation of a batch and changes to the fselect instance or the fselector are not possible.
Persistent data should be written to the archive via $aggregated_performance
(see ContextBatchFSelect).
The other stages access bbotk::ContextBatch.
This context can be used to modify the fselect instance, archive, fselector and final result.
There are two different contexts because the evaluation can be parallelized i.e. multiple instances of ContextBatchFSelect exists on different workers at the same time.
# Write archive to disk
callback_batch_fselect("mlr3fselect.backup",
on_optimization_end = function(callback, context) {
saveRDS(context$instance$archive, "archive.rds")
}
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.