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
Примеры
>>> 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...]])
Примеры из галереи
© 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