com.rapidminer.operator.features.selection
Class WeightGuidedSelectionOperator

java.lang.Object
  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.WeightGuidedSelectionOperator
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ParameterHandler, LoggingHandler

public class WeightGuidedSelectionOperator
extends FeatureOperator

This operator uses input attribute weights to determine the order of features added to the feature set starting with the feature set containing only the feature with highest weight. The inner operators must provide a performance vector to determine the fitness of the current feature set, e.g. a cross validation of a learning scheme for a wrapper evaluation. Stops if adding the last k features does not increase the performance or if all features were added. The value of k can be set with the parameter generations_without_improval.

Author:
Ingo Mierswa ingomierswa Exp $

Field Summary
static java.lang.String PARAMETER_GENERATIONS_WITHOUT_IMPROVAL
          The parameter name for "Stop after n generations without improval of the performance (-1: stops if the number of features is reached).
static java.lang.String PARAMETER_USE_ABSOLUTE_WEIGHTS
          The parameter name for "Indicates that the absolute values of the input weights should be used to determine the feature adding order.
 
Fields inherited from class com.rapidminer.operator.features.FeatureOperator
PARAMETER_CONSTRAINT_DRAW_RANGE, PARAMETER_DRAW_DOMINATED_POINTS, PARAMETER_LOCAL_RANDOM_SEED, 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
WeightGuidedSelectionOperator(OperatorDescription description)
           
 
Method Summary
 Population createInitialPopulation(ExampleSet es)
          Returns an example set containing only the feature with the biggest weight.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 java.util.List<PopulationOperator> getPostEvaluationPopulationOperators(ExampleSet input)
          Returns an empty list.
 java.util.List<PopulationOperator> getPreEvaluationPopulationOperators(ExampleSet input)
          The operators add the feature with the next highest weight.
 boolean solutionGoodEnough(Population pop)
          Returns true if the best individual is not better than the last generation's best individual.
 
Methods inherited from class com.rapidminer.operator.features.FeatureOperator
apply, createCleanClone, evaluate, getCheckForMaximum, getInnerOperatorCondition, getInputClasses, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getOutputClasses, getPopulation, getPopulationEvaluator, 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_GENERATIONS_WITHOUT_IMPROVAL

public static final java.lang.String PARAMETER_GENERATIONS_WITHOUT_IMPROVAL
The parameter name for "Stop after n generations without improval of the performance (-1: stops if the number of features is reached)."

See Also:
Constant Field Values

PARAMETER_USE_ABSOLUTE_WEIGHTS

public static final java.lang.String PARAMETER_USE_ABSOLUTE_WEIGHTS
The parameter name for "Indicates that the absolute values of the input weights should be used to determine the feature adding order."

See Also:
Constant Field Values
Constructor Detail

WeightGuidedSelectionOperator

public WeightGuidedSelectionOperator(OperatorDescription description)
Method Detail

createInitialPopulation

public Population createInitialPopulation(ExampleSet es)
                                   throws UndefinedParameterError
Returns an example set containing only the feature with the biggest weight.

Specified by:
createInitialPopulation in class FeatureOperator
Throws:
UndefinedParameterError

getPreEvaluationPopulationOperators

public java.util.List<PopulationOperator> getPreEvaluationPopulationOperators(ExampleSet input)
                                                                       throws OperatorException
The operators add the feature with the next highest weight.

Specified by:
getPreEvaluationPopulationOperators in class FeatureOperator
Throws:
OperatorException

getPostEvaluationPopulationOperators

public java.util.List<PopulationOperator> getPostEvaluationPopulationOperators(ExampleSet input)
                                                                        throws OperatorException
Returns an empty list.

Specified by:
getPostEvaluationPopulationOperators in class FeatureOperator
Throws:
OperatorException

solutionGoodEnough

public boolean solutionGoodEnough(Population pop)
                           throws OperatorException
Returns true if the best individual is not better than the last generation's best individual.

Specified by:
solutionGoodEnough 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.

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


Copyright © 2001-2009 by Rapid-I