Ridge#

класс sklearn.linear_model.Ridge(alpha=1.0, *, fit_intercept=True, copy_X=True, max_iter=None, tol=0.0001, solver='auto', положительный=False, random_state=None)[источник]#

Линейные наименьшие квадраты с L2-регуляризацией.

Минимизирует целевую функцию:

||y - Xw||^2_2 + alpha * ||w||^2_2

Эта модель решает регрессионную модель, где функция потерь - линейная функция наименьших квадратов, а регуляризация задается l2-нормой. Также известна как гребневая регрессия или регуляризация Тихонова. Этот оценщик имеет встроенную поддержку многомерной регрессии (т.е., когда y - 2d-массив формы (n_samples, n_targets)).

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

Параметры:
alpha{float, ndarray формы (n_targets,)}, по умолчанию=1.0

Константа, умножающая член L2, контролирующая силу регуляризации. alpha должно быть неотрицательным числом с плавающей точкой, т.е. в [0, inf).

Когда alpha = 0, цель эквивалентна обычному методу наименьших квадратов, решаемому с помощью LinearRegression объект. По численным причинам, использование alpha = 0 с Ridge объекта не рекомендуется. Вместо этого следует использовать LinearRegression объект.

Если передан массив, штрафы предполагаются специфичными для целей. Следовательно, они должны соответствовать по количеству.

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

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

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

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

max_iterint, default=None

Максимальное количество итераций для решателя сопряженных градиентов. Для решателей 'sparse_cg' и 'lsqr' значение по умолчанию определяется scipy.sparse.linalg. Для решателя 'sag' значение по умолчанию равно 1000. Для решателя 'lbfgs' значение по умолчанию равно 15000.

tolfloat, по умолчанию=1e-4

Точность решения (coef_) определяется tol , который задает разные критерии сходимости для каждого решателя:

  • 'svd': tol не оказывает влияния.

  • ‘cholesky’: tol не оказывает влияния.

  • ‘sparse_cg’: норма остатков меньше, чем tol.

  • 'lsqr': tol устанавливается как atol и btol scipy.sparse.linalg.lsqr, которые контролируют норму вектора остатков в терминах норм матрицы и коэффициентов.

  • ‘sag’ и ‘saga’: относительное изменение коэффициента меньше, чем tol.

  • ‘lbfgs’: максимум абсолютного (спроецированного) градиента=max|остатки| меньше, чем tol.

Изменено в версии 1.2: Значение по умолчанию изменено с 1e-3 на 1e-4 для согласованности с другими линейными моделями.

solver{‘auto’, ‘svd’, ‘cholesky’, ‘lsqr’, ‘sparse_cg’, ‘sag’, ‘saga’, ‘lbfgs’}, по умолчанию=’auto’

Решатель для использования в вычислительных процедурах:

  • 'auto' автоматически выбирает решатель на основе типа данных.

  • ‘svd’ использует сингулярное разложение X для вычисления коэффициентов Ridge. Это наиболее стабильный решатель, в частности более стабильный для сингулярных матриц, чем ‘cholesky’, за счёт более медленной работы.

  • ‘cholesky’ использует стандартный scipy.linalg.solve функции для получения аналитического решения.

  • ‘sparse_cg’ использует решатель сопряженных градиентов, как в scipy.sparse.linalg.cg. Как итеративный алгоритм, этот решатель более подходит, чем 'cholesky', для данных большого масштаба (возможность установить tol и max_iter).

  • ‘lsqr’ использует специализированную процедуру регуляризованных наименьших квадратов scipy.sparse.linalg.lsqr. Это самый быстрый метод, использующий итеративную процедуру.

  • 'sag' использует стохастический средний градиентный спуск, а 'saga' использует его улучшенную, несмещённую версию под названием SAGA. Оба метода также используют итерационную процедуру и часто быстрее других решателей, когда и n_samples, и n_features велики. Обратите внимание, что быстрая сходимость 'sag' и 'saga' гарантируется только для признаков с примерно одинаковым масштабом. Вы можете предварительно обработать данные с помощью масштабатора из sklearn.preprocessing.

  • ‘lbfgs’ использует алгоритм L-BFGS-B, реализованный в scipy.optimize.minimize. Может использоваться только когда positive равно True.

