Package weka.filters
Class MultiFilter
- java.lang.Object
-
- weka.filters.Filter
-
- weka.filters.SimpleFilter
-
- weka.filters.SimpleStreamFilter
-
- weka.filters.MultiFilter
-
- All Implemented Interfaces:
Serializable,CapabilitiesHandler,CapabilitiesIgnorer,CommandlineRunnable,OptionHandler,Randomizable,RevisionHandler,WeightedAttributesHandler,WeightedInstancesHandler,StreamableFilter
public class MultiFilter extends SimpleStreamFilter implements WeightedAttributesHandler, WeightedInstancesHandler, Randomizable
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$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
StreamableFilter, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description MultiFilter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbatchFinished()Signify that this batch of input to the filter is finished.StringfiltersTipText()Returns the tip text for this propertyCapabilitiesgetCapabilities()Returns the Capabilities of this filter.FiltergetFilter(int index)Gets a single filter from the set of available filters.Filter[]getFilters()Gets the list of possible filters to choose from.String[]getOptions()Gets the current settings of the filter.StringgetRevision()Returns the revision string.intgetSeed()Gets the seed for the random number generationsStringglobalInfo()Returns a string describing this filterbooleanisStreamableFilter()tests whether all the enclosed filters are streamableEnumeration<Option>listOptions()Returns an enumeration describing the available options.static voidmain(String[] args)Main method for executing this class.booleanmayRemoveInstanceAfterFirstBatchDone()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.StringseedTipText()Returns the tip text for this propertyvoidsetFilters(Filter[] filters)Sets the list of possible filters to choose from.voidsetOptions(String[] options)Parses a list of options for this object.voidsetSeed(int seed)Set the seed for random number generation.-
Methods inherited from class weka.filters.SimpleStreamFilter
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, numPendingOutput, output, outputPeek, postExecution, preExecution, run, runFilter, setDebug, setDoNotCheckCapabilities, toString, useFilter, wekaStaticWrapper
-
-
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing this filter- Specified by:
globalInfoin classSimpleFilter- 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:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classFilter- 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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classFilter- 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:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classFilter- Returns:
- an array of strings suitable for passing to setOptions
-
getCapabilities
public Capabilities getCapabilities()
Returns the Capabilities of this filter.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin classFilter- Returns:
- the capabilities of this object
- See Also:
Capabilities
-
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:
setSeedin interfaceRandomizable- Parameters:
seed- the seed
-
getSeed
public int getSeed()
Gets the seed for the random number generations- Specified by:
getSeedin interfaceRandomizable- 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 ExceptionSignify 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:
batchFinishedin classSimpleStreamFilter- 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:
mayRemoveInstanceAfterFirstBatchDonein classFilter- Returns:
- true if one of the base filters returns true for this method.
-
getRevision
public String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classFilter- 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
-
-