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)[source]

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

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

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

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

Дополнительную информацию можно найти в Руководстве пользователя.

Параметры:
criterion{‘aic’, ‘bic’}, по умолчанию=’aic’

Тип критерия для использования.

fit_interceptbool, по умолчанию=True

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

verbosebool или int, по умолчанию=False

Устанавливает уровень подробности.

precomputebool, ‘auto’ или массив, по умолчанию=’auto’

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

max_iterint, по умолчанию=500

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

epsfloat, по умолчанию=np.finfo(float).eps

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

copy_Xbool, по умолчанию=True

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

positivebool, по умолчанию=False

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

noise_variancefloat, по умолчанию=None

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

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

Атрибуты:
coef_массив-подобный размерностью (n_features,)

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

intercept_float

независимый член в функции решения.

alpha_float

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

alphas_массив-подобный размерностью (n_alphas + 1,) или список таких массивов

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

n_iter_int

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

criterion_массив-подобный размерностью (n_alphas,)

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

noise_variance_float

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

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

n_features_in_int

Число признаков, увиденных во время fit.

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

feature_names_in_массив размерностью (n_features_in_,)

Имена признаков, увиденные во время fit. Определены только тогда, когда X имеет имена признаков, все из которых являются строками.

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

См. также

lars_path

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

lasso_path

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

Lasso

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

LassoCV

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

LassoLars

Модель Лассо, обученная с помощью регрессии наименьших углов (Lars).

LassoLarsCV

Перекрёстная проверка Лассо, используя алгоритм LARS.

sklearn.decomposition.sparse_encode

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

Примечания

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

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

Ссылки

[1] (1,2)

Zou, Hui, Trevor Hastie, and Robert Tibshirani. “On the degrees of freedom of the 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...]
fit(X, y, copy_X=None)[source]

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

Параметры:
Xмассив-подобный размерностью (n_samples, n_features)

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

yмассив-подобный размерностью (n_samples,)

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

copy_Xbool, по умолчанию=None

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

Возвращает:
selfобъект

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

get_metadata_routing()[source]

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

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

Возвращает:
маршрутизацияMetadataRequest

Объект MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

Параметры:
deepbool, по умолчанию=True

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

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

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

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

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

Возвращает:
оценкаfloat

\(R^2\) значения self.predict(X) по отношению к y.

Примечания

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

set_fit_request(*, copy_X:bool|None|str='$UNCHANGED$') → LassoLarsIC[source]

Запрос метаданных, передаваемых методу fit.

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

Варианты для каждого параметра:

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

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

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

Примечание

Этот метод актуален только если этот оценщик используется как под-оценщик мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
copy_Xстрока, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

Возвращает:
selfобъект

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

set_params(**params)[source]

Установить параметры этого оценщика.

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

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

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

Возвращает:
selfэкземпляр оценщика

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → LassoLarsIC[source]

Запрос метаданных, передаваемых методу score.

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

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

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

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

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

Примечание

Этот метод актуален только если этот эстиматор используется в качестве под-эстиматора мета-эстиматора, например, внутри Pipeline. В противном случае он не оказывает влияния.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

Returns:
selfobject

Объект с обновлёнными настройками.

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

Выбор модели Lasso с помощью критериев информации

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

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

Spec-Zone.ru

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