FSelectorDesignPoints class that implements feature selection w.r.t. fixed feature sets. We simply search over a set of feature subsets fully specified by the user. The feature sets are evaluated in order as given.

In order to support general termination criteria and parallelization, we evaluate feature sets in a batch-fashion of size batch_size. Larger batches mean we can parallelize more, smaller batches imply a more fine-grained checking of termination criteria.

Dictionary

This FSelector can be instantiated via the dictionary mlr_fselectors or with the associated sugar function fs():

mlr_fselectors$get("design_points")
fs("design_points")

Parameters

batch_size

integer(1)
Maximum number of configurations to try in a batch.

design

data.table::data.table
Design points to try in search, one per row.

Super classes

mlr3fselect::FSelector -> mlr3fselect::FSelectorFromOptimizer -> FSelectorDesignPoints

Methods

Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.

Usage

FSelectorDesignPoints$new()


Method clone()

The objects of this class are cloneable with this method.

Usage

FSelectorDesignPoints$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

library(mlr3) library(data.table) terminator = trm("evals", n_evals = 10) instance = FSelectInstanceSingleCrit$new( task = tsk("iris"), learner = lrn("classif.rpart"), resampling = rsmp("holdout"), measure = msr("classif.ce"), terminator = terminator ) design = data.table(Petal.Length = c(TRUE, FALSE), Petal.Width = c(TRUE, FALSE), Sepal.Length = c(FALSE, TRUE), Sepal.Width = c(FALSE, TRUE)) fselector = fs("design_points", design = design) # \donttest{ # Modifies the instance by reference fselector$optimize(instance)
#> Petal.Length Petal.Width Sepal.Length Sepal.Width features #> 1: TRUE TRUE FALSE FALSE Petal.Length,Petal.Width #> x_domain classif.ce #> 1: <list[4]> 0.04
# Returns best scoring evaluation instance$result
#> Petal.Length Petal.Width Sepal.Length Sepal.Width features #> 1: TRUE TRUE FALSE FALSE Petal.Length,Petal.Width #> x_domain classif.ce #> 1: <list[4]> 0.04
# Allows access of data.table of full path of all evaluations instance$archive$data()# }
#> Petal.Length Petal.Width Sepal.Length Sepal.Width classif.ce #> 1: TRUE TRUE FALSE FALSE 0.04 #> 2: FALSE FALSE TRUE TRUE 0.18 #> uhash x_domain timestamp batch_nr #> 1: 1c70db2a-dda6-481b-8558-1ae884453426 <list[4]> 2020-10-31 04:26:16 1 #> 2: c5542bf5-f37b-48ad-a396-7eb666c3d4c9 <list[4]> 2020-10-31 04:26:17 2