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

Skip to content

API Replace n_iter in Bayesian Ridge and ARDRegression #25697

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Apr 2, 2023

Conversation

jpangas
Copy link
Contributor

@jpangas jpangas commented Feb 24, 2023

Reference Issues/PRs

Fixes #25518

What does this implement/fix? Explain your changes.

This PR deprecates the n_iter attribute in favour of max_iter in BayesianRidge and ARDRegression.

Any other comments?

@jpangas jpangas changed the title Deprecate n_iter in Bayesian Ridge and ARDRegression MAINT Replace n_iter in Bayesian Ridge and ARDRegression Feb 24, 2023
Copy link
Contributor

@Micky774 Micky774 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there @jpangas, thanks for the PR! I know it is still a draft and not-yet marked "ready for review", but I wanted to quickly offer some feedback anyways, some of which may already be planned by you :)

Let me know if you have any questions, and feel free to ping me when you're ready for review!

Comment on lines 252 to 258
if max_iter is None:
if self.n_iter != "deprecated":
warnings.warn(
"'n_iter' was renamed to 'max_iter' in version 1.2 and "
"will be removed in 1.4",
FutureWarning,
)
max_iter = self.n_iter
else:
max_iter = 300
else:
# Still generate a warning when n_iter is used with max_iter
# n_iter is ignored and max_iter is used
if self.n_iter != "deprecated":
warnings.warn(
"'n_iter' was renamed to 'max_iter' in version 1.2 and "
"will be removed in 1.4",
FutureWarning,
)
Copy link
Contributor

@Micky774 Micky774 Feb 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes the code flow a bit simpler

Suggested change
if max_iter is None:
if self.n_iter != "deprecated":
warnings.warn(
"'n_iter' was renamed to 'max_iter' in version 1.2 and "
"will be removed in 1.4",
FutureWarning,
)
max_iter = self.n_iter
else:
max_iter = 300
else:
# Still generate a warning when n_iter is used with max_iter
# n_iter is ignored and max_iter is used
if self.n_iter != "deprecated":
warnings.warn(
"'n_iter' was renamed to 'max_iter' in version 1.2 and "
"will be removed in 1.4",
FutureWarning,
)
# TODO(1.5) Remove
if self.n_iter != "deprecated":
if max_iter is not None:
raise ValueError(
"Both `n_iter` and `max_iter` attributes were set. Attribute"
" `n_iter` was deprecated in version 1.3 and will be removed in"
" 1.5. To avoid this error, only set the `max_iter` attribute."
)
warnings.warn(
"'n_iter' was renamed to 'max_iter' in version 1.2 and "
"will be removed in 1.4",
FutureWarning,
)
max_iter = self.n_iter
elif max_iter is None:
max_iter = 300

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Micky774, I had initially done it this way to only update max_iter if max_iter is None and self.n_iter != 'deprecated'
I thought it would be consistent ito favour max_iter over n_iter and we ignore n_iter when max_iter is set. (Still generating a warning)
I think the change you have suggested will use the user's n_iter over max_iter if both of them are set.

Copy link
Contributor

@Micky774 Micky774 Mar 2, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've updated the suggestion. Generally, if both are set I prefer to throw a ValueError and require the user to explicitly choose one or the other, rather than letting it off with a warning. What do you think?

Edit: if you accept the suggestion, the tests will need to be updated accordingly

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a better approach. I agree with your suggestion. I will make the necessary changes in both the code and tests. Thanks

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, we don't want to allow setting both parameters at the same time.

@jpangas
Copy link
Contributor Author

jpangas commented Mar 1, 2023

Hey there @jpangas, thanks for the PR! I know it is still a draft and not-yet marked "ready for review", but I wanted to quickly offer some feedback anyways, some of which may already be planned by you :)

Let me know if you have any questions, and feel free to ping me when you're ready for review!
Thanks @Micky774 , for reviewing and giving me the suggestions. They will definitely help me complete this ASAP.

@glemaitre glemaitre self-requested a review March 6, 2023 10:16
Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of changes once @Micky774's comments are addressed.

@@ -32,9 +33,20 @@ class BayesianRidge(RegressorMixin, LinearModel):

Parameters
----------
n_iter : int, default=300
n_iter : int
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can then move this parameter at the end of the parameter list.

