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_*
.
The on_auto_fselector_*
stages are only available when the callback is used in an AutoFSelector.
Start Automatic Feature Selection
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
- on_auto_fselector_before_final_model
- on_auto_fselector_after_final_model
End Automatic Feature Selection
See also the section on parameters for more information on the stages. A feature selection callback works with bbotk::ContextBatch and ContextBatchFSelect.
Usage
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,
on_auto_fselector_before_final_model = NULL,
on_auto_fselector_after_final_model = NULL
)
Arguments
- id
(
character(1)
)
Identifier for the new instance.- label
(
character(1)
)
Label for the new instance.- man
(
character(1)
)
String in the format[pkg]::[topic]
pointing to a manual page for this object. The referenced help package can be opened via method$help()
.- on_optimization_begin
(
function()
)
Stage called at the beginning of the optimization. Called inOptimizer$optimize()
.- on_optimizer_before_eval
(
function()
)
Stage called after the optimizer proposes points. Called inOptimInstance$eval_batch()
.- on_eval_after_design
(
function()
)
Stage called after design is created. Called inObjectiveFSelectBatch$eval_many()
.- on_eval_after_benchmark
(
function()
)
Stage called after feature sets are evaluated. Called inObjectiveFSelectBatch$eval_many()
.- on_eval_before_archive
(
function()
)
Stage called before performance values are written to the archive. Called inObjectiveFSelectBatch$eval_many()
.- on_optimizer_after_eval
(
function()
)
Stage called after points are evaluated. Called inOptimInstance$eval_batch()
.- on_result
(
function()
)
Stage called after result are written. Called inOptimInstance$assign_result()
.- on_optimization_end
(
function()
)
Stage called at the end of the optimization. Called inOptimizer$optimize()
.- on_auto_fselector_before_final_model
(
function()
)
Stage called before the final model is trained. Called inAutoFSelector$train()
.- on_auto_fselector_after_final_model
(
function()
)
Stage called after the final model is trained. Called inAutoFSelector$train()
.
Details
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.
Examples
# Write archive to disk
callback_batch_fselect("mlr3fselect.backup",
on_optimization_end = function(callback, context) {
saveRDS(context$instance$archive, "archive.rds")
}
)
#> <CallbackBatchFSelect:mlr3fselect.backup>
#> * Active Stages: on_optimization_end