Cross-validated Least Angle Regression model.
See glossary entry for :term:`cross-validation estimator`.
Read more in the :ref:`User Guide <least_angle_regression>`.
Parameters ---------- fit_intercept : bool, default=True whether to calculate the intercept for this model. If set to false, no intercept will be used in calculations (i.e. data is expected to be centered).
verbose : bool or int, default=False Sets the verbosity amount
max_iter : int, default=500 Maximum number of iterations to perform.
normalize : bool, default=True This parameter is ignored when ``fit_intercept`` is set to False. If True, the regressors X will be normalized before regression by subtracting the mean and dividing by the l2-norm. If you wish to standardize, please use :class:`sklearn.preprocessing.StandardScaler` before calling ``fit`` on an estimator with ``normalize=False``.
precompute : bool, 'auto' or array-like , default='auto' Whether to use a precomputed Gram matrix to speed up calculations. If set to ``'auto'`` let us decide. The Gram matrix cannot be passed as argument since we will use only subsets of X.
cv : int, cross-validation generator or an iterable, default=None Determines the cross-validation splitting strategy. Possible inputs for cv are:
- None, to use the default 5-fold cross-validation,
- integer, to specify the number of folds.
- :term:`CV splitter`,
- An iterable yielding (train, test) splits as arrays of indices.
For integer/None inputs, :class:`KFold` is used.
Refer :ref:`User Guide <cross_validation>` for the various cross-validation strategies that can be used here.
.. versionchanged:: 0.22 ``cv`` default value if None changed from 3-fold to 5-fold.
max_n_alphas : int, default=1000 The maximum number of points on the path used to compute the residuals in the cross-validation
n_jobs : int or None, default=None Number of CPUs to use during the cross validation. ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. ``-1`` means using all processors. See :term:`Glossary <n_jobs>` for more details.
eps : float, optional The machine-precision regularization in the computation of the Cholesky diagonal factors. Increase this for very ill-conditioned systems. By default, ``np.finfo(np.float).eps`` is used.
copy_X : bool, default=True If ``True``, X will be copied; else, it may be overwritten.
Attributes ---------- coef_ : array-like of shape (n_features,) parameter vector (w in the formulation formula)
intercept_ : float independent term in decision function
coef_path_ : array-like of shape (n_features, n_alphas) the varying values of the coefficients along the path
alpha_ : float the estimated regularization parameter alpha
alphas_ : array-like of shape (n_alphas,) the different values of alpha along the path
cv_alphas_ : array-like of shape (n_cv_alphas,) all the values of alpha along the path for the different folds
mse_path_ : array-like of shape (n_folds, n_cv_alphas) the mean square error on left-out for each fold along the path (alpha values given by ``cv_alphas``)
n_iter_ : array-like or int the number of iterations run by Lars with the optimal alpha.
Examples -------- >>> from sklearn.linear_model import LarsCV >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_samples=200, noise=4.0, random_state=0) >>> reg = LarsCV(cv=5).fit(X, y) >>> reg.score(X, y) 0.9996... >>> reg.alpha_ 0.0254... >>> reg.predict(X:1,
) array(154.0842...
)
See also -------- lars_path, LassoLars, LassoLarsCV