Spec-Zone.ru › scikit-learn

KernelRidge

classsklearn.kernel_ridge.KernelRidge(alpha=1, *, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None)[исходный код]

Регрессия гребня с использованием ядра.

Регрессия гребня с использованием ядра (KRR) объединяет гребневую регрессию (линейный метод наименьших квадратов с регуляризацией по норме l2) с ядерным трюком. Таким образом, она обучает линейную функцию в пространстве, заданном соответствующим ядром и данными. Для нелинейных ядер это соответствует нелинейной функции в исходном пространстве.

Форма модели, обученной методом KRR, идентична форме модели регрессии на опорных векторах (SVR). Однако используются разные функции потерь: KRR использует квадратичную функцию потерь, а регрессия на опорных векторах — функцию потерь, нечувствительную к эпсилон; обе сочетаются с регуляризацией l2. В отличие от SVR, модель KRR можно обучить в замкнутой форме, и обычно это быстрее на наборах данных среднего размера. С другой стороны, обученная модель не является разреженной и поэтому при предсказании работает медленнее, чем SVR, которая при epsilon > 0 обучает разреженную модель.

Этот оцениватель имеет встроенную поддержку многомерной регрессии (то есть когда y — это двумерный массив формы [n_samples, n_targets]).

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

Параметры:
alphafloat or array-like of shape (n_targets,), default=1.0

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

kernelstr or callable, default=”linear”

Отображение с помощью ядра, используемое внутри алгоритма. Этот параметр напрямую передается в pairwise_kernels. Если kernel — строка, она должна соответствовать одной из метрик в pairwise.PAIRWISE_KERNEL_FUNCTIONS или значению “precomputed”. Если kernel имеет значение “precomputed”, предполагается, что X является матрицей ядра. В качестве альтернативы, если kernel — вызываемая функция, она вызывается для каждой пары экземпляров (строк), а полученное значение записывается. Вызываемая функция должна принимать на вход две строки из X и возвращать соответствующее значение ядра в виде одного числа. Это означает, что функции из sklearn.metrics.pairwise использовать нельзя, поскольку они работают с матрицами, а не с отдельными образцами. Вместо этого используйте строковое обозначение ядра.

gammafloat, default=None

Параметр гамма для ядер RBF, Лапласа, полиномиального, экспоненциального хи-квадрат и сигмоидального. Интерпретация значения по умолчанию определяется ядром; см. документацию sklearn.metrics.pairwise. Для других ядер не используется.

degreefloat, default=3

Степень полиномиального ядра. Для других ядер не используется.

coef0float, default=1

Свободный член для полиномиального и сигмоидального ядер. Для других ядер не используется.

kernel_paramsdict, default=None

Дополнительные параметры (именованные аргументы) функции ядра, передаваемой в виде вызываемого объекта.

Атрибуты:
dual_coef_ndarray of shape (n_samples,) or (n_samples, n_targets)

Представление вектора (векторов) весов в пространстве ядра.

X_fit_{ndarray, sparse matrix} of shape (n_samples, n_features)

Обучающие данные, также необходимые для предсказания. Если kernel == “precomputed”, вместо этого здесь хранится предварительно вычисленная обучающая матрица формы (n_samples, n_samples).

n_features_in_int

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

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

feature_names_in_ndarray of shape (n_features_in_,)

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

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

См. также

sklearn.gaussian_process.GaussianProcessRegressor

Регрессор на основе гауссовского процесса с автоматической настройкой гиперпараметров ядра и оценкой неопределенности предсказаний.

sklearn.linear_model.Ridge

Линейная гребневая регрессия.

sklearn.linear_model.RidgeCV

Гребневая регрессия со встроенной перекрестной проверкой.

sklearn.svm.SVR

Регрессия на опорных векторах с поддержкой широкого набора ядер.

Литература

  • Kevin P. Murphy “Machine Learning: A Probabilistic Perspective”, The MIT Press, глава 14.4.3, стр. 492–493

Примеры

>>> from sklearn.kernel_ridge import KernelRidge
>>> 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)
>>> krr = KernelRidge(alpha=1.0)
>>> krr.fit(X, y)
KernelRidge(alpha=1.0)
fit(X, y, sample_weight=None)[исходный код]

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

Параметры:
X{array-like, sparse matrix} of shape (n_samples, n_features)

Обучающие данные. Если kernel == “precomputed”, вместо этого передается предварительно вычисленная матрица ядра формы (n_samples, n_samples).

yarray-like of shape (n_samples,) or (n_samples, n_targets)

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

sample_weightfloat or array-like of shape (n_samples,), default=None

Индивидуальные веса каждого образца; игнорируются, если передано None.

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

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

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

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

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

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

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

get_params(deep=True)[исходный код]

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

Параметры:
deepbool, default=True

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

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

Имена параметров и соответствующие им значения.

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

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

Параметры:
X{array-like, sparse matrix} of shape (n_samples, n_features)

Образцы. Если kernel == “precomputed”, вместо этого передается предварительно вычисленная матрица ядра формы [n_samples, n_samples_fitted], где n_samples_fitted — количество образцов, использованных при обучении этого оценивателя.

Возвращает:
Cndarray of shape (n_samples,) or (n_samples, n_targets)

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

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.

Примечания

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

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

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

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

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

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

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

Задать параметры этого оценивателя.

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

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

Параметры оценивателя.

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

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

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

Настроить, следует ли запрашивать передачу метаданных методу 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

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

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

PCA с ядром

Сравнение гребневой регрессии с использованием ядра и регрессии на основе гауссовского процесса

Сравнение гребневой регрессии с использованием ядра и SVR

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.kernel_ridge.KernelRidge.html

Spec-Zone.ru

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