Table Of Contents

Previous topic

clfs.knn

Next topic

clfs.libsmlrc

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

Module: clfs.lars

Inheritance diagram for mvpa.clfs.lars:

Least angle regression (LARS) classifier.

Classes

LARS

class mvpa.clfs.lars.LARS(model_type='lasso', trace=False, normalize=True, intercept=True, max_steps=None, use_Gram=False, **kwargs)

Bases: mvpa.clfs.base.Classifier

Least angle regression (LARS) Classifier.

LARS is the model selection algorithm from:

Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani, Least Angle Regression Annals of Statistics (with discussion) (2004) 32(2), 407-499. A new method for variable subset selection, with the lasso and ‘epsilon’ forward stagewise methods as special cases.

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.

This classifier behaves more like a ridge regression in that it returns prediction values and it treats the training labels as continuous.

In the true nature of the PyMVPA framework, this algorithm is actually implemented in R by Trevor Hastie and wrapped via RPy. To make use of LARS, you must have R and RPy installed as well as the LARS 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 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 LARS.

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

Parameters:
  • model_type (string) – Type of LARS to run. Can be one of (‘lasso’, ‘lar’, ‘forward.stagewise’, ‘stepwise’).
  • 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.
  • use_Gram (boolean) – Whether to compute the Gram matrix (this should be false if you have more features than samples.)
  • 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 LARS.

weights

LARSWeights

class mvpa.clfs.lars.LARSWeights(clf, force_training=True, **kwargs)

Bases: mvpa.measures.base.Sensitivity

SensitivityAnalyzer that reports the weights LARS 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.