Learn R Programming

RWNN (version 0.4)

stack_rwnn: Stacking random weight neural networks

Description

Use stacking to create ensemble random weight neural networks.

Usage

stack_rwnn(
  formula,
  data = NULL,
  n_hidden = c(),
  lambda = NULL,
  B = 100,
  optimise = FALSE,
  folds = 10,
  method = NULL,
  type = NULL,
  control = list()
)

# S3 method for formula stack_rwnn( formula, data = NULL, n_hidden = c(), lambda = NULL, B = 100, optimise = FALSE, folds = 10, method = NULL, type = NULL, control = list() )

Value

An ERWNN-object.

Arguments

formula

A formula specifying features and targets used to estimate the parameters of the output layer.

data

A data-set (either a data.frame or a tibble) used to estimate the parameters of the output layer.

n_hidden

A vector of integers designating the number of neurons in each of the hidden layers (the length of the list is taken as the number of hidden layers).

lambda

The penalisation constant(s) passed to either rwnn or ae_rwnn (see method argument).

B

The number of models in the stack.

optimise

TRUE/FALSE: Should the stacking weights be optimised (or should the stack just predict the average)?

folds

The number of folds used when optimising the stacking weights (see optimise argument).

method

The penalisation type passed to ae_rwnn. Set to NULL (default), "l1", or "l2". If NULL, rwnn is used as the base learner.

type

A string indicating whether this is a regression or classification problem.

control

A list of additional arguments passed to the control_rwnn function.

References

Wolpert D. (1992) "Stacked generalization." Neural Networks, 5, 241-259.

Breiman L. (1996) "Stacked regressions." Machine Learning, 24, 49-64.

Examples

Run this code
n_hidden <- c(20, 15, 10, 5)
lambda <- 0.01
B <- 100

## Using the average of the stack to predict new targets
# \donttest{
m <- stack_rwnn(y ~ ., data = example_data, n_hidden = n_hidden,
                lambda = lambda, B = B)
# }

## Using the optimised weighting of the stack to predict new targets
# \donttest{
m <- stack_rwnn(y ~ ., data = example_data, n_hidden = n_hidden,
                lambda = lambda, B = B, optimise = TRUE)
# }

Run the code above in your browser using DataLab