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.AbstractTransformerSplits 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 adams.core.base.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
-
-
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.adams.core.base.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.adams.flow.core.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(adams.core.base.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
-
-
-
-
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:
globalInfoin interfaceadams.core.GlobalInfoSupporter- Specified by:
globalInfoin 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:
defineOptionsin interfaceadams.core.option.OptionHandler- Overrides:
defineOptionsin classadams.flow.core.AbstractActor
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceadams.flow.core.Actor- Specified by:
getQuickInfoin interfaceadams.core.QuickInfoSupporter- Overrides:
getQuickInfoin 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:
pruneBackupin classadams.flow.core.AbstractActor
-
backupState
protected Hashtable<String,Object> backupState()
Backs up the current state of the actor before update the variables.- Overrides:
backupStatein 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:
restoreStatein classadams.flow.transformer.AbstractTransformer- Parameters:
state- the backup of the state to restore from
-
reset
protected void reset()
Resets the scheme.- Overrides:
resetin classadams.flow.core.AbstractActor
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecutein 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:
hasPendingOutputin interfaceadams.flow.core.OutputProducer- Overrides:
hasPendingOutputin classadams.flow.transformer.AbstractTransformer- Returns:
- true if there is pending output
-
output
public adams.flow.core.Token output()
Returns the generated token.- Specified by:
outputin interfaceadams.flow.core.OutputProducer- Overrides:
outputin classadams.flow.transformer.AbstractTransformer- Returns:
- the generated token
-
wrapUp
public void wrapUp()
Cleans up after the execution has finished.- Specified by:
wrapUpin interfaceadams.flow.core.Actor- Overrides:
wrapUpin classadams.flow.transformer.AbstractTransformer
-
-