Spec-Zone.ru › scikit-learn

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,)

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

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

Сравнение гребневой регрессии с ядром и регрессии гауссовского процесса

Прогнозирование уровня 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.ExpSineSquared.html

Spec-Zone.ru

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