com.rapidminer.operator.features.construction
Class AGA

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.OperatorChain
          extended by com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
              extended by com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
                  extended by com.rapidminer.operator.features.construction.GeneratingGeneticAlgorithm
                      extended by com.rapidminer.operator.features.construction.AGA
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ParameterHandler, LoggingHandler

public class AGA
extends GeneratingGeneticAlgorithm

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.

Author:
Ingo Mierswa

Field Summary
static java.lang.String PARAMETER_ADAPTION_TYPE
          The parameter name for "Use this adaption type for additional peaks.
static java.lang.String PARAMETER_ATTRIBUTES_PER_PEAK
          The parameter name for "Use this number of additional peaks for each found peak.
static java.lang.String PARAMETER_EPSILON
          The parameter name for "Use this range for additional peaks for each found peak.
static java.lang.String PARAMETER_EQUIVALENCE_EPSILON
          The parameter name for "Consider two attributes equivalent if their difference is not bigger than epsilon.
static java.lang.String PARAMETER_EQUIVALENCE_SAMPLES
          The parameter name for "Check this number of samples to prove equivalency.
static java.lang.String PARAMETER_EQUIVALENCE_USE_STATISTICS
          The parameter name for "Recalculates attribute statistics before equivalence check.
static java.lang.String PARAMETER_REMOVE_EQUIVALENT
          The parameter name for "Remove equivalent attributes.
static java.lang.String PARAMETER_REMOVE_USELESS
          The parameter name for "Remove useless attributes.
static java.lang.String PARAMETER_RESTRICTIVE_SELECTION
          The parameter name for "Use restrictive generator selection (faster).
static java.lang.String PARAMETER_SEARCH_FOURIER_PEAKS
          The parameter name for "Use this number of highest frequency peaks for sinus generation.
static java.lang.String PARAMETER_USE_ABSOLUTE_VALUES
          The parameter name for "Generate absolute values.
static java.lang.String PARAMETER_USE_ATAN
          The parameter name for "Generate arc tangens.
static java.lang.String PARAMETER_USE_COS
          The parameter name for "Generate cosinus.
static java.lang.String PARAMETER_USE_EXP
          The parameter name for "Generate exponential functions.
static java.lang.String PARAMETER_USE_FLOOR_CEIL_FUNCTIONS
          The parameter name for "Generate floor, ceil, and rounded values.
static java.lang.String PARAMETER_USE_LOG
          The parameter name for "Generate logarithmic functions.
static java.lang.String PARAMETER_USE_MAX
          The parameter name for "Generate maximum values.
static java.lang.String PARAMETER_USE_MIN
          The parameter name for "Generate minimum values.
static java.lang.String PARAMETER_USE_POWER_FUNCTIONS
          The parameter name for "Generate the power of one attribute and another.
static java.lang.String PARAMETER_USE_SGN
          The parameter name for "Generate signum values.
static java.lang.String PARAMETER_USE_SIN
          The parameter name for "Generate sinus.
static java.lang.String PARAMETER_USE_SQUARE_ROOTS
          The parameter name for "Generate square root values.
static java.lang.String PARAMETER_USE_TAN
          The parameter name for "Generate tangens.
 
Fields inherited from class com.rapidminer.operator.features.construction.GeneratingGeneticAlgorithm
PARAMETER_MAX_NUMBER_OF_NEW_ATTRIBUTES, PARAMETER_MAX_TOTAL_NUMBER_OF_ATTRIBUTES, PARAMETER_P_GENERATE, PARAMETER_P_MUTATION
 
Fields inherited from class com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
BOLTZMANN_SELECTION, CUT_SELECTION, NON_DOMINATED_SORTING_SELECTION, PARAMETER_CROSSOVER_TYPE, PARAMETER_DYNAMIC_SELECTION_PRESSURE, PARAMETER_GENERATIONS_WITHOUT_IMPROVAL, PARAMETER_KEEP_BEST_INDIVIDUAL, PARAMETER_MAXIMUM_NUMBER_OF_GENERATIONS, PARAMETER_P_CROSSOVER, PARAMETER_P_INITIALIZE, PARAMETER_POPULATION_SIZE, PARAMETER_RECIPROCAL_VALUE, PARAMETER_START_TEMPERATURE, PARAMETER_TOURNAMENT_SIZE, PARAMETER_USE_DIFF, PARAMETER_USE_DIV, PARAMETER_USE_MULT, PARAMETER_USE_PLUS, RANK_SELECTION, ROULETTE_WHEEL, SELECTION_SCHEMES, STOCHASTIC_UNIVERSAL, TOURNAMENT_SELECTION, UNIFORM_SELECTION
 
