Class CartesianProduct

  • All Implemented Interfaces:
    java.io.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 Detail

      • CartesianProduct

        public CartesianProduct()
    • Method Detail

      • globalInfo

        public java.lang.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 java.util.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​(java.lang.String[] options)
                        throws java.lang.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:
        java.lang.Exception - if an option is not supported
      • getOptions

        public java.lang.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 java.lang.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 java.lang.String getAttributeIndices()
        Gets the current range selection
        Returns:
        a string containing a comma separated list of ranges
      • setAttributeIndices

        public void setAttributeIndices​(java.lang.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:
        java.lang.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:
        java.lang.IllegalArgumentException - if an invalid set of ranges is supplied
      • main

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