mvpa2.generators.partition.ExcludeTargetsCombinationsPartitioner

Inheritance diagram of ExcludeTargetsCombinationsPartitioner

class mvpa2.generators.partition.ExcludeTargetsCombinationsPartitioner(k, targets_attr, partitions_attr='partitions', partitions_keep=2, partition_assign=3, **kwargs)

Exclude combinations for a given partition from other partitions

Given a pre-generated partitioning this generates new partitions by selecting all possible combinations of k-targets from all targets and excluding samples with the selected k-targets from training partition for each combination.

A simple example would be:

Notes

Available conditional attributes:

  • calling_time+: Time (in seconds) it took to call the node
  • raw_results: Computed results before invoking postproc. Stored only if postproc is not None.

(Conditional attributes enabled by default suffixed with +)

Examples

For a dataset with 3 classes with one sample per class, k=2 gives 3 combination partitions with 2 samples for testing and one sample for training (since it excludes the 2 selected target samples) per partition.

>>> from mvpa2.base.node import ChainNode
>>> partitioner = ChainNode([NFoldPartitioner(),
...                          ExcludeTargetsCombinationsPartitioner(
...                             k=2,
...                             targets_attr='targets',
...                             space='partitions')],
...                         space='partitions')

While cross-validating across subjects (e.g. working with hyperaligned data), to avoid significant bias due to matching trial-order effects instead of categorical boundaries, it is important to exclude from training chunks with the order matching the ones in testing.

>>> partitioner = ChainNode([NFoldPartitioner(attr='subject'),
...                          ExcludeTargetsCombinationsPartitioner(
...                             k=1,
...                             targets_attr='chunks',
...                             space='partitions')],
...                         space='partitions')

Methods

generate(ds)
get_postproc() Returns the post-processing node or None.
get_space() Query the processing space name of this node.
reset()
set_postproc(node) Assigns a post-processing node Set to None to disable postprocessing.
set_space(name) Set the processing space name of this node.

Initialize instance of ExcludeTargetsCombinationsPartitioner

Parameters:

enable_ca : None or list of str

Names of the conditional attributes which should be enabled in addition to the default ones

disable_ca : None or list of str

Names of the conditional attributes which should be disabled

space: str, optional :

Name of the ‘processing space’. The actual meaning of this argument heavily depends on the sub-class implementation. In general, this is a trigger that tells the node to compute and store information about the input data that is “interesting” in the context of the corresponding processing in the output dataset.

postproc : Node instance, optional

Node to perform post-processing of results. This node is applied in __call__() to perform a final processing step on the to be result dataset. If None, nothing is done.

descr : str

Description of the instance

Methods

generate(ds)
get_postproc() Returns the post-processing node or None.
get_space() Query the processing space name of this node.
reset()
set_postproc(node) Assigns a post-processing node Set to None to disable postprocessing.
set_space(name) Set the processing space name of this node.
generate(ds)

NeuroDebian

NITRC-listed