Package adams.flow.transformer
Class WekaMultiLabelSplitter
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.transformer.AbstractTransformer
-
- adams.flow.transformer.WekaMultiLabelSplitter
-
- All Implemented Interfaces:
AdditionalInformationHandler,CleanUpHandler,Destroyable,GlobalInfoSupporter,LoggingLevelHandler,LoggingSupporter,OptionHandler,QuickInfoSupporter,ShallowCopySupporter<Actor>,SizeOfHandler,Stoppable,StoppableWithFeedback,VariablesInspectionHandler,VariableChangeListener,Actor,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$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringBACKUP_ATTRIBUTESTOPROCESSthe key for storing the current attributes to process in the backup.static StringBACKUP_CLASSATTRIBUTESthe key for storing the current class attributes in the backup.protected List<Integer>m_AttributesToProcessthe indices of the class attributes still to process.protected List<Integer>m_ClassAttributesthe indices of the class attributes.protected weka.core.Instancesm_Datasetthe dataset to process.protected booleanm_Invertwhether to invert the matching sense.protected booleanm_MakeClassLastwhether to move the class attribute to the end.protected BaseRegExpm_RegExpthe regular expression that the class attribute names have to match.protected booleanm_UpdateRelationNamewhether 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
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
-
Constructor Summary
Constructors Constructor Description WekaMultiLabelSplitter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.voiddefineOptions()Adds options to the internal list of options.protected StringdoExecute()Executes the flow item.Class[]generates()Returns the class of objects that it generates.booleangetInvert()Returns whether to invert the matching sense.booleangetMakeClassLast()Returns whether to make the class attribute the last attribute.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.BaseRegExpgetRegExp()Returns the regular expression to match the strings against.booleangetUpdateRelationName()Returns whether to update the relation name with the new class attribute.StringglobalInfo()Returns a string describing the object.booleanhasPendingOutput()Checks whether there is pending output to be collected after executing the flow item.StringinvertTipText()Returns the tip text for this property.StringmakeClassLastTipText()Returns the tip text for this property.Tokenoutput()Returns the generated token.protected voidpruneBackup()Removes entries from the backup.StringregExpTipText()Returns the tip text for this property.protected voidreset()Resets the scheme.protected voidrestoreState(Hashtable<String,Object> state)Restores the state of the actor before the variables got updated.voidsetInvert(boolean value)Sets whether to invert the matching sense.voidsetMakeClassLast(boolean value)Sets whether to make the class attribute the last attribute.voidsetRegExp(BaseRegExp value)Sets the regular expression to match the strings against.voidsetUpdateRelationName(boolean value)Sets whether to update the relation name with the new class attribute.StringupdateRelationNameTipText()Returns the tip text for this property.voidwrapUp()Cleans up after the execution has finished.-
Methods inherited from class adams.flow.transformer.AbstractTransformer
currentInput, execute, hasInput, input, postExecute
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, preExecute, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
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, destroy, equals, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
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_AttributesToProcess
protected List<Integer> m_AttributesToProcess
the indices of the class attributes still to process.
-
m_Dataset
protected weka.core.Instances m_Dataset
the dataset to process.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceGlobalInfoSupporter- Specified by:
globalInfoin classAbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractActor
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceActor- Specified by:
getQuickInfoin interfaceQuickInfoSupporter- Overrides:
getQuickInfoin classAbstractActor- 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:
pruneBackupin classAbstractActor- See Also:
AbstractActor.reset()
-
backupState
protected Hashtable<String,Object> backupState()
Backs up the current state of the actor before update the variables.- Overrides:
backupStatein classAbstractTransformer- Returns:
- the backup
- See Also:
AbstractActor.updateVariables(),AbstractActor.restoreState(Hashtable)
-
restoreState
protected void restoreState(Hashtable<String,Object> state)
Restores the state of the actor before the variables got updated.- Overrides:
restoreStatein classAbstractTransformer- Parameters:
state- the backup of the state to restore from- See Also:
AbstractActor.updateVariables(),AbstractActor.backupState()
-
reset
protected void reset()
Resets the scheme.- Overrides:
resetin classAbstractActor
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecutein classAbstractActor- 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:
hasPendingOutputin interfaceOutputProducer- Overrides:
hasPendingOutputin classAbstractTransformer- Returns:
- true if there is pending output
-
output
public Token output()
Returns the generated token.- Specified by:
outputin interfaceOutputProducer- Overrides:
outputin classAbstractTransformer- Returns:
- the generated token
-
wrapUp
public void wrapUp()
Cleans up after the execution has finished.- Specified by:
wrapUpin interfaceActor- Overrides:
wrapUpin classAbstractTransformer
-
-