| Multivariate Pattern Analysis in Python

### Navigation

- index
- next |
- previous |
- ExpPsy Project |
- NeuroDebian Project |
- PyMVPA 0.4.x Home |
- PyMVPA Home |
- Documentation »
- Module Reference »

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.

### Navigation

- index
- next |
- previous |
- ExpPsy Project |
- NeuroDebian Project |
- PyMVPA 0.4.x Home |
- PyMVPA Home |
- Documentation »
- Module Reference »