Package weka.filters.unsupervised.attribute

# Class CartesianProduct

java.lang.Object
weka.filters.Filter
weka.filters.SimpleFilter
weka.filters.SimpleBatchFilter
weka.filters.unsupervised.attribute.CartesianProduct

All Implemented Interfaces:
  `Serializable`, `CapabilitiesHandler`, `CapabilitiesIgnorer`, `CommandlineRunnable`, `OptionHandler`, `RevisionHandler`

public class CartesianProduct extends SimpleBatchFilter
A filter for performing the Cartesian product of a set of nominal attributes. The weight of the new Cartesian product attribute is the sum of the weights of the combined attributes.
Valid options are:

     -R <col1,col2-col4,...>
      Specifies list of nominal attributes to use to form the product.
      (default none)

     -output-debug-info
      If set, filter is run in debug mode and
      may output additional info to the console

     -do-not-check-capabilities
      If set, filter capabilities are not checked before filter is built
      (use with caution).

Version:
  $Revision: 12037 $
Author:
  Eibe Frank
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CartesianProduct()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `attributeIndicesTipText()`
  Returns the tip text for this property
  `String`
  `getAttributeIndices()`
  Gets the current range selection
  `Capabilities`
  `getCapabilities()`
  Returns the Capabilities of this filter.
  `String[]`
  `getOptions()`
  Gets the current settings of the filter.
  `String`
  `getRevision()`
  Returns the revision string.
  `String`
  `globalInfo()`
  Returns a string describing this filter
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options.
  `static void`
  `main(String[] args)`
  Main method for testing this class.
  `void`
  `setAttributeIndices(String value)`
  Sets which attributes are to be used for interquartile calculations and outlier/extreme value detection (only numeric attributes among the selection will be used).
  `void`
  `setAttributeIndicesArray(int[] value)`
  Sets which attributes are to be used.
  `void`
  `setOptions(String[] options)`
  Parses a list of options for this object.

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

  `allowAccessToFullInputFormat, batchFinished, input, input`

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

  `setInputFormat`

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

  `batchFilterFile, debugTipText, doNotCheckCapabilitiesTipText, filterFile, getCapabilities, getCopyOfInputFormat, getDebug, getDoNotCheckCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputPeek, postExecution, preExecution, run, runFilter, setDebug, setDoNotCheckCapabilities, toString, useFilter, wekaStaticWrapper`

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

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

- ## Constructor Details

  - ### CartesianProduct

    public CartesianProduct()

- ## Method Details

  - ### globalInfo

    public String globalInfo()
    Returns a string describing this filter
    Specified by:
      `globalInfo` in class `SimpleFilter`
    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 list of options for this object.

    Valid options are:

         -R <col1,col2-col4,...>
          Specifies list of nominal attributes to use to form the product.
          (default none)

         -output-debug-info
          If set, filter is run in debug mode and
          may output additional info to the console

         -do-not-check-capabilities
          If set, filter capabilities are not checked before filter is built
          (use with caution).

    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

  - ### 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()
    Gets the current range selection
    Returns:
      a string containing a comma separated list of ranges

  - ### setAttributeIndices

    public void setAttributeIndices(String value)
    Sets which attributes are to be used for interquartile calculations and outlier/extreme value detection (only numeric attributes among the selection will be used).
    Parameters:
      `value` - 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
    Throws:
      `IllegalArgumentException` - if an invalid range list is supplied

  - ### setAttributeIndicesArray

    public void setAttributeIndicesArray(int[] value)
    Sets which attributes are to be used.
    Parameters:
      `value` - an array containing indexes of attributes to work on. Since the array will typically come from a program, attributes are indexed from 0.
    Throws:
      `IllegalArgumentException` - if an invalid set of ranges is supplied

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

  - ### 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[] args)
    Main method for testing this class.
    Parameters:
      `args` - should contain arguments to the filter: use -h for help