Package weka.filters

Class MultiFilter

All Implemented Interfaces:
Serializable, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, Randomizable, RevisionHandler, WeightedAttributesHandler, WeightedInstancesHandler, StreamableFilter

Applies several filters successively. In case all supplied filters are StreamableFilters, it will act as a streamable one, too.

Valid options are:

 -D
  Turns on output of debugging information.
 
 -F <classname [options]>
  A filter to apply (can be specified multiple times).
 
 -S num 
The random number seed that will be passed through all filters that are randomizable (default 1).

Version:
$Revision: 15791 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
  • Constructor Details

    • MultiFilter

      public MultiFilter()
  • 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:

       -D
        Turns on output of debugging information.
       
       -S num 
      The random number seed that will be passed through all filters that are randomizable (default 1).

       -F <classname [options]>
        A filter to apply (can be specified multiple times).
       
      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
    • 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:
    • setFilters

      public void setFilters(Filter[] filters)
      Sets the list of possible filters to choose from. Also resets the state of the filter (this reset doesn't affect the options).
      Parameters:
      filters - an array of filters with all options set.
      See Also:
      • reset()
    • getFilters

      public Filter[] getFilters()
      Gets the list of possible filters to choose from.
      Returns:
      the array of Filters
    • filtersTipText

      public String filtersTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getFilter

      public Filter getFilter(int index)
      Gets a single filter from the set of available filters.
      Parameters:
      index - the index of the filter wanted
      Returns:
      the Filter
    • seedTipText

      public String seedTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setSeed

      public void setSeed(int seed)
      Set the seed for random number generation.
      Specified by:
      setSeed in interface Randomizable
      Parameters:
      seed - the seed
    • getSeed

      public int getSeed()
      Gets the seed for the random number generations
      Specified by:
      getSeed in interface Randomizable
      Returns:
      the seed for the random number generation
    • isStreamableFilter

      public boolean isStreamableFilter()
      tests whether all the enclosed filters are streamable
      Returns:
      true if all the enclosed filters are streamable
    • batchFinished

      public boolean batchFinished() throws Exception
      Signify that this batch of input to the filter is finished. If the filter requires all instances prior to filtering, output() may now be called to retrieve the filtered instances. Any subsequent instances filtered should be filtered based on setting obtained from the first batch (unless the setInputFormat has been re-assigned or new options have been set).
      Overrides:
      batchFinished in class SimpleStreamFilter
      Returns:
      true if there are instances pending output
      Throws:
      IllegalStateException - if no input format has been set.
      NullPointerException - if no input structure has been defined,
      Exception - if there was a problem finishing the batch.
    • mayRemoveInstanceAfterFirstBatchDone

      public boolean mayRemoveInstanceAfterFirstBatchDone()
      RemoveWithValues may return false from input() (thus not making an instance available immediately) even after the first batch has been completed due to matching a value that the user wants to remove. Therefore this method returns true.
      Overrides:
      mayRemoveInstanceAfterFirstBatchDone in class Filter
      Returns:
      true if one of the base filters returns true for this method.
    • 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 executing this class.
      Parameters:
      args - should contain arguments for the filter: use -h for help