The ArchiveAsyncFSelect stores all evaluated feature subsets and performance scores in a rush::Rush database.
Details
The ArchiveAsyncFSelect is a connector to a rush::Rush database.
Data Structure
The table ($data) has the following columns:
One column for each feature of the search space (
$search_space).One column for each performance measure (
$codomain).runtime_learners(numeric(1))
Sum of training and predict times logged in learners per mlr3::ResampleResult / evaluation. This does not include potential overhead time.timestamp(POSIXct)
Time stamp when the evaluation was logged into the archive.
Analysis
For analyzing the feature selection results, it is recommended to pass the ArchiveAsyncFSelect to as.data.table().
The returned data table contains the mlr3::ResampleResult for each feature subset evaluation.
S3 Methods
as.data.table.ArchiveFSelect(x, unnest = "x_domain", exclude_columns = "uhash", measures = NULL)
Returns a tabular view of all evaluated feature subsets.
ArchiveAsyncFSelect ->data.table::data.table()x(ArchiveAsyncFSelect)unnest(character())
Transforms list columns to separate columns. Set toNULLif no column should be unnested.exclude_columns(character())
Exclude columns from table. Set toNULLif no column should be excluded.measures(List of mlr3::Measure)
Score feature subsets on additional measures.
Super classes
bbotk::Archive -> bbotk::ArchiveAsync -> ArchiveAsyncFSelect
Active bindings
benchmark_result(mlr3::BenchmarkResult)
Benchmark result.ties_method(
character(1))
Method to handle ties in the archive. One of"least_features"(default) or"random".
Methods
Inherited methods
Method new()
Creates a new instance of this R6 class.
Usage
ArchiveAsyncFSelect$new(
search_space,
codomain,
rush,
ties_method = "least_features"
)Arguments
search_space(paradox::ParamSet)
Search space. Internally created from provided mlr3::Task by instance.codomain(paradox::ParamSet)
Specifies codomain of function. Most importantly the tags of each output "Parameter" define whether it should be minimized or maximized. The default is to minimize each component.rush(
Rush)
If a rush instance is supplied, the optimization runs without batches.ties_method(
character(1))
The method to break ties when selecting sets while optimizing and when selecting the best set. Can be"least_features"or"random". The option"least_features"(default) selects the feature set with the least features. If there are multiple best feature sets with the same number of features, one is selected randomly. Therandommethod returns a random feature set from the best feature sets. Ignored if multiple measures are used.check_values(
logical(1))
IfTRUE(default), feature subsets are check for validity.
Method learner()
Retrieve mlr3::Learner of the i-th evaluation, by position or by unique hash uhash.
i and uhash are mutually exclusive.
Learner does not contain a model. Use $learners() to get learners with models.
Method learners()
Retrieve list of trained mlr3::Learner objects of the i-th evaluation, by position or by unique hash uhash.
i and uhash are mutually exclusive.
Method predictions()
Retrieve list of mlr3::Prediction objects of the i-th evaluation, by position or by unique hash uhash.
i and uhash are mutually exclusive.
Method resample_result()
Retrieve mlr3::ResampleResult of the i-th evaluation, by position or by unique hash uhash.
i and uhash are mutually exclusive.
Method best()
Returns the best scoring feature set(s). For single-crit optimization, the solution that minimizes / maximizes the objective function. For multi-crit optimization, the Pareto set / front.
Arguments
n_select(
integer(1L))
Amount of points to select. Ignored for multi-crit optimization.ties_method(
character(1L))
Method to break ties when multiple points have the same score. Either"least_features"(default) or"random". Ignored for multi-crit optimization. Ifn_select > 1L, the tie method is ignored and the first point is returned.
Method push_result()
Push result to the archive.
Arguments
key(
character())
Key of the point.ys(
list())
Named list of results.x_domain(
list())
Is ignored for feature selection.extra(
list())
Named list of additional information.
