com.rapidminer.operator.meta
Class RepeatUntilOperatorChain

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.OperatorChain
          extended by com.rapidminer.operator.meta.RepeatUntilOperatorChain
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ParameterHandler, LoggingHandler

public class RepeatUntilOperatorChain
extends OperatorChain

Performs its inner operators until all given criteria are met or a timeout occurs.

Author:
Stefan Rueping ingomierswa Exp $

Field Summary
static java.lang.String[] COMPARISONS
           
static int DECREASING
           
static int NONE
           
static int NONINCREASING
           
static java.lang.String PARAMETER_CONDITION_BEFORE
          The parameter name for "Evaluate condition before inner chain is applied (true) or after?
static java.lang.String PARAMETER_MAX_ATTRIBUTES
          The parameter name for "Maximal number of attributes in first example set"
static java.lang.String PARAMETER_MAX_CRITERION
          The parameter name for "Maximal main criterion in first performance vector"
static java.lang.String PARAMETER_MAX_EXAMPLES
          The parameter name for "Maximal number of examples in first example set"
static java.lang.String PARAMETER_MAX_ITERATIONS
          The parameter name for "Maximum number of iterations"
static java.lang.String PARAMETER_MIN_ATTRIBUTES
          The parameter name for "Minimal number of attributes in first example set"
static java.lang.String PARAMETER_MIN_CRITERION
          The parameter name for "Minimal main criterion in first performance vector"
static java.lang.String PARAMETER_MIN_EXAMPLES
          The parameter name for "Minimal number of examples in first example set"
static java.lang.String PARAMETER_PERFORMANCE_CHANGE
          The parameter name for "Stop when performance of inner chain behaves like this.
static java.lang.String PARAMETER_TIMEOUT
          The parameter name for "Timeout in minutes (-1 = no timeout)"
 
Constructor Summary
RepeatUntilOperatorChain(OperatorDescription description)
           
 
Method Summary
 IOObject[] apply()
          Applies all inner operators.
 InnerOperatorCondition getInnerOperatorCondition()
          Returns a simple chain condition.
 java.lang.Class<?>[] getInputClasses()
          Returns the classes that are needed as input.
 int getMaxNumberOfInnerOperators()
          Returns the minimum number of innner operators.
 int getMinNumberOfInnerOperators()
          Returns the maximum number of innner operators.
 java.lang.Class<?>[] getOutputClasses()
          Returns the classes that are guaranteed to be returned by apply() as additional output.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 
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_MIN_ATTRIBUTES

public static final java.lang.String PARAMETER_MIN_ATTRIBUTES
The parameter name for "Minimal number of attributes in first example set"

See Also:
Constant Field Values

PARAMETER_MAX_ATTRIBUTES

public static final java.lang.String PARAMETER_MAX_ATTRIBUTES
The parameter name for "Maximal number of attributes in first example set"

See Also:
Constant Field Values

PARAMETER_MIN_EXAMPLES

public static final java.lang.String PARAMETER_MIN_EXAMPLES
The parameter name for "Minimal number of examples in first example set"

See Also:
Constant Field Values

PARAMETER_MAX_EXAMPLES

public static final java.lang.String PARAMETER_MAX_EXAMPLES
The parameter name for "Maximal number of examples in first example set"

See Also:
Constant Field Values

PARAMETER_MIN_CRITERION

public static final java.lang.String PARAMETER_MIN_CRITERION
The parameter name for "Minimal main criterion in first performance vector"

See Also:
Constant Field Values

PARAMETER_MAX_CRITERION

public static final java.lang.String PARAMETER_MAX_CRITERION
The parameter name for "Maximal main criterion in first performance vector"

See Also:
Constant Field Values

PARAMETER_MAX_ITERATIONS

public static final java.lang.String PARAMETER_MAX_ITERATIONS
The parameter name for "Maximum number of iterations"

See Also:
Constant Field Values

PARAMETER_TIMEOUT

public static final java.lang.String PARAMETER_TIMEOUT
The parameter name for "Timeout in minutes (-1 = no timeout)"

See Also:
Constant Field Values

PARAMETER_PERFORMANCE_CHANGE

public static final java.lang.String PARAMETER_PERFORMANCE_CHANGE
The parameter name for "Stop when performance of inner chain behaves like this."

See Also:
Constant Field Values

PARAMETER_CONDITION_BEFORE

public static final java.lang.String PARAMETER_CONDITION_BEFORE
The parameter name for "Evaluate condition before inner chain is applied (true) or after?"

See Also:
Constant Field Values

COMPARISONS

public static final java.lang.String[] COMPARISONS

NONE

public static final int NONE
See Also:
Constant Field Values

DECREASING

public static final int DECREASING
See Also:
Constant Field Values

NONINCREASING

public static final int NONINCREASING
See Also:
Constant Field Values
Constructor Detail

RepeatUntilOperatorChain

public RepeatUntilOperatorChain(OperatorDescription description)
Method Detail

apply

public IOObject[] apply()
                 throws OperatorException
Description copied from class: OperatorChain
Applies all inner operators. The input to this operator becomes the input of the first inner operator. The latter's output is passed to the second inner operator and so on. Note to subclassers: If subclasses (for example wrappers) want to make use of this method remember to call exactly this method (super.apply()) and do not call super.apply(IOContainer) erroneously which will result in an infinite loop.

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

getInnerOperatorCondition

public InnerOperatorCondition getInnerOperatorCondition()
Returns a simple chain condition.

Specified by:
getInnerOperatorCondition in class OperatorChain

getMinNumberOfInnerOperators

public int getMinNumberOfInnerOperators()
Returns the maximum number of innner operators.

Specified by:
getMinNumberOfInnerOperators in class OperatorChain

getMaxNumberOfInnerOperators

public int getMaxNumberOfInnerOperators()
Returns the minimum number of innner operators.

Specified by:
getMaxNumberOfInnerOperators in class OperatorChain

getOutputClasses

public java.lang.Class<?>[] getOutputClasses()
Description copied from class: Operator

Returns the classes that are guaranteed to be returned by apply() as additional output. Please note that input objects which should not be consumed must also be defined by this method (e.g. an example set which is changed but not consumed in the case of a preprocessing operator must be defined in both, the methods Operator.getInputClasses() and Operator.getOutputClasses()). The default behavior for input consumation is defined by Operator.getInputDescription(Class) and can be changed by overwriting this method. Objects which are not consumed (defined by changing the implementation in Operator.getInputDescription(Class)) must not be defined as additional output in this method.

May deliver null or an empy array (no additional output is produced or guaranteed). Must return the class array of delivered output objects otherwise.

Specified by:
getOutputClasses in class Operator

getInputClasses

public java.lang.Class<?>[] getInputClasses()
Description copied from class: Operator
Returns the classes that are needed as input. May be null or an empty (no desired input). As default, all delivered input objects are consumed and must be also delivered as output in both Operator.getOutputClasses() and Operator.apply() if this is necessary. This default behavior can be changed by overriding Operator.getInputDescription(Class). Subclasses which implement this method should not make use of parameters since this method is invoked by getParameterTypes(). Therefore, parameters are not fully available at this point of time and this might lead to exceptions. Please use InputDescriptions instead.

Specified by:
getInputClasses in class Operator

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 Operator


Copyright © 2001-2009 by Rapid-I