Spec-Zone.ru › scikit-learn

LassoLarsCV

classsklearn.linear_model.LassoLarsCV(*, fit_intercept=True, verbose=False, max_iter=500, precompute='auto', cv=None, max_n_alphas=1000, n_jobs=None, eps=np.float64(2.220446049250313e-16), copy_X=True, positive=False)[исходный код]

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

См. статью глоссария о оценщике с перекрёстной проверкой.

Целевая функция оптимизации для Lasso:

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

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

Параметры:
fit_interceptbool, default=True

Определяет, следует ли вычислять свободный член этой модели. Если задано значение False, при вычислениях свободный член использоваться не будет (то есть предполагается, что данные центрированы).

verbosebool or int, default=False

Задаёт уровень подробности вывода.

max_iterint, default=500

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

precomputebool or ‘auto’ , default=’auto’

Следует ли использовать предварительно вычисленную матрицу Грама для ускорения вычислений. Если задано значение 'auto', выбор остаётся за нами. Матрицу Грама нельзя передать в качестве аргумента, поскольку будут использоваться только подмножества X.

cvint, cross-validation generator or an iterable, default=None

Определяет стратегию разделения данных для перекрёстной проверки. Возможные значения cv:

  • None — использовать перекрёстную проверку по умолчанию с 5 блоками;
  • целое число — задать количество блоков;
  • разбиватель CV;
  • итерируемый объект, возвращающий разбиения (train, test) в виде массивов индексов.

Для целочисленных значений и None используется KFold.

Описание различных стратегий перекрёстной проверки, которые можно использовать здесь, см. в руководстве пользователя.

Изменено в версии 0.22: cv значение по умолчанию при None изменено с 3 блоков на 5.

max_n_alphasint, default=1000

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

n_jobsint or None, default=None

Количество процессоров, используемых при перекрёстной проверке. None означает 1, если только не используется контекст joblib.parallel_backend. -1 означает использование всех процессоров. Подробнее см. в глоссарии.

epsfloat, default=np.finfo(float).eps

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

copy_Xbool, default=True

Если True, X будет скопирован; иначе он может быть перезаписан.

positivebool, default=False

Ограничивает коэффициенты значениями >= 0. Учтите, что может потребоваться отключить fit_intercept, который по умолчанию имеет значение True. При ограничении положительности коэффициенты модели для малых значений alpha не сходятся к решению обычного метода наименьших квадратов. Как правило, только коэффициенты, соответствующие значениям alpha вплоть до наименьшего значения (alphas_[alphas_ > 0.].min() при fit_path=True), достигнутого пошаговым алгоритмом Lars-Lasso, согласуются с решением оценщика Lasso на основе покоординатного спуска. Поэтому использование LassoLarsCV имеет смысл только для задач, в которых ожидается и/или достигается разреженное решение.

Атрибуты:
coef_array-like of shape (n_features,)

вектор параметров (w в формуле постановки задачи)

intercept_float

свободный член функции принятия решения.

coef_path_array-like of shape (n_features, n_alphas)

изменяющиеся значения коэффициентов вдоль пути

alpha_float

оценённый параметр регуляризации alpha

alphas_array-like of shape (n_alphas,)

различные значения alpha вдоль пути

cv_alphas_array-like of shape (n_cv_alphas,)

все значения alpha вдоль пути для разных блоков

mse_path_array-like of shape (n_folds, n_cv_alphas)

среднеквадратичная ошибка на отложенной выборке для каждого блока вдоль пути (значения alpha задаются параметром cv_alphas)

n_iter_array-like or int

число итераций Lars при оптимальном alpha.

active_list of int

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

n_features_in_int

Количество признаков, полученных при вызове fit.

Добавлено в версии 0.24.

feature_names_in_ndarray of shape (n_features_in_,)

Названия признаков, полученные при вызове fit. Определяется только в том случае, если X содержит названия признаков, состоящие только из строк.

Добавлено в версии 1.0.

См. также

lars_path

Вычисление регрессии наименьших углов или пути Lasso с помощью алгоритма LARS.

lasso_path

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

Lasso

Линейная модель, обученная с априорным распределением L1 в качестве регуляризатора (также известная как Lasso).

LassoCV

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

LassoLars

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

LassoLarsIC

Модель Lasso, подогнанная методом Lars с использованием BIC или AIC для выбора модели.

sklearn.decomposition.sparse_encode

Разреженное кодирование.

Примечания

Этот объект решает ту же задачу, что и объект LassoCV. Однако, в отличие от LassoCV, он самостоятельно находит подходящие значения alpha. В целом благодаря этому свойству он будет более устойчивым. Однако он более чувствителен к наборам данных с сильной мультиколлинеарностью.

Он эффективнее LassoCV, если выбрано лишь небольшое число признаков по сравнению с их общим количеством, например, когда число образцов намного меньше числа признаков.

