@@ -19,10 +19,24 @@ parameters, may produce different models from the previous version. This often
19
19
occurs due to changes in the modelling logic (bug fixes or enhancements), or in
20
20
random sampling procedures.
21
21
22
- - |Fix | :class: `manifold.TSNE ` now throws a `ValueError ` when fit with
23
- `perplexity>=n_samples ` to ensure mathematical correctness of the algorithm.
24
- :pr: `10805 ` by :user: `Mathias Andersen <MrMathias> ` and
25
- :pr: `23471 ` by :user: `Meekail Zain <micky774> `
22
+ - |Enhancement | The default `eigen_tol ` for :class: `cluster.SpectralClustering `,
23
+ :class: `manifold.SpectralEmbedding `, :func: `cluster.spectral_clustering `,
24
+ and :func: `manifold.spectral_embedding ` is now `None ` when using the `'amg' `
25
+ or `'lobpcg' ` solvers. This change improves numerical stability of the
26
+ solver, but may result in a different model.
27
+
28
+ - |Enhancement | :class: `linear_model.GammaRegressor `,
29
+ :class: `linear_model.PoissonRegressor ` and :class: `linear_model.TweedieRegressor `
30
+ can reach higher precision with the lbfgs solver, in particular when `tol ` is set
31
+ to a tiny value. Moreover, `verbose ` is now properly propagated to L-BFGS-B.
32
+ :pr: `23619 ` by :user: `Christian Lorentzen <lorentzenchr> `.
33
+
34
+ - |Fix | Make sign of `components_ ` deterministic in :class: `decomposition.SparsePCA `.
35
+ :pr: `23935 ` by :user: `Guillaume Lemaitre <glemaitre> `.
36
+
37
+ - |Fix | The `components_ ` signs in :class: `decomposition.FastICA ` might differ.
38
+ It is now consistent and deterministic with all SVD solvers.
39
+ :pr: `22527 ` by :user: `Meekail Zain <micky774> ` and `Thomas Fan `_.
26
40
27
41
Changes impacting all modules
28
42
-----------------------------
@@ -77,29 +91,23 @@ Changelog
77
91
:pr: `11860 ` by :user: `Pierre Ablin <pierreablin> `,
78
92
:pr: `22527 ` by :user: `Meekail Zain <micky774> ` and `Thomas Fan `_.
79
93
80
- :mod: `sklearn.feature_selection `
81
- ................................
82
- - |Fix | :class: `feature_selection.SelectFromModel ` defaults to selection
83
- threshold 1e-5 when the estimator is either :class: `linear_model.ElasticNet `
84
- or :class: `linear_model.ElasticNetCV ` with `l1_ratio ` equals 1 or
85
- :class: `linear_model.LassoCV `. :pr: `23636 ` by :user: `Hao Chun Chang
86
- <haochunchang> `
87
-
88
- :mod: `sklearn.impute `
89
- .....................
90
-
91
- - |Fix | :class: `impute.SimpleImputer ` uses the dtype seen in `fit ` for
92
- `transform ` when the dtype is object. :pr: `22063 ` by `Thomas Fan `_.
93
-
94
94
:mod: `sklearn.linear_model `
95
95
...........................
96
96
97
- - |Fix | Use dtype-aware tolerances for the validation of gram matrices (passed by users
98
- or precomputed). :pr: `22059 ` by :user: `Malte S. Kurz <MalteKurz> `.
97
+ - |Enhancement | :class: `linear_model.GammaRegressor `,
98
+ :class: `linear_model.PoissonRegressor ` and :class: `linear_model.TweedieRegressor `
99
+ can reach higher precision with the lbfgs solver, in particular when `tol ` is set
100
+ to a tiny value. Moreover, `verbose ` is now properly propagated to L-BFGS-B.
101
+ :pr: `23619 ` by :user: `Christian Lorentzen <lorentzenchr> `.
99
102
100
- - |Fix | Fixed an error in :class: `linear_model.LogisticRegression ` with
101
- `solver="newton-cg" `, `fit_intercept=True `, and a single feature. :pr: `23608 `
102
- by `Tom Dupre la Tour `_.
103
+ - |API | The default value for the `solver ` parameter in
104
+ :class: `linear_model.QuantileRegressor ` will change from `"interior-point" `
105
+ to `"highs" ` in version 1.4.
106
+ :pr: `23637 ` by :user: `Guillaume Lemaitre <glemaitre> `.
107
+
108
+ - |API | String option `"none" ` is deprecated for `penalty ` argument
109
+ in :class: `linear_model.LogisticRegression `, and will be removed in version 1.4.
110
+ Use `None ` instead. :pr: `23877 ` by :user: `Zhehao Liu <MaxwellLZH> `.
103
111
104
112
:mod: `sklearn.metrics `
105
113
......................
@@ -109,8 +117,28 @@ Changelog
109
117
of a binary classification problem. :pr: `22518 ` by
110
118
:user: `Arturo Amor <ArturoAmorQ> `.
111
119
112
- - |Fix | Fixed error message of :class: `metrics.coverage_error ` for 1D array input.
113
- :pr: `23548 ` by :user: `Hao Chun Chang <haochunchang> `.
120
+ - |Fix | :func: `metrics.ndcg_score ` will now trigger a warning when the `y_true `
121
+ value contains a negative value. Users may still use negative values, but the
122
+ result may not be between 0 and 1. Starting in v1.4, passing in negative
123
+ values for `y_true ` will raise an error.
124
+ :pr: `22710 ` by :user: `Conroy Trinh <trinhcon> ` and
125
+ :pr: `23461 ` by :user: `Meekail Zain <micky774> `.
126
+
127
+ :mod: `sklearn.multioutput `
128
+ ..........................
129
+
130
+ - |Feature | Added boolean `verbose ` flag to classes:
131
+ :class: `multioutput.ClassifierChain ` and :class: `multioutput.RegressorChain `.
132
+ :pr: `23977 ` by :user: `Eric Fiegel <efiegel> `,
133
+ :user: `Chiara Marmo <cmarmo> `,
134
+ :user: `Lucy Liu <lucyleeow> `, and
135
+ :user: `Guillaume Lemaitre <glemaitre> `.
136
+
137
+ :mod: `sklearn.naive_bayes `
138
+ ..........................
139
+
140
+ - |Feature | Add methods `predict_joint_log_proba ` to all naive Bayes classifiers.
141
+ :pr: `23683 ` by :user: `Andrey Melnik <avm19> `.
114
142
115
143
:mod: `sklearn.neighbors `
116
144
........................
@@ -130,9 +158,8 @@ Changelog
130
158
:mod: `sklearn.tree `
131
159
...................
132
160
133
- - |Fix | Fixed invalid memory access bug during fit in
134
- :class: `tree.DecisionTreeRegressor ` and :class: `tree.DecisionTreeClassifier `.
135
- :pr: `23273 ` by `Thomas Fan `_.
161
+ - |Enhancement | :func: `tree.plot_tree `, :func: `tree.export_graphviz ` now uses
162
+ a lower case `x[i] ` to represent feature `i `. :pr: `23480 ` by `Thomas Fan `_.
136
163
137
164
:mod: `sklearn.utils `
138
165
....................
@@ -145,10 +172,33 @@ Changelog
145
172
:mod: `sklearn.manifold `
146
173
.......................
147
174
148
- - |Fix | :class: `manifold.TSNE ` now throws a `ValueError ` when fit with
149
- `perplexity>=n_samples ` to ensure mathematical correctness of the algorithm.
150
- :pr: `10805 ` by :user: `Mathias Andersen <MrMathias> ` and
151
- :pr: `23471 ` by :user: `Meekail Zain <micky774> `
175
+ - |Feature | Adds option to use the normalized stress in `manifold.MDS `. This is
176
+ enabled by setting the new `normalize ` parameter to `True `.
177
+ :pr: `10168 ` by :user: `Łukasz Borchmann <Borchmann> `,
178
+ :pr: `12285 ` by :user: `Matthias Miltenberger <mattmilten> `,
179
+ :pr: `13042 ` by :user: `Matthieu Parizy <matthieu-pa> `,
180
+ :pr: `18094 ` by :user: `Roth E Conrad <rotheconrad> ` and
181
+ :pr: `22562 ` by :user: `Meekail Zain <micky774> `.
182
+
183
+ - |Enhancement | Adds `eigen_tol ` parameter to
184
+ :class: `manifold.SpectralEmbedding `. Both :func: `manifold.spectral_embedding `
185
+ and :class: `manifold.SpectralEmbedding ` now propogate `eigen_tol ` to all
186
+ choices of `eigen_solver `. Includes a new option `eigen_tol="auto" `
187
+ and begins deprecation to change the default from `eigen_tol=0 ` to
188
+ `eigen_tol="auto" ` in version 1.3.
189
+ :pr: `23210 ` by :user: `Meekail Zain <micky774> `.
190
+
191
+ :mod: `sklearn.naive_bayes `
192
+ ..........................
193
+
194
+ - |Enhancement | A new parameter `force_alpha ` was added to
195
+ :class: `naive_bayes.BernoulliNB `, :class: `naive_bayes.ComplementNB `,
196
+ :class: `naive_bayes.CategoricalNB `, and :class: `naive_bayes.MultinomialNB `,
197
+ allowing user to set parameter alpha to a very small number, greater or equal
198
+ 0, which was earlier automatically changed to `1e-10 ` instead.
199
+ :pr: `16747 ` by :user: `arka204 `,
200
+ :pr: `18805 ` by :user: `hongshaoyang `,
201
+ :pr: `22269 ` by :user: `Meekail Zain <micky774> `.
152
202
153
203
Code and Documentation Contributors
154
204
-----------------------------------
0 commit comments