Spec-Zone.ru › scikit-learn

lars_path_gram

sklearn.linear_model.lars_path_gram(Xy, Gram, *, n_samples, max_iter=500, alpha_min=0, method='lar', copy_X=True, eps=np.float64(2.220446049250313e-16), copy_Gram=True, verbose=0, return_path=True, return_n_iter=False, positive=False)[source]

Функция lars_path в режиме достаточных статистик.

Функционал оптимизации для метода ‘lasso’:

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

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

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

Параметры:
Xyмассив ndarray формы (n_features,)

Xy = X.T @ y.

Gramмассив ndarray формы (n_features, n_features)

Gram = X.T @ X.

n_samplesint

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

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

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

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

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

method{‘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

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

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

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

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

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

activeмассив ndarray формы (n_alphas,)

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

coefsмассив ndarray формы (n_features, n_alphas + 1)

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

n_iterint

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

См. также

lars_path_gram

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

lasso_path

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

LassoLars

Модель Lasso, подогнанная с помощью регрессии наименьших углов (Lars).

Lars

Модель регрессии наименьших углов (LAR).

LassoLarsCV

Перекрестная проверка Lasso, использующая алгоритм LARS.

LarsCV

Модель перекрестной проверки регрессии наименьших углов.

sklearn.decomposition.sparse_encode

Разложение по координатам.

Ссылки

[1]

«Регрессия наименьших углов», Эфрон и др. http://statweb.stanford.edu/~tibs/ftp/lars.pdf

[2]

Запись в Википедии о регрессии наименьших углов

[3]

Запись в Википедии о Lasso

Примеры

>>> 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...]])

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.linear_model.lars_path_gram.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API