ExpSineSquared
- classsklearn.gaussian_process.kernels.ExpSineSquared(length_scale=1.0, periodicity=1.0, length_scale_bounds=(1e-05, 100000.0), periodicity_bounds=(1e-05, 100000.0))[исходный код]
-
Ядро Exp-Sine-Squared (также известное как периодическое ядро).
Ядро ExpSineSquared позволяет моделировать функции, которые точно повторяются. Оно параметризуется параметром масштаба длины \(l>0\) и параметром периодичности \(p>0\). На данный момент поддерживается только изотропный вариант, в котором \(l\) — скаляр. Ядро задаётся формулой:
\[k(x_i, x_j) = \text{exp}\left(- \frac{ 2\sin^2(\pi d(x_i, x_j)/p) }{ l^ 2} \right)\]где \(l\) — масштаб длины ядра, \(p\) — периодичность ядра, а \(d(\cdot,\cdot)\) — евклидово расстояние.
Подробнее см. в руководстве пользователя.
Добавлено в версии 0.18.
- Параметры:
-
- length_scalefloat > 0, по умолчанию=1.0
-
Масштаб длины ядра.
- periodicityfloat > 0, по умолчанию=1.0
-
Периодичность ядра.
- length_scale_boundsпара float >= 0 или “fixed”, по умолчанию=(1e-5, 1e5)
-
Нижняя и верхняя границы для ‘length_scale’. Если задано значение “fixed”, ‘length_scale’ нельзя изменить при настройке гиперпараметров.
- periodicity_boundsпара float >= 0 или “fixed”, по умолчанию=(1e-5, 1e5)
-
Нижняя и верхняя границы для ‘periodicity’. Если задано значение “fixed”, ‘periodicity’ нельзя изменить при настройке гиперпараметров.
Примеры
>>> from sklearn.datasets import make_friedman2 >>> from sklearn.gaussian_process import GaussianProcessRegressor >>> from sklearn.gaussian_process.kernels import ExpSineSquared >>> X, y = make_friedman2(n_samples=50, noise=0, random_state=0) >>> kernel = ExpSineSquared(length_scale=1, periodicity=1) >>> gpr = GaussianProcessRegressor(kernel=kernel, alpha=5, ... random_state=0).fit(X, y) >>> gpr.score(X, y) 0.0144 >>> gpr.predict(X[:2,:], return_std=True) (array([425.6, 457.5]), array([0.3894, 0.3467]))
- __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
-
Имена параметров, сопоставленные их значениям.
- propertyhyperparameter_length_scale
-
Возвращает масштаб длины
- 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.ExpSineSquared.html