mvpa2.generators.partition.Partitioner

Inheritance diagram of Partitioner
class mvpa2.generators.partition.Partitioner(count=None, selection_strategy='equidistant', attr='chunks', space='partitions', **kwargs)

Generator node to partition a dataset.

Partitioning is done by adding a sample attribute that assigns samples to an arbitrary number of partitions. Subclasses offer a variety of partitioning technique that are useful in e.g. cross-validation procedures.

it is important to note that other than adding a new sample attribute input datasets are not modified. In particular, there is no splitting of datasets into multiple pieces. If this is desired, a Partitioner can be chained to a Splitter node to achieve this.

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 +)

Attributes

attr
descr Description of the object if any
pass_attr Which attributes of the dataset or self.ca to pass into result dataset upon call
postproc Node to perform post-processing of results
selection_strategy
space Processing space name of this node
splitattr DEPRECATED: to be removed in PyMVPA 2.1; use .attr instead

Methods

__call__(ds[, _call_kwargs]) The default implementation calls _precall(), _call(), and finally returns the output of _postcall().
generate(ds)
get_partition_specs(ds) Returns the specs for all to be generated partition sets.
get_partitions_attr(ds, specs) Create a partition attribute array for a particular partition spec.
get_postproc() Returns the post-processing node or None.
get_selected_indexes(n_cfgs) A naive selection of indexes according to strategy and count
get_space() Query the processing space name of this node.
reset()
set_postproc(node) Assigns a post-processing node
set_space(name) Set the processing space name of this node.
Parameters:

count : None or int

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).

selection_strategy : str

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.

attr : str

Sample attribute used to determine splits.

space : str

Name of the to be created sample attribute defining the partitions. In addition, a dataset attribute named ‘space_set’ will be added to each output dataset, indicating the number of the partition set it corresponds to.

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

pass_attr : str, list of str|tuple, optional

Additional attributes to pass on to an output dataset. Attributes can be taken from all three attribute collections of an input dataset (sa, fa, a – see Dataset.get_attr()), or from the collection of conditional attributes (ca) of a node instance. Corresponding collection name prefixes should be used to identify attributes, e.g. ‘ca.null_prob’ for the conditional attribute ‘null_prob’, or ‘fa.stats’ for the feature attribute stats. In addition to a plain attribute identifier it is possible to use a tuple to trigger more complex operations. The first tuple element is the attribute identifier, as described before. The second element is the name of the target attribute collection (sa, fa, or a). The third element is the axis number of a multidimensional array that shall be swapped with the current first axis. The fourth element is a new name that shall be used for an attribute in the output dataset. Example: (‘ca.null_prob’, ‘fa’, 1, ‘pvalues’) will take the conditional attribute ‘null_prob’ and store it as a feature attribute ‘pvalues’, while swapping the first and second axes. Simplified instructions can be given by leaving out consecutive tuple elements starting from the end.

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

Attributes

attr
descr Description of the object if any
pass_attr Which attributes of the dataset or self.ca to pass into result dataset upon call
postproc Node to perform post-processing of results
selection_strategy
space Processing space name of this node
splitattr DEPRECATED: to be removed in PyMVPA 2.1; use .attr instead

Methods

__call__(ds[, _call_kwargs]) The default implementation calls _precall(), _call(), and finally returns the output of _postcall().
generate(ds)
get_partition_specs(ds) Returns the specs for all to be generated partition sets.
get_partitions_attr(ds, specs) Create a partition attribute array for a particular partition spec.
get_postproc() Returns the post-processing node or None.
get_selected_indexes(n_cfgs) A naive selection of indexes according to strategy and count
get_space() Query the processing space name of this node.
reset()
set_postproc(node) Assigns a post-processing node
set_space(name) Set the processing space name of this node.
attr
generate(ds)
get_partition_specs(ds)

Returns the specs for all to be generated partition sets.

Returns:list(lists)
get_partitions_attr(ds, specs)

Create a partition attribute array for a particular partition spec.

Parameters:

ds : Dataset

This is this source dataset.

specs : sequence of sequences

Contains ids of a sample attribute that shall go into each partition.

Returns:

array(ints)

Each partition is represented by a unique integer value.

get_selected_indexes(n_cfgs)

A naive selection of indexes according to strategy and count

Parameters:

n_cfgs: int

Total number of configurations to select from

selection_strategy
splitattr

DEPRECATED: to be removed in PyMVPA 2.1; use .attr instead