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
-
Обновлённый объект.
-
Примеры из галереи
© 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