com.rapidminer.operator.validation
Class BatchXValidation

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

public class BatchXValidation
extends ValidationChain

BatchXValidation encapsulates a cross-validation process. The example set S is split up into number_of_validations subsets S_i. The inner operators are applied number_of_validations times using S_i as the test set (input of the second inner operator) and S\backslash S_i training set (input of the first inner operator).

In contrast to the usual cross validation operator (see XValidation) this operator does not (randomly) split the data itself but uses the partition defined by the special attribute "batch". This can be an arbitrary nominal or integer attribute where each possible value occurs at least once (since many learning schemes depend on this minimum number of examples).

The first inner operator must accept an ExampleSet while the second must accept an ExampleSet and the output of the first (which is in most cases a Model) and must produce a PerformanceVector.

The cross validation operator provides several values which can be logged by means of a ProcessLogOperator. Of course the number of the current iteration can be logged which might be useful for ProcessLog operators wrapped inside a cross validation. Beside that, all performance estimation operators of RapidMiner provide access to the average values calculated during the estimation. Since the operator cannot ensure the names of the delivered criteria, the ProcessLog operator can access the values via the generic value names:

Author:
Ingo Mierswa
Keywords:
cross-validation

Field Summary
static java.lang.String PARAMETER_AVERAGE_PERFORMANCES_ONLY
          The parameter name for "Indicates if only performance vectors should be averaged or all types of averagable result vectors"
 
Fields inherited from class com.rapidminer.operator.validation.ValidationChain
PARAMETER_CREATE_COMPLETE_MODEL
 
Constructor Summary
BatchXValidation(OperatorDescription description)
           
 
Method Summary
 IOObject[] estimatePerformance(ExampleSet inputSet)
          This is the main method of the validation chain and must be implemented to estimate a performance of inner operators on the given example set.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 
Methods inherited from class com.rapidminer.operator.validation.ValidationChain
apply, evaluate, evaluate, getInnerOperatorCondition, getInputClasses, getInputDescription, getLearner, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getOutputClasses, learn, setResult
 
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, 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_AVERAGE_PERFORMANCES_ONLY

public static final java.lang.String PARAMETER_AVERAGE_PERFORMANCES_ONLY
The parameter name for "Indicates if only performance vectors should be averaged or all types of averagable result vectors"

See Also:
Constant Field Values
Constructor Detail

BatchXValidation

public BatchXValidation(OperatorDescription description)
Method Detail

estimatePerformance

public IOObject[] estimatePerformance(ExampleSet inputSet)
                               throws OperatorException
Description copied from class: ValidationChain
This is the main method of the validation chain and must be implemented to estimate a performance of inner operators on the given example set. The implementation can make use of the provided helper methods in this class.

Specified by:
estimatePerformance in class ValidationChain
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 ValidationChain


Copyright © 2001-2009 by Rapid-I