Package weka.filters.unsupervised.attribute

# Class NumericTransform

java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.attribute.NumericTransform

All Implemented Interfaces:
  `Serializable`, `CapabilitiesHandler`, `OptionHandler`, `RevisionHandler`, `StreamableFilter`, `UnsupervisedFilter`

public class NumericTransform extends Filter implements UnsupervisedFilter, StreamableFilter, OptionHandler
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: 5543 $
Author:
  Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`NumericTransform()`
Default constructor -- sets the default transform method to java.lang.Math.abs().

## Method Summary

Modifier and Type
Method
Description
`String`
`attributeIndicesTipText()`
Returns the tip text for this property
`String`
`classNameTipText()`
Returns the tip text for this property
`String`
`getAttributeIndices()`
Get the current range selection
`Capabilities`
`getCapabilities()`
Returns the Capabilities of this filter.
`String`
`getClassName()`
Get the class containing the transformation method.
`boolean`
`getInvertSelection()`
Get whether the supplied columns are to be transformed or not
`String`
`getMethodName()`
Get the transformation method.
`String[]`
`getOptions()`
Gets the current settings of the filter.
`String`
`getRevision()`
Returns the revision string.
`String`
`globalInfo()`
Returns a string describing this filter
`boolean`
`input(Instance instance)`
Input an instance for filtering.
`String`
`invertSelectionTipText()`
Returns the tip text for this property
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options.
`static void`
`main(String[] argv)`
Main method for testing this class.
`String`
`methodNameTipText()`
Returns the tip text for this property
`void`
`setAttributeIndices(String rangeList)`
Set which attributes are to be transformed (or kept if invert is true).
`void`
`setAttributeIndicesArray(int[] attributes)`
Set which attributes are to be transformed (or kept if invert is true)
`void`
`setClassName(String name)`
Sets the class containing the transformation method.
`boolean`
`setInputFormat(Instances instanceInfo)`
Sets the format of the input instances.
`void`
`setInvertSelection(boolean invert)`
Set whether selected columns should be transformed or not.
`void`
`setMethodName(String name)`
Set the transformation method.
`void`
`setOptions(String[] options)`
Parses a given list of options.

### Methods inherited from class weka.filters.Filter

`batchFilterFile, batchFinished, filterFile, getCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, numPendingOutput, output, outputPeek, toString, useFilter, wekaStaticWrapper`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## 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:
  - `Capabilities`

### 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.
  `Exception` - if the input instance was not of the correct format or if there was a problem with the filtering.

### listOptions

public Enumeration listOptions()
Returns an enumeration describing the available options.

Specified by:
  `listOptions` in interface `OptionHandler`
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`
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`
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