Class StratifiedRemoveFolds

java.lang.Object
weka.filters.Filter
weka.filters.supervised.instance.StratifiedRemoveFolds
All Implemented Interfaces:
Serializable, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler, WeightedAttributesHandler, SupervisedFilter

public class StratifiedRemoveFolds extends Filter implements SupervisedFilter, OptionHandler, WeightedAttributesHandler
This filter takes a dataset and outputs a specified fold for cross validation. If you do not want the folds to be stratified use the unsupervised version.

Valid options are:

 -V
  Specifies if inverse of selection is to be output.
 
 -N <number of folds>
  Specifies number of folds dataset is split into. 
  (default 10)
 
 -F <fold>
  Specifies which fold is selected. (default 1)
 
 -S <seed>
  Specifies random number seed. (default 0, no randomizing)
 
Version:
$Revision: 14508 $
Author:
Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • StratifiedRemoveFolds

      public StratifiedRemoveFolds()
  • Method Details

    • listOptions

      public Enumeration<Option> listOptions()
      Gets 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 given list of options.

      Valid options are:

       -V
        Specifies if inverse of selection is to be output.
       
       -N <number of folds>
        Specifies number of folds dataset is split into. 
        (default 10)
       
       -F <fold>
        Specifies which fold is selected. (default 1)
       
       -S <seed>
        Specifies random number seed. (default 0, no randomizing)
       
      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
    • globalInfo

      public String globalInfo()
      Returns a string describing this filter
      Returns:
      a description of the filter suitable for displaying in the explorer/experimenter gui
    • 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
    • getInvertSelection

      public boolean getInvertSelection()
      Gets if selection is to be inverted.
      Returns:
      true if the selection is to be inverted
    • setInvertSelection

      public void setInvertSelection(boolean inverse)
      Sets if selection is to be inverted.
      Parameters:
      inverse - true if inversion is to be performed
    • numFoldsTipText

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

      public int getNumFolds()
      Gets the number of folds in which dataset is to be split into.
      Returns:
      the number of folds the dataset is to be split into.
    • setNumFolds

      public void setNumFolds(int numFolds)
      Sets the number of folds the dataset is split into. If the number of folds is zero, it won't split it into folds.
      Parameters:
      numFolds - number of folds dataset is to be split into
      Throws:
      IllegalArgumentException - if number of folds is negative
    • foldTipText

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

      public int getFold()
      Gets the fold which is selected.
      Returns:
      the fold which is selected
    • setFold

      public void setFold(int fold)
      Selects a fold.
      Parameters:
      fold - the fold to be selected.
      Throws:
      IllegalArgumentException - if fold's index is smaller than 1
    • 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
    • getSeed

      public long getSeed()
      Gets the random number seed used for shuffling the dataset.
      Returns:
      the random number seed
    • setSeed

      public void setSeed(long seed)
      Sets the random number seed for shuffling the dataset. If seed is negative, shuffling won't be performed.
      Parameters:
      seed - the random number seed
    • 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:
    • setInputFormat

      public boolean setInputFormat(Instances instanceInfo) throws 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 because outputFormat can be collected immediately
      Throws:
      Exception - if the input format can't be set successfully
    • input

      public boolean input(Instance instance)
      Input an instance for filtering. Filter requires all training 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:
      IllegalStateException - if no input structure has been defined
    • batchFinished

      public boolean batchFinished()
      Signify that this batch of input to the filter is finished. Output() may now be called to retrieve the filtered instances.
      Overrides:
      batchFinished in class Filter
      Returns:
      true if there are instances pending output
      Throws:
      IllegalStateException - if no input structure has been defined
    • 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[] argv)
      Main method for testing this class.
      Parameters:
      argv - should contain arguments to the filter: use -h for help