8000 MAINT add parameters validation for ShrunkCovariance (#24108) · rusdes/scikit-learn@f6c5714 · GitHub
[go: up one dir, main page]

Skip to content

Commit f6c5714

Browse files
MAINT add parameters validation for ShrunkCovariance (scikit-learn#24108)
1 parent 7781299 commit f6c5714

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

sklearn/covariance/_shrunk_covariance.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414

1515
# avoid division truncation
1616
import warnings
17+
from numbers import Real
1718
import numpy as np
1819

1920
from . import empirical_covariance, EmpiricalCovariance
2021
from .._config import config_context
2122
from ..utils import check_array
23+
from ..utils._param_validation import Interval
2224

2325

2426
# ShrunkCovariance estimator
@@ -145,6 +147,11 @@ class ShrunkCovariance(EmpiricalCovariance):
145147
array([0.0622..., 0.0193...])
146148
"""
147149

150+
_parameter_constraints = {
151+
**EmpiricalCovariance._parameter_constraints,
152+
"shrinkage": [Interval(Real, 0, 1, closed="both")],
153+
}
154+
148155
def __init__(self, *, store_precision=True, assume_centered=False, shrinkage=0.1):
149156
super().__init__(
150157
store_precision=store_precision, assume_centered=assume_centered
@@ -168,6 +175,7 @@ def fit(self, X, y=None):
168175
self : object
169176
Returns the instance itself.
170177
"""
178+
self._validate_params()
171179
X = self._validate_data(X)
172180
# Not calling the parent object to fit, to avoid a potential
173181
# matrix inversion when setting the precision

sklearn/tests/test_common.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,6 @@ def test_estimators_do_not_raise_errors_in_init_or_set_params(Estimator):
511511
"SelectKBest",
512512
"SelectPercentile",
513513
"SequentialFeatureSelector",
514-
"ShrunkCovariance",
515514
"SimpleImputer",
516515
"SkewedChi2Sampler",
517516
"SpectralBiclustering",

0 commit comments

Comments
 (0)
0