java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.attribute.Add
All Implemented Interfaces:
Serializable, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler, WeightedAttributesHandler, WeightedInstancesHandler, StreamableFilter, UnsupervisedFilter

An instance filter that adds a new attribute to the dataset. The new attribute will contain all missing values.

Valid options are:

 -T <NUM|NOM|STR|DAT>
  The type of attribute to create:
  NUM = Numeric attribute
  NOM = Nominal attribute
  STR = String attribute
  DAT = Date attribute
  (default: NUM)
 
 -C <index>
  Specify where to insert the column. First and last
  are valid indexes.(default: last)
 
 -N <name>
  Name of the new attribute.
  (default: 'Unnamed')
 
 -L <label1,label2,...>
  Create nominal attribute with given labels
  (default: numeric attribute)
 
 -F <format>
  The format of the date values (see ISO-8601)
  (default: yyyy-MM-dd'T'HH:mm:ss)
 
 -W <double>
  The weight for the new attribute (default: 1.0)
 
*
Version:
$Revision: 14511 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  • Field Details

    • TAGS_TYPE

      public static final Tag[] TAGS_TYPE
      the attribute type.
  • Constructor Details

    • Add

      public Add()
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this filter.
      Returns:
      a description of the filter suitable for displaying in the explorer/experimenter gui
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options.
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class Filter
      Returns:
      an enumeration of all the available options.
    • setOptions

      public void setOptions(String[] options) throws Exception
      Parses a given list of options.

      Valid options are:

       -T <NUM|NOM|STR|DAT>
        The type of attribute to create:
        NUM = Numeric attribute
        NOM = Nominal attribute
        STR = String attribute
        DAT = Date attribute
        (default: NUM)
       
       -C <index>
        Specify where to insert the column. First and last
        are valid indexes.(default: last)
       
       -N <name>
        Name of the new attribute.
        (default: 'Unnamed')
       
       -L <label1,label2,...>
        Create nominal attribute with given labels
        (default: numeric attribute)
       
       -F <format>
        The format of the date values (see ISO-8601)
        (default: yyyy-MM-dd'T'HH:mm:ss)
       
       -W <double>
        The weight for the new attribute (default: 1.0)
       
      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class Filter
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • getOptions

      public String[] getOptions()
      Gets the current settings of the filter.
      Specified by:
      getOptions in interface OptionHandler
      Overrides:
      getOptions in class Filter
      Returns:
      an array of strings suitable for passing to setOptions
    • getCapabilities

      public Capabilities getCapabilities()
      Returns the Capabilities of this filter.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Overrides:
      getCapabilities in class Filter
      Returns:
      the capabilities of this object
      See Also:
    • setInputFormat

      public boolean setInputFormat(Instances instanceInfo) throws Exception
      Sets the format of the input instances.
      Overrides:
      setInputFormat in class Filter
      Parameters:
      instanceInfo - an Instances object containing the input instance structure (any instances contained in the object are ignored - only the structure is required).
      Returns:
      true if the outputFormat may be collected immediately
      Throws:
      Exception - if the format couldn't be set successfully
    • input

      public boolean input(Instance instance)
      Input an instance for filtering. Ordinarily the instance is processed and made available for output immediately. Some filters require all instances be read before producing output.
      Overrides:
      input in class Filter
      Parameters:
      instance - the input instance
      Returns:
      true if the filtered instance may now be collected with output().
      Throws:
      IllegalStateException - if no input format has been defined.
    • attributeNameTipText

      public String attributeNameTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getAttributeName

      public String getAttributeName()
      Get the name of the attribute to be created.
      Returns:
      the new attribute name
    • setAttributeName

      public void setAttributeName(String name)
      Set the new attribute's name.
      Parameters:
      name - the new name
    • attributeIndexTipText

      public String attributeIndexTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getAttributeIndex

      public String getAttributeIndex()
      Get the index of the attribute used.
      Returns:
      the index of the attribute
    • setAttributeIndex

      public void setAttributeIndex(String attIndex)
      Sets index of the attribute used.
      Parameters:
      attIndex - the index of the attribute
    • weightTipText

      public String weightTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getWeight

      public double getWeight()
      Get the weight of the attribute used.
      Returns:
      the weight of the attribute
    • setWeight

      public void setWeight(double weight)
      Sets weight of the attribute used.
      Parameters:
      weight - the weight of the attribute
    • nominalLabelsTipText

      public String nominalLabelsTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getNominalLabels

      public String getNominalLabels()
      Get the list of labels for nominal attribute creation.
      Returns:
      the list of labels for nominal attribute creation
    • setNominalLabels

      public void setNominalLabels(String labelList)
      Set the labels for nominal attribute creation.
      Parameters:
      labelList - a comma separated list of labels
      Throws:
      IllegalArgumentException - if the labelList was invalid
    • attributeTypeTipText

      public String attributeTypeTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setAttributeType

      public void setAttributeType(SelectedTag value)
      Sets the type of attribute to generate.
      Parameters:
      value - the attribute type
    • getAttributeType

      public SelectedTag getAttributeType()
      Gets the type of attribute to generate.
      Returns:
      the current attribute type.
    • dateFormatTipText

      public String dateFormatTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getDateFormat

      public String getDateFormat()
      Get the date format, complying to ISO-8601.
      Returns:
      the date format
    • setDateFormat

      public void setDateFormat(String value)
      Set the date format, complying to ISO-8601.
      Parameters:
      value - a comma separated list of labels
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class Filter
      Returns:
      the revision
    • main

      public static void main(String[] argv)
      Main method for testing this class.
      Parameters:
      argv - should contain arguments to the filter: use -h for help