run {struct} | R Documentation

## Run iterator

### Description

Runs an iterator, applying the chosen model multiple times.

Evaluates an iterator by e.g. averaging over all iterations. May be deprecated in a future release as `evaluate` is applied by `run` anyway.

A class for iterative approaches that involve the training/prediction of a model multiple times. Not intended to be called directly, this class should be inherited to provide functionality for method-specific classes.

### Usage

    run(I, D, MET)

    evaluate(I, MET)

    iterator(...)

    ## S4 method for signature 'iterator,DatasetExperiment,metric'
    run(I, D, MET = NULL)

    ## S4 method for signature 'iterator,metric'
    evaluate(I, MET)

    ## S4 method for signature 'iterator'
    models(ML)

    ## S4 replacement method for signature 'iterator,model_OR_iterator'
    models(ML) <- value

    ## S4 replacement method for signature 'iterator,character'
    result_name(I) <- value

    ## S4 method for signature 'iterator'
    result(M)

    ## S4 method for signature 'iterator'
    result_name(M)

    ## S4 method for signature 'iterator,model_OR_iterator'
    e1 * e2

    ## S4 method for signature 'iterator,ANY,ANY,ANY'
    x[i]

    ## S4 replacement method for signature 'iterator,ANY,ANY,ANY'
    x[i] <- value

### Arguments

`I` | an iterator object
`D` | a dataset object
`MET` | a metric object
`...` | named slots and their values.
`ML` | a model sequence object
`value` | value
`M` | a model object
`e1` | an iterator object
`e2` | an iterator or a model object
`x` | a sequence object
`i` | index into sequence

### Details

Running an iterator will apply the iterator a number of times to a dataset_ For example, in cross-validation the same model is applied multiple times to the same data, splitting it into training and test sets. The input metric object can be calculated and collected for each iteration as an output_

### Value

Modified iterator object

Modified iterator object

the modified model object

model at the given index in the sequence

iterator with the model at index i replaced

### Examples

    D = iris_DatasetExperiment() # get some data
    MET = metric()  # use a metric
    I = example_iterator() # initialise iterator
    models(I) = example_model() # set the model
    I = run(I,D,MET) # run
    D = iris_DatasetExperiment() # get some data
    MET = metric()  # use a metric
    I = example_iterator() # initialise iterator
    models(I) = example_model() # set the model
    I = run(I,D,MET) # run
    I = evaluate(I,MET) # evaluate
    I = iterator()
    I = iterator() * model()
    D = DatasetExperiment()
    MET = metric()
    I = iterator() * model()
    I = run(I,D,MET)

    I = iterator()
    result_name(I) = 'example'
    MS = model() + model()
    I = iterator() * MS
    I[2] # returns the second model() object

    MS = model() + model()
    I = iterator() * MS
    I[2] = model() # sets the second model to model()

[Package struct version 1.2.0 Index]