FSelectorGeneticSearch class that implements an Genetic Search. Calls genalg::rbga.bin() from package genalg.

Dictionary

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

mlr_fselectors$get("genetic_search")
fs("genetic_search")

Parameters

suggestions

list()

popSize

integer(1)

mutationChance

numeric(1)

elitism

integer(1)

zeroToOneRatio

integer(1)

iters

integer(1)

For the meaning of the control parameters, see genalg::rbga.bin(). genalg::rbga.bin() internally terminates after iters iteration. We set ìters = 100000 to allow the termination via our terminators. If more iterations are needed, set ìters to a higher value in the parameter set.

Super class

mlr3fselect::FSelector -> FSelectorGeneticSearch

Methods

Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.

Usage

FSelectorGeneticSearch$new()


Method clone()

The objects of this class are cloneable with this method.

Usage

FSelectorGeneticSearch$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

library(mlr3) terminator = trm("evals", n_evals = 5) instance = FSelectInstanceSingleCrit$new( task = tsk("iris"), learner = lrn("classif.rpart"), resampling = rsmp("holdout"), measure = msr("classif.ce"), terminator = terminator ) fselector = fs("genetic_search", popSize = 10L) # \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 #> classif.ce #> 1: 0.08
# Returns best scoring evaluation instance$result
#> Petal.Length Petal.Width Sepal.Length Sepal.Width features #> 1: TRUE TRUE FALSE FALSE Petal.Length,Petal.Width #> classif.ce #> 1: 0.08
# Allows access of data.table of full path of all evaluations as.data.table(instance$archive)# }
#> Petal.Length Petal.Width Sepal.Length Sepal.Width classif.ce #> 1: TRUE TRUE FALSE FALSE 0.08 #> 2: FALSE TRUE FALSE FALSE 0.08 #> 3: FALSE TRUE FALSE FALSE 0.08 #> 4: FALSE FALSE TRUE FALSE 0.22 #> 5: FALSE TRUE FALSE FALSE 0.08 #> uhash timestamp batch_nr #> 1: c6719c34-33fa-4079-8664-04730f7b5724 2021-03-21 04:30:37 1 #> 2: 90b42d0a-9f94-4aef-9be5-42274077ebf9 2021-03-21 04:30:37 2 #> 3: 43e037e7-0cd1-4290-ab2a-6d78b57bba77 2021-03-21 04:30:37 3 #> 4: e0577bc2-3cb9-497a-a28b-3ba5b9a94d27 2021-03-21 04:30:37 4 #> 5: 2312d2ac-3bec-494b-8f4d-18870489b623 2021-03-21 04:30:38 5