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
Примеры
>>> 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