diff --git a/sklearn/gaussian_process/kernels.py b/sklearn/gaussian_process/kernels.py index c8ac38d2ebf01..7b5aa005ad8f8 100644 --- a/sklearn/gaussian_process/kernels.py +++ b/sklearn/gaussian_process/kernels.py @@ -1204,7 +1204,7 @@ def __repr__(self): self.length_scale))) else: # isotropic return "{0}(length_scale={1:.3g})".format( - self.__class__.__name__, self.length_scale) + self.__class__.__name__, np.ravel(self.length_scale)[0]) class Matern(RBF): @@ -1348,9 +1348,10 @@ def __repr__(self): self.__class__.__name__, ", ".join(map("{0:.3g}".format, self.length_scale)), self.nu) - else: # isotropic + else: return "{0}(length_scale={1:.3g}, nu={2:.3g})".format( - self.__class__.__name__, self.length_scale, self.nu) + self.__class__.__name__, np.ravel(self.length_scale)[0], + self.nu) class RationalQuadratic(StationaryKernelMixin, NormalizedKernelMixin, Kernel): diff --git a/sklearn/gaussian_process/tests/test_kernels.py b/sklearn/gaussian_process/tests/test_kernels.py index 24dbd28fd4b30..116fad8ddaf93 100644 --- a/sklearn/gaussian_process/tests/test_kernels.py +++ b/sklearn/gaussian_process/tests/test_kernels.py @@ -41,7 +41,8 @@ 4.0 * Matern(length_scale=[0.5, 0.5], nu=2.5), RationalQuadratic(length_scale=0.5, alpha=1.5), ExpSineSquared(length_scale=0.5, periodicity=1.5), - DotProduct(sigma_0=2.0), DotProduct(sigma_0=2.0) ** 2] + DotProduct(sigma_0=2.0), DotProduct(sigma_0=2.0) ** 2, + RBF(length_scale=[2.0]), Matern(length_scale=[2.0])] for metric in PAIRWISE_KERNEL_FUNCTIONS: if metric in ["additive_chi2", "chi2"]: continue @@ -304,3 +305,10 @@ def test_set_get_params(): kernel.set_params(**{hyperparameter.name: value}) assert_almost_equal(np.exp(kernel.theta[index]), value) index += 1 + + +def test_repr_kernels(): + """Smoke-test for repr in kernels.""" + + for kernel in kernels: + repr(kernel)