Я пытаюсь создать ядро 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: invalid value encountered in multiply
K *= tmp ** self.nu"
Как еще я могу указать параметр nu как бесконечность в ядре Matern? Спасибо
Хотя документация, похоже, предполагает, что 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)
Прекрасно, в этом есть смысл. Я отметил это как ответ и проголосовал за :) Спасибо.