Package weka.filters.unsupervised.instance

# Class RemoveFolds

java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.instance.RemoveFolds

All Implemented Interfaces:
  `Serializable`, `CapabilitiesHandler`, `OptionHandler`, `RevisionHandler`, `UnsupervisedFilter`

public class RemoveFolds extends Filter implements UnsupervisedFilter, OptionHandler
This filter takes a dataset and outputs a specified fold for cross validation. If you want the folds to be stratified use the supervised 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: 5548 $
Author:
  Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`RemoveFolds()`

## 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`
`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, filterFile, getCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, numPendingOutput, output, outputPeek, toString, useFilter, wekaStaticWrapper`

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

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

## Constructor Details

### RemoveFolds

public RemoveFolds()

## Method Details

### listOptions

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

Specified by:
  `listOptions` in interface `OptionHandler`
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`
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`
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