weka.filters.unsupervised.instance
Class SafeRemoveRange

java.lang.Object
  extended by weka.filters.Filter
      extended by weka.filters.SimpleFilter
          extended by weka.filters.SimpleBatchFilter
              extended by weka.filters.unsupervised.instance.SafeRemoveRange
All Implemented Interfaces:
Serializable, weka.core.CapabilitiesHandler, weka.core.OptionHandler, weka.core.RevisionHandler, weka.filters.UnsupervisedFilter

public class SafeRemoveRange
extends weka.filters.SimpleBatchFilter
implements weka.filters.UnsupervisedFilter

A filter that removes a given range of instances of a dataset.
Works just like weka.filters.unsupervised.instance.RemoveRange, but has a more robust handling of instance ranges. E.g., removal of 30-100 will not result in an error when presenting only 20 or 40 instances, but return no instance or instances 30-40 instead.

Valid options are:

 -R <inst1,inst2-inst4,...>
  Specifies list of instances to select. First and last
  are valid indexes. (required)
 
 -V
  Specifies if inverse of selection is to be output.
 

Version:
$Revision: 4521 $
Author:
Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
Serialized Form

Field Summary
protected  boolean m_InvertSelection
          whether to invert the selection.
protected  Range m_Range
          Range of instances requested by the user.
 
Fields inherited from class weka.filters.SimpleFilter
m_Debug
 
Fields inherited from class weka.filters.Filter
m_FirstBatchDone, m_InputRelAtts, m_InputStringAtts, m_NewBatch, m_OutputRelAtts, m_OutputStringAtts
 
Constructor Summary
SafeRemoveRange()
           
 
Method Summary
protected  weka.core.Instances determineOutputFormat(weka.core.Instances inputFormat)
          Determines the output format based on the input format and returns this.
 weka.core.Capabilities getCapabilities()
          Returns the Capabilities of this filter.
 String getInstancesIndices()
          Gets ranges of instances selected.
 boolean getInvertSelection()
          Gets if selection is to be inverted.
 String[] getOptions()
          Gets the current settings of the filter.
 String getRevision()
          Returns the revision string.
 String globalInfo()
          Returns a string describing this filter
 String instancesIndicesTipText()
          Returns the tip text for this property.
 String invertSelectionTipText()
          Returns the tip text for this property.
 Enumeration listOptions()
          Returns an enumeration describing the available options.
static void main(String[] args)
          Main method for running this filter from command-line.
protected  weka.core.Instances process(weka.core.Instances instances)
          Processes the given data (may change the provided dataset) and returns the modified version.
 void setInstancesIndices(String value)
          Sets the range of instances to be selected.
 void setInvertSelection(boolean value)
          Sets if selection is to be inverted.
 void setOptions(String[] options)
          Parses a given list of options.
 
Methods inherited from class weka.filters.SimpleBatchFilter
batchFinished, hasImmediateOutputFormat, input
 
Methods inherited from class weka.filters.SimpleFilter
debugTipText, getDebug, reset, setDebug, setInputFormat
 
Methods inherited from class weka.filters.Filter
batchFilterFile, bufferInput, copyValues, copyValues, filterFile, flushInput, getCapabilities, getInputFormat, getOutputFormat, initInputLocators, initOutputLocators, inputFormatPeek, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputFormatPeek, outputPeek, push, resetQueue, runFilter, setOutputFormat, testInputFormat, toString, useFilter, wekaStaticWrapper
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_Range

protected Range m_Range
Range of instances requested by the user.


m_InvertSelection

protected boolean m_InvertSelection
whether to invert the selection.

Constructor Detail

SafeRemoveRange

public SafeRemoveRange()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing this filter

Specified by:
globalInfo in class weka.filters.SimpleFilter
Returns:
a description of the filter suitable for displaying in the GUI.

listOptions

public Enumeration listOptions()
Returns an enumeration describing the available options.

Specified by:
listOptions in interface weka.core.OptionHandler
Overrides:
listOptions in class weka.filters.SimpleFilter
Returns:
an enumeration of all the available options.

setOptions

public void setOptions(String[] options)
                throws Exception
Parses a given list of options.

Valid options are:

 -R <inst1,inst2-inst4,...>
  Specifies list of instances to select. First and last
  are valid indexes. (required)
 
 -V
  Specifies if inverse of selection is to be output.
 

Specified by:
setOptions in interface weka.core.OptionHandler
Overrides:
setOptions in class weka.filters.SimpleFilter
Parameters:
options - the list of options as an array of string.s
Throws:
Exception - if an option is not supported.

getOptions

public String[] getOptions()
Gets the current settings of the filter.

Specified by:
getOptions in interface weka.core.OptionHandler
Overrides:
getOptions in class weka.filters.SimpleFilter
Returns:
an array of strings suitable for passing to setOptions.

setInstancesIndices

public void setInstancesIndices(String value)
Sets the range of instances to be selected.

Parameters:
value - a string representing the list of instances. eg: first-3,5,6-last

getInstancesIndices

public String getInstancesIndices()
Gets ranges of instances selected.

Returns:
the range

instancesIndicesTipText

public String instancesIndicesTipText()
Returns the tip text for this property.

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

setInvertSelection

public void setInvertSelection(boolean value)
Sets if selection is to be inverted.

Parameters:
value - true if inversion is to be performed

getInvertSelection

public boolean getInvertSelection()
Gets if selection is to be inverted.

Returns:
true if the selection is to be inverted

invertSelectionTipText

public String invertSelectionTipText()
Returns the tip text for this property.

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

getCapabilities

public weka.core.Capabilities getCapabilities()
Returns the Capabilities of this filter.

Specified by:
getCapabilities in interface weka.core.CapabilitiesHandler
Overrides:
getCapabilities in class weka.filters.Filter
Returns:
the capabilities of this object
See Also:
Capabilities

determineOutputFormat

protected weka.core.Instances determineOutputFormat(weka.core.Instances inputFormat)
                                             throws Exception
Determines the output format based on the input format and returns this. In case the output format cannot be returned immediately, i.e., immediateOutputFormat() returns false, then this method will be called from batchFinished().

Specified by:
determineOutputFormat in class weka.filters.SimpleFilter
Parameters:
inputFormat - the input format to base the output format on
Returns:
the output format
Throws:
Exception - in case the determination goes wrong

process

protected weka.core.Instances process(weka.core.Instances instances)
                               throws Exception
Processes the given data (may change the provided dataset) and returns the modified version. This method is called in batchFinished().

Specified by:
process in class weka.filters.SimpleFilter
Parameters:
instances - the data to process
Returns:
the modified data
Throws:
Exception - in case the processing goes wrong

getRevision

public String getRevision()
Returns the revision string.

Specified by:
getRevision in interface weka.core.RevisionHandler
Overrides:
getRevision in class weka.filters.Filter
Returns:
the revision

main

public static void main(String[] args)
Main method for running this filter from command-line.

Parameters:
args - arguments to the filter: use -h for help


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.