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)[source]
-
Перекрёстно-валидируемый Lasso, использующий алгоритм LARS.
См. запись в глоссарии для оценщика перекрёстной проверки.
Целевая функция оптимизации для Lasso:
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- fit_interceptbool, default=True
-
Вычислять ли свободный член для этой модели. Если установлено в false, свободный член не будет использоваться в вычислениях (т.е. ожидается, что данные будут центрированы).
- verbosebool или int, по умолчанию=False
-
Устанавливает уровень подробности.
- max_iterint, default=500
-
Максимальное количество итераций.
- precomputebool или ‘auto’ , default=’auto’
-
Использовать ли предварительно вычисленную матрицу Грама для ускорения вычислений. Если установлено в
'auto'позвольте нам решить. Матрица Грама не может быть передана в качестве аргумента, так как мы будем использовать только подмножества X. - cvint, генератор перекрёстной проверки или итерируемый объект, по умолчанию=None
-
Определяет стратегию разделения для перекрёстной проверки. Возможные входные данные для cv:
- None, чтобы использовать стандартную 5-кратную перекрёстную проверку,
- целое число, чтобы указать количество фолдов.
- разделитель CV,
- Итерируемый объект, возвращающий (train, test) разделения в виде массивов индексов.
Для целочисленных/None входных данных,
KFoldиспользуется.См. Руководство пользователя для различных стратегий перекрёстной проверки, которые могут быть здесь использованы.
Изменено в версии 0.22:
cvзначение по умолчанию, если None, изменено с 3-кратной на 5-кратную перекрёстную проверку. - max_n_alphasint, default=1000
-
Максимальное количество точек на пути, используемых для вычисления остатков в перекрёстной проверке.
- n_jobsint или 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_массив-подобный формы (n_features,)
-
вектор параметров (w в формулировке)
- intercept_float
-
свободный член в функции принятия решения.
- coef_path_массив-подобный формы (n_features, n_alphas)
-
меняющиеся значения коэффициентов вдоль пути
- alpha_float
-
оценённый параметр регуляризации alpha
- alphas_массив-подобный формы (n_alphas,)
-
различные значения alpha вдоль пути
- cv_alphas_массив-подобный формы (n_cv_alphas,)
-
все значения alpha вдоль пути для различных фолдов
- mse_path_массив-подобный формы (n_folds, n_cv_alphas)
-
средняя квадратичная ошибка на оставленных извне для каждого фолда вдоль пути (значения alpha заданы
cv_alphas) - n_iter_массив-подобный или int
-
количество итераций, выполненных Lars с оптимальным alpha.
- active_список int
-
Индексы активных переменных в конце пути.
- n_features_in_int
-
Количество признаков, увиденных во время fit.
Добавлен в версии 0.24.
-
feature_names_in_массив формы (
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)[source]
-
Обучение модели с использованием X, y в качестве обучающих данных.
- Параметры:
-
- Xмассив-подобный объект формы (n_samples, n_features)
-
Обучающие данные.
- yмассив-подобный объект формы (n_samples,)
-
Целевые значения.
- **paramsсловарь, по умолчанию None
-
Параметры, которые необходимо передать разделителю CV.
Добавлена в версии 1.4: Доступно только если
enable_metadata_routing=True, которое можно установить с помощьюsklearn.set_config(enable_metadata_routing=True). Более подробную информацию см. в Руководстве пользователя по маршрутизации метаданных.
- Возвращаемое значение:
-
- selfобъект
-
Возвращает экземпляр self.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством пользователя по принципу работы механизма маршрутизации.
Добавлена в версии 1.4.
- Возвращаемое значение:
-
- routingMetadataRouter
-
Объект
MetadataRouter, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценивателя.
- Параметры:
-
- deepbool, по умолчанию True
-
Если True, вернет параметры этого оценивателя и содержащихся в нем подобъектов, являющихся оценивателями.
- Возвращаемое значение:
-
- paramsсловарь
-
Имена параметров, сопоставленные с их значениями.
- predict(X)[source]
-
Предсказание с использованием линейной модели.
- Параметры:
-
- Xмассив-подобный объект или разреженная матрица, форма (n_samples, n_features)
-
Примеры.
- Возвращаемое значение:
-
- Cмассив, форма (n_samples,)
-
Возвращает предсказанные значения.
- score(X, y, sample_weight=None)[source]
-
Возвращает коэффициент детерминации предсказания.
Коэффициент детерминации \(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.- Параметры:
-
- Xмассив-подобный объект формы (n_samples, n_features)
-
Тестовые образцы. Для некоторых оценивателей это может быть предварительно вычисленная матрица ядра или список универсальных объектов вместо с формой
(n_samples, n_samples_fitted), гдеn_samples_fitted— количество образцов, используемых в подгонке для оценивателя. - yмассив-подобный объект формы (n_samples,) или (n_samples, n_outputs)
-
Истинные значения для
X. - sample_weightмассив-подобный объект формы (n_samples,), по умолчанию None
-
Веса образцов.
- Возвращаемое значение:
-
- scoreчисло с плавающей запятой
-
\(R^2\) значения
self.predict(X)по отношению кy.
Примечания
Значение \(R^2\), используемое при вызове
scoreна регрессоре, используетmultioutput='uniform_average'с версии 0.23 для сохранения согласованности с значением по умолчаниюr2_score. Это влияет на методscoreвсех регрессоров с несколькими выходами (кромеMultiOutputRegressor).
- set_fit_request(*, Xy:bool|None|str='$UNCHANGED$') LassoLarsCV[source]
-
Запрос метаданных, передаваемых методу
fit.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя для понимания механизма маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаютсяfitпри наличии. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-оценщик не передаст ихfit. -
None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь предоставит их. -
str: метаданные должны быть переданы мета-оценщику с этим псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED): сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для всех.Добавлен в версии 1.3.
Примечание
Этот метод актуален только если данный оценщик используется в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает влияния.- Параметры:
-
- Xystr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
Xyвfit.
- Возвращаемое значение:
-
- selfobject
-
Обновлённый объект.
-
- set_params(**params)[source]
-
Устанавливает параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращаемое значение:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') LassoLarsCV[source]
-
Запрос метаданных, передаваемых методу
score.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя для понимания механизма маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаютсяscoreпри наличии. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-оценщик не передаст ихscore. -
None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь предоставит их. -
str: метаданные должны быть переданы мета-оценщику с этим псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED): сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для всех.Добавлен в версии 1.3.
Примечание
Этот метод актуален только если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает влияния.- Параметры:
-
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвscore.
- Возвращаемое значение:
-
- selfobject
-
Обновлённый объект.
-
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.linear_model.LassoLarsCV.html