Все решатели, кроме 'svd', поддерживают как плотные, так и разреженные данные. Однако только 'lsqr', 'sag', 'sparse_cg' и 'lbfgs' поддерживают разреженный ввод, когда fit_intercept равно True.

Добавлено в версии 0.17: Решатель стохастического среднего градиентного спуска.

Добавлено в версии 0.19: SAGA solver.

положительныйbool, по умолчанию=False

При установке значения True, заставляет коэффициенты быть положительными. Только решатель 'lbfgs' поддерживается в этом случае.

random_stateint, экземпляр RandomState, по умолчанию=None

Используется, когда solver == 'sag' или 'saga' для перемешивания данных. См. Глоссарий подробности.

Добавлено в версии 0.17: random_state для поддержки Stochastic Average Gradient.

Атрибуты:
coef_ndarray формы (n_features,) или (n_targets, n_features)

Вектор(ы) весов.

intercept_float или ndarray формы (n_targets,)

Независимый член в функции решения. Установлен в 0.0, если fit_intercept = False.

n_iter_None или ndarray формы (n_targets,)

Фактическое количество итераций для каждой цели. Доступно только для решателей 'sag' и 'lsqr'. Другие решатели вернут None.

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

solver_str

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

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

Смотрите также

RidgeClassifier

Классификатор Ridge.

RidgeCV

Ридж-регрессия со встроенной кросс-валидацией.

KernelRidge

Ядерная гребневая регрессия сочетает гребневую регрессию с ядерным трюком.

Примечания

Регуляризация улучшает обусловленность задачи и уменьшает дисперсию оценок. Большие значения указывают на более сильную регуляризацию. Alpha соответствует 1 / (2C) в других линейных моделях, таких как LogisticRegression или LinearSVC.

Примеры

>>> from sklearn.linear_model import Ridge
>>> import numpy as np
>>> n_samples, n_features = 10, 5
>>> rng = np.random.RandomState(0)
>>> y = rng.randn(n_samples)
>>> X = rng.randn(n_samples, n_features)
>>> clf = Ridge(alpha=1.0)
>>> clf.fit(X, y)
Ridge()
fit(X, y, sample_weight=None)[источник]#

Обучить модель регрессии Ridge.

Параметры:
X{ndarray, разреженная матрица} формы (n_samples, n_features)

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

yndarray формы (n_samples,) или (n_samples, n_targets)

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

sample_weightfloat или ndarray формы (n_samples,), по умолчанию=None

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

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

Обученный оценщик.

6332()[источник]#

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

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

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

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

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

Параметры:
глубокийbool, по умолчанию=True

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

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

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

predict(X)[источник]#

Прогнозирование с использованием линейной модели.

Параметры:
Xмассивоподобный или разреженная матрица, форма (n_samples, n_features)

Образцы.

Возвращает:
Cмассив, формы (n_samples,)

Возвращает предсказанные значения.

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 формы (n_samples, n_features)

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

yarray-like формы (n_samples,) или (n_samples, n_outputs)

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

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса выборок.

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

\(R^2\) of self.predict(X) относительно y.

Примечания

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

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') Ridge[источник]#

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

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

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

  • True: запрашиваются метаданные и передаются fit если предоставлено. Запрос игнорируется, если метаданные не предоставлены.

  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в fit.

  • None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.

  • str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.

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

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

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

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

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

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

set_params(**params)[источник]#

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

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

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

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

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

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

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') Ridge[источник]#

Настроить, следует ли запрашивать передачу метаданных в 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 или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

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

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