com.rapidminer.operator.features.weighting
Class EvolutionaryWeighting

java.lang.Object
  extended by com.rapidminer.tools.AbstractObservable<Operator>
      extended by com.rapidminer.operator.Operator
          extended by com.rapidminer.operator.OperatorChain
              extended by com.rapidminer.operator.features.FeatureOperator
                  extended by com.rapidminer.operator.features.selection.AbstractGeneticAlgorithm
                      extended by com.rapidminer.operator.features.weighting.EvolutionaryWeighting
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ResourceConsumer, ParameterHandler, LoggingHandler, Observable<Operator>

public class EvolutionaryWeighting
extends AbstractGeneticAlgorithm

This operator performs the weighting of features with an evolutionary strategies approach. The variance of the gaussian additive mutation can be adapted by a 1/5-rule.

Author:
Ingo Mierswa, Sebastian Land

Field Summary
static java.lang.String PARAMETER_1_5_RULE
          The parameter name for "If set to true, the 1/5 rule for variance adaption is used.
static java.lang.String PARAMETER_BOUNDED_MUTATION
          The parameter name for "If set to true, the weights are bounded between 0 and 1.
static java.lang.String PARAMETER_CROSSOVER_TYPE
          The parameter name for "Type of the crossover.
static java.lang.String PARAMETER_DEFAULT_NOMINAL_MUTATION_RATE
           
static java.lang.String PARAMETER_INITIALIZE_WITH_INPUT_WEIGHTS
           
static java.lang.String PARAMETER_MUTATION_VARIANCE
          The parameter name for "The (initial) variance for each mutation.
static java.lang.String PARAMETER_NOMINAL_MUTATION_RATE
           
static java.lang.String PARAMETER_P_CROSSOVER
          The parameter name for "Probability for an individual to be selected for crossover.
 
Fields inherited from class com.rapidminer.operator.features.selection.AbstractGeneticAlgorithm
BOLTZMANN_SELECTION, CUT_SELECTION, NON_DOMINATED_SORTING_SELECTION, PARAMETER_DYNAMIC_SELECTION_PRESSURE, PARAMETER_GENERATIONS_WITHOUT_IMPROVAL, PARAMETER_INTERMEDIATE_WEIGHTS_FILE, PARAMETER_INTERMEDIATE_WEIGHTS_GENERATIONS, PARAMETER_KEEP_BEST_INDIVIDUAL, PARAMETER_MAXIMUM_NUMBER_OF_GENERATIONS, PARAMETER_POPULATION_SIZE, PARAMETER_SAVE_INTERMEDIATE_WEIGHTS, PARAMETER_SELECTION_SCHEME, PARAMETER_START_TEMPERATURE, PARAMETER_TOURNAMENT_SIZE, PARAMETER_USE_EARLY_STOPPING, RANK_SELECTION, ROULETTE_WHEEL, SELECTION_SCHEMES, STOCHASTIC_UNIVERSAL, TOURNAMENT_SELECTION, UNIFORM_SELECTION
 
Fields inherited from class com.rapidminer.operator.features.FeatureOperator
PARAMETER_CONSTRAINT_DRAW_RANGE, PARAMETER_DRAW_DOMINATED_POINTS, PARAMETER_MAXIMAL_FITNESS, PARAMETER_NORMALIZE_WEIGHTS, PARAMETER_PLOT_GENERATIONS, PARAMETER_POPULATION_CRITERIA_DATA_FILE, PARAMETER_SHOW_POPULATION_PLOTTER, PARAMETER_SHOW_STOP_DIALOG, PARAMETER_USER_RESULT_INDIVIDUAL_SELECTION
 
Constructor Summary
EvolutionaryWeighting(OperatorDescription description)
           
 
Method Summary
 Population createInitialPopulation(ExampleSet exampleSet)
          Create an initial population.
 void doWork()
          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
 PopulationOperator getCrossoverPopulationOperator(ExampleSet eSet)
          Returns an operator that performs crossover.
 PopulationOperator getMutationPopulationOperator(ExampleSet eSet)
          Returns an operator that performs the mutation.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
protected  java.util.List<PopulationOperator> getPostProcessingPopulationOperators(ExampleSet eSet)
          Returns an empty list.
 
Methods inherited from class com.rapidminer.operator.features.selection.AbstractGeneticAlgorithm
getPostEvaluationPopulationOperators, getPreEvaluationPopulationOperators, getPreProcessingPopulationOperators, solutionGoodEnough
 
Methods inherited from class com.rapidminer.operator.features.FeatureOperator
createCleanClone, executeEvaluationProcess, getCheckForMaximum, getExampleSetInput, getPopulation, getPopulationEvaluator, getRandom, modifyInnerOutputExampleSet, modifyOutputExampleSet, runEvaluationProcess, setCheckForMaximum
 
Methods inherited from class com.rapidminer.operator.OperatorChain
addOperator, addOperator, addSubprocess, areSubprocessesExtendable, assumePreconditionsSatisfied, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clear, cloneOperator, collectErrors, createProcessTree, createSubprocess, freeMemory, getAllInnerOperators, getAllInnerOperatorsAndMe, getImmediateChildren, getIndexOfOperator, getInnerOperatorCondition, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getNumberOfAllOperators, getNumberOfOperators, getNumberOfSubprocesses, getOperator, getOperatorFromAll, getOperators, getSubprocess, getSubprocesses, isEnabled, lookupOperator, notifyRenaming, performAdditionalChecks, processFinished, processStarts, propagateDirtyness, registerOperator, removeOperator, removeSubprocess, shouldAddNonConsumedInput, shouldReturnInnerOutput, unregisterOperator, updateExecutionOrder, walk
 
