Skip to contents

Performs joint multi-objective optimization of hyperparameters, feature selection, interaction constraints, and monotonicity constraints for a suitable mlr3::Learner.

This tuner requires an appropriate mlr3::Learner that supports feature selection, interaction constraints, and monotonicity constraints.

Currently, only XGBoost learners (mlr3learners::LearnerRegrXgboost or mlr3learners::LearnerClassifXgboost) are supported.

Dictionary

This Tuner can be instantiated via the dictionary mlr_tuners or with the associated sugar function tnr():

TunerEAGGA$new()
mlr_tuners$get("eagga")
tnr("eagga")

Parameters

learner_id

(character) ID of the learner in the graph learner.

select_id

(character) ID of the parameter in the learner that controls feature selection.

interaction_id

(character) ID of the parameter in the learner that sets interaction constraints.

monotone_id

(character) ID of the parameter in the learner that sets monotonicity constraints.

mu

(integer) Population size.

lambda

(integer) Offspring size of each generation.

seed_calculate_proxy_measures

(integer) Random seed to make the training of the models on the full mlr3::Task to get the interpretability measures reproducible.

Progress Bars

$optimize() supports progress bars via the package progressr combined with a Terminator. Simply wrap the function in progressr::with_progress() to enable them. We recommend to use package progress as backend; enable with progressr::handlers("progress").

Logging

All Tuners use a logger (as implemented in lgr) from package bbotk. Use lgr::get_logger("bbotk") to access and control the logger.

References

  • Schneider, Lennart, Bischl, Bernd, Thomas, Janek (2023). “Multi-Objective Optimization of Performance and Interpretability of Tabular Supervised Machine Learning Models.” In Proceedings of the Genetic and Evolutionary Computation Conference, series GECCO '23, 538--547.

Super class

mlr3tuning::Tuner -> TunerEAGGA

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method clone()

The objects of this class are cloneable with this method.

Usage

TunerEAGGA$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.