mvpa2.clfs.meta.RegressionAsClassifier

Inheritance diagram of RegressionAsClassifier

class mvpa2.clfs.meta.RegressionAsClassifier(clf, centroids=None, distance_measure=None, **kwargs)

Allows to use arbitrary regression for classification.

Possible usecases:

Binary Classification
Any regression could easily be extended for binary classification. For instance using labels -1 and +1, regression results are quantized into labels depending on their signs
Multiclass Classification
Although most of the time classes are not ordered and do not have a corresponding distance matrix among them it might often be the case that there is a hypothesis that classes could be well separated in a projection to single dimension (non-linear manifold, or just linear projection). For such use regression might provide necessary means of classification

Notes

Available conditional attributes:

  • calling_time+: Time (in seconds) it took to call the node
  • distances: Distances obtained during prediction
  • 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(*args_, **kwargs_)
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
set_postproc(node) Assigns a post-processing node
set_space(name) Set the processing space name of this node.
summary()
train(ds) The default implementation calls _pretrain(), _train(), and finally _posttrain().
untrain() Reverts changes in the state of this node caused by previous training
Parameters :

clf : Classifier XXX Should become learner

Regression to be used as a classifier. Although it would accept any Learner, only providing regressions would make sense.

centroids : None or dict of (float or iterable)

Hypothesis or prior information on location/distance of centroids for each category, provide them. If None – during training it will choose equidistant points starting from 0.0. If dict – keys should be a superset of labels of dataset obtained during training and each value should be numeric value or iterable if centroids are multidimensional and regression can do multidimensional regression.

distance_measure : function or None

What distance measure to use to find closest class label from continuous estimates provided by regression. If None, will use Cartesian distance.

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(*args_, **kwargs_)
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
set_postproc(node) Assigns a post-processing node
set_space(name) Set the processing space name of this node.
summary()
train(ds) The default implementation calls _pretrain(), _train(), and finally _posttrain().
untrain() Reverts changes in the state of this node caused by previous training

NeuroDebian

NITRC-listed