← Back to all sparks
M

mlr3fselect

ANALYTICS
Velocity0.0

Feature selection and wrapper-based variable filtering for mlr3

mlr3fselect turned feature selection into an asynchronous, distributable job

feature-selectionmlr3machine-learningr-statsasyncensembles
Current state
mlr3fselect runs feature selection for mlr3. The defining change in this window is 1.4.0, which introduced FSelectorAsync and the asynchronous instance classes, letting searches run without a synchronous batch loop. Around it sit ensemble feature selection work — fastVoteR ranking, embedded ensemble selection, result combination — and performance work on objective evaluation.
Where it's heading
Two threads run in parallel: scaling the search itself through async execution and the rush backend, and making ensemble selection results easier to analyse via Pareto fronts, knee points and now removal of empty result rows. The rush backward-compatibility shim was dropped in 1.6.0, so the async path is now the assumed one.
Prediction
Expect the ensemble result API to keep gaining analysis helpers, with async execution treated as the default rather than an option.

Recent moves

  1. 2mo ago

    Empty-selection rows removable from ensemble results

    Adds $rm_zero_features() to clean ensemble results and drops the rush backward-compatibility layer, confirming async as the assumed execution path.

    View source ↗
  2. 8mo ago

    Faster objective evaluation and always_included roles

    Speeds up aggregation of resample and benchmark results inside the objective function, and registers the always_included column role on all tasks. Both matter most on long searches.

    View source ↗
  3. 1y ago

    Asynchronous feature selection arrives with FSelectorAsync

    ⚡ SPARK

    Changes how searches execute rather than what they search for. The later releases assume this path, dropping the compatibility shim entirely by 1.6.0.

    View source ↗
  4. 1y ago

    Embedded ensemble selection and result combination

    Adds embedded_ensemble_fselect() plus combine methods for ensemble results, and moves ranking onto fastVoteR. Builds out the ensemble thread that runs alongside the async work.

    View source ↗
  5. 1y ago

    Internal tuning callback added

    Adds an internal tuning callback so learners that tune during fitting can participate in selection, and fixes package registration in mlr3 reflections.

    View source ↗
  6. 1y ago

    mlr3 0.21.0 compatibility and archive slimming

    Compatibility release with memory cleanups: intermediate benchmark results deleted after optimisation and x_domain dropped from the archive.

    View source ↗