lars_path_gram#

sklearn.linear_model.lars_path_gram(Xy, Грам, *, n_samples, max_iter=500, alpha_min=0, метод=2.3.8.1. Граф взаимной достижимости, copy_X=True, eps=np.float64(2.220446049250313e-16), copy_Gram=True, verbose=0, return_path=True, return_n_iter=False, положительный=False)[источник]#

lars_path в режиме достаточной статистики.

Целевая функция оптимизации для случая method='lasso':

(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1

в случае method=’lar’, целевая функция известна только в виде неявного уравнения (см. обсуждение в [1]).

Подробнее в Руководство пользователя.

Параметры:
Xyndarray формы (n_features,)

Xy = X.T @ y.

Грамndarray формы (n_features, n_features)

Gram = X.T @ X.

n_samplesint

Эквивалентный размер выборки.

max_iterint, по умолчанию=500

Максимальное количество итераций для выполнения, установлено в бесконечность для отсутствия ограничения.

alpha_minfloat, по умолчанию=0

Минимальная корреляция вдоль пути. Соответствует параметру регуляризации alpha в Lasso.

метод{'lar', 'lasso'}, по умолчанию='lar'

Определяет возвращаемую модель. Выберите 'lar' для регрессии наименьшего угла, 'lasso' для Lasso.

copy_Xbool, по умолчанию=True

Если False, X перезаписывается.

epsfloat, по умолчанию=np.finfo(float).eps

Регуляризация с машинной точностью в вычислении диагональных факторов Холецкого. Увеличьте это для очень плохо обусловленных систем. В отличие от tol параметр в некоторых итеративных алгоритмах на основе оптимизации, этот параметр не контролирует допуск оптимизации.

copy_Grambool, по умолчанию=True

Если False, Gram перезаписывается.

verboseint, по умолчанию=0

Управляет уровнем детализации вывода.

return_pathbool, по умолчанию=True

Если return_path==True возвращает весь путь, иначе возвращает только последнюю точку пути.

return_n_iterbool, по умолчанию=False

Возвращать ли количество итераций.

положительныйbool, по умолчанию=False

Ограничить коэффициенты >= 0. Эта опция разрешена только с методом 'lasso'. Обратите внимание, что коэффициенты модели не будут сходиться к решению обычного метода наименьших квадратов для малых значений alpha. Только коэффициенты до наименьшего значения alpha (alphas_[alphas_ > 0.].min() когда fit_path=True), достигнутые пошаговым алгоритмом Lars-Lasso, обычно соответствуют решению функции coordinate descent lasso_path.

Возвращает:
альфыndarray формы (n_alphas + 1,)

Максимум ковариаций (по абсолютному значению) на каждой итерации. n_alphas является либо max_iter, n_features или количество узлов в пути с alpha >= alpha_min, в зависимости от того, что меньше.

активныйndarray формы (n_alphas,)

Индексы активных переменных в конце пути.

coefsndarray формы (n_features, n_alphas + 1)

Коэффициенты вдоль пути.

n_iterint

Количество выполненных итераций. Возвращается только если return_n_iter установлен в True.

Смотрите также

lars_path_gram

Вычислить путь LARS.

lasso_path

Вычислить путь Lasso с координатным спуском.

LassoLars

Модель Lasso, обученная с использованием метода наименьших углов, также известного как Lars.

Lars

Модель регрессии с наименьшим углом, также известная как LAR.

LassoLarsCV

Лассо с кросс-валидацией, использующий алгоритм LARS.

LarsCV

Кросс-валидированная модель регрессии наименьшего угла.

sklearn.decomposition.sparse_encode

Разреженное кодирование.

Ссылки

Примеры

>>> from sklearn.linear_model import lars_path_gram
>>> from sklearn.datasets import make_regression
>>> X, y, true_coef = make_regression(
...    n_samples=100, n_features=5, n_informative=2, coef=True, random_state=0
... )
>>> true_coef
array([ 0.        ,  0.        ,  0.        , 97.9, 45.7])
>>> alphas, _, estimated_coef = lars_path_gram(X.T @ y, X.T @ X, n_samples=100)
>>> alphas.shape
(3,)
>>> estimated_coef
array([[ 0.     ,  0.     ,  0.     ],
       [ 0.     ,  0.     ,  0.     ],
       [ 0.     ,  0.     ,  0.     ],
       [ 0.     , 46.96, 97.99],
       [ 0.     ,  0.     , 45.70]])