weka.filters.supervised.attribute

## Class PartitionMembership

- java.lang.Object
- - weka.filters.Filter
  - - weka.filters.supervised.attribute.PartitionMembership

- All Implemented Interfaces:
    java.io.Serializable, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler, TechnicalInformationHandler, WeightedInstancesHandler, SupervisedFilter

      public class PartitionMembership
      extends Filter
      implements SupervisedFilter, OptionHandler, RevisionHandler, TechnicalInformationHandler, WeightedInstancesHandler

  * A filter that uses a PartitionGenerator to generate partition membership values; filtered instances are composed of these values plus the class attribute (if set in the input data) and rendered as sparse instances. See Section 3 of
  * Eibe Frank, Bernhard Pfahringer: Propositionalisation of Multi-instance Data Using Random Forests. In: AI 2013: Advances in Artificial Intelligence, 362-373, 2013. *
  * Valid options are:

  * *

       -W <name of partition generator>
       *  Full name of partition generator to use, e.g.:
       *   weka.classifiers.trees.J48
       *  Additional options after the '--'.
       *  (default: weka.classifiers.trees.J48)

  * Options after the -- are passed on to the clusterer.
  Version:
    $Revision: 14534 $
  Author:
    Eibe Frank (eibe@cs.waikato.ac.nz), Mark Hall (mhall@cs.waikato.ac.nz)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PartitionMembership()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `batchFinished()` Signify that this batch of input to the filter is finished.
    `Capabilities` | `getCapabilities()` Returns the Capabilities of this filter.
    `java.lang.String[]` | `getOptions()` Gets the current settings of the filter.
    `PartitionGenerator` | `getPartitionGenerator()` Get the generator used by this filter
    `java.lang.String` | `getRevision()` Returns the revision string.
    `TechnicalInformation` | `getTechnicalInformation()` Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
    `java.lang.String` | `globalInfo()` Returns a string describing this filter
    `boolean` | `input(Instance instance)` Input an instance for filtering.
    `java.util.Enumeration<Option>` | `listOptions()` Returns an enumeration describing the available options.
    `static void` | `main(java.lang.String[] argv)` Main method for testing this class.
    `java.lang.String` | `partitionGeneratorTipText()` Returns a description of this option suitable for display as a tip text in the gui.
    `boolean` | `setInputFormat(Instances instanceInfo)` Sets the format of the input instances.
    `void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
    `void` | `setPartitionGenerator(PartitionGenerator newPartitionGenerator)` Set the generator for use in filtering

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

    - #### PartitionMembership

          public PartitionMembership()

  - ### Method Detail

    - #### 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 inputFormat can't be set successfully

    - #### batchFinished

          public boolean batchFinished()
                                throws java.lang.Exception

      Signify that this batch of input to the filter is finished.
      Overrides:
        `batchFinished` in class `Filter`
      Returns:
        true if there are instances pending output
      Throws:
        `java.lang.IllegalStateException` - if no input structure has been defined
        `java.lang.NullPointerException` - if no input structure has been defined,
        `java.lang.Exception` - if there was a problem finishing the batch.

    - #### input

          public boolean input(Instance instance)
                        throws java.lang.Exception

      Input an instance for filtering. Ordinarily the instance is processed and made available for output immediately. Some filters require all instances be read before producing output.
      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 defined.
        `java.lang.NullPointerException` - if the input format has not been defined.
        `java.lang.Exception` - if the input instance was not of the correct format or if there was a problem with the filtering.

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

      * *

           -W <name of partition generator>
           *  Full name of partition generator to use, e.g.:
           *   weka.classifiers.trees.J48
           *  Additional options after the '--'.
           *  (default: weka.classifiers.trees.J48)

      * Options after the -- are passed on to the clusterer.
      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

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

    - #### getTechnicalInformation

          public TechnicalInformation getTechnicalInformation()

      Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
      Specified by:
        `getTechnicalInformation` in interface `TechnicalInformationHandler`
      Returns:
        the technical information about this class

    - #### partitionGeneratorTipText

          public java.lang.String partitionGeneratorTipText()

      Returns a description of this option suitable for display as a tip text in the gui.
      Returns:
        description of this option

    - #### setPartitionGenerator

          public void setPartitionGenerator(PartitionGenerator newPartitionGenerator)

      Set the generator for use in filtering
      Parameters:
        `newPartitionGenerator` - the generator to use

    - #### getPartitionGenerator

          public PartitionGenerator getPartitionGenerator()

      Get the generator used by this filter
      Returns:
        the generator used

    - #### main

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

      Main method for testing this class.
      Parameters:
        `argv` - should contain arguments to the filter: use -h for help

    - #### getRevision

          public java.lang.String getRevision()

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