Comment on lines 252 to 258
if max_iter is None:
if self.n_iter != "deprecated":
warnings.warn(
"'n_iter' was renamed to 'max_iter' in version 1.2 and "
"will be removed in 1.4",
FutureWarning,
)
max_iter = self.n_iter
else:
max_iter = 300
else:
# Still generate a warning when n_iter is used with max_iter
# n_iter is ignored and max_iter is used
if self.n_iter != "deprecated":
warnings.warn(
"'n_iter' was renamed to 'max_iter' in version 1.2 and "
"will be removed in 1.4",
FutureWarning,
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, we don't want to allow setting both parameters at the same time.

@Micky774
Copy link
Contributor

Micky774 commented Mar 6, 2023

Looks like you may have merged with an out-of-date version of main. Could you correct this and sync your branch with the latest main?

@jpangas
Copy link
Contributor Author

jpangas commented Mar 6, 2023

Yes, I am working on that.

@jpangas jpangas force-pushed the deprecate_n_iter branch from 62966e7 to 136d786 Compare March 6, 2023 21:04
@jpangas
Copy link
Contributor Author

jpangas commented Mar 6, 2023

Done @Micky774 , Does this need a changelog entry? I don't think so.

@jpangas jpangas marked this pull request as ready for review March 6, 2023 21:35
@thomasjpfan thomasjpfan changed the title MAINT Replace n_iter in Bayesian Ridge and ARDRegression API Replace n_iter in Bayesian Ridge and ARDRegression Mar 6, 2023
@thomasjpfan
Copy link
Member

This PR is changing public API, which means it requires a change log entry. A change log entry will notify users to update their code to use the new parameter.

@glemaitre glemaitre self-requested a review March 7, 2023 09:28
Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only a couple of nitpicks. It looks good. We only miss an entry in the changelog as you previously mentioned.

@@ -226,8 +244,26 @@ def fit(self, X, y, sample_weight=None):
self : object
Returns the instance itself.
"""

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably some black I assume as well.

@glemaitre glemaitre self-requested a review March 20, 2023 09:23
Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just pushed the little nitpicks that I proposed and added the changelog entry. LGTM now.

@Micky774 do you want to merge this one.

@glemaitre glemaitre added the Waiting for Second Reviewer First reviewer is done, need a second one! label Mar 20, 2023
@jpangas
Copy link
Contributor Author

jpangas commented Mar 20, 2023

@glemaitre, I realized I have to deprecate ARDRegression too. submitting before EOD.

Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh Indeed. Completely forgot this one.

@@ -509,6 +553,11 @@ class ARDRegression(RegressorMixin, LinearModel):

.. versionadded:: 1.0

n_iter_ : int
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have I included this attribute correctly? It previously wasn't there in ARDRegression but is required for estimators that have the max_iter attribute.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's put it under scores_ to be consistent with BayesRidge.

@jpangas jpangas requested a review from glemaitre March 20, 2023 11:27
@jpangas
Copy link
Contributor Author

jpangas commented Mar 20, 2023

ping @glemaitre and @Micky774

Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I think we can remove some duplicated code using a function.

@@ -509,6 +553,11 @@ class ARDRegression(RegressorMixin, LinearModel):

.. versionadded:: 1.0

n_iter_ : int
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's put it under scores_ to be consistent with BayesRidge.

Comment on lines 249 to 265
max_iter = self.max_iter
# TODO(1.5) Remove
if self.n_iter != "deprecated":
if max_iter is not None:
raise ValueError(
"Both `n_iter` and `max_iter` attributes were set. Attribute"
" `n_iter` was deprecated in version 1.3 and will be removed in"
" 1.5. To avoid this error, only set the `max_iter` attribute."
)
warnings.warn(
"'n_iter' was renamed to 'max_iter' in version 1.3 and "
"will be removed in 1.5",
FutureWarning,
)
max_iter = self.n_iter
elif max_iter is None:
max_iter = 300
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's create a small function called _deprecate_max_iter that take an estimator and return max_iter. Like this we can use it in both class without code duplication.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Among, _bayes.py or _base.py? Where would be the ideal file to include this function?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say in _bayes.py just to keep it local

- |API| Deprecates `n_iter` in favor of `max_iter` in
:class:`linear_model.BayesianRidge` and :class:`linear_model.ARDRegression`.
`n_iter` will be removed in scikit-learn 1.5. This change makes those
estimators consistent with the rest of estimators.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to also mention that n_iter_ was added to ARDRegression.

Copy link
Contributor Author

@jpangas jpangas Mar 20, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have done so. Please check and see if it's looking good. Is there another particular reason I have missed behind including n_iter_ attribute in ARDRegression?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be beneficial to include them as two entries? It's a bit clunky as a single entry

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it could work if it was on it’s own. WDYT @glemaitre ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can make it two entries.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On it. I will push the change before EOD.

@jpangas jpangas requested a review from glemaitre March 22, 2023 09:49
Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM on my side once the entry is split for readibility.

Copy link
Contributor

@Micky774 Micky774 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Micky774 Micky774 merged commit 19da1e2 into scikit-learn:main Apr 2, 2023
@Micky774
Copy link
Contributor

Micky774 commented Apr 2, 2023

Thank you @jpangas for the contribution!

@jpangas
Copy link
Contributor Author

jpangas commented Apr 2, 2023

Thanks for the guidance and feedback too.

Veghit pushed a commit to Veghit/scikit-learn that referenced this pull request Apr 15, 2023
@jpangas jpangas deleted the deprecate_n_iter branch April 25, 2023 11:11
MohitBurkule added a commit to MohitBurkule/scikit-learn that referenced this pull request May 7, 2023
* MAINT Clean deprecated losses in (hist) gradient boosting for 1.3 (scikit-learn#25834)

* MAINT Clean deprecation of normalize in calibration_curve for 1.3 (scikit-learn#25833)

* BLD Clean command removes generated from cython templates (scikit-learn#25839)

* PERF Implement `PairwiseDistancesReduction` backend for `KNeighbors.predict_proba` (scikit-learn#24076)

Signed-off-by: Julien Jerphanion <[email protected]>
Co-authored-by: Julien Jerphanion <[email protected]>
Co-authored-by: Olivier Grisel <[email protected]>

* MAINT Added Parameter Validation for datasets.make_circles (scikit-learn#25848)

Co-authored-by: jeremiedbb <[email protected]>

* MNT use a single job by default with sphinx build (scikit-learn#25836)

* BLD Generate warning automatically for templated cython files (scikit-learn#25842)

* MAINT parameter validation for sklearn.datasets.fetch_lfw_people (scikit-learn#25820)

Co-authored-by: jeremiedbb <[email protected]>

* MAINT Parameters validation for metrics.fbeta_score (scikit-learn#25841)

* TST add global_random_seed fixture to sklearn/covariance/tests/test_robust_covariance.py (scikit-learn#25821)

* MAINT Parameter validation for linear_model.orthogonal_mp (scikit-learn#25817)

* TST activate common tests for TSNE (scikit-learn#25374)

* CI Update lock files (scikit-learn#25849)

* MAINT Added Parameter Validation for metrics.mean_gamma_deviance (scikit-learn#25853)

* MAINT Parameters validation for feature_selection.mutual_info_regression (scikit-learn#25850)

* MAINT parameter validation metrics.class_likelihood_ratios (scikit-learn#25863)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Ensure disjoint interval constraints (scikit-learn#25797)

* MAINT Parameters validation for utils.gen_batches (scikit-learn#25864)

* TST use global_random_seed in test_dict_vectorizer.py (scikit-learn#24533)

* TST use global_random_seed in test_pls.py (scikit-learn#24526)

Co-authored-by: jeremiedbb <[email protected]>

* TST use global_random_seed in test_gpc.py (scikit-learn#24600)

Co-authored-by: jeremiedbb <[email protected]>

* DOC Fix overlapping plot axis in bench_sample_without_replacement.py (scikit-learn#25870)

* MAINT Use contiguous memoryviews in _random.pyx (scikit-learn#25871)

* MAINT parameter validation sklearn.datasets.fetch_lfw_pair (scikit-learn#25857)

* MAINT Parameters validation for metrics.classification_report (scikit-learn#25868)

* Empty commit

* DOC fix docstring dtype parameter in OrdinalEncoder (scikit-learn#25877)

* MAINT Clean up depreacted "log" loss of SGDClassifier for 1.3 (scikit-learn#25865)

* ENH Adds TargetEncoder (scikit-learn#25334)

Co-authored-by: Andreas Mueller <[email protected]>
Co-authored-by: Olivier Grisel <[email protected]>
Co-authored-by: Jovan Stojanovic <[email protected]>
Co-authored-by: Guillaume Lemaitre <[email protected]>

* CI make it possible to cancel running Azure jobs (scikit-learn#25876)

* MAINT Clean-up deprecated if_delegate_has_method for 1.3 (scikit-learn#25879)

* MAINT Parameter validation for tree.export_text (scikit-learn#25867)

* DOC impact of `tol` for solvers in RidgeClassifier (scikit-learn#25530)

* MAINT Parameters validation for metrics.hinge_loss (scikit-learn#25880)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for metrics.ndcg_score (scikit-learn#25885)

* ENH KMeans initialization account for sample weights (scikit-learn#25752)

Co-authored-by: jeremiedbb <[email protected]>
Co-authored-by: Guillaume Lemaitre <[email protected]>
Co-authored-by: Jérémie du Boisberranger <[email protected]>

* TST use global_random_seed in sklearn/tests/test_dummy.py (scikit-learn#25884)

* DOC improve calibration user guide (scikit-learn#25687)

* ENH Support for sparse matrices added to `sklearn.metrics.silhouette_samples` (scikit-learn#24677)

Co-authored-by: Sahil Gupta <[email protected]>
Co-authored-by: Thomas J. Fan <[email protected]>
Co-authored-by: Guillaume Lemaitre <[email protected]>

* MAINT validate_params for plot_tree (scikit-learn#25882)

Co-authored-by: Itay <[email protected]>

* MAINT add missing space in error message in SVM (scikit-learn#25913)

* FIX Adds requires_y tag to TargetEncoder (scikit-learn#25917)

* MAINT Consistent cython types continued (scikit-learn#25810)

* TST Speed-up common tests of DictionaryLearning (scikit-learn#25892)

* TST Speed-up test_dbscan_optics_parity (scikit-learn#25893)

* ENH add np.nan option for zero_division in precision/recall/f-score (scikit-learn#25531)

Co-authored-by: Guillaume Lemaitre <[email protected]>

* MAINT Parameters validation for datasets.make_low_rank_matrix (scikit-learn#25901)

* MAINT Parameter validation for metrics.cluster.adjusted_mutual_info_score (scikit-learn#25898)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* TST Speed-up test_partial_dependence.test_output_shape (scikit-learn#25895)

Co-authored-by: Thomas J. Fan <[email protected]>

* MAINT Parameters validation for datasets.make_regression (scikit-learn#25899)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for metrics.mean_squared_log_error (scikit-learn#25924)

* TST Use global_random_seed in tests/test_naive_bayes.py (scikit-learn#25890)

* TST add global_random_seed fixture to sklearn/datasets/tests/test_covtype.py (scikit-learn#25904)

Co-authored-by: Jérémie du Boisberranger <[email protected]>
Co-authored-by: jeremiedbb <[email protected]>

* MAINT Parameters validation for datasets.make_multilabel_classification (scikit-learn#25920)

* Fixed feature mapping typo (scikit-learn#25934)

* MAINT switch to newer codecov uploader (scikit-learn#25919)

Co-authored-by: Loïc Estève <[email protected]>

* TST Speed-up test suite when using pytest-xdist (scikit-learn#25918)

* DOC update license year to 2023 (scikit-learn#25936)

* FIX Remove spurious feature names warning in IsolationForest (scikit-learn#25931)

* TST fix unstable test_newrand_set_seed (scikit-learn#25940)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Clean-up deprecated max_features="auto" in trees/forests/gb (scikit-learn#25941)

* MAINT LogisticRegression informative error msg when penaly=elasticnet and l1_ratio is None (scikit-learn#25925)

Co-authored-by: jeremiedbb <[email protected]>

* MAINT Clean-up remaining SGDClassifier(loss="log") (scikit-learn#25938)

* FIX Fixes pandas extension arrays in check_array (scikit-learn#25813)

* FIX Fixes pandas extension arrays with objects in check_array (scikit-learn#25814)

* CI Disable pytest-xdist in pylatest_pip_openblas_pandas build (scikit-learn#25943)

* MAINT remove deprecated call to resources.content (scikit-learn#25951)

* DOC note on calibration impact on ranking (scikit-learn#25900)

* Remove loguniform fix, use scipy.stats instead (scikit-learn#24665)

Co-authored-by: Olivier Grisel <[email protected]>

* MAINT Fix broken links in cluster.dbscan module (scikit-learn#25958)

* DOC Fix lars Xy shape (scikit-learn#25952)

* ENH Add drop_intermediate parameter to metrics.precision_recall_curve (scikit-learn#24668)

Co-authored-by: Guillaume Lemaitre <[email protected]>

* FIX improve error message when computing NDCG with a single document (scikit-learn#25672)

Co-authored-by: Guillaume Lemaitre <[email protected]>

* MAINT introduce _get_response_values and _check_response_methods (scikit-learn#23073)

Co-authored-by: Thomas J. Fan <[email protected]>
Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Extend message for large sparse matrices support (scikit-learn#25961)

Co-authored-by: Meekail Zain <[email protected]>

* MAINT Parameters validation for datasets.make_gaussian_quantiles (scikit-learn#25959)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.metrics.d2_tweedie_score (scikit-learn#25975)

* MAINT Parameters validation for datasets.make_hastie_10_2 (scikit-learn#25967)

* MAINT Parameters validation for preprocessing.minmax_scale (scikit-learn#25962)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for datasets.make_checkerboard (scikit-learn#25955)

* MAINT Parameters validation for datasets.make_biclusters (scikit-learn#25945)

* MAINT Parameters validation for datasets.make_moons (scikit-learn#25971)

* DOC replace deviance by loss in docstring of GradientBoosting (scikit-learn#25968)

* MAINT Fix broken link in feature_selection/_univariate_selection.py (scikit-learn#25984)

* DOC Update model_persistence.rst to fix skops example (scikit-learn#25993)

Co-authored-by: adrinjalali <[email protected]>

* DOC Specified meaning for max_patches=None in extract_patches_2d  (scikit-learn#25996)

* DOC document that last step is never cached in pipeline (scikit-learn#25995)

Co-authored-by: Guillaume Lemaitre <[email protected]>

* FIX SequentialFeatureSelector throws IndexError when cv is a generator (scikit-learn#25973)

* ENH Adds infrequent categories support to OrdinalEncoder (scikit-learn#25677)

Co-authored-by: Tim Head <[email protected]>
Co-authored-by: Olivier Grisel <[email protected]>
Co-authored-by: Andreas Mueller <[email protected]>

* MAINT make plot_digits_denoising deterministic by fixing random state (scikit-learn#26004)

* DOC improve example of PatchExtractor (scikit-learn#26002)

* MAINT Parameters validation for datasets.make_friedman2 (scikit-learn#25986)

* MAINT Parameters validation for datasets.make_friedman3 (scikit-learn#25989)

* MAINT Parameters validation for datasets.make_sparse_uncorrelated (scikit-learn#26001)

* MAINT Parameters validation for datasets.make_spd_matrix (scikit-learn#26003)

* MAINT Parameters validation for datasets.make_sparse_spd_matrix (scikit-learn#26009)

* DOC Added the meanings of default=None for PatchExtractor parameters (scikit-learn#26005)

* MAINT remove unecessary check covered by parameter validation framework (scikit-learn#26014)

* MAINT Consistent cython types from _typedefs (scikit-learn#25942)

Co-authored-by: Julien Jerphanion <[email protected]>

* MAINT Parameters validation for datasets.make_swiss_roll (scikit-learn#26020)

* MAINT Parameters validation for datasets.make_s_curve (scikit-learn#26022)

* MAINT Parameters validation for datasets.make_blobs (scikit-learn#25983)

Co-authored-by: Guillaume Lemaitre <[email protected]>

* DOC fix SplineTransformer include_bias docstring (scikit-learn#26018)

* ENH RocCurveDisplay add option to plot chance level (scikit-learn#25987)

* DOC show from_estimator and from_predictions for Displays (scikit-learn#25994)

* EXA Fix rst in plot_partial_dependence (scikit-learn#26028)

* CI Adds coverage to docker jobs on Azure (scikit-learn#26027)

Co-authored-by: Julien Jerphanion <[email protected]>
Co-authored-by: Olivier Grisel <[email protected]>

* API Replace `n_iter` in `Bayesian Ridge` and `ARDRegression` (scikit-learn#25697)

Co-authored-by: Guillaume Lemaitre <[email protected]>

* CLN Make _NumPyAPIWrapper naming consistent to _ArrayAPIWrapper (scikit-learn#26039)

* CI disable coverage on Windows to keep CI times reasonable (scikit-learn#26052)

* DOC Use Scientific Python Plausible instance for analytics (scikit-learn#25547)

* MAINT Parameters validation for sklearn.preprocessing.scale (scikit-learn#26036)

* MAINT Parameters validation for sklearn.metrics.pairwise.haversine_distances (scikit-learn#26047)

* MAINT Parameters validation for sklearn.metrics.pairwise.laplacian_kernel (scikit-learn#26048)

* MAINT Parameters validation for sklearn.metrics.pairwise.linear_kernel (scikit-learn#26049)

* MAINT Parameters validation for sklearn.metrics.silhouette_samples (scikit-learn#26053)

* MAINT Parameters validation for sklearn.preprocessing.add_dummy_feature (scikit-learn#26058)

* Added Parameter Validation for metrics.cluster.normalized_mutual_info_score() (scikit-learn#26060)

* DOC Typos in HistGradientBoosting documentation (scikit-learn#26057)

* TST add global_random_seed fixture to sklearn/datasets/tests/test_rcv1.py (scikit-learn#26043)

* MAINT Parameters validation for sklearn.metrics.pairwise.cosine_similarity (scikit-learn#26006)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* ENH Adds isdtype to Array API wrapper (scikit-learn#26029)

* MAINT Parameters validation for sklearn.metrics.silhouette_score (scikit-learn#26054)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* FIX fix spelling mistake in _NumPyAPIWrapper (scikit-learn#26064)

* CI ignore more non-library Python files in codecov (scikit-learn#26059)

* MAINT Parameters validation for sklearn.metrics.pairwise.cosine_distances (scikit-learn#26046)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Introduce BinaryClassifierCurveDisplayMixin (scikit-learn#25969)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* ENH Forces shape to be tuple when using Array API's reshape (scikit-learn#26030)

Co-authored-by: Olivier Grisel <[email protected]>
Co-authored-by: Tim Head <[email protected]>

* MAINT Parameters validation for sklearn.metrics.pairwise.paired_euclidean_distances (scikit-learn#26073)

* MAINT Parameters validation for sklearn.metrics.pairwise.paired_manhattan_distances (scikit-learn#26074)

* MAINT Parameters validation for sklearn.metrics.pairwise.paired_cosine_distances (scikit-learn#26075)

* MAINT Parameters validation for sklearn.preprocessing.binarize (scikit-learn#26076)

* MAINT Parameters validation for metrics.explained_variance_score (scikit-learn#26079)

* DOC use correct template name for displays (scikit-learn#26081)

* MAINT Parameters validation for sklearn.preprocessing.maxabs_scale (scikit-learn#26077)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.preprocessing.label_binarize (scikit-learn#26078)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT parameter validation for d2_absolute_error_score (scikit-learn#26066)

Co-authored-by: jeremiedbb <[email protected]>

* MAINT Parameter validation for roc_auc_score (scikit-learn#26007)

Co-authored-by: jeremiedbb <[email protected]>

* MAINT Parameters validation for sklearn.preprocessing.normalize (scikit-learn#26069)

Co-authored-by: jeremiedbb <[email protected]>

* MAINT Parameter validation for metrics.cluster.fowlkes_mallows_score (scikit-learn#26080)

Co-authored-by: jeremiedbb <[email protected]>

* MAINT Parameters validation for compose.make_column_transformer (scikit-learn#25897)

Co-authored-by: jeremiedbb <[email protected]>

* MAINT Parameters validation for sklearn.metrics.pairwise.polynomial_kernel (scikit-learn#26070)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.metrics.pairwise.rbf_kernel (scikit-learn#26071)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.metrics.pairwise.sigmoid_kernel (scikit-learn#26072)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Param validation: constraint for numeric missing values (scikit-learn#26085)

* FIX Adds support for negative values in categorical features in gradient boosting (scikit-learn#25629)

Co-authored-by: Julien Jerphanion <[email protected]>
Co-authored-by: Tim Head <[email protected]>

* MAINT Fix C warning in Cython module splitting.pyx (scikit-learn#26051)

* MNT Updates _isotonic.pyx to use memoryviews instead of `cnp.ndarray` (scikit-learn#26068)

* FIX Fixes memory regression for inspecting extension arrays (scikit-learn#26106)

* PERF set openmp to use only physical cores by default (scikit-learn#26082)

* MNT Update black to 23.3.0 (scikit-learn#26110)

* MNT Adds black commit to git-blame-ignore-revs (scikit-learn#26111)

* MAINT Parameters validation for sklearn.metrics.pair_confusion_matrix (scikit-learn#26107)

* MAINT Parameters validation for sklearn.metrics.mean_poisson_deviance (scikit-learn#26104)

* DOC Use notebook style in plot_lof_outlier_detection.py (scikit-learn#26017)

Co-authored-by: Jérémie du Boisberranger <[email protected]>
Co-authored-by: Guillaume Lemaitre <[email protected]>

* MAINT utils._fast_dict uses types from utils._typedefs (scikit-learn#26025)

* DOC remove sparse-matrix for `y` in ElasticNet (scikit-learn#26127)

* ENH add exponential loss (scikit-learn#25965)

* MAINT Parameters validation for sklearn.preprocessing.robust_scale (scikit-learn#26086)

* MAINT Parameters validation for sklearn.datasets.fetch_rcv1 (scikit-learn#26126)

* MAINT Parameters validation for sklearn.metrics.adjusted_rand_score (scikit-learn#26134)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.metrics.calinski_harabasz_score  (scikit-learn#26135)

* MAINT Parameters validation for sklearn.metrics.davies_bouldin_score  (scikit-learn#26136)

* MAINT: remove `from numpy.math cimport` statements (scikit-learn#26143)

* MAINT Parameters validation for sklearn.inspection.permutation_importance (scikit-learn#26145)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.metrics.cluster.homogeneity_completeness_v_measure (scikit-learn#26137)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.metrics.rand_score (scikit-learn#26138)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* DOC update comment in metrics/tests/test_classification.py (scikit-learn#26150)

* CI small cleanup of Cirrus CI test script (scikit-learn#26168)

* MAINT remove deprecated is_categorical_dtype (scikit-learn#26156)

* DOC Add skforecast to related projects page (scikit-learn#26133)

Co-authored-by: Thomas J. Fan <[email protected]>

* FIX Keeps namedtuple's class when transform returns a tuple (scikit-learn#26121)

* DOC corrected letter case for better readability in sklearn/metrics/_classification.py / (scikit-learn#26169)

* MAINT Parameters validation for sklearn.preprocessing.power_transform (scikit-learn#26142)

* FIX `roc_auc_score` now uses `y_prob` instead of `y_pred` (scikit-learn#26155)

* MAINT Parameters validation for sklearn.datasets.load_iris (scikit-learn#26177)

* MAINT Parameters validation for sklearn.datasets.load_diabetes (scikit-learn#26166)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.datasets.load_breast_cancer (scikit-learn#26165)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.metrics.cluster.entropy (scikit-learn#26162)

* MAINT Parameters validation for sklearn.datasets.fetch_species_distributions (scikit-learn#26161)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* ASV Fix tol in SGDRegressorBenchmark (scikit-learn#26146)

Co-authored-by: jeremie du boisberranger <[email protected]>

* MNT use api.openml.org URLs for fetch_openml (scikit-learn#26171)

* MAINT Parameters validation for sklearn.utils.resample (scikit-learn#26139)

* MAINT make it explicit that additive_chi2_kernel does not accept sparse matrix (scikit-learn#26178)

* MNT fix circleci link in README.rst (scikit-learn#26183)

* CI Fix circleci artifact redirector action (scikit-learn#26181)

* GOV introduce rights for groups as discussed in SLEP019 (scikit-learn#25753)

Co-authored-by: Julien <[email protected]>
Co-authored-by: Thomas J. Fan <[email protected]>

* MAINT Parameters validation for sklearn.neighbors.sort_graph_by_row_values (scikit-learn#26173)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* FIX improve convergence criterion for LogisticRegression(penalty="l1", solver='liblinear') (scikit-learn#25214)

Co-authored-by: Thomas J. Fan <[email protected]>
Co-authored-by: Olivier Grisel <[email protected]>

* MAINT Fix several typos in src and doc files (scikit-learn#26187)

* PERF fix overhead of _rescale_data in LinearRegression (scikit-learn#26207)

* ENH add Huber loss (scikit-learn#25966)

* MAINT Refactor GraphicalLasso and graphical_lasso (scikit-learn#26033)

Co-authored-by: Guillaume Lemaitre <[email protected]>
Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Cython linting (scikit-learn#25861)

* DOC Add JupyterLite button in example gallery (scikit-learn#25887)

* MAINT Parameters validation for sklearn.covariance.ledoit_wolf_shrinkage (scikit-learn#26200)

* MAINT Parameters validation for sklearn.datasets.load_linnerud (scikit-learn#26199)

* MAINT Parameters validation for sklearn.datasets.load_wine (scikit-learn#26196)

* DOC Added redirect to Provost paper + minor refactor (scikit-learn#26223)

* MAINT Parameter Validation for `covariance.graphical_lasso` (scikit-learn#25053)

Co-authored-by: Guillaume Lemaitre <[email protected]>
Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.datasets.load_digits (scikit-learn#26195)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.preprocessing.quantile_transform (scikit-learn#26144)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.model_selection.cross_validate (scikit-learn#26129)

Co-authored-by: jeremiedbb <[email protected]>

* DOC Adds TargetEncoder example explaining the internal CV (scikit-learn#26185)

Co-authored-by: Tim Head <[email protected]>

* spelling mistake corrected in documentation for script `plot_document_clustering.py` (scikit-learn#26228)

Co-authored-by: Olivier Grisel <[email protected]>

* FIX possible UnboundLocalError in fetch_openml (scikit-learn#26236)

* ENH Adds PyTorch support to LinearDiscriminantAnalysis (scikit-learn#25956)

Co-authored-by: Olivier Grisel <[email protected]>
Co-authored-by: Tim Head <[email protected]>

* MNT Use fixed version of Pyodide (scikit-learn#26247)

* MNT Reset transform_output default in example to fix doc build build (scikit-learn#26269)

* DOC Update example plot_nearest_centroid.py (scikit-learn#26263)

* MNT reduce JupyterLite build size (scikit-learn#26246)

* DOC term -> meth in GradientBoosting (scikit-learn#26225)

* MNT speed-up html-noplot build (scikit-learn#26245)

Co-authored-by: Thomas J. Fan <[email protected]>

* MNT Use copy=False when creating DataFrames (scikit-learn#26272)

* MAINT Parameters validation for sklearn.model_selection.permutation_test_score (scikit-learn#26230)

* MAINT Parameters validation for sklearn.datasets.clear_data_home (scikit-learn#26259)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.datasets.load_files (scikit-learn#26203)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.datasets.get_data_home (scikit-learn#26260)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* DOC Fix y-axis plot labels in permutation test score example (scikit-learn#26240)

* MAINT cython-lint ignores asv_benchmarks (scikit-learn#26282)

* MAINT Parameter validation for metrics.cluster._supervised (scikit-learn#26258)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* DOC Improve docstring for tol in SequentialFeatureSelector (scikit-learn#26271)

* MAINT Parameters validation for  sklearn.datasets.load_sample_image (scikit-learn#26226)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* DOC Consistent param type for pos_label (scikit-learn#26237)

* DOC Minor grammar fix to imputation docs (scikit-learn#26283)

* MAINT Parameters validation for sklearn.calibration.calibration_curve (scikit-learn#26198)

Co-authored-by: jeremie du boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.inspection.partial_dependence (scikit-learn#26209)

Co-authored-by: jeremie du boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.model_selection.validation_curve (scikit-learn#26229)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MAINT Parameters validation for sklearn.model_selection.learning_curve (scikit-learn#26227)

Co-authored-by: jeremie du boisberranger <[email protected]>

* MNT Remove deprecated pandas.api.types.is_sparse (scikit-learn#26287)

* CI Use Trusted Publishers for uploading wheels to PyPI (scikit-learn#26249)

* MAINT Parameters validation for sklearn.metrics.pairwise.manhattan_distances (scikit-learn#26122)

* PERF revert openmp use in csr_row_norms (scikit-learn#26275)

* MAINT Parameters validation for metrics.check_scoring (scikit-learn#26041)

Co-authored-by: Jérémie du Boisberranger <[email protected]>

* MNT Improve error message when checking classification target is of a non-regression type (scikit-learn#26281)

Co-authored-by: Adrin Jalali <[email protected]>
Co-authored-by: Thomas J. Fan <[email protected]>

* DOC fix link to User Guide encoder_infrequent_categories (scikit-learn#26309)

* MNT remove unused args in _predict_regression_tree_inplace_fast_dense (scikit-learn#26314)

* ENH Adds missing value support for trees (scikit-learn#23595)

Co-authored-by: Tim Head <[email protected]>
Co-authored-by: Julien Jerphanion <[email protected]>

* CLN Clean up logic in validate_data and cast_to_ndarray (scikit-learn#26300)

* MAINT refactor scorer using _get_response_values (scikit-learn#26037)

Co-authored-by: Jérémie du Boisberranger <[email protected]>
Co-authored-by: Adrin Jalali <[email protected]>

* DOC Add HGBDT to "see also" section of random forests (scikit-learn#26319)

Co-authored-by: ArturoAmorQ <[email protected]>
Co-authored-by: Tim Head <[email protected]>

* MNT Bump Github Action labeler version to use newer Node (scikit-learn#26302)

* FIX thresholds should not exceed 1.0 with probabilities in `roc_curve`  (scikit-learn#26194)

Co-authored-by: Olivier Grisel <[email protected]>

* ENH Allow for appropriate dtype us in `preprocessing.PolynomialFeatures` for sparse matrices (scikit-learn#23731)

Co-authored-by: Aleksandr Kokhaniukov <[email protected]>
Co-authored-by: Olivier Grisel <[email protected]>
Co-authored-by: Julien Jerphanion <[email protected]>
Co-authored-by: Thomas J. Fan <[email protected]>

* DOC Fix minor typo (scikit-learn#26327)

* MAINT bump minimum version for pytest (scikit-learn#26184)

Co-authored-by: Loïc Estève <[email protected]>
Co-authored-by: Adrin Jalali <[email protected]>
Co-authored-by: Olivier Grisel <[email protected]>

* DOC fix return type in isotonic_regression (scikit-learn#26332)

* FIX fix available_if for MultiOutputRegressor.partial_fit (scikit-learn#26333)

Co-authored-by: Guillaume Lemaitre <[email protected]>

* FIX make pipeline pass check_estimator (scikit-learn#26325)

* FEA Add multiclass support to `average_precision_score` (scikit-learn#24769)

Co-authored-by: Geoffrey <[email protected]>
Co-authored-by: gbolmier <[email protected]>
Co-authored-by: Guillaume Lemaitre <[email protected]>
Co-authored-by: Thomas J. Fan <[email protected]>

---------

Signed-off-by: Julien Jerphanion <[email protected]>
Co-authored-by: Jérémie du Boisberranger <[email protected]>
Co-authored-by: Meekail Zain <[email protected]>
Co-authored-by: Julien Jerphanion <[email protected]>
Co-authored-by: Olivier Grisel <[email protected]>
Co-authored-by: zeeshan lone <[email protected]>
Co-authored-by: jeremiedbb <[email protected]>
Co-authored-by: Adrin Jalali <[email protected]>
Co-authored-by: Shiva chauhan <[email protected]>
Co-authored-by: AymericBasset <[email protected]>
Co-authored-by: Maren Westermann <[email protected]>
Co-authored-by: Nishu Choudhary <[email protected]>
Co-authored-by: Guillaume Lemaitre <[email protected]>
Co-authored-by: Loïc Estève <[email protected]>
Co-authored-by: Benedek Harsanyi <[email protected]>
Co-authored-by: Pooja Subramaniam <[email protected]>
Co-authored-by: Rushil Desai <[email protected]>
Co-authored-by: Xiao Yuan <[email protected]>
Co-authored-by: Omar Salman <[email protected]>
Co-authored-by: 2357juan <[email protected]>
Co-authored-by: Théophile Baranger <[email protected]>
Co-authored-by: Thomas J. Fan <[email protected]>
Co-authored-by: Andreas Mueller <[email protected]>
Co-authored-by: Jovan Stojanovic <[email protected]>
Co-authored-by: Rahil Parikh <[email protected]>
Co-authored-by: Bharat Raghunathan <[email protected]>
Co-authored-by: Sortofamudkip <[email protected]>
Co-authored-by: Gleb Levitski <[email protected]>
Co-authored-by: Christian Lorentzen <[email protected]>
Co-authored-by: Ashwin Mathur <[email protected]>
Co-authored-by: Sahil Gupta <[email protected]>
Co-authored-by: Veghit <[email protected]>
Co-authored-by: Itay <[email protected]>
Co-authored-by: precondition <[email protected]>
Co-authored-by: Marc Torrellas Socastro <[email protected]>
Co-authored-by: Dominic Fox <[email protected]>
Co-authored-by: futurewarning <[email protected]>
Co-authored-by: Yao Xiao <[email protected]>
Co-authored-by: Joey Ortiz <[email protected]>
Co-authored-by: Tim Head <[email protected]>
Co-authored-by: Christian Veenhuis <[email protected]>
Co-authored-by: adienes <[email protected]>
Co-authored-by: Dave Berenbaum <[email protected]>
Co-authored-by: Lene Preuss <[email protected]>
Co-authored-by: A.H.Mansouri <[email protected]>
Co-authored-by: Boris Feld <[email protected]>
Co-authored-by: Carla J <[email protected]>
Co-authored-by: windiana42 <[email protected]>
Co-authored-by: mdarii <[email protected]>
Co-authored-by: murezzda <[email protected]>
Co-authored-by: Peter Piontek <[email protected]>
Co-authored-by: John Pangas <[email protected]>
Co-authored-by: Dmitry Nesterov <[email protected]>
Co-authored-by: Yuchen Zhou <[email protected]>
Co-authored-by: Ekaterina Butyugina <[email protected]>
Co-authored-by: Jiawei Zhang <[email protected]>
Co-authored-by: Ansam Zedan <[email protected]>
Co-authored-by: genvalen <[email protected]>
Co-authored-by: farhan khan <[email protected]>
Co-authored-by: Arturo Amor <[email protected]>
Co-authored-by: Jiawei Zhang <[email protected]>
Co-authored-by: Ralf Gommers <[email protected]>
Co-authored-by: Jessicakk0711 <[email protected]>
Co-authored-by: Ankur Singh <[email protected]>
Co-authored-by: Seoeun(Sun☀️) Hong <[email protected]>
Co-authored-by: Nightwalkx <[email protected]>
Co-authored-by: VIGNESH D <[email protected]>
Co-authored-by: Vincent-violet <[email protected]>
Co-authored-by: Elabonga Atuo <[email protected]>
Co-authored-by: Tom Dupré la Tour <[email protected]>
Co-authored-by: André Pedersen <[email protected]>
Co-authored-by: Ashish Dutt <[email protected]>
Co-authored-by: Phil <[email protected]>
Co-authored-by: Stanislav (Stanley) Modrak <[email protected]>
Co-authored-by: hujiahong726 <[email protected]>
Co-authored-by: James Dean <[email protected]>
Co-authored-by: ArturoAmorQ <[email protected]>
Co-authored-by: Aleksandr Kokhaniukov <[email protected]>
Co-authored-by: c-git <[email protected]>
Co-authored-by: annegnx <[email protected]>
Co-authored-by: Geoffrey <[email protected]>
Co-authored-by: gbolmier <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module:linear_model Waiting for Second Reviewer First reviewer is done, need a second one!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deprecate n_iter in favor of max_iter for consistency
4 participants