From 72369b7df3217526d35532d138d83183888fe88e Mon Sep 17 00:00:00 2001 From: max-drexler Date: Wed, 12 Jul 2023 15:58:36 -0500 Subject: [PATCH 1/3] parameter validation for utils.safe_sqr --- sklearn/tests/test_public_functions.py | 1 + sklearn/utils/__init__.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/sklearn/tests/test_public_functions.py b/sklearn/tests/test_public_functions.py index bd20de37d405e..c27a1327a7ba9 100644 --- a/sklearn/tests/test_public_functions.py +++ b/sklearn/tests/test_public_functions.py @@ -320,6 +320,7 @@ def _check_function_param_validation( "sklearn.utils.gen_even_slices", "sklearn.utils.resample", "sklearn.utils.safe_mask", + "sklearn.utils.safe_sqr", "sklearn.utils.extmath.randomized_svd", "sklearn.utils.class_weight.compute_class_weight", "sklearn.utils.class_weight.compute_sample_weight", diff --git a/sklearn/utils/__init__.py b/sklearn/utils/__init__.py index 87173032a3bd3..10702b627101a 100644 --- a/sklearn/utils/__init__.py +++ b/sklearn/utils/__init__.py @@ -700,6 +700,13 @@ def shuffle(*arrays, random_state=None, n_samples=None): ) +@validate_params( + { + "X": ["array-like", "sparse matrix"], + "copy": ["boolean"], + }, + prefer_skip_nested_validation=True +) def safe_sqr(X, *, copy=True): """Element wise squaring of array-likes and sparse matrices. From 580d882a6aa4e6c57348c2e096f0cd5d9b73cc22 Mon Sep 17 00:00:00 2001 From: max-drexler Date: Thu, 13 Jul 2023 11:09:05 -0500 Subject: [PATCH 2/3] removed simple param validation --- sklearn/utils/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sklearn/utils/__init__.py b/sklearn/utils/__init__.py index 10702b627101a..08956d1338d5c 100644 --- a/sklearn/utils/__init__.py +++ b/sklearn/utils/__init__.py @@ -723,7 +723,6 @@ def safe_sqr(X, *, copy=True): X ** 2 : element wise square Return the element-wise square of the input. """ - X = check_array(X, accept_sparse=["csr", "csc", "coo"], ensure_2d=False) if issparse(X): if copy: X = X.copy() From 5c21854b9e70b44cbbde7de45ec3ce7485a1ee35 Mon Sep 17 00:00:00 2001 From: max-drexler Date: Thu, 13 Jul 2023 12:05:24 -0500 Subject: [PATCH 3/3] formatting --- sklearn/utils/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/utils/__init__.py b/sklearn/utils/__init__.py index 08956d1338d5c..d8e008a3b18f3 100644 --- a/sklearn/utils/__init__.py +++ b/sklearn/utils/__init__.py @@ -705,7 +705,7 @@ def shuffle(*arrays, random_state=None, n_samples=None): "X": ["array-like", "sparse matrix"], "copy": ["boolean"], }, - prefer_skip_nested_validation=True + prefer_skip_nested_validation=True, ) def safe_sqr(X, *, copy=True): """Element wise squaring of array-likes and sparse matrices.