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’ нельзя изменить во время настройки гиперпараметров.
Литература
Примеры
>>> 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,)
-
Незакреплённые гиперпараметры ядра в логарифмическом масштабе.
Примеры из галереи
© 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