DotProduct#

класс sklearn.gaussian_process.kernels.DotProduct(sigma_0=1.0, sigma_0_bounds=(1e-05, 100000.0))[источник]#

Ядро скалярного произведения.

Ядро DotProduct нестационарно и может быть получено из линейной регрессии путём помещения \(N(0, 1)\) априорные распределения на коэффициенты \(x_d (d = 1, . . . , D)\) и априорное распределение \(N(0, \sigma_0^2)\) на смещении. Ядро DotProduct инвариантно к вращению координат относительно начала координат, но не к сдвигам. Оно параметризуется параметром sigma_0 \(\sigma\) который контролирует неоднородность ядра. Для \(\sigma_0^2 =0\), ядро называется однородным линейным ядром, в противном случае оно неоднородно. Ядро задаётся как

\[k(x_i, x_j) = \sigma_0 ^ 2 + x_i \cdot x_j\]

Ядро DotProduct обычно комбинируется с возведением в степень.

См. [1], Глава 4, Раздел 4.2, для дальнейших деталей относительно ядра DotProduct.

Подробнее в Руководство пользователя.

Добавлено в версии 0.18.

Параметры:
sigma_0float >= 0, по умолчанию=1.0

Параметр, управляющий неоднородностью ядра. Если sigma_0=0, ядро однородно.

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

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

Ссылки

Примеры

>>> from sklearn.datasets import make_friedman2
>>> from sklearn.gaussian_process import GaussianProcessRegressor
>>> from sklearn.gaussian_process.kernels import DotProduct, WhiteKernel
>>> X, y = make_friedman2(n_samples=500, noise=0, random_state=0)
>>> kernel = DotProduct() + WhiteKernel()
>>> gpr = GaussianProcessRegressor(kernel=kernel,
...         random_state=0).fit(X, y)
>>> gpr.score(X, y)
0.3680
>>> gpr.predict(X[:2,:], return_std=True)
(array([653.0, 592.1]), array([316.6, 316.6]))
__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,)

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