Spec-Zone.ru › scikit-learn

lars_path

sklearn.linear_model.lars_path(X, y, Xy=None, *, Gram=None, 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.

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

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

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

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

Параметры:
XNone или ndarray формы (n_samples, n_features)

Входные данные. Если X — None, Gram также должен быть None. Если доступна только матрица Gram, используйте lars_path_gram вместо этого.

yNone или ndarray формы (n_samples,)

Входные целевые значения.

Xyarray-like формы (n_features,), по умолчанию=None

Xy = X.T @ y , которые можно предварительно вычислить. Полезно только при предварительном вычислении матрицы Gram.

GramNone, ‘auto’, bool, ndarray формы (n_features, n_features), по умолчанию=None

Предварительно вычисленная матрица Gram X.T @ X, если 'auto', матрица Gram предварительно вычисляется из заданного X, если образцов больше, чем признаков.

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

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

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

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

method{‘lar’, ‘lasso’}, по умолчанию=’lar’

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

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

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

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

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

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

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

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

Управляет подробностью вывода.

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

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

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

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

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

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

Возвращаемое значение:
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

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

LassoLars

Модель Лассо, обученная с помощью регрессии наименьшего угла (LARS).

Lars

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

LassoLarsCV

Перекрестно-валидируемая модель Лассо с использованием алгоритма LARS.

LarsCV

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

sklearn.decomposition.sparse_encode

Сжатое кодирование.

Ссылки

[1]

“Least Angle Regression”, Efron et al. http://statweb.stanford.edu/~tibs/ftp/lars.pdf

[2]

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

[3]

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

Примеры

>>> from sklearn.linear_model import lars_path
>>> 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(X, y)
>>> alphas.shape
(3,)
>>> estimated_coef
array([[ 0.     ,  0.     ,  0.     ],
       [ 0.     ,  0.     ,  0.     ],
       [ 0.     ,  0.     ,  0.     ],
       [ 0.     , 46.96..., 97.99...],
       [ 0.     ,  0.     , 45.70...]])

Примеры из галереи

Пути Лассо, Лассо-LARS и Эластичная сеть

© 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.html

Spec-Zone.ru

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