Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

MAINT Reoder what's new for 1.5 #29039

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 4 commits into from
May 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions 10 doc/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -167,20 +167,16 @@ <h4 class="sk-landing-subheader text-white font-italic mb-3">Machine Learning in
<h4 class="sk-landing-call-header">News</h4>
<ul class="sk-landing-call-list list-unstyled">
<li><strong>On-going development:</strong>
<a href="whats_new/v1.5.html#version-1-5-0">scikit-learn 1.5 (Changelog)</a>
<a href="whats_new/v1.6.html#version-1-6-0">scikit-learn 1.6 (Changelog)</a>
</li>
<li><strong>May 2024.</strong> scikit-learn 1.5.0 is available for download (<a href="whats_new/v1.5.html#version-1-5-0">Changelog</a>).
</li>
<li><strong>April 2024.</strong> scikit-learn 1.4.2 is available for download (<a href="whats_new/v1.4.html#version-1-4-2">Changelog</a>).
</li>
<li><strong>February 2024.</strong> scikit-learn 1.4.1.post1 is available for download (<a href="whats_new/v1.4.html#version-1-4-1-post1">Changelog</a>).
</li>
<li><strong>January 2024.</strong> scikit-learn 1.4.0 is available for download (<a href="whats_new/v1.4.html#version-1-4-0">Changelog</a>).
</li>
<li><strong>October 2023.</strong> scikit-learn 1.3.2 is available for download (<a href="whats_new/v1.3.html#version-1-3-2">Changelog</a>).
</li>
<li><strong>September 2023.</strong> scikit-learn 1.3.1 is available for download (<a href="whats_new/v1.3.html#version-1-3-1">Changelog</a>).
</li>
<li><strong>June 2023.</strong> scikit-learn 1.3.0 is available for download (<a href="whats_new/v1.3.html#version-1-3-0">Changelog</a>).
</li>
<li><strong>All releases:</strong>
<a href="https://scikit-learn.org/dev/whats_new.html"><strong>What's new</strong> (Changelog)</a>
</li>
Expand Down
143 changes: 85 additions & 58 deletions 143 doc/whats_new/v1.5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
Version 1.5
===========

..
-- UNCOMMENT WHEN 1.5.0 IS RELEASED --
For a short description of the main highlights of the release, please refer to
:ref:`sphx_glr_auto_examples_release_highlights_plot_release_highlights_1_5_0.py`.
For a short description of the main highlights of the release, please refer to
:ref:`sphx_glr_auto_examples_release_highlights_plot_release_highlights_1_5_0.py`.

.. include:: changelog_legend.inc

Expand All @@ -20,7 +18,7 @@ Version 1.5
Version 1.5.0
=============

**In Development**
**May 2024**

Security
--------
Expand Down Expand Up @@ -59,6 +57,10 @@ Changed models
Changes impacting many modules
------------------------------

- |Fix| Raise `ValueError` with an informative error message when passing 1D
sparse arrays to methods that expect 2D sparse inputs.
:pr:`28988` by :user:`Olivier Grisel <ogrisel>`.

- |API| The name of the input of the `inverse_transform` method of estimators has been
standardized to `X`. As a consequence, `Xt` is deprecated and will be removed in
version 1.7 in the following estimators: :class:`cluster.FeatureAgglomeration`,
Expand All @@ -67,10 +69,6 @@ Changes impacting many modules
:class:`pipeline.Pipeline` and :class:`preprocessing.KBinsDiscretizer`.
:pr:`28756` by :user:`Will Dean <wd60622>`.

- |Fix| Raise `ValueError` with an informative error message when passing 1D
sparse arrays to methods that expect 2D sparse inputs.
:pr:`28988` by :user:`Olivier Grisel <ogrisel>`.

Support for Array API
---------------------

Expand All @@ -82,8 +80,8 @@ See :ref:`array_api` for more details.
**Functions:**

