Multivariate Pattern Analysis in Python

### Navigation

- index
- modules |
- modules |
- PyMVPA Home |
- Sitemap »

# mvpa2.clfs.base.Classifier

class `mvpa2.clfs.base.``Classifier`(space=None, **kwargs)

  Abstract classifier class to be inherited by all classifiers

  Notes

  Available conditional attributes:

  - `calling_time+`: Time (in seconds) it took to call the node
  - `estimates+`: Internal classifier estimates the most recent predictions are based on
  - `predicting_time+`: Time (in seconds) which took classifier to predict
  - `predictions+`: Most recent set of predictions
  - `raw_results`: Computed results before invoking postproc. Stored only if postproc is not None.
  - `trained_dataset`: The dataset it has been trained on
  - `trained_nsamples+`: Number of samples it has been trained on
  - `trained_targets+`: Set of unique targets it has been trained on
  - `training_stats`: Confusion matrix of learning performance
  - `training_time+`: Time (in seconds) it took to train the learner

  (Conditional attributes enabled by default suffixed with `+`)

  Methods

  `clone`() | Create full copy of the classifier.
  `generate`(ds) | Yield processing results.
  `get_postproc`() | Returns the post-processing node or None.
  `get_sensitivity_analyzer`(**kwargs) | Factory method to return an appropriate sensitivity analyzer for the respective classifier.
  `get_space`() | Query the processing space name of this node.
  `is_trained`([dataset]) | Either classifier was already trained.
  `predict`(obj, data, *args, **kwargs) |
  `repredict`(obj, data, *args, **kwargs) |
  `reset`() |
  `retrain`(dataset, **kwargs) | Helper to avoid check if data was changed actually changed Useful if just some aspects of classifier were changed since its previous training.
  `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.
  `summary`() | Providing summary over the classifier
  `train`(ds) | The default implementation calls `_pretrain()`, `_train()`, and finally `_posttrain()`.
  `untrain`() | Reverts changes in the state of this node caused by previous training

  Initialize instance of Classifier

  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

  auto_train : bool

  > Flag whether the learner will automatically train itself on the input dataset when called untrained.

  force_train : bool

  > Flag whether the learner will enforce training on the input dataset upon every call.

  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

  `clone`() | Create full copy of the classifier.
  `generate`(ds) | Yield processing results.
  `get_postproc`() | Returns the post-processing node or None.
  `get_sensitivity_analyzer`(**kwargs) | Factory method to return an appropriate sensitivity analyzer for the respective classifier.
  `get_space`() | Query the processing space name of this node.
  `is_trained`([dataset]) | Either classifier was already trained.
  `predict`(obj, data, *args, **kwargs) |
  `repredict`(obj, data, *args, **kwargs) |
  `reset`() |
  `retrain`(dataset, **kwargs) | Helper to avoid check if data was changed actually changed Useful if just some aspects of classifier were changed since its previous training.
  `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.
  `summary`() | Providing summary over the classifier
  `train`(ds) | The default implementation calls `_pretrain()`, `_train()`, and finally `_posttrain()`.
  `untrain`() | Reverts changes in the state of this node caused by previous training

  `clone`()

    Create full copy of the classifier.

    It might require classifier to be untrained first due to present SWIG bindings.

    TODO: think about proper re-implementation, without enrollment of deepcopy

  `get_sensitivity_analyzer`(**kwargs)

    Factory method to return an appropriate sensitivity analyzer for the respective classifier.

  `is_trained`(dataset=None)

    Either classifier was already trained.

    MUST BE USED WITH CARE IF EVER

  `predict`(obj, data, *args, **kwargs)
  `repredict`(obj, data, *args, **kwargs)
  `retrain`(dataset, **kwargs)

    Helper to avoid check if data was changed actually changed

    Useful if just some aspects of classifier were changed since its previous training. For instance if dataset wasn’t changed but only classifier parameters, then kernel matrix does not have to be computed.

    Words of caution: classifier must be previously trained, results always should first be compared to the results on not ‘retrainable’ classifier (without calling retrain). Some additional checks are enabled if debug id ‘CHECK_RETRAIN’ is enabled, to guard against obvious mistakes.

    Parameters:

    kwargs :

    > that is what _changedData gets updated with. So, smth like `(params=['C'], targets=True)` if parameter C and targets got changed

  `summary`()

    Providing summary over the classifier

  `trained`

    Either classifier was already trained

### Navigation

- index
- modules |
- modules |
- PyMVPA Home |
- Sitemap »