Built-in functions related to genetic algorithms
These functions are used with the
functions argument of the
gafsControl function. More information on the details of these
functions are at http://topepo.github.io/caret/feature-selection-using-genetic-algorithms.html.
Most of the
gafs_* functions are based on those from the GA package
by Luca Scrucca. These functions here are small re-writes to work outside of
the GA package.
treebagGA are example
lists that can be used with the
functions argument of
In the case of
... structure of
gafs passes through to the model fitting routine. As a
train function can easily be accessed by
passing important arguments belonging to
gafs. See the examples below. By default, using
will used the resampled performance estimates produced by
train as the internal estimate of fitness.
bagging functions are used directly (i.e.
train is not
used). Arguments to either of these functions can also be passed to them
gafs call (see examples below). For these two
functions, the internal fitness is estimated using the out-of-bag estimates
naturally produced by those functions. While faster, this limits the user to
accuracy or Kappa (for classification) and RMSE and R-squared (for
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
gafs_initial(vars, popSize, ...) gafs_lrSelection(population, fitness, r = NULL, q = NULL, ...) gafs_spCrossover(population, fitness, parents, ...) gafs_raMutation(population, parent, ...) gafs_nlrSelection(population, fitness, q = 0.25, ...) gafs_rwSelection(population, fitness, ...) gafs_tourSelection(population, fitness, k = 3, ...) gafs_uCrossover(population, parents, ...)
number of possible predictors
the population size passed into
not currently used
a binary matrix of the current subsets with predictors in columns and individuals in rows
a vector of fitness values
tuning parameters for the specific selection operator
integer(s) for which chromosomes are altered
The return value depends on the function.
treebagGA by Max Kuhn
Scrucca L (2013). GA: A Package for Genetic Algorithms in R. Journal of Statistical Software, 53(4), 1-37.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
pop <- gafs_initial(vars = 10, popSize = 10) pop gafs_lrSelection(population = pop, fitness = 1:10) gafs_spCrossover(population = pop, fitness = 1:10, parents = 1:2) ## Not run: ## Hypothetical examples lda_ga <- gafs(x = predictors, y = classes, gafsControl = gafsControl(functions = caretGA), ## now pass arguments to `train` method = "lda", metric = "Accuracy" trControl = trainControl(method = "cv", classProbs = TRUE)) rf_ga <- gafs(x = predictors, y = classes, gafsControl = gafsControl(functions = rfGA), ## these are arguments to `randomForest` ntree = 1000, importance = TRUE) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.