Fields inherited from class com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
PARAMETER_LOCAL_RANDOM_SEED, PARAMETER_MAXIMAL_FITNESS, PARAMETER_SHOW_STOP_DIALOG
 
Constructor Summary
AGA(OperatorDescription description)
           
 
Method Summary
 IOObject[] apply()
          Applies the feature operator: collects the pre- and postevaluation operators create an initial population evaluate the initial population loop as long as solution is not good enough apply all pre evaluation operators evaluate the population update the population's best individual apply all post evaluation operators return all generation's best individual
 java.util.List<FeatureGenerator> getGenerators()
          Returns a list with all generator which should be used.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
protected  java.util.List<ExampleSetBasedPopulationOperator> getPreProcessingPopulationOperators(ExampleSet input)
           
 
Methods inherited from class com.rapidminer.operator.features.construction.GeneratingGeneticAlgorithm
getGeneratingPopulationOperator, getMutationPopulationOperator
 
Methods inherited from class com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
createInitialPopulation, getCrossoverPopulationOperator, getPostEvaluationPopulationOperators, getPostProcessingPopulationOperators, getPreEvaluationPopulationOperators, solutionGoodEnough
 
Methods inherited from class com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
evaluate, evaluate, getCheckForMaximum, getInnerOperatorCondition, getInputClasses, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getOutputClasses, getPopulation, getRandom, setCheckForMaximum
 
Methods inherited from class com.rapidminer.operator.OperatorChain
addAddListener, addOperator, addOperator, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clearErrorList, cloneOperator, createExperimentTree, createProcessTree, getAllInnerOperators, getIndexOfOperator, getInnerOperatorForName, getInnerOperatorsXML, getNumberOfAllOperators, getNumberOfOperators, getOperator, getOperatorFromAll, getOperators, performAdditionalChecks, processFinished, processStarts, registerOperator, removeAddListener, removeOperator, shouldAddNonConsumedInput, shouldReturnInnerOutput, unregisterOperator
 
Methods inherited from class com.rapidminer.operator.Operator
addError, addValue, addWarning, apply, checkForStop, createExperimentTree, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getEncoding, getErrorList, getExperiment, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getIODescription, getLog, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getProcess, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isEnabled, isExpanded, isParallel, isParameterSet, log, logError, logNote, logWarning, register, remove, rename, resume, setApplyCount, setBreakpoint, setEnabled, setExpanded, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, writeXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PARAMETER_USE_SQUARE_ROOTS

public static final java.lang.String PARAMETER_USE_SQUARE_ROOTS
The parameter name for "Generate square root values."

See Also:
Constant Field Values

PARAMETER_USE_POWER_FUNCTIONS

public static final java.lang.String PARAMETER_USE_POWER_FUNCTIONS
The parameter name for "Generate the power of one attribute and another."

See Also:
Constant Field Values

PARAMETER_USE_SIN

public static final java.lang.String PARAMETER_USE_SIN
The parameter name for "Generate sinus."

See Also:
Constant Field Values

PARAMETER_USE_COS

public static final java.lang.String PARAMETER_USE_COS
The parameter name for "Generate cosinus."

See Also:
Constant Field Values

PARAMETER_USE_TAN

public static final java.lang.String PARAMETER_USE_TAN
The parameter name for "Generate tangens."

See Also:
Constant Field Values

PARAMETER_USE_ATAN

public static final java.lang.String PARAMETER_USE_ATAN
The parameter name for "Generate arc tangens."

See Also:
Constant Field Values

PARAMETER_USE_EXP

public static final java.lang.String PARAMETER_USE_EXP
The parameter name for "Generate exponential functions."

See Also:
Constant Field Values

PARAMETER_USE_LOG

public static final java.lang.String PARAMETER_USE_LOG
The parameter name for "Generate logarithmic functions."

See Also:
Constant Field Values

PARAMETER_USE_ABSOLUTE_VALUES

public static final java.lang.String PARAMETER_USE_ABSOLUTE_VALUES
The parameter name for "Generate absolute values."

See Also:
Constant Field Values

PARAMETER_USE_MIN

public static final java.lang.String PARAMETER_USE_MIN
The parameter name for "Generate minimum values."

See Also:
Constant Field Values

PARAMETER_USE_MAX

public static final java.lang.String PARAMETER_USE_MAX
The parameter name for "Generate maximum values."

