Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6ea3f39

Browse files
committed
Move deprecation for sparse PCA to 1.2 and updated messages and tests accordingly
1 parent 158c98e commit 6ea3f39

File tree

6 files changed

+19
-18
lines changed

6 files changed

+19
-18
lines changed

doc/whats_new/v1.1.rst

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,6 @@ Changelog
1919
a node if there are duplicates in the dataset.
2020
:pr:`23395` by :user:`Jérémie du Boisberranger <jeremiedbb>`.
2121

22-
:mod:`sklearn.decomposition`
23-
............................
24-
25-
- |Fix| Fixed a bug in :class:`decomposition.MiniBatchSparsePCA` where `n_iter`
26-
was not deprecated as for :class:`decomposition.MiniBatchDictionaryLearning`.
27-
We also introduce the parameters `max_iter`, `tol`, and `max_no_improvement`
28-
for consistency. `n_iter` will be removed in version 1.3.
29-
:pr:`23726` by :user:`Guillaume Lemaitre <glemaitre>`.
30-
3122
.. _changes_1_1_1:
3223

3324
Version 1.1.1

doc/whats_new/v1.2.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,16 @@ Changelog
110110
its memory footprint and runtime.
111111
:pr:`22268` by :user:`MohamedBsh <Bsh>`.
112112

113+
:mod:`sklearn.decomposition`
114+
............................
115+
116+
- |API| The `n_iter` parameter of :class:`decomposition.MiniBatchSparsePCA` is
117+
deprecated and replaced by the parameters `max_iter`, `tol`, and
118+
`max_no_improvement` to be consistent with
119+
:class:`decomposition.MiniBatchDictionaryLearning`. `n_iter` will be removed
120+
in version 1.3. :pr:`23726` by :user:`Guillaume Lemaitre <glemaitre>`.
121+
122+
113123
:mod:`sklearn.ensemble`
114124
.......................
115125

sklearn/decomposition/_dict_learning.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@ def dict_learning_online(
794794
Number of mini-batch iterations to perform.
795795
796796
.. deprecated:: 1.1
797-
`n_iter` is deprecated in 1.1 and will be removed in 1.3. Use
797+
`n_iter` is deprecated in 1.1 and will be removed in 1.4. Use
798798
`max_iter` instead.
799799
800800
max_iter : int, default=None
@@ -1758,7 +1758,7 @@ class MiniBatchDictionaryLearning(_BaseSparseCoding, BaseEstimator):
17581758
Total number of iterations over data batches to perform.
17591759
17601760
.. deprecated:: 1.1
1761-
``n_iter`` is deprecated in 1.1 and will be removed in 1.3. Use
1761+
``n_iter`` is deprecated in 1.1 and will be removed in 1.4. Use
17621762
``max_iter`` instead.
17631763
17641764
max_iter : int, default=None
@@ -2255,7 +2255,7 @@ def fit(self, X, y=None):
22552255
if self.n_iter != "deprecated":
22562256
warnings.warn(
22572257
"'n_iter' is deprecated in version 1.1 and will be removed "
2258-
"in version 1.3. Use 'max_iter' and let 'n_iter' to its default "
2258+
"in version 1.4. Use 'max_iter' and let 'n_iter' to its default "
22592259
"value instead. 'n_iter' is also ignored if 'max_iter' is "
22602260
"specified.",
22612261
FutureWarning,

sklearn/decomposition/_sparse_pca.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -273,16 +273,16 @@ class MiniBatchSparsePCA(SparsePCA):
273273
n_iter : int, default=100
274274
Number of iterations to perform for each mini batch.
275275
276-
.. deprecated:: 1.1
277-
`n_iter` is deprecated in 1.1 and will be removed in 1.3. Use
276+
.. deprecated:: 1.2
277+
`n_iter` is deprecated in 1.2 and will be removed in 1.4. Use
278278
`max_iter` instead.
279279
280280
max_iter : int, default=None
281281
Maximum number of iterations over the complete dataset before
282282
stopping independently of any early stopping criterion heuristics.
283283
If `max_iter` is not `None`, `n_iter` is ignored.
284284
285-
.. versionadded:: 1.1
285+
.. versionadded:: 1.2
286286
287287
callback : callable, default=None
288288
Callable that gets invoked every five iterations.

sklearn/decomposition/tests/test_dict_learning.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -721,7 +721,7 @@ def test_minibatch_dict_learning_n_iter_deprecated():
721721
# check the deprecation warning of n_iter
722722
# FIXME: remove in 1.3
723723
depr_msg = (
724-
"'n_iter' is deprecated in version 1.1 and will be removed in version 1.3"
724+
"'n_iter' is deprecated in version 1.1 and will be removed in version 1.4"
725725
)
726726
est = MiniBatchDictionaryLearning(
727727
n_components=2, batch_size=4, n_iter=5, random_state=0
@@ -1074,7 +1074,7 @@ def test_get_feature_names_out(estimator):
10741074
)
10751075

10761076

1077-
# TODO(1.3) remove
1077+
# TODO(1.4) remove
10781078
def test_minibatch_dictionary_learning_warns_and_ignore_n_iter():
10791079
"""Check that we always raise a warning when `n_iter` is set even if it is
10801080
ignored if `max_iter` is set.

sklearn/decomposition/tests/test_sparse_pca.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ def test_spca_feature_names_out(SPCA):
267267
assert_array_equal([f"{estimator_name}{i}" for i in range(4)], names)
268268

269269

270-
# TODO (1.3): remove this test
270+
# TODO (1.4): remove this test
271271
def test_spca_n_iter_deprecation():
272272
"""Check that we raise a warning for the deprecation of `n_iter` and it is ignored
273273
when `max_iter` is specified.

0 commit comments

Comments
 (0)