Class 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 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 List<Integer> m_ClassAttributes
        the indices of the class attributes.
      • 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.
    • Constructor Detail

      • WekaMultiLabelSplitter

        public WekaMultiLabelSplitter()
    • Method Detail

      • 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
      • reset

        protected void reset()
        Resets the scheme.
        Overrides:
        reset in class AbstractActor
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class AbstractActor
        Returns:
        null if everything is fine, otherwise error message