Multivariate Pattern Analysis in Python

# mvpa2.generators.partition.CustomPartitioner

class `mvpa2.generators.partition.``CustomPartitioner`(splitrule, **kwargs)

  Partition a dataset using an arbitrary custom rule.

  The partitioner is configured by passing a custom rule (`splitrule`) to its constructor. Such a rule is basically a sequence of partition definitions. Every single element in this sequence results in exactly one partition set. Each element is another sequence of attribute values whose corresponding samples shall go into a particular partition.

  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

  Generate two sets. In the first set the second partition contains all samples with sample attributes corresponding to either 0, 1 or 2. The first partition of the first set contains all samples which are not part of the second partition.

  The second set yields three partitions. The first with all samples corresponding to sample attributes 1 and 2, the second contains only samples with attribute 3 and the last contains the samples with attribute 5 and 6.

      >>> ptr = CustomPartitioner([(None, [0, 1, 2]), ([1,2], [3], [5, 6])])

  The numeric labels of all partitions correspond to their position in the `splitrule` of a particular set. Note that the actual labels start with ‘1’ as all unselected elements are labeled ‘0’.

  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:

  splitrule : list of tuple

  > Custom partition set specs.

  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

  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.

  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.