我正在尝试在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)