Package mvpa :: Package clfs :: Module lars :: Class LARS
[hide private]
[frames] | no frames]

Class LARS

source code


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()

Nested Classes [hide private]

Inherited from misc.state.ClassWithCollections: __metaclass__

Instance Methods [hide private]
 
__init__(self, model_type="lasso", trace=False, normalize=True, intercept=True, max_steps=None, use_Gram=False, **kwargs)
Initialize LARS.
source code
 
__repr__(self)
String summary of the object
source code
 
_train(self, data)
Train the classifier using data (Dataset).
source code
 
_predict(self, data)
Predict the output for the provided data.
source code
 
_getFeatureIds(self)
Return ids of the used features
source code
 
getSensitivityAnalyzer(self, **kwargs)
Returns a sensitivity analyzer for LARS.
source code

Inherited from base.Classifier: __str__, clone, isTrained, predict, repredict, retrain, summary, train, trained, untrain

Inherited from base.Classifier (private): _postpredict, _posttrain, _prepredict, _pretrain, _regressionIsBogus, _setRetrainable

Inherited from misc.state.ClassWithCollections: __getattribute__, __new__, __setattr__, reset

Inherited from object: __delattr__, __format__, __hash__, __reduce__, __reduce_ex__, __sizeof__, __subclasshook__

Class Variables [hide private]
  _clf_internals = ['lars', 'regression', 'linear', 'has_sensiti...
Describes some specifics about the classifier -- is that it is doing regression for instance....
  weights = property(lambda self: self.__weights)

Inherited from base.Classifier: _DEV__doc__, feature_ids, predicting_time, predictions, regression, retrainable, trained_dataset, trained_labels, trained_nsamples, training_confusion, training_time, values

Inherited from misc.state.ClassWithCollections: descr

Instance Variables [hide private]
  __weights
The beta weights for each feature.
  __trained_model
The model object after training that will be used for predictions.
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, model_type="lasso", trace=False, normalize=True, intercept=True, max_steps=None, use_Gram=False, **kwargs)
(Constructor)

source code 

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.)
Overrides: object.__init__

__repr__(self)
(Representation operator)

source code 
String summary of the object
Parameters:
  • fullname - Either to include full name of the module
  • prefixes - What other prefixes to prepend to list of arguments
Overrides: object.__repr__

_train(self, data)

source code 
Train the classifier using data (Dataset).
Overrides: base.Classifier._train

_predict(self, data)

source code 
Predict the output for the provided data.
Overrides: base.Classifier._predict

_getFeatureIds(self)

source code 
Return ids of the used features
Overrides: base.Classifier._getFeatureIds

getSensitivityAnalyzer(self, **kwargs)

source code 
Returns a sensitivity analyzer for LARS.
Overrides: base.Classifier.getSensitivityAnalyzer

Class Variable Details [hide private]

_clf_internals

Describes some specifics about the classifier -- is that it is doing regression for instance....
Value:
['lars', 'regression', 'linear', 'has_sensitivity', 'does_feature_sele\
ction',]