|  | ## Optimize by Generation (AGA)

#### Synopsis

Another (improved) genetic algorithm for feature selection and feature generation (AGA).

#### Description

Basically the same operator as the GeneratingGeneticAlgorithm operator. This version adds additional generators and improves the simple GGA approach by providing some basic intron prevention techniques. In general, this operator seems to work better than the original approach but frequently deliver inferior results compared to the operator YAGGA2.

#### Input

- example set in: expects: ExampleSet

#### Output

- example set out:
- attribute weights out:
- performance out:

#### Parameters

- max number of new attributes: Max number of attributes to generate for an individual in one generation.
- limit max total number of attributes: Indicates if the total number of attributes in all generations should be limited.
- max total number of attributes: Max total number of attributes in all generations.
- use local random seed: Indicates if a local random seed should be used.
- local random seed: Specifies the local random seed
- show stop dialog: Determines if a dialog with a button should be displayed which stops the run: the best individual is returned.
- maximal fitness: The optimization will stop if the fitness reaches the defined maximum.
- population size: Number of individuals per generation.
- maximum number of generations: Number of generations after which to terminate the algorithm.
- use plus: Generate sums.
- use diff: Generate differences.
- use mult: Generate products.
- use div: Generate quotients.
- reciprocal value: Generate reciprocal values.
- use early stopping: Enables early stopping. If unchecked, always the maximum number of generations is performed.
- generations without improval: Stop criterion: Stop after n generations without improval of the performance.
- tournament size: The fraction of the current population which should be used as tournament members (only tournament selection).
- start temperature: The scaling temperature (only Boltzmann selection).
- dynamic selection pressure: If set to true the selection pressure is increased to maximum during the complete optimization run (only Boltzmann and tournament selection).
- keep best individual: If set to true, the best individual of each generations is guaranteed to be selected for the next generation (elitist selection).
- p initialize: Initial probability for an attribute to be switched on.
- p crossover: Probability for an individual to be selected for crossover.
- crossover type: Type of the crossover.
- p generate: Probability for an individual to be selected for generation.
- use heuristic mutation probability: If checked the probability for mutations will be chosen as 1/number of attributes.
- p mutation: Probability for mutation.
- use square roots: Generate square root values.
- use power functions: Generate the power of one attribute and another.
- use sin: Generate sinus.
- use cos: Generate cosinus.
- use tan: Generate tangens.
- use atan: Generate arc tangens.
- use exp: Generate exponential functions.
- use log: Generate logarithmic functions.
- use absolute values: Generate absolute values.
- use min: Generate minimum values.
- use max: Generate maximum values.
- use sgn: Generate signum values.
- use floor ceil functions: Generate floor, ceil, and rounded values.
- restrictive selection: Use restrictive generator selection (faster).
- remove useless: Remove useless attributes.
- remove equivalent: Remove equivalent attributes.
- equivalence samples: Check this number of samples to prove equivalency.
- equivalence epsilon: Consider two attributes equivalent if their difference is not bigger than epsilon.
- equivalence use statistics: Recalculates attribute statistics before equivalence check.
- search fourier peaks: Use this number of highest frequency peaks for sinus generation.
- attributes per peak: Use this number of additional peaks for each found peak.
- epsilon: Use this range for additional peaks for each found peak.
- adaption type: Use this adaption type for additional peaks.

#### ExampleProcess