Methods inherited from class com.rapidminer.operator.Operator
acceptsInput, addError, addError, addValue, addWarning, apply, apply, checkAll, checkAllExcludingMetaData, checkForStop, clearErrorList, createExperimentTree, createExperimentTree, createFromXML, createFromXML, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, disconnectPorts, execute, fireUpdate, getAddOnlyAdditionalOutput, getApplyCount, getCompatibilityLevel, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getDOMRepresentation, getEncoding, getErrorList, getExecutionUnit, getExperiment, getIncompatibleVersionChanges, getInput, getInput, getInput, getInputClasses, getInputDescription, getInputPorts, getIODescription, getLog, getLogger, getName, getNumberOfBreakpoints, getOperatorClassName, getOperatorDescription, getOutputClasses, getOutputPorts, getParameter, getParameterAsBoolean, getParameterAsChar, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsRepositoryLocation, getParameterAsString, getParameterHandler, getParameterList, getParameters, getParameterTupel, getParameterType, getParent, getPortOwner, getProcess, getResourceConsumptionEstimator, getRoot, getStartTime, getTransformer, getUserDescription, getValue, getValues, getXML, getXML, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isDirty, isExpanded, isParallel, isParameterSet, isRunning, log, log, logError, logNote, logWarning, makeDirty, makeDirtyOnUpdate, preAutoWire, producesOutput, register, remove, removeAndKeepConnections, rename, resume, setBreakpoint, setCompatibilityLevel, setEnabled, setEnclosingProcess, setExpanded, setInput, setListParameter, setPairParameter, setParameter, setParameters, setUserDescription, shouldAutoConnect, shouldAutoConnect, shouldStopStandaloneExecution, toString, transformMetaData, writeXML, writeXML
 
Methods inherited from class com.rapidminer.tools.AbstractObservable
addObserver, addObserverAsFirst, fireUpdate, removeObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PARAMETER_MUTATION_VARIANCE

public static final java.lang.String PARAMETER_MUTATION_VARIANCE
The parameter name for "The (initial) variance for each mutation."

See Also:
Constant Field Values

PARAMETER_1_5_RULE

public static final java.lang.String PARAMETER_1_5_RULE
The parameter name for "If set to true, the 1/5 rule for variance adaption is used."

See Also:
Constant Field Values

PARAMETER_BOUNDED_MUTATION

public static final java.lang.String PARAMETER_BOUNDED_MUTATION
The parameter name for "If set to true, the weights are bounded between 0 and 1."

See Also:
Constant Field Values

PARAMETER_P_CROSSOVER

public static final java.lang.String PARAMETER_P_CROSSOVER
The parameter name for "Probability for an individual to be selected for crossover."

See Also:
Constant Field Values

PARAMETER_CROSSOVER_TYPE

public static final java.lang.String PARAMETER_CROSSOVER_TYPE
The parameter name for "Type of the crossover."

See Also:
Constant Field Values

PARAMETER_INITIALIZE_WITH_INPUT_WEIGHTS

public static final java.lang.String PARAMETER_INITIALIZE_WITH_INPUT_WEIGHTS
See Also:
Constant Field Values

PARAMETER_NOMINAL_MUTATION_RATE

public static final java.lang.String PARAMETER_NOMINAL_MUTATION_RATE
See Also:
Constant Field Values

PARAMETER_DEFAULT_NOMINAL_MUTATION_RATE

public static final java.lang.String PARAMETER_DEFAULT_NOMINAL_MUTATION_RATE
See Also:
Constant Field Values
Constructor Detail

EvolutionaryWeighting

public EvolutionaryWeighting(OperatorDescription description)
Method Detail

getCrossoverPopulationOperator

public PopulationOperator getCrossoverPopulationOperator(ExampleSet eSet)
                                                  throws UndefinedParameterError
Description copied from class: AbstractGeneticAlgorithm
Returns an operator that performs crossover. Can be overridden by subclasses.

Specified by:
getCrossoverPopulationOperator in class AbstractGeneticAlgorithm
Throws:
UndefinedParameterError

getMutationPopulationOperator

public PopulationOperator getMutationPopulationOperator(ExampleSet eSet)
                                                 throws UndefinedParameterError
Description copied from class: AbstractGeneticAlgorithm
Returns an operator that performs the mutation. Can be overridden by subclasses.

Specified by:
getMutationPopulationOperator in class AbstractGeneticAlgorithm
Throws:
UndefinedParameterError

getPostProcessingPopulationOperators

protected java.util.List<PopulationOperator> getPostProcessingPopulationOperators(ExampleSet eSet)
                                                                           throws UndefinedParameterError
Description copied from class: AbstractGeneticAlgorithm
Returns an empty list.

Overrides:
getPostProcessingPopulationOperators in class AbstractGeneticAlgorithm
Throws:
UndefinedParameterError

doWork

public void doWork()
            throws OperatorException
Description copied from class: FeatureOperator
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:
doWork in class FeatureOperator
Throws:
OperatorException

createInitialPopulation

public Population createInitialPopulation(ExampleSet exampleSet)
                                   throws OperatorException
Description copied from class: FeatureOperator
Create an initial population. The example set will be cloned before the method is invoked. This method is invoked after the pre- and postevaluation population operators were collected.

Specified by:
createInitialPopulation in class FeatureOperator
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. ATTENTION! This will create new parameterTypes. For calling already existing parameter types use getParameters().getParameterTypes();

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


Copyright © 2001-2009 by Rapid-I