Python 为什么scikit gaussian process whitekernel提供以下输出?

Python 为什么scikit gaussian process whitekernel提供以下输出?,python,scikit-learn,Python,Scikit Learn,对于此内核,请说: k(x_1,x_2)=如果x_1==x_2,则噪声水平为0 这是有道理的。然而,当我试图验证这一点时,情况似乎并非如此: >>> sklearn.gaussian_process.kernels.WhiteKernel(noise_level=2)(np.array([[1,1]]),np.array([[1,1]])) array([[0.]]) 我错过了什么 PS,如果没有提供第二个参数,它将计算K(X,X),这将给出预期的输出 >>>

对于此内核,请说:

k(x_1,x_2)=如果x_1==x_2,则噪声水平为0

这是有道理的。然而,当我试图验证这一点时,情况似乎并非如此:

>>> sklearn.gaussian_process.kernels.WhiteKernel(noise_level=2)(np.array([[1,1]]),np.array([[1,1]]))
array([[0.]])
我错过了什么

PS,如果没有提供第二个参数,它将计算K(X,X),这将给出预期的输出

>>> sklearn.gaussian_process.kernels.WhiteKernel(noise_level=2)(np.array([[1,1]]))
array([[2.]])

在你发帖多年后,我也遇到过同样的问题。实际上,如果将X和Y提供给
\uuu call\uuu
,则返回
np.zero(((\u num\u samples(X),\u num\u samples(Y))
。但我认为必须对X和Y之间的相同行进行检查。我猜它假设X和Y之间没有相同的样本,这就是Wierd。西里尔