Spec-Zone.ru › scikit-learn

RationalQuadratic

classsklearn.gaussian_process.kernels.RationalQuadratic(length_scale=1.0, alpha=1.0, length_scale_bounds=(1e-05, 100000.0), alpha_bounds=(1e-05, 100000.0))[source]

Рациональное квадратичное ядро.

Рациональное квадратичное ядро можно рассматривать как смешанное масштабирование (бесконечная сумма) ядер RBF с различными характерными масштабами длин. Оно параметризуется параметром масштаба длины \(l>0\) и параметром смешивания масштабов \(\alpha>0\). В настоящее время поддерживается только изотропная версия, где длина_масштаба \(l\) является скаляром. Ядро определяется следующим образом:

\[k(x_i, x_j) = \left( 1 + \frac{d(x_i, x_j)^2 }{ 2\alpha l^2}\right)^{-\alpha}\]

где \(\alpha\) — параметр смешивания масштабов, \(l\) — масштаб длины ядра и \(d(\cdot,\cdot)\) — евклидово расстояние. Советы по настройке параметров см., например, в [1].

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

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

Параметры:
length_scalefloat > 0, по умолчанию=1.0

Масштаб длины ядра.

alphafloat > 0, по умолчанию=1.0

Параметр смешивания масштабов

length_scale_boundsпара из чисел >= 0 или “fixed”, по умолчанию=(1e-5, 1e5)

Нижняя и верхняя границы для ‘length_scale’. Если установлено “fixed”, ‘length_scale’ нельзя изменить во время настройки гиперпараметров.

alpha_boundsпара из чисел >= 0 или “fixed”, по умолчанию=(1e-5, 1e5)

Нижняя и верхняя границы для ‘alpha’. Если установлено “fixed”, ‘alpha’ нельзя изменить во время настройки гиперпараметров.

Ссылки

[1]

David Duvenaud (2014). «The Kernel Cookbook: Advice on Covariance functions».

Примеры

>>> from sklearn.datasets import load_iris
>>> from sklearn.gaussian_process import GaussianProcessClassifier
>>> from sklearn.gaussian_process.kernels import RationalQuadratic
>>> X, y = load_iris(return_X_y=True)
>>> kernel = RationalQuadratic(length_scale=1.0, alpha=1.5)
>>> gpc = GaussianProcessClassifier(kernel=kernel,
...         random_state=0).fit(X, y)
>>> gpc.score(X, y)
0.9733...
>>> gpc.predict_proba(X[:2,:])
array([[0.8881..., 0.0566..., 0.05518...],
        [0.8678..., 0.0707... , 0.0614...]])
__call__(X, Y=None, eval_gradient=False)[source]

Возвращает ядро k(X, Y) и, при необходимости, его градиент.

Параметры:
Xмассив ndarray формы (n_samples_X, n_features)

Левое аргумент возвращаемого ядра k(X, Y)

Yмассив ndarray формы (n_samples_Y, n_features), по умолчанию=None

Правый аргумент возвращаемого ядра k(X, Y). Если None, вместо этого вычисляется k(X, X).

eval_gradientbool, по умолчанию=False

Определяет, вычисляется ли градиент по отношению к логарифму гиперпараметра ядра. Поддерживается только когда Y равно None.

Возвращает:
Kмассив ndarray формы (n_samples_X, n_samples_Y)

Ядро k(X, Y)

K_gradientмассив ndarray формы (n_samples_X, n_samples_X, n_dims)

Градиент ядра k(X, X) относительно логарифма гиперпараметра ядра. Возвращается только когда eval_gradient равен True.

свойствоbounds

Возвращает преобразованные в логарифмическую форму границы для theta.

Возвращает:
boundsмассив ndarray формы (n_dims, 2)

Преобразованные в логарифмическую форму границы для гиперпараметров ядра theta

clone_with_theta(theta)[source]

Возвращает клонированную копию self с заданными гиперпараметрами theta.

Параметры:
thetaмассив ndarray формы (n_dims,)

Гиперпараметры

diag(X)[source]

Возвращает диагональ ядра k(X, X).

Результат этого метода идентичен np.diag(self(X)); однако, он может быть вычислен более эффективно, поскольку вычисляется только диагональ.

Параметры:
Xмассив ndarray формы (n_samples_X, n_features)

Левый аргумент возвращаемого ядра k(X, Y)

Возвращает:
K_diagмассив ndarray формы (n_samples_X,)

Диагональ ядра k(X, X)

get_params(deep=True)[source]

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

Параметры:
deepbool, по умолчанию=True

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

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

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

свойствоhyperparameters

Возвращает список всех спецификаций гиперпараметров.

is_stationary()[source]

Возвращает, является ли ядро стационарным.

свойствоn_dims

Возвращает количество нефиксированных гиперпараметров ядра.

свойствоrequires_vector_input

Возвращает, определено ли ядро на векторах фиксированной длины или общих объектах. По умолчанию True для обратной совместимости.

set_params(**params)[source]

Установка параметров этого ядра.

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

Возвращает:
self
свойствоtheta

Возвращает (уплощенные, логарифмически преобразованные) нефиксированные гиперпараметры.

Обратите внимание, что theta обычно представляют собой логарифмически преобразованные значения гиперпараметров ядра, так как эта форма представления пространства поиска более удобна для поиска гиперпараметров, поскольку такие гиперпараметры, как масштабы, естественно находятся на логарифмической шкале.

Возвращает:
thetaмассив ndarray формы (n_dims,)

Нефиксированные, логарифмически преобразованные гиперпараметры ядра

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

Прогнозирование уровня CO2 на наборе данных Mona Loa с помощью регрессии Гауссова процесса (GPR)

Иллюстрация предшествующего и последующего распределения Гауссова процесса для различных ядер

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.gaussian_process.kernels.RationalQuadratic.html

Spec-Zone.ru

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