gafs_initial
Ancillary genetic algorithm functions
Builtin functions related to genetic algorithms
Usage
gafs_initial(vars, popSize, ...)
gafs_lrSelection(population, fitness, r = NULL, q = NULL, ...)
gafs_rwSelection(population, fitness, ...)
gafs_tourSelection(population, fitness, k = 3, ...)
gafs_spCrossover(population, fitness, parents, ...)
gafs_uCrossover(population, parents, ...)
gafs_raMutation(population, parent, ...)
caretGA
rfGA
treebagGA
Arguments
 vars
 number of possible predictors
 popSize
 the population size passed into
gafs
 population
 a binary matrix of the current subsets with predictors in columns and individuals in rows
 fitness
 a vector of fitness values
 parent, parents
 integer(s) for which chromosomes are altered
 r, q, k
 tuning parameters for the specific selection operator
 ...
 not currently used
Details
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/GA.html.
Most of the gafs_*
functions are based on those from the GA package by Luca Scrucca. These functions here are small rewrites to work outside of the GA package.
The objects caretGA
, rfGA
and treebagGA
are example lists that can be used with the functions
argument of gafsControl
.
In the case of caretGA
, the ...
structure of gafs
passes through to the model fitting routine. As a consequence, the train
function can easily be accessed by passing important arguments belonging to train
to gafs
. See the examples below. By default, using caretGA
will used the resampled performance estimates produced by train
as the internal estimate of fitness.
For rfGA
and treebagGA
, the randomForest
and bagging
functions are used directly (i.e. train
is not used). Arguments to either of these functions can also be passed to them though the gafs
call (see examples below). For these two functions, the internal fitness is estimated using the outofbag estimates naturally produced by those functions. While faster, this limits the user to accuracy or Kappa (for classification) and RMSE and Rsquared (for regression).
Value

The return value depends on the function.
References
Scrucca L (2013). GA: A Package for Genetic Algorithms in R. Journal of Statistical Software, 53(4), 137.
See Also
Examples
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)