edu.udo.cs.yale.operator.validation
Class XValidation

java.lang.Object
  extended by edu.udo.cs.yale.operator.Operator
      extended by edu.udo.cs.yale.operator.OperatorChain
          extended by edu.udo.cs.yale.operator.validation.ValidationChain
              extended by edu.udo.cs.yale.operator.validation.XValidation
All Implemented Interfaces:
ConfigurationListener

public class XValidation
extends ValidationChain

XValidation encapsulates a cross-validation experiment. 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).

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.

Like other validation schemes the Yale cross validation can use several types of sampling for building the subsets. Linear sampling simply divides the example set into partitions without changing the order of the examples. Shuffled sampling build random subsets from the data. Stratifed sampling builds random subsets and ensures that the class distribution in the subsets is the same as in the whole example set.

Version:
$Id: XValidation.java,v 1.25 2006/09/29 21:09:36 ingomierswa Exp $
Author:
Ingo Mierswa
Keywords:
cross-validation

Field Summary
private  int iteration
           
private  int number
           
 
Constructor Summary
XValidation(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.
 int getNumberOfValidationSteps()
          Returns the number of validation steps, i.e. the number of times the inner operators of this validation chain are performed.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 
Methods inherited from class edu.udo.cs.yale.operator.validation.ValidationChain
apply, evaluate, getInnerOperatorCondition, getInputClasses, getInputDescription, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getNumberOfSteps, getOutputClasses, learn, setResult
 
Methods inherited from class edu.udo.cs.yale.operator.OperatorChain
addAddListener, addOperator, addOperator, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clearErrorList, clearStepCounter, cloneOperator, countStep, createExperimentTree, delete, experimentFinished, experimentStarts, getAllInnerOperators, getCurrentStep, getIndexOfOperator, getInnerOperatorForName, getInnerOperatorsXML, getNumberOfAllOperators, getNumberOfChildrensSteps, getNumberOfOperators, getOperator, getOperatorFromAll, getOperators, isEnabled, performAdditionalChecks, removeAddListener, removeOperator, setEnabled, setExperiment, shouldReturnInnerOutput
 
Methods inherited from class edu.udo.cs.yale.operator.Operator
addError, addValue, addWarning, apply, createExperimentTree, createFromXML, createMarkedExperimentTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getErrorList, getExperiment, getInput, getInput, getInput, getIOContainerForInApplyLoopBreakpoint, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsInt, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isParameterSet, logMessage, register, remove, rename, resume, setBreakpoint, 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

number

private int number

iteration

private int iteration
Constructor Detail

XValidation

public XValidation(OperatorDescription description)
Method Detail

getNumberOfValidationSteps

public int getNumberOfValidationSteps()
Description copied from class: ValidationChain
Returns the number of validation steps, i.e. the number of times the inner operators of this validation chain are performed. For example this method should returns the number of iterations in case of a crossvalidation.

Specified by:
getNumberOfValidationSteps in class ValidationChain


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.

Overrides:
getParameterTypes in class ValidationChain



Copyright © 2001-2006