Spec-Zone.ru › scikit-learn

LassoLarsIC

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

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

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

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

AIC — это информационный критерий Акаике [2], а BIC — байесовский информационный критерий [3]. Эти критерии полезны для выбора значения параметра регуляризации, поскольку позволяют найти компромисс между качеством подгонки и сложностью модели. Хорошая модель должна хорошо объяснять данные и при этом быть простой.

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

Параметры:
criterion{‘aic’, ‘bic’}, default=’aic’

Тип используемого критерия.

fit_interceptbool, default=True

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

verbosebool or int, default=False

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

precomputebool, ‘auto’ or array-like, default=’auto’

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

max_iterint, default=500

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

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 на основе покоординатного спуска. Поэтому использование LassoLarsIC имеет смысл только для задач, в которых ожидается и/или достигается разреженное решение.

noise_variancefloat, default=None

Оцененная дисперсия шума данных. Если None, несмещенная оценка вычисляется с помощью модели OLS. Однако это возможно только в том случае, если n_samples > n_features + fit_intercept.

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

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

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

intercept_float

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

alpha_float

параметр alpha, выбранный информационным критерием

alphas_array-like of shape (n_alphas + 1,) or list of such arrays

Максимум ковариаций (по абсолютному значению) на каждой итерации. n_alphas — это либо max_iter, либо n_features, либо число узлов на траектории с alpha >= alpha_min — в зависимости от того, что меньше. Если это список, его длина будет равна n_targets.

n_iter_int

число итераций, выполненных lars_path для поиска сетки значений alpha.

criterion_array-like of shape (n_alphas,)

Значения информационных критериев (‘aic’, ‘bic’) для всех значений alpha. Выбирается alpha с наименьшим значением информационного критерия, как указано в [1].

noise_variance_float

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

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

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.

LassoLarsCV

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

sklearn.decomposition.sparse_encode

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

Примечания

Число степеней свободы вычисляется так же, как в [1].

Подробнее о математической формулировке критериев AIC и BIC см. в Руководстве пользователя.

Литература

[1] (1,2)

Zou, Hui, Trevor Hastie и Robert Tibshirani. «О степенях свободы Lasso». The Annals of Statistics 35.5 (2007): 2173–2192.

[2]

Статья в Википедии об информационном критерии Акаике

[3]

Статья в Википедии о байесовском информационном критерии

Примеры

>>> from sklearn import linear_model
>>> reg = linear_model.LassoLarsIC(criterion='bic')
>>> X = [[-2, 2], [-1, 1], [0, 0], [1, 1], [2, 2]]
>>> y = [-2.2222, -1.1111, 0, -1.1111, -2.2222]
>>> reg.fit(X, y)
LassoLarsIC(criterion='bic')
>>> print(reg.coef_)
[ 0.  -1.11]

Подробный пример использования этого класса см. в разделе Выбор модели Lasso с помощью информационных критериев.

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

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

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

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

yarray-like of shape (n_samples,)

Целевые значения. При необходимости тип данных будет приведен к типу X.

copy_Xbool, default=None

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

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

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

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

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

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

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

MetadataRequest, содержащий сведения о маршрутизации.

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(*, copy_X:bool|None|str='$UNCHANGED$') → LassoLarsIC[исходный код]

Настройка запроса на передачу метаданных методу fit.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройка запроса на передачу метаданных методу 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 с помощью информационных критериев

Выбор модели 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.LassoLarsIC.html

Spec-Zone.ru

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