adams.flow.transformer
Class MOAClassifierEvaluation

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.MOAClassifierEvaluation
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, Actor, ErrorHandler, InputConsumer, OutputProducer, ProvenanceSupporter, Serializable, Comparable

public class MOAClassifierEvaluation
extends AbstractTransformer
implements ProvenanceSupporter

Evaluates a MOA classifier using prequential evaluation. With each incoming instance, the classifier is first evaluated, then trained.

Input/output:
- accepts:
   weka.core.Instance
- generates:
   moa.core.Measurement[]

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: MOAClassifierEvaluation
 
-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.
 
-classifier <java.lang.String> (property: classifier)
    The name of the global MOA classifier to evaluate.
    default: MOAClassifier
 
-evaluator <moa.options.ClassOption> (property: evaluator)
    The MOA evaluator to use for evaluating a trained MOA classifier.
    default: moa.evaluation.BasicClassificationPerformanceEvaluator
 
-output-interval <int> (property: outputInterval)
    The number of tokens to skip before evaluating the classifier stored in
    the token.
    default: 1
    minimum: 1
 

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

Field Summary
static String BACKUP_CLASSIFIER
          the key for storing the current classifier in the backup.
protected  moa.classifiers.AbstractClassifier m_ActualClassifier
          the model to use for prediction/training.
protected  moa.evaluation.ClassificationPerformanceEvaluator m_ActualEvaluator
          the actual evaluator to use.
protected  GlobalActorReference m_Classifier
          the name of the global classifier to use.
protected  int m_Count
          the current count of tokens that have passed through this actor.
protected  moa.options.ClassOption m_Evaluator
          the evaluation to use.
protected  int m_OutputInterval
          the output interval.
 
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
 
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_ScopeHandler, 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
 
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
 
Constructor Summary
MOAClassifierEvaluation()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
protected  Hashtable<String,Object> backupState()
          Backs up the current state of the actor before update the variables.
 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 evaluatorTipText()
          Returns the tip text for this property.
 Class[] generates()
          Returns the class of objects that it generates.
 GlobalActorReference getClassifier()
          Returns the global classifier to use.
protected  moa.classifiers.AbstractClassifier getClassifierInstance()
          Returns an instance of the global classifier.
protected  moa.evaluation.ClassificationPerformanceEvaluator getCurrentEvaluator()
          Returns the current evaluator, based on the class option.
protected  moa.evaluation.ClassificationPerformanceEvaluator getDefaultEvaluator()
          Returns the default evaluator.
protected  moa.options.ClassOption getDefaultOption()
          Returns the default class option.
 moa.options.ClassOption getEvaluator()
          Returns the evaluator in use.
 int getOutputInterval()
          Returns the number of tokens after which to evaluate the classifier.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 String globalInfo()
          Returns a string describing the object.
 String outputIntervalTipText()
          Returns the tip text for this property.
protected  void pruneBackup()
          Removes entries from the backup.
protected  void reset()
          Initializes the members.
protected  void restoreState(Hashtable<String,Object> state)
          Restores the state of the actor before the variables got updated.
 void setClassifier(GlobalActorReference value)
          Sets the global classifier to use.
 void setEvaluator(moa.options.ClassOption value)
          Sets the evaluator to use.
 void setOutputInterval(int value)
          Sets the number of tokens after which to evaluate the classifier.
 void updateProvenance(ProvenanceContainer cont)
          Updates the provenance information in the provided container.
 void wrapUp()
          Cleans up after the execution has finished.
 
Methods inherited from class adams.flow.transformer.AbstractTransformer
execute, hasPendingOutput, input, output, postExecute
 
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, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, preExecute, pruneBackup, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, 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
 
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, debug, destroy, equals, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, sizeOf, stopExecution, stopExecution, variableChanged
 
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 

Field Detail

BACKUP_CLASSIFIER

public static final String BACKUP_CLASSIFIER
the key for storing the current classifier in the backup.

See Also:
Constant Field Values

m_Classifier

protected GlobalActorReference m_Classifier
the name of the global classifier to use.


m_ActualClassifier

protected moa.classifiers.AbstractClassifier m_ActualClassifier
the model to use for prediction/training.


m_Evaluator

protected moa.options.ClassOption m_Evaluator
the evaluation to use.


m_ActualEvaluator

protected moa.evaluation.ClassificationPerformanceEvaluator m_ActualEvaluator
the actual evaluator to use.


m_OutputInterval

protected int m_OutputInterval
the output interval.


m_Count

protected int m_Count
the current count of tokens that have passed through this actor.

Constructor Detail

MOAClassifierEvaluation

public MOAClassifierEvaluation()
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 AbstractActor

reset

protected void reset()
Initializes the members.

Overrides:
reset in class AbstractTransformer

setClassifier

public void setClassifier(GlobalActorReference value)
Sets the global classifier to use.

Parameters:
value - the classifier name

getClassifier

public GlobalActorReference getClassifier()
Returns the global classifier to use.

Returns:
the classifier name

classifierTipText

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

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

getDefaultEvaluator

protected moa.evaluation.ClassificationPerformanceEvaluator getDefaultEvaluator()
Returns the default evaluator.

Returns:
the evaluator

getDefaultOption

protected moa.options.ClassOption getDefaultOption()
Returns the default class option.

Returns:
the option

setEvaluator

public void setEvaluator(moa.options.ClassOption value)
Sets the evaluator to use.

Parameters:
value - the evaluator

getEvaluator

public moa.options.ClassOption getEvaluator()
Returns the evaluator in use.

Returns:
the evaluator

evaluatorTipText

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

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

getCurrentEvaluator

protected moa.evaluation.ClassificationPerformanceEvaluator getCurrentEvaluator()
Returns the current evaluator, based on the class option.

Returns:
the evaluator
See Also:
getEvaluator()

setOutputInterval

public void setOutputInterval(int value)
Sets the number of tokens after which to evaluate the classifier.

Parameters:
value - the interval

getOutputInterval

public int getOutputInterval()
Returns the number of tokens after which to evaluate the classifier.

Returns:
the interval

outputIntervalTipText

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

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

getQuickInfo

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

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

accepts

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

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

generates

public Class[] generates()
Returns the class of objects that it generates.

Specified by:
generates in interface OutputProducer
Returns:
moa.core.Measurement[].class

pruneBackup

protected void pruneBackup()
Removes entries from the backup.

Overrides:
pruneBackup in class AbstractActor

backupState

protected Hashtable<String,Object> backupState()
Backs up the current state of the actor before update the variables.

Overrides:
backupState in class AbstractTransformer
Returns:
the backup

restoreState

protected void restoreState(Hashtable<String,Object> state)
Restores the state of the actor before the variables got updated.

Overrides:
restoreState in class AbstractTransformer
Parameters:
state - the backup of the state to restore from

getClassifierInstance

protected moa.classifiers.AbstractClassifier getClassifierInstance()
Returns an instance of the global classifier.

Returns:
the classifier

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

wrapUp

public void wrapUp()
Cleans up after the execution has finished.

Specified by:
wrapUp in interface Actor
Overrides:
wrapUp in class AbstractTransformer


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