gafs_initial | R Documentation |

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.

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 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
regression).

```
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, ...)
```

`vars` |
number of possible predictors |

`popSize` |
the population size passed into |

`...` |
not currently used |

`population` |
a binary matrix of the current subsets with predictors in columns and individuals in rows |

`fitness` |
a vector of fitness values |

`r, q, k` |
tuning parameters for the specific selection operator |

`parent, parents` |
integer(s) for which chromosomes are altered |

The return value depends on the function.

Luca Scrucca, `gafs_initial`

, `caretGA`

, `rfGA`

and
`treebagGA`

by Max Kuhn

Scrucca L (2013). GA: A Package for Genetic Algorithms in R. Journal of Statistical Software, 53(4), 1-37.

https://cran.r-project.org/package=GA

http://topepo.github.io/caret/feature-selection-using-genetic-algorithms.html

`gafs`

, `gafsControl`

```
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)
```

caret documentation built on March 31, 2023, 9:49 p.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.