RationalQuadratic#

класс sklearn.gaussian_process.kernels.RationalQuadratic(length_scale=1.0, alpha=1.0, ARD также известен в литературе как=(1e-05, 100000.0), alpha_bounds=(1e-05, 100000.0))[источник]#

Ядро Rational Quadratic.

Ядро 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

Параметр масштабной смеси

ARD также известен в литературе какпара чисел с плавающей запятой >= 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_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

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

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

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

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

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

свойство n_dims#

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

свойство requires_vector_input#

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

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

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

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

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

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

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

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

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