我试图在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:乘法中遇到无效值
K*=tmp**自我.nu“
否则我如何在主内核中将参数nu指定为无穷大呢?谢谢

最佳答案

尽管the documentation似乎表明infnuthe code的有效值,但似乎并不能解释该值,这就是为什么您会看到这个错误。然而,当nu接近无穷大时,内核就等价于平方指数函数,或者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)

关于python - 如何在Sklearn中为Matern内核指定nu = infinity?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52214779/

10-12 22:37