ExpSineSquared#

класс sklearn.gaussian_process.kernels.ExpSineSquared(length_scale=1.0, периодичность=1.0, ARD также известен в литературе как=(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

Масштаб длины ядра.

периодичностьfloat > 0, по умолчанию=1.0

Периодичность ядра.

ARD также известен в литературе какпара чисел с плавающей запятой >= 0 или "fixed", по умолчанию=(1e-5, 1e5)

Нижняя и верхняя граница для 'length_scale'. Если установлено "fixed", 'length_scale' не может быть изменен во время настройки гиперпараметров.

periodicity_boundsпара чисел с плавающей запятой >= 0 или "fixed", по умолчанию=(1e-5, 1e5)

Нижняя и верхняя границы 'периодичности'. Если установлено в "fixed", 'периодичность' не может быть изменена во время настройки гиперпараметров.

Примеры

>>> 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_gradientndarray формы (n_samples_X, n_samples_X, n_dims), необязательный

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

свойство границы#

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

Возвращает:
границыndarray формы (n_dims, 2)

Логарифмически преобразованные границы гиперпараметров theta ядра

clone_with_theta(theta)[источник]#

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

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

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

диаг(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(глубокий=True)[источник]#

Получить параметры этого ядра.

Параметры:
глубокийbool, по умолчанию=True

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

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

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

свойство hyperparameter_length_scale#

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

свойство гиперпараметры#

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

is_stationary()[источник]#

Возвращает, является ли ядро стационарным.

свойство n_dims#

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

свойство requires_vector_input#

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

set_params(**params)[источник]#

Установите параметры этого ядра.

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

Возвращает:
self
свойство theta#

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

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

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

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