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))[исходный код]

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

Ядро RationalQuadratic можно рассматривать как масштабную смесь (бесконечную сумму) ядер RBF с различными характерными масштабами длины. Оно параметризуется параметром масштаба длины \(l>0\) и параметром масштабной смеси \(\alpha>0\). В настоящее время поддерживается только изотропный вариант, в котором масштаб длины length_scale \(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). «Справочник по ядрам: рекомендации по ковариационным функциям».

Примеры

>>> 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)[исходный код]

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

Параметры:
Xndarray формы (n_samples_X, n_features)

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

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

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

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

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

Возвращает:
Kndarray формы (n_samples_X, n_samples_Y)

Ядро k(X, Y).

K_gradientndarray формы (n_samples_X, n_samples_X, n_dims)

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

propertybounds

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

Возвращает:
boundsndarray формы (n_dims, 2)

Границы гиперпараметров theta ядра в логарифмическом масштабе.

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

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

Параметры:
thetandarray формы (n_dims,)

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

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

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

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

Параметры:
Xndarray формы (n_samples_X, n_features)

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

Возвращает:
K_diagndarray формы (n_samples_X,)

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

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

Возвращает параметры этого ядра.

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

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

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

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

propertyhyperparameters

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

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

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

propertyn_dims

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

propertyrequires_vector_input

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

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

Задаёт параметры этого ядра.

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

Возвращает:
self
propertytheta

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

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

Возвращает:
thetandarray формы (n_dims,)

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

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

Прогнозирование уровня CO2 на наборе данных Мауна-Лоа с помощью регрессии на основе гауссовских процессов (GPR)

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

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

Spec-Zone.ru

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