如何在Sklearn中为Matern内核指定nu = infinity?

我正在尝试在Sklearn中创建一个Matern内核,参数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”

那么我怎样才能在Matern内核中将参数nu指定为无穷大?谢谢

最佳答案 虽然
the documentation似乎暗示inf是nu
the code的有效值似乎没有考虑到该值,这就是为什么你会看到这个错误.然而,随着nu接近无穷大Matern内核变得等于指数平方函数,或sklearn中的
RBF,所以你可以使用以下

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)
点赞