@@ -50,6 +50,9 @@ by `Joel Nothman`_. The glossary is a reference resource to help users and
50
50
contributors become familiar with the terminology and conventions used in
51
51
Scikit-learn.
52
52
53
+ Sorry if your contribution didn't make it into the highlights. There's a lot
54
+ here...
55
+
53
56
Changed models
54
57
--------------
55
58
@@ -74,10 +77,10 @@ random sampling procedures.
74
77
- :class: `linear_model.Perceptron ` (bug fix)
75
78
- :class: `ensemble.gradient_boosting.GradientBoostingClassifier ` (bug fix affecting feature importances)
76
79
- :class: `linear_model.LogisticRegressionCV ` (bug fix)
80
+ - :class: `decomposition.SparsePCA ` (bug fix)
77
81
- The v0.19.0 release notes failed to mention a backwards incompatibility with
78
82
:class: `model_selection.StratifiedKFold ` when ``shuffle=True `` due to
79
83
:issue: `7823 `.
80
- - :class: `decomposition.SparsePCA ` (bug fix)
81
84
82
85
Details are listed in the changelog below.
83
86
@@ -92,29 +95,17 @@ Support for Python 3.3 has been officially dropped.
92
95
New features
93
96
............
94
97
95
- Classifiers and regressors
96
-
97
- - :class: `ensemble.GradientBoostingClassifier ` and
98
- :class: `ensemble.GradientBoostingRegressor ` now support early stopping
99
- via ``n_iter_no_change ``, ``validation_fraction `` and ``tol ``. :issue: `7071 `
100
- by `Raghav RV `_
101
-
102
- - :class: `dummy.DummyRegressor ` now has a ``return_std `` option in its
103
- ``predict `` method. The returned standard deviations will be zeros.
104
-
105
- - Added :class: `multioutput.RegressorChain ` for multi-target
106
- regression. :issue: `9257 ` by :user: `Kumar Ashutosh <thechargedneutron> `.
107
-
108
- - Added :class: `naive_bayes.ComplementNB `, which implements the Complement
109
- Naive Bayes classifier described in Rennie et al. (2003).
110
- :issue: `8190 ` by :user: `Michael A. Alcorn <airalcorn2> `.
98
+ Preprocessing and pipelines
111
99
112
- - :class: `ensemble.BaggingRegressor ` and :class: ` ensemble.BaggingClassifier ` can now
113
- be fit with missing/non-finite values in X and/ or multi-output Y to support
114
- wrapping pipelines that perform their own imputation.
115
- :issue: `9707 ` by :user: `Jimmy Wan <jimmywan > `.
100
+ - Added :class: `compose.ColumnTransformer `, which allows to apply
101
+ different transformers to different columns of arrays or pandas
102
+ DataFrames. :issue: ` 9012 ` by ` Andreas Müller `_ and ` Joris Van den Bossche `_,
103
+ and :issue: `11315 ` by :user: `Thomas Fan <thomasjpfan > `.
116
104
117
- Preprocessing
105
+ - Added the :class: `compose.TransformedTargetRegressor ` which transforms
106
+ the target y before fitting a regression model. The predictions are mapped
107
+ back to the original space via an inverse transform. :issue: `9041 ` by
108
+ `Andreas Müller `_ and :user: `Guillaume Lemaitre <glemaitre> `.
118
109
119
110
- Expanded :class: `preprocessing.OneHotEncoder ` to allow to encode
120
111
categorical string features as a numeric array using a one-hot (or dummy)
@@ -132,11 +123,6 @@ Preprocessing
132
123
by :user: `Henry Lin <hlin117> `, `Hanmin Qin `_,
133
124
`Tom Dupre la Tour `_ and :user: `Giovanni Giuseppe Costa <ggc87> `.
134
125
135
- - Added :class: `compose.ColumnTransformer `, which allows to apply
136
- different transformers to different columns of arrays or pandas
137
- DataFrames. :issue: `9012 ` by `Andreas Müller `_ and `Joris Van den Bossche `_,
138
- and :issue: `11315 ` by :user: `Thomas Fan <thomasjpfan> `.
139
-
140
126
- Added :class: `preprocessing.PowerTransformer `, which implements the
141
127
Yeo-Johnson and Box-Cox power transformations. Power transformations try to
142
128
find a set of feature-wise parametric transformations to approximately map
@@ -147,15 +133,17 @@ Preprocessing
147
133
:user: `Maniteja Nandana <maniteja123> `, and :issue: `11520 ` by :user: `Nicolas
148
134
Hug <nicolashug> `.
149
135
150
- - Added the :class: `compose.TransformedTargetRegressor ` which transforms
151
- the target y before fitting a regression model. The predictions are mapped
152
- back to the original space via an inverse transform. :issue: `9041 ` by
153
- `Andreas Müller `_ and :user: `Guillaume Lemaitre <glemaitre> `.
154
-
155
136
- Added :class: `MissingIndicator ` which generates a binary indicator for
156
137
missing values. :issue: `8075 ` by :user: `Maniteja Nandana <maniteja123> ` and
157
138
:user: `Guillaume Lemaitre <glemaitre> `.
158
139
140
+ Classifiers and regressors
141
+
142
+ - :class: `ensemble.GradientBoostingClassifier ` and
143
+ :class: `ensemble.GradientBoostingRegressor ` now support early stopping
144
+ via ``n_iter_no_change ``, ``validation_fraction `` and ``tol ``. :issue: `7071 `
145
+ by `Raghav RV `_
146
+
159
147
- :class: `linear_model.SGDClassifier `, :class: `linear_model.SGDRegressor `,
160
148
:class: `linear_model.PassiveAggressiveClassifier `,
161
149
:class: `linear_model.PassiveAggressiveRegressor ` and
@@ -166,15 +154,17 @@ Preprocessing
166
154
``n_iter_no_change `` consecutive epochs fail to improve the model.
167
155
:issue: `9043 ` by `Tom Dupre la Tour `_.
168
156
169
- Model evaluation
157
+ - Added :class: `multioutput.RegressorChain ` for multi-target
158
+ regression. :issue: `9257 ` by :user: `Kumar Ashutosh <thechargedneutron> `.
170
159
171
- - Added the :func: `metrics.davies_bouldin_score ` metric for unsupervised
172
- evaluation of clustering models. :issue: `10827 ` by :user: `Luis Osa <logc> `.
160
+ - Added :class: `naive_bayes.ComplementNB `, which implements the Complement
161
+ Naive Bayes classifier described in Rennie et al. (2003).
162
+ :issue: `8190 ` by :user: `Michael A. Alcorn <airalcorn2> `.
173
163
174
- - Added the :func: ` metrics.balanced_accuracy_score ` metric and a corresponding
175
- `` 'balanced_accuracy' `` scorer for binary and multiclass classification.
176
- :issue: ` 8066 ` by :user: ` xyguo ` and :user: ` Aman Dalmia <dalmia> `, and
177
- :issue: `10587 ` by ` Joel Nothman `_ .
164
+ - :class: ` ensemble.BaggingRegressor ` and :class: ` ensemble.BaggingClassifier `
165
+ can now be fit with missing/non-finite values in X and/or multi-output Y to
166
+ support wrapping pipelines that perform their own imputation.
167
+ :issue: `9707 ` by :user: ` Jimmy Wan <jimmywan> ` .
178
168
179
169
Decomposition, manifold learning and clustering
180
170
@@ -194,30 +184,21 @@ Decomposition, manifold learning and clustering
194
184
This applies to the dictionary and sparse code.
195
185
:issue: `6374 ` by :user: `John Kirkham <jakirkham> `.
196
186
197
- - :class: `decomposition.SparsePCA ` now exposes ``normalize_components ``. When
198
- set to True, the train and test data are centered with the train mean
199
- repsectively during the fit phase and the transform phase. This fixes the
200
- behavior of SparsePCA. When set to False, which is the default, the previous
201
- abnormal behaviour still holds. The False value is for backward
202
- compatibility and should not be used.
203
- :issue: `11585 ` by :user: `Ivan Panico <FollowKenny> `.
187
+ Model evaluation
204
188
205
- Metrics
189
+ - Added the :func: `metrics.balanced_accuracy_score ` metric and a corresponding
190
+ ``'balanced_accuracy' `` scorer for binary and multiclass classification.
191
+ :issue: `8066 ` by :user: `xyguo ` and :user: `Aman Dalmia <dalmia> `, and
192
+ :issue: `10587 ` by `Joel Nothman `_.
193
+
194
+ - Added the :func: `metrics.davies_bouldin_score ` metric for evaluation of
195
+ clustering models without a ground truth.
196
+ :issue: `10827 ` by :user: `Luis Osa <logc> `.
206
197
207
198
- Partial AUC is available via ``max_fpr `` parameter in
208
199
:func: `metrics.roc_auc_score `. :issue: `3273 ` by
209
200
:user: `Alexander Niederbühl <Alexander-N> `.
210
201
211
- - Added control over the normalization in
212
- :func: `metrics.normalized_mutual_information_score ` and
213
- :func: `metrics.adjusted_mutual_information_score ` via the ``average_method ``
214
- parameter. In version 0.22, the default normalizer for each will become
215
- the *arithmetic * mean of the entropies of each clustering. :issue: `11124 ` by
216
- :user: `Arya McCarthy <aryamccarthy> `.
217
- - Added ``output_dict `` parameter in :func: `metrics.classification_report `
218
- to return classification statistics as dictionary.
219
- :issue: `11160 ` by :user: `Dan Barkhorn <danielbarkhorn> `.
220
-
221
202
Misc
222
203
223
204
- A new configuration parameter, ``working_memory `` was added to control memory
228
209
- An environment variable to use the site joblib instead of the vendored
229
210
one was added (:ref: `environment_variable `). The main API of joblib is now
230
211
exposed in :mod: `sklearn.utils `.
231
- :issue: `11166`by `Gael Varoquaux`_
212
+ :issue: `11166`by `Gael Varoquaux`_.
232
213
233
214
Enhancements
234
215
............
@@ -240,6 +221,9 @@ Classifiers and regressors
240
221
several times in a row. :issue: `9234 ` by :user: `andrewww <andrewww> `
241
222
and :user: `Minghui Liu <minghui-liu> `.
242
223
224
+ - :class: `dummy.DummyRegressor ` now has a ``return_std `` option in its
225
+ ``predict `` method. The returned standard deviations will be zeros.
226
+
243
227
- Add `named_estimators_ ` parameter in
244
228
:class: `ensemble.VotingClassifier ` to access fitted
245
229
estimators. :issue: `9157 ` by :user: `Herilalaina Rakotoarison <herilalaina> `.
@@ -385,16 +369,16 @@ Model evaluation and meta-estimators
385
369
when an error occurs in :func: `model_selection._fit_and_score `.
386
370
:issue: `11576 ` by :user: `Samuel O. Ronsin <samronsin> `.
387
371
388
- Decomposition and manifold learning
389
-
390
- - Speed improvements for both 'exact' and 'barnes_hut' methods in
391
- :class: `manifold.TSNE `. :issue: `10593 ` and :issue: `10610 ` by
392
- `Tom Dupre la Tour `_.
393
-
394
- - Support sparse input in :meth: `manifold.Isomap.fit `. :issue: `8554 ` by
395
- :user: `Leland McInnes <lmcinnes> `.
372
+ - Added control over the normalization in
373
+ :func: `metrics.normalized_mutual_information_score ` and
374
+ :func: `metrics.adjusted_mutual_information_score ` via the ``average_method ``
375
+ parameter. In version 0.22, the default normalizer for each will become
376
+ the *arithmetic * mean of the entropies of each clustering. :issue: `11124 ` by
377
+ :user: `Arya McCarthy <aryamccarthy> `.
396
378
397
- Metrics
379
+ - Added ``output_dict `` parameter in :func: `metrics.classification_report `
380
+ to return classification statistics as dictionary.
381
+ :issue: `11160 ` by :user: `Dan Barkhorn <danielbarkhorn> `.
398
382
399
383
- :func: `metrics.roc_auc_score ` now supports binary ``y_true `` other than
400
384
``{0, 1} `` or ``{-1, 1} ``.
@@ -417,6 +401,16 @@ Metrics
417
401
other than ``{0, 1} `` or ``{-1, 1} `` through ``pos_label `` parameter.
418
402
:issue: `9980 ` by :user: `Hanmin Qin <qinhanmin2014> `.
419
403
404
+
405
+ Decomposition and manifold learning
406
+
407
+ - Speed improvements for both 'exact' and 'barnes_hut' methods in
408
+ :class: `manifold.TSNE `. :issue: `10593 ` and :issue: `10610 ` by
409
+ `Tom Dupre la Tour `_.
410
+
411
+ - Support sparse input in :meth: `manifold.Isomap.fit `. :issue: `8554 ` by
412
+ :user: `Leland McInnes <lmcinnes> `.
413
+
420
414
Linear, kernelized and related models
421
415
422
416
- Deprecate ``random_state `` parameter in :class: `svm.OneClassSVM ` as the
@@ -583,6 +577,14 @@ Classifiers and regressors
583
577
584
578
Decomposition, manifold learning and clustering
585
579
580
+ - :class: `decomposition.SparsePCA ` now exposes ``normalize_components ``. When
581
+ set to True, the train and test data are centered with the train mean
582
+ repsectively during the fit phase and the transform phase. This fixes the
583
+ behavior of SparsePCA. When set to False, which is the default, the previous
584
+ abnormal behaviour still holds. The False value is for backward
585
+ compatibility and should not be used.
586
+ :issue: `11585 ` by :user: `Ivan Panico <FollowKenny> `.
587
+
586
588
- Fix for uninformative error in :class: `decomposition.IncrementalPCA `:
587
589
now an error is raised if the number of components is larger than the
588
590
chosen batch size. The ``n_components=None `` case was adapted accordingly.
0 commit comments