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
-
Обновленный объект.
-
Примеры из галереи
© 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