Package weka.filters.supervised.instance

# 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: 14534 $
Author:
  Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StratifiedRemoveFolds()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `batchFinished()`
  Signify that this batch of input to the filter is finished.
  `String`
  `foldTipText()`
  Returns the tip text for this property
  `Capabilities`
  `getCapabilities()`
  Returns the Capabilities of this filter.
  `int`
  `getFold()`
  Gets the fold which is selected.
  `boolean`
  `getInvertSelection()`
  Gets if selection is to be inverted.
  `int`
  `getNumFolds()`
  Gets the number of folds in which dataset is to be split into.
  `String[]`
  `getOptions()`
  Gets the current settings of the filter.
  `String`
  `getRevision()`
  Returns the revision string.
  `long`
  `getSeed()`
  Gets the random number seed used for shuffling the dataset.
  `String`
  `globalInfo()`
  Returns a string describing this filter
  `boolean`
  `input(Instance instance)`
  Input an instance for filtering.
  `String`
  `invertSelectionTipText()`
  Returns the tip text for this property
  `Enumeration<Option>`
  `listOptions()`
  Gets an enumeration describing the available options..
  `static void`
  `main(String[] argv)`
  Main method for testing this class.
  `String`
  `numFoldsTipText()`
  Returns the tip text for this property
  `String`
  `seedTipText()`
  Returns the tip text for this property
  `void`
  `setFold(int fold)`
  Selects a fold.
  `boolean`
  `setInputFormat(Instances instanceInfo)`
  Sets the format of the input instances.
  `void`
  `setInvertSelection(boolean inverse)`
  Sets if selection is to be inverted.
  `void`
  `setNumFolds(int numFolds)`
  Sets the number of folds the dataset is split into.
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `void`
  `setSeed(long seed)`
  Sets the random number seed for shuffling the dataset.

  ### Methods inherited from class weka.filters.Filter

  `batchFilterFile, debugTipText, doNotCheckCapabilitiesTipText, filterFile, getCapabilities, getCopyOfInputFormat, getDebug, getDoNotCheckCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, mayRemoveInstanceAfterFirstBatchDone, numPendingOutput, output, outputPeek, postExecution, preExecution, run, runFilter, setDebug, setDoNotCheckCapabilities, toString, useFilter, wekaStaticWrapper`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## 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:
      - `Capabilities`

  - ### 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