adams.flow.transformer
Class WekaCrossValidationEvaluator

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.transformer.AbstractTransformer
                  extended by adams.flow.transformer.AbstractWekaClassifierEvaluator
                      extended by adams.flow.transformer.AbstractGlobalWekaClassifierEvaluator
                          extended by adams.flow.transformer.WekaCrossValidationEvaluator
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, Randomizable, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, ErrorHandler, InputConsumer, OutputProducer, ProvenanceSupporter, Serializable, Comparable

public class WekaCrossValidationEvaluator
extends AbstractGlobalWekaClassifierEvaluator
implements Randomizable, ProvenanceSupporter

Cross-validates a classifier on an incoming dataset. The classifier setup being used in the evaluation is a global 'Classifier' actor.

Input/output:
- accepts:
   weka.core.Instances
- generates:
   weka.classifiers.Evaluation

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to
    the console (0 = off).
    default: 0
    minimum: 0
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: WekaCrossValidationEvaluator
 
-annotation <adams.core.base.BaseText> (property: annotations)
    The annotations to attach to this actor.
    default:
 
-skip (property: skip)
    If set to true, transformation is skipped and the input token is just forwarded
    as it is.
 
-stop-flow-on-error (property: stopFlowOnError)
    If set to true, the flow gets stopped in case this actor encounters an error;
     useful for critical actors.
 
-output <weka.classifiers.evaluation.output.prediction.AbstractOutput> (property: output)
    The class for generating prediction output; if 'Null' is used, then an Evaluation
    object is forwarded instead of a String.
    default: weka.classifiers.evaluation.output.prediction.Null
 
-classifier <adams.flow.core.GlobalActorReference> (property: classifier)
    The global classifier actor to cross-validate on the input data.
    default: WekaClassifier
 
-no-predictions (property: discardPredictions)
    If enabled, the collection of predictions during evaluation is suppressed,
     wich will conserve memory.
 
-seed <long> (property: seed)
    The seed value for the cross-validation (used for randomization).
    default: 1
 
-folds <int> (property: folds)
    The number of folds to use in the cross-validation; use -1 for leave-one-out
    cross-validation (LOOCV).
    default: 10
    minimum: -1
 

Version:
$Revision: 4584 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
protected  int m_Folds
          the number of folds.
protected  long m_Seed
          the seed value.
 
Fields inherited from class adams.flow.transformer.AbstractGlobalWekaClassifierEvaluator
m_Classifier, m_DiscardPredictions
 
Fields inherited from class adams.flow.transformer.AbstractWekaClassifierEvaluator
m_Output, m_OutputBuffer
 
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
 
Fields inherited from class adams.flow.core.AbstractActor
FILE_EXTENSION, FILE_EXTENSION_GZ, m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Constructor Summary
WekaCrossValidationEvaluator()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
 String classifierTipText()
          Returns the tip text for this property.
 void defineOptions()
          Adds options to the internal list of options.
protected  String doExecute()
          Executes the flow item.
 String foldsTipText()
          Returns the tip text for this property.
 int getFolds()
          Returns the number of folds.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 long getSeed()
          Returns the seed value.
 String globalInfo()
          Returns a string describing the object.
 String seedTipText()
          Returns the tip text for this property.
 void setFolds(int value)
          Sets the number of folds.
 void setSeed(long value)
          Sets the seed value.
 void updateProvenance(ProvenanceContainer cont)
          Updates the provenance information in the provided container.
 
Methods inherited from class adams.flow.transformer.AbstractGlobalWekaClassifierEvaluator
discardPredictionsTipText, getClassifier, getClassifierInstance, getDiscardPredictions, setClassifier, setDiscardPredictions, setUp
 
Methods inherited from class adams.flow.transformer.AbstractWekaClassifierEvaluator
generates, getOutput, outputTipText, reset, setOutput, wrapUp
 
Methods inherited from class adams.flow.transformer.AbstractTransformer
backupState, execute, hasPendingOutput, input, output, postExecute, restoreState
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, debug, destroy, equals, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_Folds

protected int m_Folds
the number of folds.


m_Seed

protected long m_Seed
the seed value.

Constructor Detail

WekaCrossValidationEvaluator

public WekaCrossValidationEvaluator()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractGlobalWekaClassifierEvaluator

getQuickInfo

public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.

Specified by:
getQuickInfo in interface QuickInfoSupporter
Overrides:
getQuickInfo in class AbstractGlobalWekaClassifierEvaluator
Returns:
null if no info available, otherwise short string

classifierTipText

public String classifierTipText()
Returns the tip text for this property.

Specified by:
classifierTipText in class AbstractGlobalWekaClassifierEvaluator
Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setFolds

public void setFolds(int value)
Sets the number of folds.

Parameters:
value - the folds, -1 for LOOCV

getFolds

public int getFolds()
Returns the number of folds.

Returns:
the folds

foldsTipText

public String foldsTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setSeed

public void setSeed(long value)
Sets the seed value.

Specified by:
setSeed in interface Randomizable
Parameters:
value - the seed

getSeed

public long getSeed()
Returns the seed value.

Specified by:
getSeed in interface Randomizable
Returns:
the seed

seedTipText

public String seedTipText()
Returns the tip text for this property.

Specified by:
seedTipText in interface Randomizable
Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

accepts

public Class[] accepts()
Returns the class that the consumer accepts.

Specified by:
accepts in interface InputConsumer
Returns:
weka.core.Instances.class

doExecute

protected String doExecute()
Executes the flow item.

Specified by:
doExecute in class AbstractActor
Returns:
null if everything is fine, otherwise error message

updateProvenance

public void updateProvenance(ProvenanceContainer cont)
Updates the provenance information in the provided container.

Specified by:
updateProvenance in interface ProvenanceSupporter
Parameters:
cont - the provenance container to update


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.