Spec-Zone.ru › scikit-learn

ExpSineSquared

классsklearn.gaussian_process.kernels.ExpSineSquared(length_scale=1.0, periodicity=1.0, length_scale_bounds=(1e-05, 100000.0), periodicity_bounds=(1e-05, 100000.0))[source]

Ядро 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)[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, вернет параметры для данного оценщика и содержащихся подобъектов, которые являются оценщиками.

Возвращает:
paramsсловарь

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

свойствоhyperparameter_length_scale

Возвращает масштаб длины

свойство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.ExpSineSquared.html

Spec-Zone.ru

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