@@ -76,6 +76,17 @@ Changelog
76
76
- |Fix | :func: `datasets.fetch_openml ` is now thread safe. Data is first downloaded
77
77
to a temporary subfolder and then renamed.
78
78
:pr: `21833 ` by :user: `Siavash Rezazadeh <siavrez> `.
79
+ - |Enhancement | :func: `datasets.load_diabetes ` now accepts the parameter
80
+ ``scaled ``, to allow loading unscaled data. The scaled version of this
81
+ dataset is now computed from the unscaled data, and can produce slightly
82
+ different different results that in previous version (within a 1e-4 absolute
83
+ tolerance).
84
+ :pr: `16605 ` by :user: `Mandy Gu <happilyeverafter95> `.
85
+
86
+ - |Enhancement | :func: `datasets.fetch_openml ` now has two optional arguments
87
+ `n_retries ` and `delay `. By default, :func: `datasets.fetch_openml ` will retry
88
+ 3 times in case of a network failure with a delay between each try.
89
+ :pr: `21901 ` by :user: `Rileran <rileran> `.
79
90
80
91
:mod: `sklearn.decomposition `
81
92
............................
@@ -85,18 +96,6 @@ Changelog
85
96
get accurate results when the number of features is large.
86
97
:pr: `21109 ` by :user: `Smile <x-shadow-man> `.
87
98
88
- - |Fix | :class: `decomposition.FastICA ` now validates input parameters in `fit ` instead of `__init__ `.
89
- :pr: `21432 ` by :user: `Hannah Bohle <hhnnhh> ` and :user: `Maren Westermann <marenwestermann> `.
90
-
91
- - |Fix | :class: `decomposition.FactorAnalysis ` now validates input parameters
92
- in `fit ` instead of `__init__ `.
93
- :pr: `21713 ` by :user: `Haya <HayaAlmutairi> ` and
94
- :user: `Krum Arnaudov <krumeto> `.
95
-
96
- - |Fix | :class: `decomposition.KernelPCA ` now validates input parameters in
97
- `fit ` instead of `__init__ `.
98
- :pr: `21567 ` by :user: `Maggie Chege <MaggieChege> `.
99
-
100
99
- |API | Adds :term: `get_feature_names_out ` to all transformers in the
101
100
:mod: `~sklearn.decomposition ` module:
102
101
:class: `~sklearn.decomposition.DictionaryLearning `,
@@ -118,16 +117,23 @@ Changelog
118
117
(which behaves like `'arbitrary-variance' `) to `'unit-variance' ` in version 1.3.
119
118
:pr: `19490 ` by :user: `Facundo Ferrin <fferrin> ` and :user: `Julien Jerphanion <jjerphan> `
120
119
120
+ - |Fix | :class: `decomposition.FastICA ` now validates input parameters in `fit `
121
+ instead of `__init__ `.
122
+ :pr: `21432 ` by :user: `Hannah Bohle <hhnnhh> ` and
123
+ :user: `Maren Westermann <marenwestermann> `.
124
+
125
+ - |Fix | :class: `decomposition.FactorAnalysis ` now validates input parameters
126
+ in `fit ` instead of `__init__ `.
127
+ :pr: `21713 ` by :user: `Haya <HayaAlmutairi> ` and
128
+ :user: `Krum Arnaudov <krumeto> `.
129
+
130
+ - |Fix | :class: `decomposition.KernelPCA ` now validates input parameters in
131
+ `fit ` instead of `__init__ `.
132
+ :pr: `21567 ` by :user: `Maggie Chege <MaggieChege> `.
133
+
121
134
:mod: `sklearn.ensemble `
122
135
.......................
123
136
124
- - |Fix | :class: `ensemble.RandomForestClassifier `,
125
- :class: `ensemble.RandomForestRegressor `,
126
- :class: `ensemble.ExtraTreesClassifier `, :class: `ensemble.ExtraTreesRegressor `,
127
- and :class: `ensemble.RandomTreesEmbedding ` now raise a ``ValueError `` when
128
- ``bootstrap=False `` and ``max_samples `` is not ``None ``.
129
- :pr: `21295 ` :user: `Haoyin Xu <PSSF23> `.
130
-
131
137
- |API | Changed the default of :func: `max_features ` to 1.0 for
132
138
:class: `ensemble.RandomForestRegressor ` and to `"sqrt" ` for
133
139
:class: `ensemble.RandomForestClassifier `. Note that these give the same fit
@@ -137,10 +143,18 @@ Changelog
137
143
:class: `ensemble.ExtraTreesClassifier `.
138
144
:pr: `20803 ` by :user: `Brian Sun <bsun94> `.
139
145
140
- - |Fix | Solve a bug in :class: `ensemble.GradientBoostingClassifier ` where the
141
- exponential loss was computing the positive gradient instead of the
142
- negative one.
143
- :pr: `22050 ` by :user: `Guillaume Lemaitre <glemaitre> `.
146
+ :mod: `sklearn.feature_extraction `
147
+ .................................
148
+
149
+ - |API | :func: `decomposition.FastICA ` now supports unit variance for whitening.
150
+ The default value of its `whiten ` argument will change from `True `
151
+ (which behaves like `'arbitrary-variance' `) to `'unit-variance' ` in version 1.3.
152
+ :pr: `19490 ` by :user: `Facundo Ferrin <fferrin> ` and
153
+ :user: `Julien Jerphanion <jjerphan> `.
154
+
155
+ - |Fix | :class: `feature_extraction.FeatureHasher ` now validates input parameters
156
+ in `transform ` instead of `__init__ `. :pr: `21573 ` by
157
+ :user: `Hannah Bohle <hhnnhh> ` and :user: `Maren Westermann <marenwestermann> `.
144
158
145
159
:mod: `sklearn.feature_extraction.text `
146
160
......................................
@@ -150,6 +164,17 @@ Changelog
150
164
by our API.
151
165
:pr: `21832 ` by :user: `Guillaume Lemaitre <glemaitre> `.
152
166
167
+ :mod: `sklearn.feature_selection `
168
+ ................................
169
+
170
+ - |Enhancement | Add a parameter `force_finite ` to
171
+ :func: `feature_selection.f_regression ` and
172
+ :func: `feature_selection.r_regression `. This parameter allows to force the
173
+ output to be finite in the case where a feature or a the target is constant
174
+ or that the feature and target are perfectly correlated (only for the
175
+ F-statistic).
176
+ :pr: `17819 ` by :user: `Juan Carlos Alfaro Jiménez <alfaro96> `.
177
+
153
178
:mod: `sklearn.impute `
154
179
.....................
155
180
@@ -168,6 +193,11 @@ Changelog
168
193
`decision_function ` instead of returning the multilabel indicator matrix.
169
194
:pr: `19869 ` by :user: `Guillaume Lemaitre <glemaitre> `.
170
195
196
+ - |Enhancement | :class: `SimpleImputer ` now warns with feature names
197
+ when features which are skipped due to the lack of any observed
198
+ values in the training set.
199
+ :pr: `21617 ` by :user: `Christian Ritter <chritter> `.
200
+
171
201
- |Enhancement | :class: `linear_model.RidgeClassifier ` is now supporting
172
202
multilabel classification.
173
203
:pr: `19689 ` by :user: `Guillaume Lemaitre <glemaitre> `.
@@ -186,12 +216,6 @@ Changelog
186
216
for the highs based solvers.
187
217
:pr: `21086 ` by :user: `Venkatachalam Natchiappan <venkyyuvy> `.
188
218
189
- - |Fix | :class: `linear_model.LassoLarsIC ` now correctly computes AIC
190
- and BIC. An error is now raised when `n_features > n_samples ` and
191
- when the noise variance is not provided.
192
- :pr: `21481 ` by :user: `Guillaume Lemaitre <glemaitre> ` and
193
- :user: `Andrés Babino <ababino> `.
194
-
195
219
:mod: `sklearn.metrics `
196
220
......................
197
221
@@ -203,7 +227,7 @@ Changelog
203
227
204
228
- |API | Parameters ``sample_weight `` and ``multioutput `` of :func: `metrics.
205
229
mean_absolute_percentage_error ` are now keyword-only, in accordance with `SLEP009
206
- <https://scikit-learn-enhancement-proposals.readthedocs.io/en/latest/slep009/proposal.html> `.
230
+ <https://scikit-learn-enhancement-proposals.readthedocs.io/en/latest/slep009/proposal.html> `_ .
207
231
A deprecation cycle was introduced.
208
232
:pr: `21576 ` by :user: `Paul-Emile Dugnat <pedugnat> `.
209
233
@@ -222,9 +246,10 @@ Changelog
222
246
splits failed. Similarly raise an error during grid-search when the fits for
223
247
all the models and all the splits failed. :pr: `21026 ` by :user: `Loïc Estève <lesteve> `.
224
248
225
- - |Fix | :class: `model_selection.GridSearchCV `, :class: `model_selection.HalvingGridSearchCV `
226
- now validate input parameters in `fit ` instead of `__init__ `.
227
- :pr: `21880 ` by :user: `Mrinal Tyagi <MrinalTyagi> `.
249
+ - |Fix | :class: `model_selection.GridSearchCV `,
250
+ :class: `model_selection.HalvingGridSearchCV `
251
+ now validate input parameters in `fit ` instead of `__init__ `.
252
+ :pr: `21880 ` by :user: `Mrinal Tyagi <MrinalTyagi> `.
228
253
229
254
:mod: `sklearn.mixture `
230
255
......................
@@ -234,13 +259,34 @@ Changelog
234
259
its square root.
235
260
:pr: `22058 ` by :user: `Guillaume Lemaitre <glemaitre> `.
236
261
262
+ :mod: `sklearn.neighbors `
263
+ ........................
264
+
265
+ - |Enhancement | `utils.validation.check_array ` and `utils.validation.type_of_target `
266
+ now accept an `input_name ` parameter to make the error message more
267
+ informative when passed invalid input data (e.g. with NaN or infinite
268
+ values).
269
+ :pr: `21219 ` by :user: `Olivier Grisel <ogrisel> `.
270
+
271
+ - |Enhancement | :func: `utils.validation.check_array ` returns a float
272
+ ndarray with `np.nan ` when passed a `Float32 ` or `Float64 ` pandas extension
273
+ array with `pd.NA `. :pr: `21278 ` by `Thomas Fan `_.
274
+
275
+ - |Fix | :class: `neighbors.KernelDensity ` now validates input parameters in `fit `
276
+ instead of `__init__ `. :pr: `21430 ` by :user: `Desislava Vasileva <DessyVV> ` and
277
+ :user: `Lucy Jimenez <LucyJimenez> `.
278
+
237
279
:mod: `sklearn.pipeline `
238
280
.......................
239
281
240
282
- |Enhancement | Added support for "passthrough" in :class: `FeatureUnion `.
241
283
Setting a transformer to "passthrough" will pass the features unchanged.
242
284
:pr: `20860 ` by :user: `Shubhraneel Pal <shubhraneel> `.
243
285
286
+ - |Fix | :class: `pipeline.Pipeline ` now does not validate hyper-parameters in
287
+ `__init__ ` but in `.fit() `.
288
+ :pr: `21888 ` by :user: `iofall <iofall> ` and :user: `Arisa Y. <arisayosh> `.
289
+
244
290
:mod: `sklearn.preprocessing `
245
291
............................
246
292
@@ -253,13 +299,35 @@ Changelog
253
299
instead of `__init__ `.
254
300
:pr: `21434 ` by :user: `Krum Arnaudov <krumeto> `.
255
301
302
+ - |Enhancement | Added the `get_feature_names_out ` method and a new parameter
303
+ `feature_names_out ` to :class: `preprocessing.FunctionTransformer `. You can set
304
+ `feature_names_out ` to 'one-to-one' to use the input features names as the
305
+ output feature names, or you can set it to a callable that returns the output
306
+ feature names. This is especially useful when the transformer changes the
307
+ number of features. If `feature_names_out ` is None (which is the default),
308
+ then `get_output_feature_names ` is not defined.
309
+ :pr: `21569 ` by :user: `Aurélien Geron <ageron> `.
310
+
311
+ - |Fix | :class: `preprocessing.LabelBinarizer ` now validates input parameters in
312
+ `fit ` instead of `__init__ `.
313
+ :pr: `21434 ` by :user: `Krum Arnaudov <krumeto> `.
314
+
315
+ :mod: `sklearn.random_projection `
316
+ ................................
317
+
318
+ - |API | Adds :term: `get_feature_names_out ` to all transformers in the
319
+ :mod: `~sklearn.random_projection ` module:
320
+ :class: `~sklearn.random_projection.GaussianRandomProjection ` and
321
+ :class: `~sklearn.random_projection.SparseRandomProjection `. :pr: `21330 ` by
322
+ :user: `Loïc Estève <lesteve> `.
323
+
256
324
:mod: `sklearn.svm `
257
325
..................
258
326
259
- - |Fix | :class: `smv.NuSVC `, :class: ` svm.NuSVR `, :class: `svm.SVC `,
260
- :class: `svm.SVR `, :class: `svm.OneClassSVM ` now validate input
261
- parameters in ` fit ` instead of ` __init__ ` .
262
- :pr: `21436 ` by :user: `Haidar Almubarak <Haidar13 > `.
327
+ - |Enhancement | :class: `svm.OneClassSVM `, :class: `svm.NuSVC `,
328
+ :class: `svm.NuSVR `, :class: `svm.SVC ` and :class: ` svm.SVR ` now expose
329
+ ` n_iter_ `, the number of iterations of the libsvm optimization routine .
330
+ :pr: `21408 ` by :user: `Juan Martín Loyola <jmloyola > `.
263
331
264
332
:mod: `sklearn.utils `
265
333
....................
@@ -290,40 +358,6 @@ Changelog
290
358
left corner of the HTML representation to show how the elements are
291
359
clickable. :pr: `21298 ` by `Thomas Fan `_.
292
360
293
- :mod: `sklearn.neighbors `
294
- ........................
295
-
296
- - |Fix | :class: `neighbors.KernelDensity ` now validates input parameters in `fit `
297
- instead of `__init__ `. :pr: `21430 ` by :user: `Desislava Vasileva <DessyVV> ` and
298
- :user: `Lucy Jimenez <LucyJimenez> `.
299
-
300
- - |Enhancement | `utils.validation.check_array ` and `utils.validation.type_of_target `
301
- now accept an `input_name ` parameter to make the error message more
302
- informative when passed invalid input data (e.g. with NaN or infinite
303
- values).
304
- :pr: `21219 ` by :user: `Olivier Grisel <ogrisel> `.
305
-
306
- - |Enhancement | :func: `utils.validation.check_array ` returns a float
307
- ndarray with `np.nan ` when passed a `Float32 ` or `Float64 ` pandas extension
308
- array with `pd.NA `. :pr: `21278 ` by `Thomas Fan `_.
309
-
310
- :mod: `sklearn.random_projection `
311
- ................................
312
-
313
- - |API | Adds :term: `get_feature_names_out ` to all transformers in the
314
- :mod: `~sklearn.random_projection ` module:
315
- :class: `~sklearn.random_projection.GaussianRandomProjection ` and
316
- :class: `~sklearn.random_projection.SparseRandomProjection `. :pr: `21330 ` by
317
- :user: `Loïc Estève <lesteve> `.
318
-
319
- :mod: `sklearn.tree `
320
- ...................
321
-
322
- - |Fix | Support loading pickles of decision tree models when the pickle has
323
- been generated on a platform with a different bitness. A typical example is
324
- to train and pickle the model on 64 bit machine and load the model on a 32
325
- bit machine for prediction. :pr: `21552 ` by :user: `Loïc Estève <lesteve> `.
326
-
327
361
Code and Documentation Contributors
328
362
-----------------------------------
329
363
0 commit comments