adams.flow.transformer
Class MOAClassifying

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.AbstractProcessWekaInstanceWithModel<moa.classifiers.Classifier>
                      extended by adams.flow.transformer.MOAClassifying
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, ErrorHandler, InputConsumer, OutputProducer, Serializable, Comparable

public class MOAClassifying
extends AbstractProcessWekaInstanceWithModel<moa.classifiers.Classifier>

Uses a serialized MOA model to perform predictions on the data being passed through.
The model can also be obtained from a global actor, if the model file is pointing to a directory.
Optionally, the model can be updated with data being passed through.

Input/output:
- accepts:
   weka.core.Instance
- generates:
   adams.flow.container.WekaPredictionContainer
   weka.core.Instance

Container information:
- adams.flow.container.WekaPredictionContainer:

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: MOAClassifying
 
-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.
 
-model <adams.core.io.PlaceholderFile> (property: modelFile)
    The model file to load (when not pointing to a directory).
    default: .
 
-model-actor <adams.flow.core.GlobalActorReference> (property: modelActor)
    The global actor to use for obtaining the model in case serialized model
    file points to a directory.
    default:
 
-on-the-fly (property: onTheFly)
    If set to true, the model file is not required to be present at set up time
    (eg if built on the fly), only at execution time.
 
-output-instance (property: outputInstance)
    Whether to output weka.core.Instance objects or PredictionContainer objects.
 
-update-model (property: updateModel)
    Whether to update the model with the Instance (in case its class value isn't
    missing) after making the prediction.
 

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

Field Summary
protected  boolean m_OutputInstance
          whether to output weka.core.Instance objects or PredictionContainers.
protected  boolean m_UpdateModel
          whether to update the model after making the prediction.
 
Fields inherited from class adams.flow.transformer.AbstractProcessWekaInstanceWithModel
BACKUP_MODEL, m_Model, m_ModelActor, m_ModelFile, m_OnTheFly
 
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
MOAClassifying()
           
 
Method Summary
 void defineOptions()
          Adds options to the internal list of options.
 Class[] generates()
          Returns the class of objects that it generates.
 boolean getOutputInstance()
          Returns whether Instance objects are output instead of PredictionContainer ones.
 boolean getUpdateModel()
          Returns whether update the model after making the prediction (in case the class value isn't missing).
 String globalInfo()
          Returns a string describing the object.
 String outputInstanceTipText()
          Returns the tip text for this property.
protected  Token processInstance(Instance inst)
          Processes the instance and generates the output token.
protected  void reset()
          Resets the actor.
 void setOutputInstance(boolean value)
          Sets whether to output Instance objects instead of PredictionContainer ones.
 void setUpdateModel(boolean value)
          Sets whether to update the model after making the prediction (in case the class value isn't missing).
 String updateModelTipText()
          Returns the tip text for this property.
 
Methods inherited from class adams.flow.transformer.AbstractProcessWekaInstanceWithModel
accepts, backupState, doExecute, getModelActor, getModelFile, getOnTheFly, getQuickInfo, modelActorTipText, modelFileTipText, onTheFlyTipText, pruneBackup, restoreState, setModelActor, setModelFile, setOnTheFly, setUp, setUpModel, wrapUp
 
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, 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, 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_OutputInstance

protected boolean m_OutputInstance
whether to output weka.core.Instance objects or PredictionContainers.


m_UpdateModel

protected boolean m_UpdateModel
whether to update the model after making the prediction.

Constructor Detail

MOAClassifying

public MOAClassifying()
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 AbstractProcessWekaInstanceWithModel<moa.classifiers.Classifier>

reset

protected void reset()
Resets the actor.

Overrides:
reset in class AbstractTransformer

setOutputInstance

public void setOutputInstance(boolean value)
Sets whether to output Instance objects instead of PredictionContainer ones.

Parameters:
value - if true then Instance objects are output

getOutputInstance

public boolean getOutputInstance()
Returns whether Instance objects are output instead of PredictionContainer ones.

Returns:
true if Instance objects are output

outputInstanceTipText

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

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

setUpdateModel

public void setUpdateModel(boolean value)
Sets whether to update the model after making the prediction (in case the class value isn't missing).

Parameters:
value - if true then update model

getUpdateModel

public boolean getUpdateModel()
Returns whether update the model after making the prediction (in case the class value isn't missing).

Returns:
true if model gets updated

updateModelTipText

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

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

generates

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

Specified by:
generates in interface OutputProducer
Specified by:
generates in class AbstractProcessWekaInstanceWithModel<moa.classifiers.Classifier>
Returns:
adams.flow.container.WekaPredictionContainer.class, weka.core.Instance.class

processInstance

protected Token processInstance(Instance inst)
                         throws Exception
Processes the instance and generates the output token.

Specified by:
processInstance in class AbstractProcessWekaInstanceWithModel<moa.classifiers.Classifier>
Parameters:
inst - the instance to process
Returns:
the generated output token (e.g., container)
Throws:
Exception - if processing fails


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