NEWS
mlr3tuning 1.6.0 (2026-03-16)
- compatibility: rush 1.0.0.
- fix:
ArchiveAsyncTuning, ArchiveAsyncTuningFrozen, and ArchiveBatchTuning convert the archive to a data.table with a consistent column order.
mlr3tuning 1.5.1 (2025-12-14)
- compatibility: xgboost 3.1.2.1
mlr3tuning 1.5.0 (2025-11-07)
- feat: Add
on_optimizer_queue_before_eval and on_optimizer_queue_after_eval stages to CallbackAsyncTuning.
- fix: Add loaded packages to objective.
- feat: Add tiny logging.
- fix: Remove internal search space and trafo error.
- fix: Unsatisfied dependencies in results in debug mode.
mlr3tuning 1.4.0 (2025-06-04)
- feat: Resample stages from
CallbackResample are now available in CallbackBatchTuning and CallbackAsyncTuning.
- fix: The
$predict_type was written to the model even when the AutoTuner was not trained.
- feat: Internal tuned values are now visible in logs.
- BREAKING CHANGE: Remove internal search space argument.
- BREAKING CHANGE: The mlr3 ecosystem has a base logger now which is named
mlr3.
The mlr3/bbotk logger is a child of the mlr3 logger and is used for logging messages from the bbotk and mlr3tuning package.
- feat: Classes are now printed with the
cli package.
mlr3tuning 1.3.0 (2024-12-17)
- feat: Save
ArchiveAsyncTuning to a data.table with ArchiveAsyncTuningFrozen.
- perf: Save models on worker only when requested in
ObjectiveTuningAsync.
mlr3tuning 1.2.1 (2024-11-26)
- refactor: Only pass
extra to $assign_result().
mlr3tuning 1.2.0 (2024-11-08)
- feat: Add new callback
clbk("mlr3tuning.one_se_rule") that selects the hyperparameter configuration with the smallest feature set within one standard error of the best.
- feat: Add new stages
on_tuning_result_begin and on_result_begin to CallbackAsyncTuning and CallbackBatchTuning.
- refactor: Rename stage
on_result to on_result_end in CallbackAsyncTuning and CallbackBatchTuning.
- docs: Extend the
CallbackAsyncTuning and CallbackBatchTuning documentation.
- compatibility: mlr3 0.22.0
- compatibility: Work with new irace 4.0.0
mlr3tuning 1.1.0 (2024-10-27)
- fix: The
as_data_table() functions do not unnest the x_domain column anymore by default.
- fix:
to_tune(internal = TRUE) now also works if non-internal tuning parameters have an .extra_trafo.
- feat: It is now possible to pass an
internal_search_space manually.
This allows to use parameter transformations on the primary search space in combination with internal hyperparameter tuning.
- refactor: The
Tuner pass extra information of the result in the extra parameter now.
mlr3tuning 1.0.2 (2024-10-14)
- refactor: Extract internal tuned values in instance.
mlr3tuning 1.0.1 (2024-09-10)
- refactor: Replace internal tuning callback.
- perf: Delete intermediate
BenchmarkResult in ObjectiveTuningBatch after optimization.
mlr3tuning 1.0.0 (2024-06-29)
- feat: Introduce asynchronous optimization with the
TunerAsync and TuningInstanceAsync* classes.
- BREAKING CHANGE: The
Tuner class is TunerBatch now.
- BREAKING CHANGE: The
TuningInstanceSingleCrit and TuningInstanceMultiCrit classes are TuningInstanceBatchSingleCrit and TuningInstanceBatchMultiCrit now.
- BREAKING CHANGE: The
CallbackTuning class is CallbackBatchTuning now.
- BREAKING CHANGE: The
ContextEval class is ContextBatchTuning now.
- refactor: Remove hotstarting from batch optimization due to low performance.
- refactor: The option
evaluate_default is a callback now.
mlr3tuning 0.20.0 (2024-03-05)
- compatibility: Work with new paradox version 1.0.0
- fix:
TunerIrace failed with logical parameters and dependencies.
- Added marshaling support to
AutoTuner
mlr3tuning 0.19.2 (2023-11-28)
- refactor: Change thread limits.
mlr3tuning 0.19.1 (2023-11-20)
- refactor: Speed up the tuning process by minimizing the number of deep clones and parameter checks.
- fix: Set
store_benchmark_result = TRUE if store_models = TRUE when creating a tuning instance.
- fix: Passing a terminator in
tune_nested() did not work.
mlr3tuning 0.19.0 (2023-06-26)
- fix: Add
$phash() method to AutoTuner.
- fix: Include
Tuner in hash of AutoTuner.
- feat: Add new callback that scores the configurations on additional measures while tuning.
- feat: Add vignette about adding new tuners which was previously part of the mlr3book.
mlr3tuning 0.18.0 (2023-03-08)
- BREAKING CHANGE: The
method parameter of tune(), tune_nested() and auto_tuner() is renamed to tuner.
Only Tuner objects are accepted now.
Arguments to the tuner cannot be passed with ... anymore.
- BREAKING CHANGE: The
tuner parameter of AutoTuner is moved to the first position to achieve consistency with the other functions.
- docs: Update resources sections.
- docs: Add list of default measures.
- fix: Add
allow_hotstarting, keep_hotstart_stack and keep_models flags to AutoTuner and auto_tuner().
mlr3tuning 0.17.2 (2022-12-22)
- feat:
AutoTuner accepts instantiated resamplings now.
The AutoTuner checks if all row ids of the inner resampling are present in the outer resampling train set when nested resampling is performed.
- fix: Standalone
Tuner did not create a ContextOptimization.
mlr3tuning 0.17.1 (2022-12-07)
- fix: The
ti() function did not accept callbacks.
mlr3tuning 0.17.0 (2022-11-18)
- feat: The methods
$importance(), $selected_features(), $oob_error() and $loglik() are forwarded from the final model to the AutoTuner now.
- refactor: The
AutoTuner stores the instance and benchmark result if store_models = TRUE.
- refactor: The
AutoTuner stores the instance if store_benchmark_result = TRUE.
mlr3tuning 0.16.0 (2022-11-08)
- feat: Add new callback that enables early stopping while tuning to
mlr_callbacks.
- feat: Add new callback that backups the benchmark result to disk after each batch.
- feat: Create custom callbacks with the
callback_batch_tuning() function.
mlr3tuning 0.15.0 (2022-10-21)
- fix:
AutoTuner did not accept TuningSpace objects as search spaces.
- feat: Add
ti() function to create a TuningInstanceSingleCrit or TuningInstanceMultiCrit.
- docs: Documentation has a technical details section now.
- feat: New option for
extract_inner_tuning_results() to return the tuning instances.
mlr3tuning 0.14.0 (2022-08-25)
- feat: Add option
evaluate_default to evaluate learners with hyperparameters set to their default values.
- refactor: From now on, the default of
smooth is FALSE for TunerGenSA.
mlr3tuning 0.13.1 (2022-05-03)
- feat:
Tuner objects have the field $id now.
mlr3tuning 0.13.0 (2022-04-06)
- feat: Allow to pass
Tuner objects as method in tune() and auto_tuner().
- docs: Link
Tuner to help page of bbotk::Optimizer.
- feat:
Tuner objects have the optional field $label now.
- feat:
as.data.table() functions for objects of class Dictionary have been extended with additional columns.
mlr3tuning 0.12.1 (2022-02-25)
- feat: Add a
as.data.table.DictionaryTuner function.
- feat: New
$help() method which opens the manual page of a Tuner.
mlr3tuning 0.12.0 (2022-02-17)
- feat:
as_search_space() function to create search spaces from Learner and ParamSet objects.
Allow to pass TuningSpace objects as search_space in TuningInstanceSingleCrit and TuningInstanceMultiCrit.
- feat: The
mlr3::HotstartStack can now be removed after tuning with the keep_hotstart_stack flag.
- feat: The
Archive stores errors and warnings of the learners.
- feat: When no measure is provided, the default measure is used in
auto_tuner() and tune_nested().
mlr3tuning 0.11.0 (2022-02-02)
- fix:
$assign_result() method in TuningInstanceSingleCrit when search space is empty.
- feat: Default measure is used when no measure is supplied to
TuningInstanceSingleCrit.
mlr3tuning 0.10.0 (2022-01-20)
- Fixes bug in
TuningInstanceMultiCrit$assign_result().
- Hotstarting of learners with previously fitted models.
- Remove deep clones to speed up tuning.
- Add
store_models flag to auto_tuner().
- Add
"noisy" property to ObjectiveTuning.
mlr3tuning 0.9.0 (2021-09-14)
- Adds
AutoTuner$base_learner() method to extract the base learner from
nested learner objects.
tune() supports multi-criteria tuning.
- Allows empty search space.
- Adds
TunerIrace from irace package.
extract_inner_tuning_archives() helper function to extract inner tuning
archives.
- Removes
ArchiveTuning$extended_archive() method. The mlr3::ResampleResults
are joined automatically by as.data.table.TuningArchive() and
extract_inner_tuning_archives().
mlr3tuning 0.8.0 (2021-03-12)
- Adds
tune(), auto_tuner() and tune_nested() sugar functions.
TuningInstanceSingleCrit, TuningInstanceMultiCrit and AutoTuner can be
initialized with store_benchmark_result = FALSE and store_models = TRUE
to allow measures to access the models.
- Prettier printing methods.
mlr3tuning 0.7.0 (2021-02-11)
- Fix
TuningInstance*$assign_result() errors with required parameter bug.
- Shortcuts to access
$learner(), $learners(), $learner_param_vals(),
$predictions() and $resample_result() from benchmark result in archive.
extract_inner_tuning_results() helper function to extract inner tuning
results.
mlr3tuning 0.6.0 (2021-01-24)
ArchiveTuning$data is a public field now.
mlr3tuning 0.5.0 (2020-12-07)
- Adds
TunerCmaes from adagio package.
- Fix
predict_type in AutoTuner.
- Support to set
TuneToken in Learner$param_set and create a search space
from it.
- The order of the parameters in
TuningInstanceSingleCrit and
TuningInstanceSingleCrit changed.
mlr3tuning 0.4.0 (2020-10-07)
- Option to control
store_benchmark_result, store_models and check_values
in AutoTuner. store_tuning_instance must be set as a parameter during
initialization.
- Fixes
check_values flag in TuningInstanceSingleCrit and
TuningInstanceMultiCrit.
- Removed dependency on orphaned package
bibtex.
mlr3tuning 0.3.0 (2020-09-08)
- Compact in-memory representation of R6 objects to save space when
saving mlr3 objects via
saveRDS(), serialize() etc.
Archive is ArchiveTuning now which stores the benchmark result in
$benchmark_result. This change removed the resample results from the archive
but they can be still accessed via the benchmark result.
- Warning message if external package for tuning is not installed.
- To retrieve the inner tuning results in nested resampling,
as.data.table(rr)$learner[[1]]$tuning_result must be used now.
mlr3tuning 0.2.0 (2020-07-28)
TuningInstance is now TuningInstanceSingleCrit. TuningInstanceMultiCrit
is still available for multi-criteria tuning.
- Terminators are now accessible by
trm() and trms() instead of term() and
terms().
- Storing of resample results is optional now by using the
store_resample_result flag in TuningInstanceSingleCrit and
TuningInstanceMultiCrit
TunerNLoptr adds non-linear optimization from the nloptr package.
- Logging is controlled by the
bbotk logger now.
- Proposed points and performance values can be checked for validity by
activating the
check_values flag in TuningInstanceSingleCrit and
TuningInstanceMultiCrit.
mlr3tuning 0.1.3
- mlr3tuning now depends on the
bbotk package for basic tuning objects.
Terminator classes now live in bbotk. As a consequence ObjectiveTuning
inherits from bbotk::Objective, TuningInstance from bbotk::OptimInstance
and Tuner from bbotk::Optimizer
TuningInstance$param_set becomes TuningInstance$search_space to avoid
confusion as the param_set usually contains the parameters that change the
behavior of an object.
- Tuning is triggered by
$optimize() instead of $tune()
mlr3tuning 0.1.2 (2020-01-31)
- Fixed a bug in
AutoTuner where a $clone() was missing. Tuning results are
unaffected, only stored models contained wrong hyperparameter values (#223).
- Improved output log (#218).
mlr3tuning 0.1.1 (2019-12-06)
mlr3tuning 0.1.0 (2019-09-30)