adams.flow.transformer
Class WekaMultiLabelSplitter

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

public class WekaMultiLabelSplitter
extends AbstractTransformer

Splits a dataset containing multiple class attributes ('multi-label') into separate datasets with only a single class attribute.

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

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: MultiLabelSplitter
 
-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.
 
-regexp <java.lang.String> (property: regExp)
    The regular expression used for matching the strings.
    default: .*
 
-invert (property: invert)
    If set to true, then the matching sense is inverted.
 
-update (property: updateRelationName)
    If set to true, then the name of the class attribute is used as new relation
    name.
 
-make-class-last (property: makeClassLast)
    If set to true, then the new class attribute will be moved to the end.
 

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

Field Summary
static String BACKUP_ATTRIBUTESTOPROCESS
          the key for storing the current attributes to process in the backup.
static String BACKUP_CLASSATTRIBUTES
          the key for storing the current class attributes in the backup.
protected  Vector<Integer> m_AttributesToProcess
          the indices of the class attributes still to process.
protected  Vector<Integer> m_ClassAttributes
          the indices of the class attributes.
protected  weka.core.Instances m_Dataset
          the dataset to process.
protected  boolean m_Invert
          whether to invert the matching sense.
protected  boolean m_MakeClassLast
          whether to move the class attribute to the end.
protected  BaseRegExp m_RegExp
          the regular expression that the class attribute names have to match.
protected  boolean m_UpdateRelationName
          whether to use the class attribute name as new relation name.
 
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
WekaMultiLabelSplitter()
           
 
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.
 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.
 boolean getInvert()
          Returns whether to invert the matching sense.
 boolean getMakeClassLast()
          Returns whether to make the class attribute the last attribute.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 BaseRegExp getRegExp()
          Returns the regular expression to match the strings against.
 boolean getUpdateRelationName()
          Returns whether to update the relation name with the new class attribute.
 String globalInfo()
          Returns a string describing the object.
 boolean hasPendingOutput()
          Checks whether there is pending output to be collected after executing the flow item.
 String invertTipText()
          Returns the tip text for this property.
 String makeClassLastTipText()
          Returns the tip text for this property.
 Token output()
          Returns the generated token.
protected  void pruneBackup()
          Removes entries from the backup.
 String regExpTipText()
          Returns the tip text for this property.
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 setInvert(boolean value)
          Sets whether to invert the matching sense.
 void setMakeClassLast(boolean value)
          Sets whether to make the class attribute the last attribute.
 void setRegExp(BaseRegExp value)
          Sets the regular expression to match the strings against.
 void setUpdateRelationName(boolean value)
          Sets whether to update the relation name with the new class attribute.
 String updateRelationNameTipText()
          Returns the tip text for this property.
 void wrapUp()
          Cleans up after the execution has finished.
 
Methods inherited from class adams.flow.transformer.AbstractTransformer
execute, input, 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, 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_CLASSATTRIBUTES

public static final String BACKUP_CLASSATTRIBUTES
the key for storing the current class attributes in the backup.

See Also:
Constant Field Values

BACKUP_ATTRIBUTESTOPROCESS

public static final String BACKUP_ATTRIBUTESTOPROCESS
the key for storing the current attributes to process in the backup.

See Also:
Constant Field Values

m_RegExp

protected BaseRegExp m_RegExp
the regular expression that the class attribute names have to match.


m_Invert

protected boolean m_Invert
whether to invert the matching sense.


m_UpdateRelationName

protected boolean m_UpdateRelationName
whether to use the class attribute name as new relation name.


m_MakeClassLast

protected boolean m_MakeClassLast
whether to move the class attribute to the end.


m_ClassAttributes

protected Vector<Integer> m_ClassAttributes
the indices of the class attributes.


m_AttributesToProcess

protected Vector<Integer> m_AttributesToProcess
the indices of the class attributes still to process.


m_Dataset

protected weka.core.Instances m_Dataset
the dataset to process.

Constructor Detail

WekaMultiLabelSplitter

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

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

setRegExp

public void setRegExp(BaseRegExp value)
Sets the regular expression to match the strings against.

Parameters:
value - the regular expression

getRegExp

public BaseRegExp getRegExp()
Returns the regular expression to match the strings against.

Returns:
the regular expression

regExpTipText

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

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

setInvert

public void setInvert(boolean value)
Sets whether to invert the matching sense.

Parameters:
value - true if inverting matching sense

getInvert

public boolean getInvert()
Returns whether to invert the matching sense.

Returns:
true if matching sense is inverted

invertTipText

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

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

setUpdateRelationName

public void setUpdateRelationName(boolean value)
Sets whether to update the relation name with the new class attribute.

Parameters:
value - true if to update the relation name

getUpdateRelationName

public boolean getUpdateRelationName()
Returns whether to update the relation name with the new class attribute.

Returns:
true if name is updated

updateRelationNameTipText

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

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

setMakeClassLast

public void setMakeClassLast(boolean value)
Sets whether to make the class attribute the last attribute.

Parameters:
value - if true then the class attribute will be last

getMakeClassLast

public boolean getMakeClassLast()
Returns whether to make the class attribute the last attribute.

Returns:
true if the class attribute is moved to the end

makeClassLastTipText

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

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.

Returns:
weka.core.Instances.class

generates

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

Returns:
weka.core.Instances.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

reset

protected void reset()
Resets the scheme.

Overrides:
reset in class AbstractTransformer

doExecute

protected String doExecute()
Executes the flow item.

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

hasPendingOutput

public boolean hasPendingOutput()
Checks whether there is pending output to be collected after executing the flow item.

Specified by:
hasPendingOutput in interface OutputProducer
Overrides:
hasPendingOutput in class AbstractTransformer
Returns:
true if there is pending output

output

public Token output()
Returns the generated token.

Specified by:
output in interface OutputProducer
Overrides:
output in class AbstractTransformer
Returns:
the generated token

wrapUp

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

Overrides:
wrapUp in class AbstractTransformer


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