KernelRidge
- классsklearn.kernel_ridge.KernelRidge(alpha=1, *, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None)[source]
-
Регрессия с ядром риджа.
Регрессия с ядром риджа (KRR) объединяет регрессию риджа (линейные наименьшие квадраты с регуляризацией l2-нормы) с трюком ядра. Таким образом, она учится линейной функции в пространстве, индуцированном соответствующим ядром и данными. Для нелинейных ядер это соответствует нелинейной функции в исходном пространстве.
Форма модели, обученной KRR, идентична регрессии с опорными векторами (SVR). Однако используются различные функции потерь: KRR использует квадратичную ошибку, в то время как регрессия с опорными векторами использует ε-нечувствительную потерю, обе комбинированы с регуляризацией l2. В отличие от SVR, подгонка модели KRR может быть выполнена в замкнутой форме и обычно быстрее для средних наборов данных. С другой стороны, обученная модель не является разреженной и, следовательно, медленнее, чем SVR, которая обучается разреженной модели для ε > 0, во время прогнозирования.
Этот оценщик имеет встроенную поддержку для многомерной регрессии (т. е. когда y является двумерным массивом формы [n_samples, n_targets]).
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- alphafloat или array-like формы (n_targets,), по умолчанию=1.0
-
Сила регуляризации; должна быть положительным числом с плавающей точкой. Регуляризация улучшает обусловленность задачи и уменьшает дисперсию оценок. Более большие значения задают более сильную регуляризацию. Alpha соответствует
1 / (2C)в других линейных моделях, таких какLogisticRegressionилиLinearSVC. Если передается массив, предполагается, что штрафы специфичны для целей. Следовательно, они должны соответствовать по количеству. См. Регрессия и классификация риджа для формулы. - kernelстрока или вызываемый объект, по умолчанию=”linear”
-
Картирование ядра, используемое внутри. Этот параметр напрямую передается в
pairwise_kernels. Еслиkernelявляется строкой, она должна быть одним из метрик вpairwise.PAIRWISE_KERNEL_FUNCTIONSили “precomputed”. Еслиkernelравно “precomputed”, X предполагается в качестве матрицы ядер. В противном случае, еслиkernelявляется вызываемой функцией, она вызывается для каждой пары экземпляров (строк), и полученное значение записывается. Вызываемая функция должна принимать две строки из X в качестве входных данных и возвращать соответствующее значение ядра как одно число. Это означает, что вызываемые функции изsklearn.metrics.pairwiseне допускаются, так как они работают с матрицами, а не с отдельными образцами. Используйте строку, определяющую ядро. - gammafloat, по умолчанию=None
-
Параметр gamma для ядер RBF, лапласиан, полиномиальных, экспоненциальных chi2 и сигмоидальных. Интерпретация значения по умолчанию оставляется ядру; см. документацию по sklearn.metrics.pairwise.
- degreefloat, по умолчанию=3
-
Степень полиномиального ядра. Игнорируется другими ядрами.
- coef0float, по умолчанию=1
-
Нулевой коэффициент для полиномиальных и сигмоидальных ядер. Игнорируется другими ядрами.
- kernel_paramsdict, по умолчанию=None
-
Дополнительные параметры (ключевые аргументы) для функции ядра, переданной как вызываемый объект.
- Атрибуты:
-
- dual_coef_ndarray формы (n_samples,) или (n_samples, n_targets)
-
Представление вектора(ов) весов в пространстве ядра
- X_fit_{ndarray, sparse matrix} формы (n_samples, n_features)
-
Данные обучения, которые также необходимы для прогнозирования. Если kernel == “precomputed”, это вместо этого превычисленные тренировочная матрица, формы (n_samples, n_samples).
- n_features_in_int
-
Количество признаков, увиденных во время fit.
Добавлен в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Названия признаков, увиденные во время fit. Определено только когда
Xимеет имена признаков, которые все являются строками.Добавлен в версии 1.0.
См. также
sklearn.gaussian_process.GaussianProcessRegressor-
Регрессор Гауссовского процесса, обеспечивающий автоматическую настройку гиперпараметров ядра и неопределенность прогнозов.
sklearn.linear_model.Ridge-
Линейная регрессия риджа.
sklearn.linear_model.RidgeCV-
Регрессия риджа со встроенной перекрестной проверкой.
sklearn.svm.SVR-
Регрессия с опорными векторами, принимающая различные типы ядер.
Ссылки
- Кевин П. Мерфи «Машинное обучение: вероятностная перспектива», Издательство 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)[source]
-
Обучение модели регрессии с ядром риджа.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Обучающие данные. Если kernel == “precomputed”, это вместо этого превычисленная матрица ядер, формы (n_samples, n_samples).
- yarray-like формы (n_samples,) или (n_samples, n_targets)
-
Значения целевой переменной.
- sample_weightfloat или array-like формы (n_samples,), по умолчанию=None
-
Индивидуальные веса для каждого образца, игнорируются, если передается None.
- Возвращает:
-
- selfобъект
-
Возвращает сам экземпляр.
- get_metadata_routing()[source]
-
Получение маршрутизации метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
-
- routingMetadataRequest
-
A
MetadataRequestencapsulating routing information.
- get_params(deep=True)[source]
-
Получение параметров этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценщика и содержащихся вложенных подобъектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- predict(X)[source]
-
Предсказание с помощью модели ядровой регрессии.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Примеры. Если kernel == “precomputed”, это предварительно вычисленная матрица ядер, форма = [n_samples, n_samples_fitted], где n_samples_fitted — количество примеров, используемых при обучении данного оценщика.
- Возвращает:
-
- Cмассив формы (n_samples,) или (n_samples, n_targets)
-
Возвращает предсказанные значения.
- 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
-
Веса выборки.
- Возвращает:
-
- 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[source]
-
Запрос метаданных, переданных методу
fit.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя для ознакомления с механизмом маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаютсяfitпри предоставлении. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-оценщик не передаст ихfit. -
None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь их предоставит. -
str: метаданные должны передаваться мета-оценщику с заданным псевдонимом вместо оригинального названия.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED): сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для других.Добавлен в версии 1.3.
Примечание
Этот метод актуален только в случае использования этого оценщика в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не имеет эффекта.- Параметры:
-
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвfit.
- Возвращает:
-
- selfобъект
-
Обновленный объект.
-
- set_params(**params)[source]
-
Устанавливает параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (например, с
Pipeline). Последние имеют параметры вида<component>__<parameter>, чтобы можно было обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') KernelRidge[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
-
Обновленный объект.
-
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.kernel_ridge.KernelRidge.html