Table Of Contents

Previous topic

clfs.distance

Next topic

clfs.glmnet

This content refers to the previous stable release of PyMVPA. Please visit www.pymvpa.org for the most recent version of PyMVPA and its documentation.

clfs.enet

Module: clfs.enet

Inheritance diagram for mvpa.clfs.enet:

Elastic-Net (ENET) regression classifier.

Classes

ENET

class mvpa.clfs.enet.ENET(lm=1.0, trace=False, normalize=True, intercept=True, max_steps=None, **kwargs)

Bases: mvpa.clfs.base.Classifier

Elastic-Net regression (ENET) Classifier.

Elastic-Net is the model selection algorithm from:

Zou and Hastie (2005) ‘Regularization and Variable Selection via the Elastic Net’ Journal of the Royal Statistical Society, Series B, 67, 301-320.

Similar to SMLR, it performs a feature selection while performing classification, but instead of starting with all features, it starts with none and adds them in, which is similar to boosting.

Unlike LARS it has both L1 and L2 regularization (instead of just L1). This means that while it tries to sparsify the features it also tries to keep redundant features, which may be very very good for fMRI classification.

In the true nature of the PyMVPA framework, this algorithm was actually implemented in R by Zou and Hastie and wrapped via RPy. To make use of ENET, you must have R and RPy installed as well as both the lars and elasticnet contributed package. You can install the R and RPy with the following command on Debian-based machines:

sudo aptitude install python-rpy python-rpy-doc r-base-dev

You can then install the lars and elasticnet package by running R as root and calling:

install.packages()

Note

Available state variables:

  • feature_ids: Feature IDS which were used for the actual training.
  • predicting_time+: Time (in seconds) which took classifier to predict
  • predictions+: Most recent set of predictions
  • trained_dataset: The dataset it has been trained on
  • trained_labels+: Set of unique labels it has been trained on
  • trained_nsamples+: Number of samples it has been trained on
  • training_confusion: Confusion matrix of learning performance
  • training_time+: Time (in seconds) which took classifier to train
  • values+: Internal classifier values the most recent predictions are based on

(States enabled by default are listed with +)

See also

Please refer to the documentation of the base class for more information:

Classifier

Initialize ENET.

See the help in R for further details on the following parameters:

Parameters:
  • lm (float) – Penalty parameter. 0 will perform LARS with no ridge regression. Default is 1.0.
  • trace (boolean) – Whether to print progress in R as it works.
  • normalize (boolean) – Whether to normalize the L2 Norm.
  • intercept (boolean) – Whether to add a non-penalized intercept to the model.
  • max_steps (None or int) – If not None, specify the total number of iterations to run. Each iteration adds a feature, but leaving it none will add until convergence.
  • regression – Either to use ‘regression’ as regression. By default any Classifier- derived class serves as a classifier, so regression does binary classification. (Default: False)
  • enable_states (None or list of basestring) – Names of the state variables which should be enabled additionally to default ones
  • disable_states (None or list of basestring) – Names of the state variables which should be disabled
getSensitivityAnalyzer(**kwargs)

Returns a sensitivity analyzer for ENET.

weights

ENETWeights

class mvpa.clfs.enet.ENETWeights(clf, force_training=True, **kwargs)

Bases: mvpa.measures.base.Sensitivity

SensitivityAnalyzer that reports the weights ENET trained on a given Dataset.

Note

Available state variables:

  • base_sensitivities: Stores basic sensitivities if the sensitivity relies on combining multiple ones
  • null_prob+: State variable
  • null_t: State variable
  • raw_results: Computed results before applying any transformation algorithm

(States enabled by default are listed with +)

See also

Please refer to the documentation of the base class for more information:

Sensitivity

Initialize the analyzer with the classifier it shall use.

Parameters:
  • clf (Classifier) – classifier to use.
  • force_training (Bool) – if classifier was already trained – do not retrain
  • enable_states (None or list of basestring) – Names of the state variables which should be enabled additionally to default ones
  • disable_states (None or list of basestring) – Names of the state variables which should be disabled
  • combiner (Functor) – The combiner is only applied if the computed featurewise dataset measure is more than one-dimensional. This is different from a transformer, which is always applied. By default, the sum of absolute values along the second axis is computed.
  • transformer (Functor) – This functor is called in __call__() to perform a final processing step on the to be returned dataset measure. If None, nothing is called
  • null_dist (instance of distribution estimator) – The estimated distribution is used to assign a probability for a certain value of the computed measure.