Spec-Zone.ru › scikit-learn

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 MetadataRequest encapsulating 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

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

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

Kernel PCA

Сравнение регрессии с ядром и регрессии Гаусса

Сравнение регрессии с ядром и SVR

© 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

Spec-Zone.ru

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