weka.filters.unsupervised.attribute

## Class MergeManyValues

- java.lang.Object
- - weka.filters.Filter
  - - weka.filters.unsupervised.attribute.MergeManyValues

- All Implemented Interfaces:
    java.io.Serializable, CapabilitiesHandler, CapabilitiesIgnorer, OptionHandler, RevisionHandler, StreamableFilter, UnsupervisedFilter

      public class MergeManyValues
      extends Filter
      implements UnsupervisedFilter, StreamableFilter, OptionHandler

  Merges many values of a nominal attribute into one value.

  Valid options are:

       -C <col>
        Sets the attribute index
        (default: last)

       -L <label>
        Sets the label of the newly merged classes
        (default: 'merged')

       -R <range>
        Sets the merge range. 'first and 'last' are accepted as well.'
        E.g.: first-5,7,9,20-last
        (default: 1,2)

  Version:
    $Revision: 10215 $
  Author:
    Kathryn Hempstalk (kah18 at cs.waikato.ac.nz)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MergeManyValues()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `attributeIndexTipText()` Returns the tip text for this property.
    `java.lang.String` | `getAttributeIndex()` Get the index of the attribute used.
    `Capabilities` | `getCapabilities()` Returns the Capabilities of this filter.
    `java.lang.String` | `getLabel()` Get the label for the new merged class.
    `java.lang.String` | `getMergeValueRange()` Get the range of the merge values used.
    `java.lang.String[]` | `getOptions()` Gets the current settings of the filter.
    `java.lang.String` | `getRevision()` Returns the revision string.
    `java.lang.String` | `globalInfo()` Returns a string describing this filter
    `boolean` | `input(Instance instance)` Input an instance for filtering.
    `java.lang.String` | `labelTipText()` Returns the tip text for this property.
    `java.util.Enumeration<Option>` | `listOptions()` Returns an enumeration describing the available options.
    `static void` | `main(java.lang.String[] args)` Main method for executing this filter.
    `java.lang.String` | `mergeValueRangeTipText()` Returns the tip text for this property.
    `void` | `setAttributeIndex(java.lang.String attIndex)` Sets index of the attribute used.
    `boolean` | `setInputFormat(Instances instanceInfo)` Sets the format of the input instances.
    `void` | `setLabel(java.lang.String alabel)` Sets label of the merged class.
    `void` | `setMergeValueRange(java.lang.String range)` Sets range of the merge values used.
    `void` | `setOptions(java.lang.String[] options)` Parses a given list of options.

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

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

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

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

- - ### Constructor Detail

    - #### MergeManyValues

          public MergeManyValues()

  - ### Method Detail

    - #### globalInfo

          public java.lang.String globalInfo()

      Returns a string describing this filter
      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 given list of options.

      Valid options are:

           -C <col>
            Sets the attribute index
            (default: last)

           -L <label>
            Sets the label of the newly merged classes
            (default: 'merged')

           -R <range>
            Sets the merge range. 'first and 'last' are accepted as well.'
            E.g.: first-5,7,9,20-last
            (default: 1,2)

      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

    - #### 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 java.lang.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:
        `java.lang.Exception` - if the input format can't be set successfully

    - #### input

          public boolean input(Instance instance)

      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:
        `java.lang.IllegalStateException` - if no input format has been set.

    - #### attributeIndexTipText

          public java.lang.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 java.lang.String getAttributeIndex()

      Get the index of the attribute used.
      Returns:
        the index of the attribute

    - #### setAttributeIndex

          public void setAttributeIndex(java.lang.String attIndex)

      Sets index of the attribute used.
      Parameters:
        `attIndex` - the index of the attribute

    - #### labelTipText

          public java.lang.String labelTipText()

      Returns the tip text for this property.
      Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui

    - #### getLabel

          public java.lang.String getLabel()

      Get the label for the new merged class.
      Returns:
        the label for the merged class.

    - #### setLabel

          public void setLabel(java.lang.String alabel)

      Sets label of the merged class.
      Parameters:
        `alabel` - the new label.

    - #### getMergeValueRange

          public java.lang.String getMergeValueRange()

      Get the range of the merge values used.
      Returns:
        the range of the merge values

    - #### mergeValueRangeTipText

          public java.lang.String mergeValueRangeTipText()

      Returns the tip text for this property.
      Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui

    - #### setMergeValueRange

          public void setMergeValueRange(java.lang.String range)

      Sets range of the merge values used.
      Parameters:
        `range` - the range of the merged values

    - #### getRevision

          public java.lang.String getRevision()

      Returns the revision string.
      Specified by:
        `getRevision` in interface `RevisionHandler`
      Overrides:
        `getRevision` in class `Filter`
      Returns:
        The revision string.

    - #### main

          public static void main(java.lang.String[] args)

      Main method for executing this filter.
      Parameters:
        `args` - use -h to display all options