2929from ..utils ._mask import _get_mask
3030from ..utils .parallel import delayed , Parallel
3131from ..utils .fixes import sp_base_version , sp_version , parse_version
32- from ..utils ._param_validation import validate_params
32+ from ..utils ._param_validation import validate_params , Interval , Real , Hidden
3333
3434from ._pairwise_distances_reduction import ArgKmin
3535from ._pairwise_fast import _chi2_kernel_fast , _sparse_manhattan
@@ -1327,6 +1327,17 @@ def rbf_kernel(X, Y=None, gamma=None):
13271327 return K
13281328
13291329
1330+ @validate_params (
1331+ {
1332+ "X" : ["array-like" , "sparse matrix" ],
1333+ "Y" : ["array-like" , "sparse matrix" , None ],
1334+ "gamma" : [
1335+ Interval (Real , 0 , None , closed = "neither" ),
1336+ Hidden (np .ndarray ),
1337+ None ,
1338+ ],
1339+ }
1340+ )
13301341def laplacian_kernel (X , Y = None , gamma = None ):
13311342 """Compute the laplacian kernel between X and Y.
13321343
@@ -1341,14 +1352,14 @@ def laplacian_kernel(X, Y=None, gamma=None):
13411352
13421353 Parameters
13431354 ----------
1344- X : ndarray of shape (n_samples_X, n_features)
1355+ X : {array-like, sparse matrix} of shape (n_samples_X, n_features)
13451356 A feature array.
13461357
1347- Y : ndarray of shape (n_samples_Y, n_features), default=None
1358+ Y : {array-like, sparse matrix} of shape (n_samples_Y, n_features), default=None
13481359 An optional second feature array. If `None`, uses `Y=X`.
13491360
13501361 gamma : float, default=None
1351- If None, defaults to 1.0 / n_features.
1362+ If None, defaults to 1.0 / n_features. Otherwise it should be strictly positive.
13521363
13531364 Returns
13541365 -------
0 commit comments