Class NumericTransform

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

Transforms numeric attributes using a given transformation method.

Valid options are:

 -R <index1,index2-index4,...>
  Specify list of columns to transform. First and last are
  valid indexes (default none). Non-numeric columns are 
  skipped.
 
 -V
  Invert matching sense.
 
 -C <string>
  Sets the class containing transformation method.
  (default java.lang.Math)
 
 -M <string>
  Sets the method. (default abs)
 
Version:
$Revision: 14508 $
Author:
Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • NumericTransform

      public NumericTransform()
      Default constructor -- sets the default transform method to java.lang.Math.abs().
  • 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
    • 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 input format can't be set successfully
    • input

      public boolean input(Instance instance) throws Exception
      Input an instance for filtering. The instance is processed and made available for output immediately.
      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 set.
      InvocationTargetException - if there is a problem applying the configured transform method.
      NullPointerException - if the input format has not been defined.
      Exception - if the input instance was not of the correct format or if there was a problem with the filtering.
    • 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:

       -R <index1,index2-index4,...>
        Specify list of columns to transform. First and last are
        valid indexes (default none). Non-numeric columns are 
        skipped.
       
       -V
        Invert matching sense.
       
       -C <string>
        Sets the class containing transformation method.
        (default java.lang.Math)
       
       -M <string>
        Sets the method. (default abs)
       
      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
    • classNameTipText

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

      public String getClassName()
      Get the class containing the transformation method.
      Returns:
      string describing the class
    • setClassName

      public void setClassName(String name) throws ClassNotFoundException
      Sets the class containing the transformation method.
      Parameters:
      name - the name of the class
      Throws:
      ClassNotFoundException - if class can't be found
    • methodNameTipText

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

      public String getMethodName()
      Get the transformation method.
      Returns:
      string describing the transformation method.
    • setMethodName

      public void setMethodName(String name) throws NoSuchMethodException
      Set the transformation method.
      Parameters:
      name - the name of the method
      Throws:
      NoSuchMethodException - if method can't be found in class
    • invertSelectionTipText

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

      public boolean getInvertSelection()
      Get whether the supplied columns are to be transformed or not
      Returns:
      true if the supplied columns will be kept
    • setInvertSelection

      public void setInvertSelection(boolean invert)
      Set whether selected columns should be transformed or not.
      Parameters:
      invert - the new invert setting
    • attributeIndicesTipText

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

      public String getAttributeIndices()
      Get the current range selection
      Returns:
      a string containing a comma separated list of ranges
    • setAttributeIndices

      public void setAttributeIndices(String rangeList)
      Set which attributes are to be transformed (or kept if invert is true).
      Parameters:
      rangeList - a string representing the list of attributes. Since the string will typically come from a user, attributes are indexed from 1.
      eg: first-3,5,6-last
    • setAttributeIndicesArray

      public void setAttributeIndicesArray(int[] attributes)
      Set which attributes are to be transformed (or kept if invert is true)
      Parameters:
      attributes - an array containing indexes of attributes to select. Since the array will typically come from a program, attributes are indexed from 0.
    • 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