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:
adams.core.AdditionalInformationHandler
,adams.core.CleanUpHandler
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.flow.core.Actor>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,adams.core.VariablesInspectionHandler
,adams.event.VariableChangeListener
,adams.flow.core.Actor
,adams.flow.core.ErrorHandler
,adams.flow.core.InputConsumer
,adams.flow.core.OutputProducer
,Serializable
,Comparable
public class WekaMultiLabelSplitter extends adams.flow.transformer.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 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 List<Integer>
m_AttributesToProcess
the indices of the class attributes still to process.protected List<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 adams.core.base.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
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
-
-
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.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.adams.core.base.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.adams.flow.core.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(adams.core.base.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
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
-
-
-
-
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 adams.core.base.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:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.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 interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.flow.core.AbstractActor
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceadams.flow.core.Actor
- Specified by:
getQuickInfo
in interfaceadams.core.QuickInfoSupporter
- Overrides:
getQuickInfo
in classadams.flow.core.AbstractActor
- Returns:
- null if no info available, otherwise short string
-
setRegExp
public void setRegExp(adams.core.base.BaseRegExp value)
Sets the regular expression to match the strings against.- Parameters:
value
- the regular expression
-
getRegExp
public adams.core.base.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 classadams.flow.core.AbstractActor
-
backupState
protected Hashtable<String,Object> backupState()
Backs up the current state of the actor before update the variables.- Overrides:
backupState
in classadams.flow.transformer.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 classadams.flow.transformer.AbstractTransformer
- Parameters:
state
- the backup of the state to restore from
-
reset
protected void reset()
Resets the scheme.- Overrides:
reset
in classadams.flow.core.AbstractActor
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecute
in classadams.flow.core.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 interfaceadams.flow.core.OutputProducer
- Overrides:
hasPendingOutput
in classadams.flow.transformer.AbstractTransformer
- Returns:
- true if there is pending output
-
output
public adams.flow.core.Token output()
Returns the generated token.- Specified by:
output
in interfaceadams.flow.core.OutputProducer
- Overrides:
output
in classadams.flow.transformer.AbstractTransformer
- Returns:
- the generated token
-
wrapUp
public void wrapUp()
Cleans up after the execution has finished.- Specified by:
wrapUp
in interfaceadams.flow.core.Actor
- Overrides:
wrapUp
in classadams.flow.transformer.AbstractTransformer
-
-