Forward Selection


Synopsis

A highly efficient implementation of the forward selection scheme.


Description

This operator starts with an empty selection of attributes and, in each round, it adds each unused attribute of the given set of examples. For each added attribute, the performance is estimated using inner operators, e.g. a cross-validation. Only the attribute giving the highest increase of performance is added to the selection. Then a new round is started with the modified selection. This implementation will avoid any additional memory consumption beside the memory used originally for storing the data and the memory which might be needed for applying the inner operators.

A parameter specifies when the iteration will be aborted. There are three different behaviors possible:

runs as long as there is any increase in performance runs as long as the increase is at least as high as specified, either relative or absolute. stops as soon as the increase isn't significant to the specified level.

The parameter speculative_rounds defines how many rounds will be performed in a row, after a first time the stopping criterion was fulfilled. If the performance increases again during the speculative rounds, the selection will be continued. Otherwise all additionally selected attributes will be removed, as if no speculative rounds would have been executed. This might help to avoid getting stuck in local optima. A following backward elimination operator might remove unneeded attributes again.

The operator provides a value for logging the performance in each round using a Log.


Input


Output


Parameters


ExampleProcess