aggregator: A Simple Class for Aggregators
Description
A class of objects designed to help aggregate
calculations over an iterative computation. The aggregator consists
of three objects. An environment to hold the values.
A function that sets up an initial value the first time an object is
seen. An aggregate function that increments the value of an object
seen previously. Creating Objects
new('aggregator', aggenv = [environment], initfun = [function], aggfun = [function])
Slots
aggenv
:- Object of class 'environment', holds the values between iterations
initfun
:- Object of class 'function' specifies how to initialize the value for a name the first time it is encountered
aggfun
:- Object of class 'function' used to increment (or perform any other function) on a name
Methods
aggenv(aggregator)
:- Used to access the environment of the aggregator
aggfun(aggregator)
:- Used to access the function that aggregates
initfun(aggregator)
:- Used to access the initializer function
Details
This class is used to help aggregate different values over function
calls. A very simple example is to use leave one out cross-validation
for prediction. At each stage we first perform feature selection and
then cross-validate. To keep track of how often each feature is
selected we can use an aggregator. At the end of the cross-validation
we can extract the names of the features chosen from aggenv
.