- :func:`sklearn.metrics.r2_score` now supports Array API compliant inputs.
:pr:`27904` by :user:`Eric Lindgren <elindgren>`, `Franck Charras <fcharras>`,
`Olivier Grisel <ogrisel>` and `Tim Head <betatim>`.
:pr:`27904` by :user:`Eric Lindgren <elindgren>`, :user:`Franck Charras <fcharras>`,
:user:`Olivier Grisel <ogrisel>` and :user:`Tim Head <betatim>`.

**Classes:**

Expand All @@ -103,8 +101,8 @@ Unless we discover a major blocker, setuptools support will be dropped in
scikit-learn 1.6. The 1.5.x releases will support building scikit-learn with
setuptools.

Meson support for building scikit-learn was added in :pr:`28040` by :user:`Loïc
Estève <lesteve>`
Meson support for building scikit-learn was added in :pr:`28040` by
:user:`Loïc Estève <lesteve>`

Metadata Routing
----------------
Expand All @@ -120,7 +118,8 @@ more details.
now support metadata routing. The fit methods now
accept ``**fit_params`` which are passed to the underlying estimators
via their `fit` methods.
:pr:`28432` by :user:`Adam Li <adam2392>` and :user:`Benjamin Bossan <BenjaminBossan>`.
:pr:`28432` by :user:`Adam Li <adam2392>` and
:user:`Benjamin Bossan <BenjaminBossan>`.

- |Feature| :class:`linear_model.RidgeCV` and
:class:`linear_model.RidgeClassifierCV` now support metadata routing in
Expand All @@ -144,8 +143,8 @@ more details.

