adams.flow.transformer
Class WekaClusterer

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

public class WekaClusterer
extends AbstractTransformer

Trains a clusterer based on the incoming dataset and output the built clusterer alongside the training header (in a model container).
Incremental training is performed, if the input are weka.core.Instance objects and the clusterer implements weka.clusterers.UpdateableClusterer.
If the incoming token does not encapsulate a dataset, then only a new instance of the clusterer is sent around.

Input/output:
- accepts:
   weka.core.Instances
   weka.core.Instance
   adams.flow.core.Unknown
- generates:
   adams.flow.container.ModelContainer
   weka.clusterers.Clusterer

Valid options are:

-D (property: debug)
    If set to true, scheme may output additional info to the console.
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: Clusterer
 
-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.
 
-clusterer <weka.clusterers.Clusterer> (property: clusterer)
    The Weka clusterer to train on the input data.
    default: weka.clusterers.SimpleKMeans -N 2 -A \"weka.core.EuclideanDistance -R first-last\" -I 500 -S 10
 

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

Field Summary
static String BACKUP_INCREMENTALCLUSTERER
          the key for storing the current incremental clusterer in the backup.
protected  weka.clusterers.Clusterer m_Clusterer
          the weka clusterer.
protected  weka.clusterers.Clusterer m_IncrementalClusterer
          the clusterer used when training incrementally.
protected  AbstractClustererPostProcessor m_PostProcessor
          the post-processor.
 
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
WekaClusterer()
           
 
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 clustererTipText()
          Returns the tip text for this property.
 void defineOptions()
          Adds options to the internal list of options.
protected  String doExecute()
          Executes the flow item.
 Class[] generates()
          Returns the class of objects that it generates.
 weka.clusterers.Clusterer getClusterer()
          Returns the clusterer in use.
 AbstractClustererPostProcessor getPostProcessor()
          Returns the post-processor in use.
 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 postProcessorTipText()
          Returns the tip text for this property.
protected  void pruneBackup()
          Removes entries from the backup.
protected  void reset()
          Resets the scheme.
protected  void restoreState(Hashtable<String,Object> state)
          Restores the state of the actor before the variables got updated.
 void setClusterer(weka.clusterers.Clusterer value)
          Sets the clusterer to use.
 void setPostProcessor(AbstractClustererPostProcessor value)
          Sets the post-processor to use.
 
Methods inherited from class adams.flow.transformer.AbstractTransformer
execute, hasPendingOutput, input, output, postExecute, wrapUp
 
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, 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
 

Field Detail

BACKUP_INCREMENTALCLUSTERER

public static final String BACKUP_INCREMENTALCLUSTERER
the key for storing the current incremental clusterer in the backup.

See Also:
Constant Field Values

m_Clusterer

protected weka.clusterers.Clusterer m_Clusterer
the weka clusterer.


m_IncrementalClusterer

protected weka.clusterers.Clusterer m_IncrementalClusterer
the clusterer used when training incrementally.


m_PostProcessor

protected AbstractClustererPostProcessor m_PostProcessor
the post-processor.

Constructor Detail

WekaClusterer

public WekaClusterer()
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

setClusterer

public void setClusterer(weka.clusterers.Clusterer value)
Sets the clusterer to use.

Parameters:
value - the clusterer

getClusterer

public weka.clusterers.Clusterer getClusterer()
Returns the clusterer in use.

Returns:
the clusterer

clustererTipText

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

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

setPostProcessor

public void setPostProcessor(AbstractClustererPostProcessor value)
Sets the post-processor to use.

Parameters:
value - the post-processor

getPostProcessor

public AbstractClustererPostProcessor getPostProcessor()
Returns the post-processor in use.

Returns:
the post-processor

postProcessorTipText

public String postProcessorTipText()
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
Overrides:
getQuickInfo in class AbstractActor
Returns:
null if no info available, otherwise short string

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

reset

protected void reset()
Resets the scheme.

Overrides:
reset in class AbstractTransformer

accepts

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

Returns:
weka.core.Instances.class, weka.core.Instance.class, adams.flow.core.Unknown.class

generates

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

Returns:
adams.flow.container.ModelContainer.class, weka.clusterers.Clusterer.class

doExecute

protected String doExecute()
Executes the flow item.

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


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