See Also:
Constant Field Values

PARAMETER_USE_SGN

public static final java.lang.String PARAMETER_USE_SGN
The parameter name for "Generate signum values."

See Also:
Constant Field Values

PARAMETER_USE_FLOOR_CEIL_FUNCTIONS

public static final java.lang.String PARAMETER_USE_FLOOR_CEIL_FUNCTIONS
The parameter name for "Generate floor, ceil, and rounded values."

See Also:
Constant Field Values

PARAMETER_RESTRICTIVE_SELECTION

public static final java.lang.String PARAMETER_RESTRICTIVE_SELECTION
The parameter name for "Use restrictive generator selection (faster)."

See Also:
Constant Field Values

PARAMETER_REMOVE_USELESS

public static final java.lang.String PARAMETER_REMOVE_USELESS
The parameter name for "Remove useless attributes."

See Also:
Constant Field Values

PARAMETER_REMOVE_EQUIVALENT

public static final java.lang.String PARAMETER_REMOVE_EQUIVALENT
The parameter name for "Remove equivalent attributes."

See Also:
Constant Field Values

PARAMETER_EQUIVALENCE_SAMPLES

public static final java.lang.String PARAMETER_EQUIVALENCE_SAMPLES
The parameter name for "Check this number of samples to prove equivalency."

See Also:
Constant Field Values

PARAMETER_EQUIVALENCE_EPSILON

public static final java.lang.String PARAMETER_EQUIVALENCE_EPSILON
The parameter name for "Consider two attributes equivalent if their difference is not bigger than epsilon."

See Also:
Constant Field Values

PARAMETER_EQUIVALENCE_USE_STATISTICS

public static final java.lang.String PARAMETER_EQUIVALENCE_USE_STATISTICS
The parameter name for "Recalculates attribute statistics before equivalence check."

See Also:
Constant Field Values

PARAMETER_SEARCH_FOURIER_PEAKS

public static final java.lang.String PARAMETER_SEARCH_FOURIER_PEAKS
The parameter name for "Use this number of highest frequency peaks for sinus generation."

See Also:
Constant Field Values

PARAMETER_ATTRIBUTES_PER_PEAK

public static final java.lang.String PARAMETER_ATTRIBUTES_PER_PEAK
The parameter name for "Use this number of additional peaks for each found peak."

See Also:
Constant Field Values

PARAMETER_EPSILON

public static final java.lang.String PARAMETER_EPSILON
The parameter name for "Use this range for additional peaks for each found peak."

See Also:
Constant Field Values

PARAMETER_ADAPTION_TYPE

public static final java.lang.String PARAMETER_ADAPTION_TYPE
The parameter name for "Use this adaption type for additional peaks."

See Also:
Constant Field Values
Constructor Detail

AGA

public AGA(OperatorDescription description)
Method Detail

apply

public IOObject[] apply()
                 throws OperatorException
Description copied from class: ExampleSetBasedFeatureOperator
Applies the feature operator:
  1. collects the pre- and postevaluation operators
  2. create an initial population
  3. evaluate the initial population
  4. loop as long as solution is not good enough
    1. apply all pre evaluation operators
    2. evaluate the population
    3. update the population's best individual
    4. apply all post evaluation operators
  5. return all generation's best individual

Overrides:
apply in class ExampleSetBasedFeatureOperator
Returns:
the last inner operator's output or the input itself if the chain is empty.
Throws:
OperatorException

getGenerators

public java.util.List<FeatureGenerator> getGenerators()
Description copied from class: AbstractGeneratingGeneticAlgorithm
Returns a list with all generator which should be used.

Overrides:
getGenerators in class AbstractGeneratingGeneticAlgorithm

getPreProcessingPopulationOperators

protected java.util.List<ExampleSetBasedPopulationOperator> getPreProcessingPopulationOperators(ExampleSet input)
                                                                                         throws OperatorException
Overrides:
getPreProcessingPopulationOperators in class AbstractGeneratingGeneticAlgorithm
Throws:
OperatorException

getParameterTypes

public java.util.List<ParameterType> getParameterTypes()
Description copied from class: Operator
Returns a list of ParameterTypes describing the parameters of this operator. The default implementation returns an empty list if no input objects can be retained and special parameters for those input objects which can be prevented from being consumed.

Specified by:
getParameterTypes in interface ParameterHandler
Overrides:
getParameterTypes in class GeneratingGeneticAlgorithm


Copyright © 2001-2009 by Rapid-I