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)[исходный код]

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.

Gramndarray формы (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 коэффициенты модели не будут сходиться к решению метода наименьших квадратов. Как правило, с решением функции координатного спуска lasso_path согласуются только коэффициенты, соответствующие значениям alpha вплоть до наименьшего значения (alphas_[alphas_ > 0.].min() при fit_path=True), достигнутого пошаговым алгоритмом Lars-Lasso.

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

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

activendarray формы (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

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–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.linear_model.lars_path_gram.html

Spec-Zone.ru

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