Как указать nu = бесконечность для ядра Matern в Sklearn? - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь создать ядро ​​Matern в Sklearn с параметром nu, равным бесконечности.

from sklearn.gaussian_process.kernels import Matern
import numpy as np
kernel = Matern(nu=float('inf'))
a = np.random.randn(5)[:,np.newaxis]
b = a
kernel(a,b)

Когда я запускаю этот код, я получаю сообщение об ошибке:

"RuntimeWarning: недопустимое значение, обнаруженное при умножении
K * = tmp ** self.nu "

Как иначе я могу указать параметр nu как бесконечность в ядре Matern? Спасибо

1 Ответ

0 голосов
/ 07 сентября 2018

Хотя документация , по-видимому, предполагает, что inf является допустимым значением для nu , код , похоже, не учитывает это значение, поэтому вы ' Вы видите эту ошибку. Однако, когда nu приближается к бесконечности, ядро ​​Matern становится эквивалентным квадрату экспоненциальной функции или RBF в sklearn, так что вы можете просто использовать следующее

from sklearn.gaussian_process.kernels import RBF
import numpy as np
kernel = RBF()
a = np.random.randn(5)[:,np.newaxis]
b = a
kernel(a,b)
...