Class SafeRemoveRange

  • All Implemented Interfaces:
    Serializable, weka.core.CapabilitiesHandler, weka.core.CapabilitiesIgnorer, weka.core.CommandlineRunnable, 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$
    Author:
    Eibe Frank (eibe@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean m_InvertSelection
      whether to invert the selection.
      protected adams.core.Range m_Range
      Range of instances requested by the user.
      • Fields inherited from class weka.filters.Filter

        m_Debug, m_DoNotCheckCapabilities, m_FirstBatchDone, m_InputRelAtts, m_InputStringAtts, m_NewBatch, m_OutputRelAtts, m_OutputStringAtts
    • Constructor Summary

      Constructors 
      Constructor Description
      SafeRemoveRange()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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

        allowAccessToFullInputFormat, batchFinished, hasImmediateOutputFormat, input
      • Methods inherited from class weka.filters.SimpleFilter

        reset, setInputFormat
      • Methods inherited from class weka.filters.Filter

        batchFilterFile, bufferInput, copyValues, copyValues, debugTipText, doNotCheckCapabilitiesTipText, filterFile, flushInput, getCapabilities, getDebug, getDoNotCheckCapabilities, getInputFormat, getOutputFormat, initInputLocators, initOutputLocators, inputFormatPeek, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputFormatPeek, outputPeek, postExecution, preExecution, push, push, resetQueue, run, runFilter, setDebug, setDoNotCheckCapabilities, setOutputFormat, testInputFormat, toString, useFilter, wekaStaticWrapper
    • Field Detail

      • m_Range

        protected adams.core.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.Filter
        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.Filter
        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.Filter
        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