Package mvpa :: Package datasets :: Module splitters :: Class NFoldSplitter
[hide private]
[frames] | no frames]

Class NFoldSplitter

source code


Generic N-fold data splitter.

Provide folding splitting. Given a dataset with N chunks, with cvtype=1 (which is default), it would generate N splits, where each chunk sequentially is taken out (with replacement) for cross-validation. Example, if there is 4 chunks, splits for cvtype=1 are:

[[1, 2, 3], [0]] [[0, 2, 3], [1]] [[0, 1, 3], [2]] [[0, 1, 2], [3]]

If cvtype>1, then all possible combinations of cvtype number of chunks are taken out for testing, so for cvtype=2 in previous example:

[[2, 3], [0, 1]] [[1, 3], [0, 2]] [[1, 2], [0, 3]] [[0, 3], [1, 2]] [[0, 2], [1, 3]] [[0, 1], [2, 3]]
Instance Methods [hide private]
 
__init__(self, cvtype=1, **kwargs)
Initialize the N-fold splitter.
source code
 
__str__(self)
String summary over the object
source code
 
_getSplitConfig(self, uniqueattrs)
Returns proper split configuration for N-M fold split.
source code

Inherited from Splitter: __call__, setNPerLabel, splitDataset, splitcfg

Inherited from Splitter (private): _setStrategy

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __subclasshook__

Class Variables [hide private]
  __doc__ = enhancedDocString('NFoldSplitter', locals(), Splitter)

Inherited from Splitter: strategy

Inherited from Splitter (private): _NPERLABEL_STR, _STRATEGIES

Instance Variables [hide private]

Inherited from Splitter: count

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, cvtype=1, **kwargs)
(Constructor)

source code 
Initialize the N-fold splitter.
Parameters:
  • nperlabel - Number of dataset samples per label to be included in each split. If given as a float, it must be in [0,1] range and would mean the ratio of selected samples per each label. Two special strings are recognized: 'all' uses all available samples (default) and 'equal' uses the maximum number of samples the can be provided by all of the classes. This value might be provided as a sequence whos length matches the number of datasets per split and indicates the configuration for the respective dataset in each split.
  • nrunspersplit, int - Number of times samples for each split are chosen. This is mostly useful if a subset of the available samples is used in each split and the subset is randomly selected for each run (see the nperlabel argument).
  • permute - If set to True, the labels of each generated dataset will be permuted on a per-chunk basis.
  • count - Desired number of splits to be output. It is limited by the number of splits possible for a given splitter (e.g. OddEvenSplitter can have only up to 2 splits). If None, all splits are output (default).
  • strategy -
    If count is not None, possible strategies are possible:
    first

    First count splits are chosen

    random

    Random (without replacement) count splits are chosen

    equidistant

    Splits which are equidistant from each other

  • discard_boundary - If not None, how many samples on the boundaries between parts of the split to discard in the training part. If int, then discarded in all parts. If a sequence, numbers to discard are given per part of the split. E.g. if splitter splits only into (training, testing) parts, then `discard_boundary`=(2,0) would instruct to discard 2 samples from training which are on the boundary with testing.
  • attr - Sample attribute used to determine splits.
Overrides: object.__init__

__str__(self)
(Informal representation operator)

source code 
String summary over the object
Overrides: object.__str__

_getSplitConfig(self, uniqueattrs)

source code 
Returns proper split configuration for N-M fold split.
Overrides: Splitter._getSplitConfig