- |Feature| :class:`pipeline.FeatureUnion` now supports metadata routing in its
``fit`` and ``fit_transform`` methods and route metadata to the underlying
transformers' ``fit`` and ``fit_transform``. :pr:`28205` by :user:`Stefanie
Senger <StefanieSenger>`.
transformers' ``fit`` and ``fit_transform``.
:pr:`28205` by :user:`Stefanie Senger <StefanieSenger>`.

- |Fix| Fix an issue when resolving default routing requests set via class
attributes.
Expand All @@ -156,8 +155,8 @@ more details.
:pr:`28651` by `Adrin Jalali`_.

- |FIX| Prevent a `RecursionError` when estimators with the default `scoring`
param (`None`) route metadata. :pr:`28712` by :user:`Stefanie Senger
<StefanieSenger>`.
param (`None`) route metadata.
:pr:`28712` by :user:`Stefanie Senger <StefanieSenger>`.

Changelog
---------
Expand Down Expand Up @@ -217,19 +216,20 @@ Changelog
:mod:`sklearn.cross_decomposition`
..................................

- |API| Deprecates `Y` in favor of `y` in the methods fit, transform and inverse_transform of:
- |Fix| The `coef_` fitted attribute of :class:`cross_decomposition.PLSRegression`
now takes into account both the scale of `X` and `Y` when `scale=True`. Note that
the previous predicted values were not affected by this bug.
:pr:`28612` by :user:`Guillaume Lemaitre <glemaitre>`.

- |API| Deprecates `Y` in favor of `y` in the methods fit, transform and
inverse_transform of:
:class:`cross_decomposition.PLSRegression`.
:class:`cross_decomposition.PLSCanonical`,
:class:`cross_decomposition.CCA`,
and :class:`cross_decomposition.PLSSVD`.
`Y` will be removed in version 1.7.
:pr:`28604` by :user:`David Leon <davidleon123>`.

- |Fix| The `coef_` fitted attribute of :class:`cross_decomposition.PLSRegression`
now takes into account both the scale of `X` and `Y` when `scale=True`. Note that
the previous predicted values were not affected by this bug.
:pr:`28612` by :user:`Guillaume Lemaitre <glemaitre>`.

:mod:`sklearn.datasets`
.......................

Expand All @@ -245,7 +245,8 @@ Changelog
:func:`datasets.fetch_rcv1`,
and :func:`datasets.fetch_species_distributions`.
By default, the functions will retry up to 3 times in case of network failures.
:pr:`28160` by :user:`Zhehao Liu <MaxwellLZH>` and :user:`Filip Karlo Došilović <fkdosilovic>`.
:pr:`28160` by :user:`Zhehao Liu <MaxwellLZH>` and
:user:`Filip Karlo Došilović <fkdosilovic>`.

:mod:`sklearn.decomposition`
............................
Expand Down Expand Up @@ -350,13 +351,8 @@ Changelog

- |Fix| :class:`linear_model.ElasticNet`, :class:`linear_model.ElasticNetCV`,
:class:`linear_model.Lasso` and :class:`linear_model.LassoCV` now explicitly don't
accept large sparse data formats. :pr:`27576` by :user:`Stefanie Senger
<StefanieSenger>`.

- |API| :class:`linear_model.RidgeCV` and :class:`linear_model.RidgeClassifierCV`
will now allow `alpha=0` when `cv != None`, which is consistent with
:class:`linear_model.Ridge` and :class:`linear_model.RidgeClassifier`.
:pr:`28425` by :user:`Lucy Liu <lucyleeow>`.
accept large sparse data formats.
:pr:`27576` by :user:`Stefanie Senger <StefanieSenger>`.

- |Fix| :class:`linear_model.RidgeCV` and :class:`RidgeClassifierCV` correctly pass
`sample_weight` to the underlying scorer when `cv` is None.
Expand All @@ -366,6 +362,11 @@ Changelog
will now always be `None` when `tol` is set, as `n_nonzero_coefs` is ignored in
this case. :pr:`28557` by :user:`Lucy Liu <lucyleeow>`.

- |API| :class:`linear_model.RidgeCV` and :class:`linear_model.RidgeClassifierCV`
will now allow `alpha=0` when `cv != None`, which is consistent with
:class:`linear_model.Ridge` and :class:`linear_model.RidgeClassifier`.
:pr:`28425` by :user:`Lucy Liu <lucyleeow>`.

- |API| Passing `average=0` to disable averaging is deprecated in
:class:`linear_model.PassiveAggressiveClassifier`,
:class:`linear_model.PassiveAggressiveRegressor`,
Expand All @@ -382,7 +383,8 @@ Changelog
:pr:`28703` by :user:`Christian Lorentzen <lorentzenchr>`.

- |API| `store_cv_values` and `cv_values_` are deprecated in favor of
`store_cv_results` and `cv_results_` in `RidgeCV` and `RidgeClassifierCV`.
`store_cv_results` and `cv_results_` in `~linear_model.RidgeCV` and
`~linear_model.RidgeClassifierCV`.
:pr:`28915` by :user:`Lucy Liu <lucyleeow>`.

:mod:`sklearn.manifold`
Expand All @@ -401,8 +403,15 @@ Changelog
:pr:`27456` by :user:`Venkatachalam N <venkyyuvy>`, :user:`Kshitij Mathur <Kshitij68>`
and :user:`Julian Libiseller-Egger <julibeg>`.

- |Feature| :func:`sklearn.metrics.check_scoring` now returns a multi-metric scorer
when `scoring` as a `dict`, `set`, `tuple`, or `list`. :pr:`28360` by `Thomas Fan`_.

- |Feature| :func:`metrics.d2_log_loss_score` has been added which
calculates the D^2 score for the log loss.
:pr:`28351` by :user:`Omar Salman <OmarManzoor>`.

- |Efficiency| Improve efficiency of functions :func:`~metrics.brier_score_loss`,
:func:`~metrics.calibration_curve`, :func:`~metrics.det_curve`,
:func:`~calibration.calibration_curve`, :func:`~metrics.det_curve`,
:func:`~metrics.precision_recall_curve`,
:func:`~metrics.roc_curve` when `pos_label` argument is specified.
Also improve efficiency of methods `from_estimator`
Expand All @@ -411,9 +420,6 @@ Changelog
:class:`~calibration.CalibrationDisplay`.
:pr:`28051` by :user:`Pierre de Fréminville <pidefrem>`.

- |Feature| :func:`sklearn.metrics.check_scoring` now returns a multi-metric scorer
when `scoring` as a `dict`, `set`, `tuple`, or `list`. :pr:`28360` by `Thomas Fan`_.

- |Fix|:class:`metrics.classification_report` now shows only accuracy and not
micro-average when input is a subset of labels.
:pr:`28399` by :user:`Vineet Joshi <vjoshi253>`.
Expand All @@ -422,8 +428,8 @@ Changelog
computation. This is likely to affect neighbor-based algorithms.
:pr:`28692` by :user:`Loïc Estève <lesteve>`.

- |API| :func:`metrics.precision_recall_curve` deprecated the keyword argument `probas_pred`
in favor of `y_score`. `probas_pred` will be removed in version 1.7.
- |API| :func:`metrics.precision_recall_curve` deprecated the keyword argument
`probas_pred` in favor of `y_score`. `probas_pred` will be removed in version 1.7.
:pr:`28092` by :user:`Adam Li <adam2392>`.

- |API| :func:`metrics.brier_score_loss` deprecated the keyword argument `y_prob`
Expand All @@ -434,10 +440,6 @@ Changelog
is deprecated and will raise an error in v1.7.
:pr:`18555` by :user:`Kaushik Amar Das <cozek>`.

- |Feature| :func:`metrics.d2_log_loss_score` has been added which
calculates the D^2 score for the log loss.
:pr:`28351` by :user:`Omar Salman <OmarManzoor>`.

:mod:`sklearn.mixture`
......................

Expand All @@ -460,22 +462,22 @@ Changelog
raises a warning when groups are passed in to :term:`split`. :pr:`28210` by
`Thomas Fan`_.

- |Enhancement| The HTML diagram representation of
:class:`~model_selection.GridSearchCV`,
:class:`~model_selection.RandomizedSearchCV`,
:class:`~model_selection.HalvingGridSearchCV`, and
:class:`~model_selection.HalvingRandomSearchCV` will show the best estimator when
`refit=True`. :pr:`28722` by :user:`Yao Xiao <Charlie-XIAO>` and `Thomas Fan`_.

- |Fix| the ``cv_results_`` attribute (of :class:`model_selection.GridSearchCV`) now
returns masked arrays of the appropriate NumPy dtype, as opposed to always returning
dtype ``object``. :pr:`28352` by :user:`Marco Gorelli<MarcoGorelli>`.

- |Fix| :func:`sklearn.model_selection.train_test_score` works with Array API inputs.
- |Fix| :func:`model_selection.train_test_split` works with Array API inputs.
Previously indexing was not handled correctly leading to exceptions when using strict
implementations of the Array API like CuPY.
:pr:`28407` by :user:`Tim Head <betatim>`.

- |Enhancement| The HTML diagram representation of
:class:`~model_selection.GridSearchCV`,
:class:`~model_selection.RandomizedSearchCV`,
:class:`~model_selection.HalvingGridSearchCV`, and
:class:`~model_selection.HalvingRandomSearchCV` will show the best estimator when
`refit=True`. :pr:`28722` by :user:`Yao Xiao <Charlie-XIAO>` and `Thomas Fan`_.

:mod:`sklearn.multioutput`
..........................

Expand Down Expand Up @@ -518,6 +520,10 @@ Changelog
:mod:`sklearn.utils`
....................

- |Fix| :func:`~utils._safe_indexing` now works correctly for polars DataFrame when
`axis=0` and supports indexing polars Series.
:pr:`28521` by :user:`Yao Xiao <Charlie-XIAO>`.

- |API| :data:`utils.IS_PYPY` is deprecated and will be removed in version 1.7.
:pr:`28768` by :user:`Jérémie du Boisberranger <jeremiedbb>`.

Expand All @@ -529,15 +535,11 @@ Changelog
`joblib.register_parallel_backend` instead.
:pr:`28847` by :user:`Jérémie du Boisberranger <jeremiedbb>`.

- |API| Raise informative warning message in :func:`type_of_target` when
represented as bytes. For classifiers and classification metrics, labels encoded
- |API| Raise informative warning message in :func:`~utils.multiclass.type_of_target`
when represented as bytes. For classifiers and classification metrics, labels encoded
as bytes is deprecated and will raise an error in v1.7.
:pr:`18555` by :user:`Kaushik Amar Das <cozek>`.

- |Fix| :func:`~utils._safe_indexing` now works correctly for polars DataFrame when
`axis=0` and supports indexing polars Series.
:pr:`28521` by :user:`Yao Xiao <Charlie-XIAO>`.

- |API| :func:`utils.estimator_checks.check_estimator_sparse_data` was split into two
functions: :func:`utils.estimator_checks.check_estimator_sparse_matrix` and
:func:`utils.estimator_checks.check_estimator_sparse_array`.
Expand All @@ -548,4 +550,29 @@ Changelog
Thanks to everyone who has contributed to the maintenance and improvement of
the project since version 1.4, including:

TODO: update at the time of the release.
101AlexMartin, Abdulaziz Aloqeely, Adam J. Stewart, Adam Li, Adarsh Wase, Adrin
Jalali, Advik Sinha, Akash Srivastava, Akihiro Kuno, Alan Guedes, Alexis
IMBERT, Ana Paula Gomes, Anderson Nelson, Andrei Dzis, Arnaud Capitaine, Arturo
Amor, Aswathavicky, Bharat Raghunathan, Brendan Lu, Bruno, Cemlyn, Christian
Lorentzen, Christian Veenhuis, Cindy Liang, Claudio Salvatore Arcidiacono,
Connor Boyle, Conrad Stevens, crispinlogan, davidleon123, DerWeh, Dipan Banik,
Duarte São José, DUONG, Eddie Bergman, Edoardo Abati, Egehan Gunduz, Emad
Izadifar, Erich Schubert, Filip Karlo Došilović, Franck Charras, Gael
Varoquaux, Gönül Aycı, Guillaume Lemaitre, Gyeongjae Choi, Harmanan Kohli,
Hong Xiang Yue, Ian Faust, itsaphel, Ivan Wiryadi, Jack Bowyer, Javier Marin
Tur, Jérémie du Boisberranger, Jérôme Dockès, Jiawei Zhang, Joel Nothman,
Johanna Bayer, John Cant, John Hopfensperger, jpcars, jpienaar-tuks, Julian
Libiseller-Egger, Julien Jerphanion, KanchiMoe, Kaushik Amar Das, keyber,
Koustav Ghosh, kraktus, Krsto Proroković, ldwy4, LeoGrin, lihaitao, Linus
Sommer, Loic Esteve, Lucy Liu, Lukas Geiger, manasimj, Manuel Labbé, Manuel
Morales, Marco Edward Gorelli, Maren Westermann, Marija Vlajic, Mark Elliot,
Mateusz Sokół, Mavs, Michael Higgins, Michael Mayer, miguelcsilva, Miki
Watanabe, Mohammed Hamdy, myenugula, Nathan Goldbaum, Naziya Mahimkar, Neto,
Olivier Grisel, Omar Salman, Patrick Wang, Pierre de Fréminville, Priyash
Shah, Puneeth K, Rahil Parikh, raisadz, Raj Pulapakura, Ralf Gommers, Ralph
Urlus, Randolf Scholz, Reshama Shaikh, Richard Barnes, Rodrigo Romero, Saad
Mahmood, Salim Dohri, Sandip Dutta, SarahRemus, scikit-learn-bot, Shaharyar
Choudhry, Shubham, sperret6, Stefanie Senger, Suha Siddiqui, Thanh Lam DANG,
thebabush, Thomas J. Fan, Thomas Lazarus, Thomas Li, Tialo, Tim Head, Tuhin
Sharma, VarunChaduvula, Vineet Joshi, virchan, Waël Boukhobza, Weyb, Will
Dean, Xavier Beltran, Xiao Yuan, Xuefeng Xu, Yao Xiao
Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.