В fit после нахождения наилучшего параметра alpha с помощью перекрёстной проверки модель повторно обучается на всём обучающем наборе.

Примеры

>>> from sklearn.linear_model import LassoLarsCV
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(noise=4.0, random_state=0)
>>> reg = LassoLarsCV(cv=5).fit(X, y)
>>> reg.score(X, y)
0.9993
>>> reg.alpha_
np.float64(0.3972)
>>> reg.predict(X[:1,])
array([-78.4831])
fit(X, y, **params)[исходный код]

Обучает модель, используя X, y в качестве обучающих данных.

Параметры:
Xarray-like of shape (n_samples, n_features)

Обучающие данные.

yarray-like of shape (n_samples,)

Целевые значения.

**paramsdict, default=None

Параметры, передаваемые разбивателю CV.

Добавлено в версии 1.4: Доступно только если enable_metadata_routing=True, что можно задать с помощью sklearn.set_config(enable_metadata_routing=True). Подробнее см. в руководстве пользователя по маршрутизации метаданных.

Возвращает:
selfobject

Возвращает экземпляр self.

get_metadata_routing()[исходный код]

Получает сведения о маршрутизации метаданных этого объекта.

Описание принципа работы механизма маршрутизации см. в руководстве пользователя.

Добавлено в версии 1.4.

Возвращает:
routingMetadataRouter

Объект MetadataRouter, содержащий сведения о маршрутизации.

get_params(deep=True)[исходный код]

Получает параметры этого оценщика.

Параметры:
deepbool, default=True

Если True, возвращает параметры этого оценщика и содержащихся в нём подобъектов, являющихся оценщиками.

Возвращает:
paramsdict

Имена параметров, сопоставленные с их значениями.

predict(X)[исходный код]

Выполняет предсказание с помощью линейной модели.

Параметры:
Xarray-like or sparse matrix of shape (n_samples, n_features)

Образцы.

Возвращает:
Cndarray of shape (n_samples,) or (n_samples, n_outputs)

Предсказанные значения.

score(X, y, sample_weight=None)[исходный код]

Возвращает коэффициент детерминации на тестовых данных.

Коэффициент детерминации \(R^2\) определяется как \((1 - \frac{u}{v})\), где \(u\) — сумма квадратов остатков ((y_true - y_pred)** 2).sum(), а \(v\) — общая сумма квадратов ((y_true - y_true.mean()) ** 2).sum(). Наилучшее возможное значение оценки равно 1.0, но оно может быть отрицательным (поскольку модель может быть сколь угодно хуже). Константная модель, всегда предсказывающая ожидаемое значение y без учёта входных признаков, получит оценку \(R^2\), равную 0.0.

Параметры:
Xarray-like of shape (n_samples, n_features)

Тестовые образцы. Для некоторых оценщиков это может быть предварительно вычисленная матрица ядра или список произвольных объектов с формой (n_samples, n_samples_fitted), где n_samples_fitted — число образцов, использованных при обучении оценщика.

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

Истинные значения для X.

sample_weightarray-like of shape (n_samples,), default=None

Веса образцов.

Возвращает:
scorefloat

Значение \(R^2\) для self.predict(X) относительно y.

Примечания

При вызове score для регрессора используется оценка \(R^2\), в которой начиная с версии 0.23 применяется multioutput='uniform_average' для согласования со значением по умолчанию функции r2_score. Это влияет на метод score всех регрессоров с несколькими выходами (за исключением MultiOutputRegressor).

set_fit_request() → LassoLarsCV[исходный код]

Ничего не делает.

Вызов этого метода не оказывает никакого влияния.

Возвращает:
selfobject

Обновлённый объект.

set_params(**params)[исходный код]

Задаёт параметры этого оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (например, Pipeline). Параметры последних имеют вид <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfestimator instance

Экземпляр оценщика.

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → LassoLarsCV[исходный код]

Настраивает, следует ли запрашивать передачу метаданных методу score.

Обратите внимание: этот метод актуален, только если данный оценщик используется как вложенный оценщик в составе метаоценщика и маршрутизация метаданных включена с помощью enable_metadata_routing=True (см. sklearn.set_config). Описание принципа работы механизма маршрутизации см. в руководстве пользователя.

Для каждого параметра доступны следующие варианты:

  • True: метаданные запрашиваются и передаются в score, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется.
  • False: метаданные не запрашиваются, и метаоценщик не будет передавать их в score.
  • None: метаданные не запрашиваются; если пользователь их предоставит, метаоценщик вызовет ошибку.
  • str: метаданные должны передаваться метаоценщику под указанным псевдонимом вместо исходного имени.

Значение по умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняет текущий запрос. Это позволяет изменить запрос для одних параметров, не затрагивая другие.

Добавлено в версии 1.3.

Параметры:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в score.

Возвращает:
selfobject

Обновлённый объект.

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

Выбор модели Lasso: AIC-BIC / перекрёстная проверка

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

Spec-Zone.ru

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