-
Notifications
You must be signed in to change notification settings - Fork 81
/
Copy pathv0.19.html
1209 lines (1175 loc) · 164 KB
/
v0.19.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta property="og:title" content="Version 0.19.2" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://scikit-learn/stable/whats_new/v0.19.html" />
<meta property="og:site_name" content="scikit-learn" />
<meta property="og:description" content="July, 2018 This release is exclusively in order to support Python 3.7. Related changes: n_iter_ may vary from previous releases in linear_model.LogisticRegression with solver='lbfgs' and linear_mod..." />
<meta property="og:image" content="https://scikit-learn.org/stable/_static/scikit-learn-logo-small.png" />
<meta property="og:image:alt" content="scikit-learn" />
<meta name="description" content="July, 2018 This release is exclusively in order to support Python 3.7. Related changes: n_iter_ may vary from previous releases in linear_model.LogisticRegression with solver='lbfgs' and linear_mod..." />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Version 0.19.2 — scikit-learn 1.2.2 documentation</title>
<link rel="canonical" href="http://scikit-learn.org/stable/whats_new/v0.19.html" />
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="stylesheet" href="../_static/css/vendor/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/plot_directive.css" type="text/css" />
<link rel="stylesheet" href="../_static/sg_gallery.css" type="text/css" />
<link rel="stylesheet" href="../_static/sg_gallery-binder.css" type="text/css" />
<link rel="stylesheet" href="../_static/sg_gallery-dataframe.css" type="text/css" />
<link rel="stylesheet" href="../_static/sg_gallery-rendered-html.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/js/vendor/jquery-3.6.3.slim.min.js"></script>
</head>
<body>
<nav id="navbar" class="sk-docs-navbar navbar navbar-expand-md navbar-light bg-light py-0">
<div class="container-fluid sk-docs-container px-0">
<a class="navbar-brand py-0" href="../index.html">
<img
class="sk-brand-img"
src="../_static/scikit-learn-logo-small.png"
alt="logo"/>
</a>
<button
id="sk-navbar-toggler"
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="sk-navbar-collapse collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="sk-nav-link nav-link" href="../install.html">Install</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link" href="../user_guide.html">User Guide</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link" href="../modules/classes.html">API</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link" href="../auto_examples/index.html">Examples</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link" target="_blank" rel="noopener noreferrer" href="https://blog.scikit-learn.org/">Community</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../getting_started.html" >Getting Started</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../tutorial/index.html" >Tutorial</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="v1.2.html" >What's new</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../glossary.html" >Glossary</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="https://scikit-learn.org/dev/developers/index.html" target="_blank" rel="noopener noreferrer">Development</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../faq.html" >FAQ</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../support.html" >Support</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../related_projects.html" >Related packages</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../roadmap.html" >Roadmap</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../governance.html" >Governance</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="../about.html" >About us</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="https://github.com/scikit-learn/scikit-learn" >GitHub</a>
</li>
<li class="nav-item">
<a class="sk-nav-link nav-link nav-more-item-mobile-items" href="https://scikit-learn.org/dev/versions.html" >Other Versions and Download</a>
</li>
<li class="nav-item dropdown nav-more-item-dropdown">
<a class="sk-nav-link nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">More</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="sk-nav-dropdown-item dropdown-item" href="../getting_started.html" >Getting Started</a>
<a class="sk-nav-dropdown-item dropdown-item" href="../tutorial/index.html" >Tutorial</a>
<a class="sk-nav-dropdown-item dropdown-item" href="v1.2.html" >What's new</a>
<a class="sk-nav-dropdown-item dropdown-item" href="../glossary.html" >Glossary</a>
<a class="sk-nav-dropdown-item dropdown-item" href="https://scikit-learn.org/dev/developers/index.html" target="_blank" rel="noopener noreferrer">Development</a>
<a class="sk-nav-dropdown-item dropdown-item" href="../faq.html" >FAQ</a>
<a class="sk-nav-dropdown-item dropdown-item" href="../support.html" >Support</a>
<a class="sk-nav-dropdown-item dropdown-item" href="../related_projects.html" >Related packages</a>
<a class="sk-nav-dropdown-item dropdown-item" href="../roadmap.html" >Roadmap</a>
<a class="sk-nav-dropdown-item dropdown-item" href="../governance.html" >Governance</a>
<a class="sk-nav-dropdown-item dropdown-item" href="../about.html" >About us</a>
<a class="sk-nav-dropdown-item dropdown-item" href="https://github.com/scikit-learn/scikit-learn" >GitHub</a>
<a class="sk-nav-dropdown-item dropdown-item" href="https://scikit-learn.org/dev/versions.html" >Other Versions and Download</a>
</div>
</li>
</ul>
<div id="searchbox" role="search">
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input class="sk-search-text-input" type="text" name="q" aria-labelledby="searchlabel" />
<input class="sk-search-text-btn" type="submit" value="Go" />
</form>
</div>
</div>
</div>
</div>
</nav>
<div class="d-flex" id="sk-doc-wrapper">
<input type="checkbox" name="sk-toggle-checkbox" id="sk-toggle-checkbox">
<label id="sk-sidemenu-toggle" class="sk-btn-toggle-toc btn sk-btn-primary" for="sk-toggle-checkbox">Toggle Menu</label>
<div id="sk-sidebar-wrapper" class="border-right">
<div class="sk-sidebar-toc-wrapper">
<div class="btn-group w-100 mb-2" role="group" aria-label="rellinks">
<a href="v0.20.html" role="button" class="btn sk-btn-rellink py-1" sk-rellink-tooltip="Version 0.20.4">Prev</a><a href="../whats_new.html" role="button" class="btn sk-btn-rellink py-1" sk-rellink-tooltip="Release History">Up</a>
<a href="v0.18.html" role="button" class="btn sk-btn-rellink py-1" sk-rellink-tooltip="Version 0.18.2">Next</a>
</div>
<div class="alert alert-danger p-1 mb-2" role="alert">
<p class="text-center mb-0">
<strong>scikit-learn 1.2.2</strong><br/>
<a href="http://scikit-learn.org/dev/versions.html">Other versions</a>
</p>
</div>
<div class="alert alert-warning p-1 mb-2" role="alert">
<p class="text-center mb-0">
Please <a class="font-weight-bold" href="../about.html#citing-scikit-learn"><string>cite us</string></a> if you use the software.
</p>
</div>
<div class="sk-sidebar-toc">
<ul>
<li><a class="reference internal" href="#">Version 0.19.2</a><ul>
<li><a class="reference internal" href="#related-changes">Related changes</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-19-1">Version 0.19.1</a><ul>
<li><a class="reference internal" href="#changelog">Changelog</a><ul>
<li><a class="reference internal" href="#api-changes">API changes</a></li>
<li><a class="reference internal" href="#bug-fixes">Bug fixes</a></li>
<li><a class="reference internal" href="#enhancements">Enhancements</a></li>
</ul>
</li>
<li><a class="reference internal" href="#code-and-documentation-contributors">Code and Documentation Contributors</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version-0-19">Version 0.19</a><ul>
<li><a class="reference internal" href="#highlights">Highlights</a></li>
<li><a class="reference internal" href="#changed-models">Changed models</a></li>
<li><a class="reference internal" href="#id1">Changelog</a><ul>
<li><a class="reference internal" href="#new-features">New features</a></li>
<li><a class="reference internal" href="#id2">Enhancements</a></li>
<li><a class="reference internal" href="#id3">Bug fixes</a></li>
</ul>
</li>
<li><a class="reference internal" href="#api-changes-summary">API changes summary</a></li>
<li><a class="reference internal" href="#id9">Code and Documentation Contributors</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div id="sk-page-content-wrapper">
<div class="sk-page-content container-fluid body px-md-3" role="main">
<section id="version-0-19-2">
<span id="changes-0-19"></span><h1>Version 0.19.2<a class="headerlink" href="#version-0-19-2" title="Permalink to this heading">¶</a></h1>
<p><strong>July, 2018</strong></p>
<p>This release is exclusively in order to support Python 3.7.</p>
<section id="related-changes">
<h2>Related changes<a class="headerlink" href="#related-changes" title="Permalink to this heading">¶</a></h2>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">n_iter_</span></code> may vary from previous releases in
<a class="reference internal" href="../modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression" title="sklearn.linear_model.LogisticRegression"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LogisticRegression</span></code></a> with <code class="docutils literal notranslate"><span class="pre">solver='lbfgs'</span></code> and
<a class="reference internal" href="../modules/generated/sklearn.linear_model.HuberRegressor.html#sklearn.linear_model.HuberRegressor" title="sklearn.linear_model.HuberRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.HuberRegressor</span></code></a>. For Scipy <= 1.0.0, the optimizer could
perform more than the requested maximum number of iterations. Now both
estimators will report at most <code class="docutils literal notranslate"><span class="pre">max_iter</span></code> iterations even if more were
performed. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/10723">#10723</a> by <a class="reference external" href="https://joelnothman.com/">Joel Nothman</a>.</p></li>
</ul>
</section>
</section>
<section id="version-0-19-1">
<h1>Version 0.19.1<a class="headerlink" href="#version-0-19-1" title="Permalink to this heading">¶</a></h1>
<p><strong>October 23, 2017</strong></p>
<p>This is a bug-fix release with some minor documentation improvements and
enhancements to features released in 0.19.0.</p>
<p>Note there may be minor differences in TSNE output in this release (due to
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9623">#9623</a>), in the case where multiple samples have equal distance to some
sample.</p>
<section id="changelog">
<h2>Changelog<a class="headerlink" href="#changelog" title="Permalink to this heading">¶</a></h2>
<section id="api-changes">
<h3>API changes<a class="headerlink" href="#api-changes" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p>Reverted the addition of <code class="docutils literal notranslate"><span class="pre">metrics.ndcg_score</span></code> and <code class="docutils literal notranslate"><span class="pre">metrics.dcg_score</span></code>
which had been merged into version 0.19.0 by error. The implementations
were broken and undocumented.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">return_train_score</span></code> which was added to
<a class="reference internal" href="../modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV" title="sklearn.model_selection.GridSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.GridSearchCV</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV" title="sklearn.model_selection.RandomizedSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.RandomizedSearchCV</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.model_selection.cross_validate.html#sklearn.model_selection.cross_validate" title="sklearn.model_selection.cross_validate"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.cross_validate</span></code></a> in version 0.19.0 will be changing its
default value from True to False in version 0.21. We found that calculating
training score could have a great effect on cross validation runtime in some
cases. Users should explicitly set <code class="docutils literal notranslate"><span class="pre">return_train_score</span></code> to False if
prediction or scoring functions are slow, resulting in a deleterious effect
on CV runtime, or to True if they wish to use the calculated scores.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9677">#9677</a> by <a class="reference external" href="https://github.com/thechargedneutron">Kumar Ashutosh</a> and <a class="reference external" href="https://joelnothman.com/">Joel
Nothman</a>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">correlation_models</span></code> and <code class="docutils literal notranslate"><span class="pre">regression_models</span></code> from the legacy gaussian
processes implementation have been belatedly deprecated. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9717">#9717</a> by
<a class="reference external" href="https://github.com/thechargedneutron">Kumar Ashutosh</a>.</p></li>
</ul>
</section>
<section id="bug-fixes">
<h3>Bug fixes<a class="headerlink" href="#bug-fixes" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p>Avoid integer overflows in <a class="reference internal" href="../modules/generated/sklearn.metrics.matthews_corrcoef.html#sklearn.metrics.matthews_corrcoef" title="sklearn.metrics.matthews_corrcoef"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.matthews_corrcoef</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9693">#9693</a> by <a class="reference external" href="https://github.com/sam-s">Sam Steingold</a>.</p></li>
<li><p>Fixed a bug in the objective function for <a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a> (both exact
and with the Barnes-Hut approximation) when <code class="docutils literal notranslate"><span class="pre">n_components</span> <span class="pre">>=</span> <span class="pre">3</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9711">#9711</a> by <a class="reference external" href="https://github.com/goncalo-rodrigues">@goncalo-rodrigues</a>.</p></li>
<li><p>Fix regression in <a class="reference internal" href="../modules/generated/sklearn.model_selection.cross_val_predict.html#sklearn.model_selection.cross_val_predict" title="sklearn.model_selection.cross_val_predict"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.cross_val_predict</span></code></a> where it
raised an error with <code class="docutils literal notranslate"><span class="pre">method='predict_proba'</span></code> for some probabilistic
classifiers. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9641">#9641</a> by <a class="reference external" href="https://github.com/jrbourbeau">James Bourbeau</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.datasets.make_classification.html#sklearn.datasets.make_classification" title="sklearn.datasets.make_classification"><code class="xref py py-func docutils literal notranslate"><span class="pre">datasets.make_classification</span></code></a> modified its input
<code class="docutils literal notranslate"><span class="pre">weights</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9865">#9865</a> by <a class="reference external" href="https://github.com/s4chin">Sachin Kelkar</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.model_selection.StratifiedShuffleSplit.html#sklearn.model_selection.StratifiedShuffleSplit" title="sklearn.model_selection.StratifiedShuffleSplit"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.StratifiedShuffleSplit</span></code></a> now works with multioutput
multiclass or multilabel data with more than 1000 columns. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9922">#9922</a> by
<a class="reference external" href="https://github.com/crbrummitt">Charlie Brummitt</a>.</p></li>
<li><p>Fixed a bug with nested and conditional parameter setting, e.g. setting a
pipeline step and its parameter at the same time. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9945">#9945</a> by <a class="reference external" href="https://amueller.github.io/">Andreas
Müller</a> and <a class="reference external" href="https://joelnothman.com/">Joel Nothman</a>.</p></li>
</ul>
<p>Regressions in 0.19.0 fixed in 0.19.1:</p>
<ul class="simple">
<li><p>Fixed a bug where parallelised prediction in random forests was not
thread-safe and could (rarely) result in arbitrary errors. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9830">#9830</a> by
<a class="reference external" href="https://joelnothman.com/">Joel Nothman</a>.</p></li>
<li><p>Fix regression in <a class="reference internal" href="../modules/generated/sklearn.model_selection.cross_val_predict.html#sklearn.model_selection.cross_val_predict" title="sklearn.model_selection.cross_val_predict"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.cross_val_predict</span></code></a> where it no
longer accepted <code class="docutils literal notranslate"><span class="pre">X</span></code> as a list. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9600">#9600</a> by <a class="reference external" href="https://github.com/CoderINusE">Rasul Kerimov</a>.</p></li>
<li><p>Fixed handling of <code class="xref py py-func docutils literal notranslate"><span class="pre">cross_val_predict</span></code> for binary classification with
<code class="docutils literal notranslate"><span class="pre">method='decision_function'</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9593">#9593</a> by <a class="reference external" href="https://github.com/reiinakano">Reiichiro Nakano</a> and core devs.</p></li>
<li><p>Fix regression in <a class="reference internal" href="../modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline" title="sklearn.pipeline.Pipeline"><code class="xref py py-class docutils literal notranslate"><span class="pre">pipeline.Pipeline</span></code></a> where it no longer accepted
<code class="docutils literal notranslate"><span class="pre">steps</span></code> as a tuple. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9604">#9604</a> by <a class="reference external" href="https://github.com/jorisvandenbossche">Joris Van den Bossche</a>.</p></li>
<li><p>Fix bug where <code class="docutils literal notranslate"><span class="pre">n_iter</span></code> was not properly deprecated, leaving <code class="docutils literal notranslate"><span class="pre">n_iter</span></code>
unavailable for interim use in
<a class="reference internal" href="../modules/generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier" title="sklearn.linear_model.SGDClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.SGDClassifier</span></code></a>, <a class="reference internal" href="../modules/generated/sklearn.linear_model.SGDRegressor.html#sklearn.linear_model.SGDRegressor" title="sklearn.linear_model.SGDRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.SGDRegressor</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.PassiveAggressiveClassifier.html#sklearn.linear_model.PassiveAggressiveClassifier" title="sklearn.linear_model.PassiveAggressiveClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.PassiveAggressiveClassifier</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.PassiveAggressiveRegressor.html#sklearn.linear_model.PassiveAggressiveRegressor" title="sklearn.linear_model.PassiveAggressiveRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.PassiveAggressiveRegressor</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.linear_model.Perceptron.html#sklearn.linear_model.Perceptron" title="sklearn.linear_model.Perceptron"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.Perceptron</span></code></a>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9558">#9558</a> by <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
<li><p>Dataset fetchers make sure temporary files are closed before removing them,
which caused errors on Windows. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9847">#9847</a> by <a class="reference external" href="https://github.com/massich">Joan Massich</a>.</p></li>
<li><p>Fixed a regression in <a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a> where it no longer supported
metrics other than ‘euclidean’ and ‘precomputed’. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9623">#9623</a> by <a class="reference external" href="https://github.com/oliblum90">Oli
Blum</a>.</p></li>
</ul>
</section>
<section id="enhancements">
<h3>Enhancements<a class="headerlink" href="#enhancements" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p>Our test suite and <code class="xref py py-func docutils literal notranslate"><span class="pre">utils.estimator_checks.check_estimators</span></code> can now be
run without Nose installed. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9697">#9697</a> by <a class="reference external" href="https://github.com/massich">Joan Massich</a>.</p></li>
<li><p>To improve usability of version 0.19’s <a class="reference internal" href="../modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline" title="sklearn.pipeline.Pipeline"><code class="xref py py-class docutils literal notranslate"><span class="pre">pipeline.Pipeline</span></code></a>
caching, <code class="docutils literal notranslate"><span class="pre">memory</span></code> now allows <code class="docutils literal notranslate"><span class="pre">joblib.Memory</span></code> instances.
This make use of the new <a class="reference internal" href="../modules/generated/sklearn.utils.validation.check_memory.html#sklearn.utils.validation.check_memory" title="sklearn.utils.validation.check_memory"><code class="xref py py-func docutils literal notranslate"><span class="pre">utils.validation.check_memory</span></code></a> helper.
issue:<code class="docutils literal notranslate"><span class="pre">9584</span></code> by <a class="reference external" href="https://github.com/thechargedneutron">Kumar Ashutosh</a></p></li>
<li><p>Some fixes to examples: <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9750">#9750</a>, <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9788">#9788</a>, <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9815">#9815</a></p></li>
<li><p>Made a FutureWarning in SGD-based estimators less verbose. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9802">#9802</a> by
<a class="reference external" href="https://github.com/vrishank97">Vrishank Bhardwaj</a>.</p></li>
</ul>
</section>
</section>
<section id="code-and-documentation-contributors">
<h2>Code and Documentation Contributors<a class="headerlink" href="#code-and-documentation-contributors" title="Permalink to this heading">¶</a></h2>
<p>With thanks to:</p>
<p>Joel Nothman, Loic Esteve, Andreas Mueller, Kumar Ashutosh,
Vrishank Bhardwaj, Hanmin Qin, Rasul Kerimov, James Bourbeau,
Nagarjuna Kumar, Nathaniel Saul, Olivier Grisel, Roman
Yurchak, Reiichiro Nakano, Sachin Kelkar, Sam Steingold,
Yaroslav Halchenko, diegodlh, felix, goncalo-rodrigues,
jkleint, oliblum90, pasbi, Anthony Gitter, Ben Lawson, Charlie
Brummitt, Didi Bar-Zev, Gael Varoquaux, Joan Massich, Joris
Van den Bossche, nielsenmarkus11</p>
</section>
</section>
<section id="version-0-19">
<h1>Version 0.19<a class="headerlink" href="#version-0-19" title="Permalink to this heading">¶</a></h1>
<p><strong>August 12, 2017</strong></p>
<section id="highlights">
<h2>Highlights<a class="headerlink" href="#highlights" title="Permalink to this heading">¶</a></h2>
<p>We are excited to release a number of great new features including
<a class="reference internal" href="../modules/generated/sklearn.neighbors.LocalOutlierFactor.html#sklearn.neighbors.LocalOutlierFactor" title="sklearn.neighbors.LocalOutlierFactor"><code class="xref py py-class docutils literal notranslate"><span class="pre">neighbors.LocalOutlierFactor</span></code></a> for anomaly detection,
<a class="reference internal" href="../modules/generated/sklearn.preprocessing.QuantileTransformer.html#sklearn.preprocessing.QuantileTransformer" title="sklearn.preprocessing.QuantileTransformer"><code class="xref py py-class docutils literal notranslate"><span class="pre">preprocessing.QuantileTransformer</span></code></a> for robust feature transformation,
and the <a class="reference internal" href="../modules/generated/sklearn.multioutput.ClassifierChain.html#sklearn.multioutput.ClassifierChain" title="sklearn.multioutput.ClassifierChain"><code class="xref py py-class docutils literal notranslate"><span class="pre">multioutput.ClassifierChain</span></code></a> meta-estimator to simply account
for dependencies between classes in multilabel problems. We have some new
algorithms in existing estimators, such as multiplicative update in
<a class="reference internal" href="../modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF" title="sklearn.decomposition.NMF"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.NMF</span></code></a> and multinomial
<a class="reference internal" href="../modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression" title="sklearn.linear_model.LogisticRegression"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LogisticRegression</span></code></a> with L1 loss (use <code class="docutils literal notranslate"><span class="pre">solver='saga'</span></code>).</p>
<p>Cross validation is now able to return the results from multiple metric
evaluations. The new <a class="reference internal" href="../modules/generated/sklearn.model_selection.cross_validate.html#sklearn.model_selection.cross_validate" title="sklearn.model_selection.cross_validate"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.cross_validate</span></code></a> can return many
scores on the test data as well as training set performance and timings, and we
have extended the <code class="docutils literal notranslate"><span class="pre">scoring</span></code> and <code class="docutils literal notranslate"><span class="pre">refit</span></code> parameters for grid/randomized
search <a class="reference internal" href="../modules/grid_search.html#multimetric-grid-search"><span class="std std-ref">to handle multiple metrics</span></a>.</p>
<p>You can also learn faster. For instance, the <a class="reference internal" href="../modules/compose.html#pipeline-cache"><span class="std std-ref">new option to cache
transformations</span></a> in <a class="reference internal" href="../modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline" title="sklearn.pipeline.Pipeline"><code class="xref py py-class docutils literal notranslate"><span class="pre">pipeline.Pipeline</span></code></a> makes grid
search over pipelines including slow transformations much more efficient. And
you can predict faster: if you’re sure you know what you’re doing, you can turn
off validating that the input is finite using <a class="reference internal" href="../modules/generated/sklearn.config_context.html#sklearn.config_context" title="sklearn.config_context"><code class="xref py py-func docutils literal notranslate"><span class="pre">config_context</span></code></a>.</p>
<p>We’ve made some important fixes too. We’ve fixed a longstanding implementation
error in <a class="reference internal" href="../modules/generated/sklearn.metrics.average_precision_score.html#sklearn.metrics.average_precision_score" title="sklearn.metrics.average_precision_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.average_precision_score</span></code></a>, so please be cautious with
prior results reported from that function. A number of errors in the
<a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a> implementation have been fixed, particularly in the
default Barnes-Hut approximation. <a class="reference internal" href="../modules/generated/sklearn.semi_supervised.LabelSpreading.html#sklearn.semi_supervised.LabelSpreading" title="sklearn.semi_supervised.LabelSpreading"><code class="xref py py-class docutils literal notranslate"><span class="pre">semi_supervised.LabelSpreading</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.semi_supervised.LabelPropagation.html#sklearn.semi_supervised.LabelPropagation" title="sklearn.semi_supervised.LabelPropagation"><code class="xref py py-class docutils literal notranslate"><span class="pre">semi_supervised.LabelPropagation</span></code></a> have had substantial fixes.
LabelPropagation was previously broken. LabelSpreading should now correctly
respect its alpha parameter.</p>
</section>
<section id="changed-models">
<h2>Changed models<a class="headerlink" href="#changed-models" title="Permalink to this heading">¶</a></h2>
<p>The following estimators and functions, when fit with the same data and
parameters, may produce different models from the previous version. This often
occurs due to changes in the modelling logic (bug fixes or enhancements), or in
random sampling procedures.</p>
<ul class="simple">
<li><p><a class="reference internal" href="../modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans" title="sklearn.cluster.KMeans"><code class="xref py py-class docutils literal notranslate"><span class="pre">cluster.KMeans</span></code></a> with sparse X and initial centroids given (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression" title="sklearn.cross_decomposition.PLSRegression"><code class="xref py py-class docutils literal notranslate"><span class="pre">cross_decomposition.PLSRegression</span></code></a>
with <code class="docutils literal notranslate"><span class="pre">scale=True</span></code> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier" title="sklearn.ensemble.GradientBoostingClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.GradientBoostingClassifier</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#sklearn.ensemble.GradientBoostingRegressor" title="sklearn.ensemble.GradientBoostingRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.GradientBoostingRegressor</span></code></a> where <code class="docutils literal notranslate"><span class="pre">min_impurity_split</span></code> is used (bug fix)</p></li>
<li><p>gradient boosting <code class="docutils literal notranslate"><span class="pre">loss='quantile'</span></code> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.ensemble.IsolationForest.html#sklearn.ensemble.IsolationForest" title="sklearn.ensemble.IsolationForest"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.IsolationForest</span></code></a> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.feature_selection.SelectFdr.html#sklearn.feature_selection.SelectFdr" title="sklearn.feature_selection.SelectFdr"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_selection.SelectFdr</span></code></a> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.linear_model.RANSACRegressor.html#sklearn.linear_model.RANSACRegressor" title="sklearn.linear_model.RANSACRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.RANSACRegressor</span></code></a> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.linear_model.LassoLars.html#sklearn.linear_model.LassoLars" title="sklearn.linear_model.LassoLars"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LassoLars</span></code></a> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.linear_model.LassoLarsIC.html#sklearn.linear_model.LassoLarsIC" title="sklearn.linear_model.LassoLarsIC"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LassoLarsIC</span></code></a> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.neighbors.NearestCentroid.html#sklearn.neighbors.NearestCentroid" title="sklearn.neighbors.NearestCentroid"><code class="xref py py-class docutils literal notranslate"><span class="pre">neighbors.NearestCentroid</span></code></a> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.semi_supervised.LabelSpreading.html#sklearn.semi_supervised.LabelSpreading" title="sklearn.semi_supervised.LabelSpreading"><code class="xref py py-class docutils literal notranslate"><span class="pre">semi_supervised.LabelSpreading</span></code></a> (bug fix)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.semi_supervised.LabelPropagation.html#sklearn.semi_supervised.LabelPropagation" title="sklearn.semi_supervised.LabelPropagation"><code class="xref py py-class docutils literal notranslate"><span class="pre">semi_supervised.LabelPropagation</span></code></a> (bug fix)</p></li>
<li><p>tree based models where <code class="docutils literal notranslate"><span class="pre">min_weight_fraction_leaf</span></code> is used (enhancement)</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.model_selection.StratifiedKFold.html#sklearn.model_selection.StratifiedKFold" title="sklearn.model_selection.StratifiedKFold"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.StratifiedKFold</span></code></a> with <code class="docutils literal notranslate"><span class="pre">shuffle=True</span></code>
(this change, due to <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7823">#7823</a> was not mentioned in the release notes at
the time)</p></li>
</ul>
<p>Details are listed in the changelog below.</p>
<p>(While we are trying to better inform users by providing this information, we
cannot assure that this list is complete.)</p>
</section>
<section id="id1">
<h2>Changelog<a class="headerlink" href="#id1" title="Permalink to this heading">¶</a></h2>
<section id="new-features">
<h3>New features<a class="headerlink" href="#new-features" title="Permalink to this heading">¶</a></h3>
<p>Classifiers and regressors</p>
<ul class="simple">
<li><p>Added <a class="reference internal" href="../modules/generated/sklearn.multioutput.ClassifierChain.html#sklearn.multioutput.ClassifierChain" title="sklearn.multioutput.ClassifierChain"><code class="xref py py-class docutils literal notranslate"><span class="pre">multioutput.ClassifierChain</span></code></a> for multi-label
classification. By <a class="reference external" href="https://github.com/adamklec">Adam Kleczewski</a>.</p></li>
<li><p>Added solver <code class="docutils literal notranslate"><span class="pre">'saga'</span></code> that implements the improved version of Stochastic
Average Gradient, in <a class="reference internal" href="../modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression" title="sklearn.linear_model.LogisticRegression"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LogisticRegression</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge" title="sklearn.linear_model.Ridge"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.Ridge</span></code></a>. It allows the use of L1 penalty with
multinomial logistic loss, and behaves marginally better than ‘sag’
during the first epochs of ridge and logistic regression.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8446">#8446</a> by <a class="reference external" href="https://amensch.fr">Arthur Mensch</a>.</p></li>
</ul>
<p>Other estimators</p>
<ul class="simple">
<li><p>Added the <a class="reference internal" href="../modules/generated/sklearn.neighbors.LocalOutlierFactor.html#sklearn.neighbors.LocalOutlierFactor" title="sklearn.neighbors.LocalOutlierFactor"><code class="xref py py-class docutils literal notranslate"><span class="pre">neighbors.LocalOutlierFactor</span></code></a> class for anomaly
detection based on nearest neighbors.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5279">#5279</a> by <a class="reference external" href="https://ngoix.github.io/">Nicolas Goix</a> and <a class="reference external" href="http://alexandre.gramfort.net">Alexandre Gramfort</a>.</p></li>
<li><p>Added <a class="reference internal" href="../modules/generated/sklearn.preprocessing.QuantileTransformer.html#sklearn.preprocessing.QuantileTransformer" title="sklearn.preprocessing.QuantileTransformer"><code class="xref py py-class docutils literal notranslate"><span class="pre">preprocessing.QuantileTransformer</span></code></a> class and
<a class="reference internal" href="../modules/generated/sklearn.preprocessing.quantile_transform.html#sklearn.preprocessing.quantile_transform" title="sklearn.preprocessing.quantile_transform"><code class="xref py py-func docutils literal notranslate"><span class="pre">preprocessing.quantile_transform</span></code></a> function for features
normalization based on quantiles.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8363">#8363</a> by <a class="reference external" href="https://github.com/dengemann">Denis Engemann</a>,
<a class="reference external" href="https://github.com/glemaitre">Guillaume Lemaitre</a>, <a class="reference external" href="https://twitter.com/ogrisel">Olivier Grisel</a>, <a class="reference external" href="https://github.com/raghavrv">Raghav RV</a>,
<a class="reference external" href="https://github.com/tguillemot">Thierry Guillemot</a>, and <a class="reference external" href="http://gael-varoquaux.info">Gael Varoquaux</a>.</p></li>
<li><p>The new solver <code class="docutils literal notranslate"><span class="pre">'mu'</span></code> implements a Multiplicate Update in
<a class="reference internal" href="../modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF" title="sklearn.decomposition.NMF"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.NMF</span></code></a>, allowing the optimization of all
beta-divergences, including the Frobenius norm, the generalized
Kullback-Leibler divergence and the Itakura-Saito divergence.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5295">#5295</a> by <a class="reference external" href="https://github.com/TomDLT">Tom Dupre la Tour</a>.</p></li>
</ul>
<p>Model selection and evaluation</p>
<ul class="simple">
<li><p><a class="reference internal" href="../modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV" title="sklearn.model_selection.GridSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.GridSearchCV</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV" title="sklearn.model_selection.RandomizedSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.RandomizedSearchCV</span></code></a> now support simultaneous
evaluation of multiple metrics. Refer to the
<a class="reference internal" href="../modules/grid_search.html#multimetric-grid-search"><span class="std std-ref">Specifying multiple metrics for evaluation</span></a> section of the user guide for more
information. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7388">#7388</a> by <a class="reference external" href="https://github.com/raghavrv">Raghav RV</a></p></li>
<li><p>Added the <a class="reference internal" href="../modules/generated/sklearn.model_selection.cross_validate.html#sklearn.model_selection.cross_validate" title="sklearn.model_selection.cross_validate"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.cross_validate</span></code></a> which allows evaluation
of multiple metrics. This function returns a dict with more useful
information from cross-validation such as the train scores, fit times and
score times.
Refer to <a class="reference internal" href="../modules/cross_validation.html#multimetric-cross-validation"><span class="std std-ref">The cross_validate function and multiple metric evaluation</span></a> section of the userguide
for more information. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7388">#7388</a> by <a class="reference external" href="https://github.com/raghavrv">Raghav RV</a></p></li>
<li><p>Added <a class="reference internal" href="../modules/generated/sklearn.metrics.mean_squared_log_error.html#sklearn.metrics.mean_squared_log_error" title="sklearn.metrics.mean_squared_log_error"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.mean_squared_log_error</span></code></a>, which computes
the mean square error of the logarithmic transformation of targets,
particularly useful for targets with an exponential trend.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7655">#7655</a> by <a class="reference external" href="https://github.com/karandesai-96">Karan Desai</a>.</p></li>
<li><p>Added <a class="reference internal" href="../modules/generated/sklearn.metrics.dcg_score.html#sklearn.metrics.dcg_score" title="sklearn.metrics.dcg_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.dcg_score</span></code></a> and <a class="reference internal" href="../modules/generated/sklearn.metrics.ndcg_score.html#sklearn.metrics.ndcg_score" title="sklearn.metrics.ndcg_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.ndcg_score</span></code></a>, which
compute Discounted cumulative gain (DCG) and Normalized discounted
cumulative gain (NDCG).
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7739">#7739</a> by <a class="reference external" href="https://github.com/davidgasquez">David Gasquez</a>.</p></li>
<li><p>Added the <a class="reference internal" href="../modules/generated/sklearn.model_selection.RepeatedKFold.html#sklearn.model_selection.RepeatedKFold" title="sklearn.model_selection.RepeatedKFold"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.RepeatedKFold</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.model_selection.RepeatedStratifiedKFold.html#sklearn.model_selection.RepeatedStratifiedKFold" title="sklearn.model_selection.RepeatedStratifiedKFold"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.RepeatedStratifiedKFold</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8120">#8120</a> by <a class="reference external" href="http://neerajgangwar.in">Neeraj Gangwar</a>.</p></li>
</ul>
<p>Miscellaneous</p>
<ul class="simple">
<li><p>Validation that input data contains no NaN or inf can now be suppressed
using <a class="reference internal" href="../modules/generated/sklearn.config_context.html#sklearn.config_context" title="sklearn.config_context"><code class="xref py py-func docutils literal notranslate"><span class="pre">config_context</span></code></a>, at your own risk. This will save on runtime,
and may be particularly useful for prediction time. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7548">#7548</a> by
<a class="reference external" href="https://joelnothman.com/">Joel Nothman</a>.</p></li>
<li><p>Added a test to ensure parameter listing in docstrings match the
function/class signature. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9206">#9206</a> by <a class="reference external" href="http://alexandre.gramfort.net">Alexandre Gramfort</a> and
<a class="reference external" href="https://github.com/raghavrv">Raghav RV</a>.</p></li>
</ul>
</section>
<section id="id2">
<h3>Enhancements<a class="headerlink" href="#id2" title="Permalink to this heading">¶</a></h3>
<p>Trees and ensembles</p>
<ul class="simple">
<li><p>The <code class="docutils literal notranslate"><span class="pre">min_weight_fraction_leaf</span></code> constraint in tree construction is now
more efficient, taking a fast path to declare a node a leaf if its weight
is less than 2 * the minimum. Note that the constructed tree will be
different from previous versions where <code class="docutils literal notranslate"><span class="pre">min_weight_fraction_leaf</span></code> is
used. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7441">#7441</a> by <a class="reference external" href="https://github.com/nelson-liu">Nelson Liu</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier" title="sklearn.ensemble.GradientBoostingClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.GradientBoostingClassifier</span></code></a> and <a class="reference internal" href="../modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#sklearn.ensemble.GradientBoostingRegressor" title="sklearn.ensemble.GradientBoostingRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.GradientBoostingRegressor</span></code></a>
now support sparse input for prediction.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/6101">#6101</a> by <a class="reference external" href="https://github.com/olologin">Ibraim Ganiev</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier" title="sklearn.ensemble.VotingClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.VotingClassifier</span></code></a> now allows changing estimators by using
<a class="reference internal" href="../modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier.set_params" title="sklearn.ensemble.VotingClassifier.set_params"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ensemble.VotingClassifier.set_params</span></code></a>. An estimator can also be
removed by setting it to <code class="docutils literal notranslate"><span class="pre">None</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7674">#7674</a> by <a class="reference external" href="https://github.com/yl565">Yichuan Liu</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.tree.export_graphviz.html#sklearn.tree.export_graphviz" title="sklearn.tree.export_graphviz"><code class="xref py py-func docutils literal notranslate"><span class="pre">tree.export_graphviz</span></code></a> now shows configurable number of decimal
places. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8698">#8698</a> by <a class="reference external" href="https://github.com/glemaitre">Guillaume Lemaitre</a>.</p></li>
<li><p>Added <code class="docutils literal notranslate"><span class="pre">flatten_transform</span></code> parameter to <a class="reference internal" href="../modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier" title="sklearn.ensemble.VotingClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.VotingClassifier</span></code></a>
to change output shape of <code class="docutils literal notranslate"><span class="pre">transform</span></code> method to 2 dimensional.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7794">#7794</a> by <a class="reference external" href="https://github.com/olologin">Ibraim Ganiev</a> and
<a class="reference external" href="https://github.com/herilalaina">Herilalaina Rakotoarison</a>.</p></li>
</ul>
<p>Linear, kernelized and related models</p>
<ul class="simple">
<li><p><a class="reference internal" href="../modules/generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier" title="sklearn.linear_model.SGDClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.SGDClassifier</span></code></a>, <a class="reference internal" href="../modules/generated/sklearn.linear_model.SGDRegressor.html#sklearn.linear_model.SGDRegressor" title="sklearn.linear_model.SGDRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.SGDRegressor</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.PassiveAggressiveClassifier.html#sklearn.linear_model.PassiveAggressiveClassifier" title="sklearn.linear_model.PassiveAggressiveClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.PassiveAggressiveClassifier</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.PassiveAggressiveRegressor.html#sklearn.linear_model.PassiveAggressiveRegressor" title="sklearn.linear_model.PassiveAggressiveRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.PassiveAggressiveRegressor</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.linear_model.Perceptron.html#sklearn.linear_model.Perceptron" title="sklearn.linear_model.Perceptron"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.Perceptron</span></code></a> now expose <code class="docutils literal notranslate"><span class="pre">max_iter</span></code> and
<code class="docutils literal notranslate"><span class="pre">tol</span></code> parameters, to handle convergence more precisely.
<code class="docutils literal notranslate"><span class="pre">n_iter</span></code> parameter is deprecated, and the fitted estimator exposes
a <code class="docutils literal notranslate"><span class="pre">n_iter_</span></code> attribute, with actual number of iterations before
convergence. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5036">#5036</a> by <a class="reference external" href="https://github.com/TomDLT">Tom Dupre la Tour</a>.</p></li>
<li><p>Added <code class="docutils literal notranslate"><span class="pre">average</span></code> parameter to perform weight averaging in
<a class="reference internal" href="../modules/generated/sklearn.linear_model.PassiveAggressiveClassifier.html#sklearn.linear_model.PassiveAggressiveClassifier" title="sklearn.linear_model.PassiveAggressiveClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.PassiveAggressiveClassifier</span></code></a>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/4939">#4939</a>
by <a class="reference external" href="https://github.com/aesuli">Andrea Esuli</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.linear_model.RANSACRegressor.html#sklearn.linear_model.RANSACRegressor" title="sklearn.linear_model.RANSACRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.RANSACRegressor</span></code></a> no longer throws an error
when calling <code class="docutils literal notranslate"><span class="pre">fit</span></code> if no inliers are found in its first iteration.
Furthermore, causes of skipped iterations are tracked in newly added
attributes, <code class="docutils literal notranslate"><span class="pre">n_skips_*</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7914">#7914</a> by <a class="reference external" href="https://github.com/mthorrell">Michael Horrell</a>.</p></li>
<li><p>In <a class="reference internal" href="../modules/generated/sklearn.gaussian_process.GaussianProcessRegressor.html#sklearn.gaussian_process.GaussianProcessRegressor" title="sklearn.gaussian_process.GaussianProcessRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">gaussian_process.GaussianProcessRegressor</span></code></a>, method <code class="docutils literal notranslate"><span class="pre">predict</span></code>
is a lot faster with <code class="docutils literal notranslate"><span class="pre">return_std=True</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8591">#8591</a> by
<a class="reference external" href="https://github.com/hbertrand">Hadrien Bertrand</a>.</p></li>
<li><p>Added <code class="docutils literal notranslate"><span class="pre">return_std</span></code> to <code class="docutils literal notranslate"><span class="pre">predict</span></code> method of
<a class="reference internal" href="../modules/generated/sklearn.linear_model.ARDRegression.html#sklearn.linear_model.ARDRegression" title="sklearn.linear_model.ARDRegression"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.ARDRegression</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.linear_model.BayesianRidge.html#sklearn.linear_model.BayesianRidge" title="sklearn.linear_model.BayesianRidge"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.BayesianRidge</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7838">#7838</a> by <a class="reference external" href="https://github.com/sergeyf">Sergey Feldman</a>.</p></li>
<li><p>Memory usage enhancements: Prevent cast from float32 to float64 in:
<a class="reference internal" href="../modules/generated/sklearn.linear_model.MultiTaskElasticNet.html#sklearn.linear_model.MultiTaskElasticNet" title="sklearn.linear_model.MultiTaskElasticNet"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.MultiTaskElasticNet</span></code></a>;
<a class="reference internal" href="../modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression" title="sklearn.linear_model.LogisticRegression"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LogisticRegression</span></code></a> when using newton-cg solver; and
<a class="reference internal" href="../modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge" title="sklearn.linear_model.Ridge"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.Ridge</span></code></a> when using svd, sparse_cg, cholesky or lsqr
solvers. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8835">#8835</a>, <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8061">#8061</a> by <a class="reference external" href="https://github.com/massich">Joan Massich</a> and <a class="reference external" href="https://github.com/ncordier">Nicolas
Cordier</a> and <a class="reference external" href="https://github.com/tguillemot">Thierry Guillemot</a>.</p></li>
</ul>
<p>Other predictors</p>
<ul class="simple">
<li><p>Custom metrics for the <code class="xref py py-mod docutils literal notranslate"><span class="pre">neighbors</span></code> binary trees now have
fewer constraints: they must take two 1d-arrays and return a float.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/6288">#6288</a> by <a class="reference external" href="https://staff.washington.edu/jakevdp/">Jake Vanderplas</a>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">algorithm='auto</span></code> in <code class="xref py py-mod docutils literal notranslate"><span class="pre">neighbors</span></code> estimators now chooses the most
appropriate algorithm for all input types and metrics. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9145">#9145</a> by
<a class="reference external" href="https://github.com/herilalaina">Herilalaina Rakotoarison</a> and <a class="reference external" href="https://github.com/preddy5">Reddy Chinthala</a>.</p></li>
</ul>
<p>Decomposition, manifold learning and clustering</p>
<ul class="simple">
<li><p><a class="reference internal" href="../modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans" title="sklearn.cluster.MiniBatchKMeans"><code class="xref py py-class docutils literal notranslate"><span class="pre">cluster.MiniBatchKMeans</span></code></a> and <a class="reference internal" href="../modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans" title="sklearn.cluster.KMeans"><code class="xref py py-class docutils literal notranslate"><span class="pre">cluster.KMeans</span></code></a>
now use significantly less memory when assigning data points to their
nearest cluster center. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7721">#7721</a> by <a class="reference external" href="https://github.com/Erotemic">Jon Crall</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA" title="sklearn.decomposition.PCA"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.PCA</span></code></a>, <a class="reference internal" href="../modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA" title="sklearn.decomposition.IncrementalPCA"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.IncrementalPCA</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.decomposition.TruncatedSVD.html#sklearn.decomposition.TruncatedSVD" title="sklearn.decomposition.TruncatedSVD"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.TruncatedSVD</span></code></a> now expose the singular values
from the underlying SVD. They are stored in the attribute
<code class="docutils literal notranslate"><span class="pre">singular_values_</span></code>, like in <a class="reference internal" href="../modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA" title="sklearn.decomposition.IncrementalPCA"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.IncrementalPCA</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7685">#7685</a> by <a class="reference external" href="https://github.com/tomlof">Tommy Löfstedt</a></p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.decomposition.NMF.html#sklearn.decomposition.NMF" title="sklearn.decomposition.NMF"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.NMF</span></code></a> now faster when <code class="docutils literal notranslate"><span class="pre">beta_loss=0</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9277">#9277</a> by <a class="reference external" href="https://github.com/hongkahjun">@hongkahjun</a>.</p></li>
<li><p>Memory improvements for method <code class="docutils literal notranslate"><span class="pre">barnes_hut</span></code> in <a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a>
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7089">#7089</a> by <a class="reference external" href="https://github.com/tomMoral">Thomas Moreau</a> and <a class="reference external" href="https://twitter.com/ogrisel">Olivier Grisel</a>.</p></li>
<li><p>Optimization schedule improvements for Barnes-Hut <a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a>
so the results are closer to the one from the reference implementation
<a class="reference external" href="https://github.com/lvdmaaten/bhtsne">lvdmaaten/bhtsne</a> by <a class="reference external" href="https://github.com/tomMoral">Thomas
Moreau</a> and <a class="reference external" href="https://twitter.com/ogrisel">Olivier Grisel</a>.</p></li>
<li><p>Memory usage enhancements: Prevent cast from float32 to float64 in
<a class="reference internal" href="../modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA" title="sklearn.decomposition.PCA"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.PCA</span></code></a> and
<code class="xref py py-func docutils literal notranslate"><span class="pre">decomposition.randomized_svd_low_rank</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9067">#9067</a> by <a class="reference external" href="https://github.com/raghavrv">Raghav RV</a>.</p></li>
</ul>
<p>Preprocessing and feature selection</p>
<ul class="simple">
<li><p>Added <code class="docutils literal notranslate"><span class="pre">norm_order</span></code> parameter to <a class="reference internal" href="../modules/generated/sklearn.feature_selection.SelectFromModel.html#sklearn.feature_selection.SelectFromModel" title="sklearn.feature_selection.SelectFromModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_selection.SelectFromModel</span></code></a>
to enable selection of the norm order when <code class="docutils literal notranslate"><span class="pre">coef_</span></code> is more than 1D.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/6181">#6181</a> by <a class="reference external" href="https://github.com/antoinewdg">Antoine Wendlinger</a>.</p></li>
<li><p>Added ability to use sparse matrices in <a class="reference internal" href="../modules/generated/sklearn.feature_selection.f_regression.html#sklearn.feature_selection.f_regression" title="sklearn.feature_selection.f_regression"><code class="xref py py-func docutils literal notranslate"><span class="pre">feature_selection.f_regression</span></code></a>
with <code class="docutils literal notranslate"><span class="pre">center=True</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8065">#8065</a> by <a class="reference external" href="https://github.com/acadiansith">Daniel LeJeune</a>.</p></li>
<li><p>Small performance improvement to n-gram creation in
<code class="xref py py-mod docutils literal notranslate"><span class="pre">feature_extraction.text</span></code> by binding methods for loops and
special-casing unigrams. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7567">#7567</a> by <a class="reference external" href="https://github.com/jtdoepke">Jaye Doepke</a></p></li>
<li><p>Relax assumption on the data for the
<a class="reference internal" href="../modules/generated/sklearn.kernel_approximation.SkewedChi2Sampler.html#sklearn.kernel_approximation.SkewedChi2Sampler" title="sklearn.kernel_approximation.SkewedChi2Sampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">kernel_approximation.SkewedChi2Sampler</span></code></a>. Since the Skewed-Chi2
kernel is defined on the open interval <span class="math notranslate nohighlight">\((-skewedness; +\infty)^d\)</span>,
the transform function should not check whether <code class="docutils literal notranslate"><span class="pre">X</span> <span class="pre"><</span> <span class="pre">0</span></code> but whether <code class="docutils literal notranslate"><span class="pre">X</span> <span class="pre"><</span>
<span class="pre">-self.skewedness</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7573">#7573</a> by <a class="reference external" href="https://github.com/RomainBrault">Romain Brault</a>.</p></li>
<li><p>Made default kernel parameters kernel-dependent in
<a class="reference internal" href="../modules/generated/sklearn.kernel_approximation.Nystroem.html#sklearn.kernel_approximation.Nystroem" title="sklearn.kernel_approximation.Nystroem"><code class="xref py py-class docutils literal notranslate"><span class="pre">kernel_approximation.Nystroem</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5229">#5229</a> by <a class="reference external" href="https://github.com/mth4saurabh">Saurabh Bansod</a> and <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
</ul>
<p>Model evaluation and meta-estimators</p>
<ul class="simple">
<li><p><a class="reference internal" href="../modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline" title="sklearn.pipeline.Pipeline"><code class="xref py py-class docutils literal notranslate"><span class="pre">pipeline.Pipeline</span></code></a> is now able to cache transformers
within a pipeline by using the <code class="docutils literal notranslate"><span class="pre">memory</span></code> constructor parameter.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7990">#7990</a> by <a class="reference external" href="https://github.com/glemaitre">Guillaume Lemaitre</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline" title="sklearn.pipeline.Pipeline"><code class="xref py py-class docutils literal notranslate"><span class="pre">pipeline.Pipeline</span></code></a> steps can now be accessed as attributes of its
<code class="docutils literal notranslate"><span class="pre">named_steps</span></code> attribute. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8586">#8586</a> by <a class="reference external" href="https://github.com/herilalaina">Herilalaina
Rakotoarison</a>.</p></li>
<li><p>Added <code class="docutils literal notranslate"><span class="pre">sample_weight</span></code> parameter to <a class="reference internal" href="../modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline.score" title="sklearn.pipeline.Pipeline.score"><code class="xref py py-meth docutils literal notranslate"><span class="pre">pipeline.Pipeline.score</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7723">#7723</a> by <a class="reference external" href="https://github.com/kmike">Mikhail Korobov</a>.</p></li>
<li><p>Added ability to set <code class="docutils literal notranslate"><span class="pre">n_jobs</span></code> parameter to <a class="reference internal" href="../modules/generated/sklearn.pipeline.make_union.html#sklearn.pipeline.make_union" title="sklearn.pipeline.make_union"><code class="xref py py-func docutils literal notranslate"><span class="pre">pipeline.make_union</span></code></a>.
A <code class="docutils literal notranslate"><span class="pre">TypeError</span></code> will be raised for any other kwargs. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8028">#8028</a>
by <a class="reference external" href="https://github.com/alexandercbooth">Alexander Booth</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV" title="sklearn.model_selection.GridSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.GridSearchCV</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV" title="sklearn.model_selection.RandomizedSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.RandomizedSearchCV</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.model_selection.cross_val_score.html#sklearn.model_selection.cross_val_score" title="sklearn.model_selection.cross_val_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.cross_val_score</span></code></a> now allow estimators with callable
kernels which were previously prohibited.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8005">#8005</a> by <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a> .</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.model_selection.cross_val_predict.html#sklearn.model_selection.cross_val_predict" title="sklearn.model_selection.cross_val_predict"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.cross_val_predict</span></code></a> now returns output of the
correct shape for all values of the argument <code class="docutils literal notranslate"><span class="pre">method</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7863">#7863</a> by <a class="reference external" href="https://github.com/dalmia">Aman Dalmia</a>.</p></li>
<li><p>Added <code class="docutils literal notranslate"><span class="pre">shuffle</span></code> and <code class="docutils literal notranslate"><span class="pre">random_state</span></code> parameters to shuffle training
data before taking prefixes of it based on training sizes in
<a class="reference internal" href="../modules/generated/sklearn.model_selection.learning_curve.html#sklearn.model_selection.learning_curve" title="sklearn.model_selection.learning_curve"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.learning_curve</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7506">#7506</a> by <a class="reference external" href="https://github.com/NarineK">Narine Kokhlikyan</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.model_selection.StratifiedShuffleSplit.html#sklearn.model_selection.StratifiedShuffleSplit" title="sklearn.model_selection.StratifiedShuffleSplit"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.StratifiedShuffleSplit</span></code></a> now works with multioutput
multiclass (or multilabel) data. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9044">#9044</a> by <a class="reference external" href="https://vene.ro/">Vlad Niculae</a>.</p></li>
<li><p>Speed improvements to <a class="reference internal" href="../modules/generated/sklearn.model_selection.StratifiedShuffleSplit.html#sklearn.model_selection.StratifiedShuffleSplit" title="sklearn.model_selection.StratifiedShuffleSplit"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.StratifiedShuffleSplit</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5991">#5991</a> by <a class="reference external" href="https://github.com/arthurmensch">Arthur Mensch</a> and <a class="reference external" href="https://joelnothman.com/">Joel Nothman</a>.</p></li>
<li><p>Add <code class="docutils literal notranslate"><span class="pre">shuffle</span></code> parameter to <a class="reference internal" href="../modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test_split" title="sklearn.model_selection.train_test_split"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.train_test_split</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8845">#8845</a> by <a class="reference external" href="https://github.com/themrmax">themrmax</a></p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.multioutput.MultiOutputRegressor.html#sklearn.multioutput.MultiOutputRegressor" title="sklearn.multioutput.MultiOutputRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">multioutput.MultiOutputRegressor</span></code></a> and <a class="reference internal" href="../modules/generated/sklearn.multioutput.MultiOutputClassifier.html#sklearn.multioutput.MultiOutputClassifier" title="sklearn.multioutput.MultiOutputClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">multioutput.MultiOutputClassifier</span></code></a>
now support online learning using <code class="docutils literal notranslate"><span class="pre">partial_fit</span></code>.
:issue: <code class="docutils literal notranslate"><span class="pre">8053</span></code> by <a class="reference external" href="https://github.com/yupbank">Peng Yu</a>.</p></li>
<li><p>Add <code class="docutils literal notranslate"><span class="pre">max_train_size</span></code> parameter to <a class="reference internal" href="../modules/generated/sklearn.model_selection.TimeSeriesSplit.html#sklearn.model_selection.TimeSeriesSplit" title="sklearn.model_selection.TimeSeriesSplit"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.TimeSeriesSplit</span></code></a>
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8282">#8282</a> by <a class="reference external" href="https://github.com/dalmia">Aman Dalmia</a>.</p></li>
<li><p>More clustering metrics are now available through <a class="reference internal" href="../modules/generated/sklearn.metrics.get_scorer.html#sklearn.metrics.get_scorer" title="sklearn.metrics.get_scorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.get_scorer</span></code></a>
and <code class="docutils literal notranslate"><span class="pre">scoring</span></code> parameters. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8117">#8117</a> by <a class="reference external" href="https://github.com/raghavrv">Raghav RV</a>.</p></li>
<li><p>A scorer based on <a class="reference internal" href="../modules/generated/sklearn.metrics.explained_variance_score.html#sklearn.metrics.explained_variance_score" title="sklearn.metrics.explained_variance_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.explained_variance_score</span></code></a> is also available.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9259">#9259</a> by <a class="reference external" href="https://github.com/qinhanmin2014">Hanmin Qin</a>.</p></li>
</ul>
<p>Metrics</p>
<ul class="simple">
<li><p><a class="reference internal" href="../modules/generated/sklearn.metrics.matthews_corrcoef.html#sklearn.metrics.matthews_corrcoef" title="sklearn.metrics.matthews_corrcoef"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.matthews_corrcoef</span></code></a> now support multiclass classification.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8094">#8094</a> by <a class="reference external" href="https://github.com/Erotemic">Jon Crall</a>.</p></li>
<li><p>Add <code class="docutils literal notranslate"><span class="pre">sample_weight</span></code> parameter to <a class="reference internal" href="../modules/generated/sklearn.metrics.cohen_kappa_score.html#sklearn.metrics.cohen_kappa_score" title="sklearn.metrics.cohen_kappa_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.cohen_kappa_score</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8335">#8335</a> by <a class="reference external" href="https://github.com/vpoughon">Victor Poughon</a>.</p></li>
</ul>
<p>Miscellaneous</p>
<ul class="simple">
<li><p><code class="xref py py-func docutils literal notranslate"><span class="pre">utils.check_estimator</span></code> now attempts to ensure that methods
transform, predict, etc. do not set attributes on the estimator.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7533">#7533</a> by <a class="reference external" href="https://github.com/kiote">Ekaterina Krivich</a>.</p></li>
<li><p>Added type checking to the <code class="docutils literal notranslate"><span class="pre">accept_sparse</span></code> parameter in
<code class="xref py py-mod docutils literal notranslate"><span class="pre">utils.validation</span></code> methods. This parameter now accepts only boolean,
string, or list/tuple of strings. <code class="docutils literal notranslate"><span class="pre">accept_sparse=None</span></code> is deprecated and
should be replaced by <code class="docutils literal notranslate"><span class="pre">accept_sparse=False</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7880">#7880</a> by <a class="reference external" href="https://github.com/jkarno">Josh Karnofsky</a>.</p></li>
<li><p>Make it possible to load a chunk of an svmlight formatted file by
passing a range of bytes to <a class="reference internal" href="../modules/generated/sklearn.datasets.load_svmlight_file.html#sklearn.datasets.load_svmlight_file" title="sklearn.datasets.load_svmlight_file"><code class="xref py py-func docutils literal notranslate"><span class="pre">datasets.load_svmlight_file</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/935">#935</a> by <a class="reference external" href="https://github.com/ogrisel">Olivier Grisel</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.dummy.DummyClassifier.html#sklearn.dummy.DummyClassifier" title="sklearn.dummy.DummyClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">dummy.DummyClassifier</span></code></a> and <a class="reference internal" href="../modules/generated/sklearn.dummy.DummyRegressor.html#sklearn.dummy.DummyRegressor" title="sklearn.dummy.DummyRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">dummy.DummyRegressor</span></code></a>
now accept non-finite features. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8931">#8931</a> by <a class="reference external" href="https://github.com/Attractadore">@Attractadore</a>.</p></li>
</ul>
</section>
<section id="id3">
<h3>Bug fixes<a class="headerlink" href="#id3" title="Permalink to this heading">¶</a></h3>
<p>Trees and ensembles</p>
<ul class="simple">
<li><p>Fixed a memory leak in trees when using trees with <code class="docutils literal notranslate"><span class="pre">criterion='mae'</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8002">#8002</a> by <a class="reference external" href="https://github.com/raghavrv">Raghav RV</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.ensemble.IsolationForest.html#sklearn.ensemble.IsolationForest" title="sklearn.ensemble.IsolationForest"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.IsolationForest</span></code></a> uses an
an incorrect formula for the average path length
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8549">#8549</a> by <a class="reference external" href="https://github.com/PTRWang">Peter Wang</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.ensemble.AdaBoostClassifier.html#sklearn.ensemble.AdaBoostClassifier" title="sklearn.ensemble.AdaBoostClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.AdaBoostClassifier</span></code></a> throws
<code class="docutils literal notranslate"><span class="pre">ZeroDivisionError</span></code> while fitting data with single class labels.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7501">#7501</a> by <a class="reference external" href="https://github.com/dokato">Dominik Krzeminski</a>.</p></li>
<li><p>Fixed a bug in <a class="reference internal" href="../modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier" title="sklearn.ensemble.GradientBoostingClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.GradientBoostingClassifier</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#sklearn.ensemble.GradientBoostingRegressor" title="sklearn.ensemble.GradientBoostingRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.GradientBoostingRegressor</span></code></a> where a float being compared
to <code class="docutils literal notranslate"><span class="pre">0.0</span></code> using <code class="docutils literal notranslate"><span class="pre">==</span></code> caused a divide by zero error. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7970">#7970</a> by
<a class="reference external" href="https://github.com/chenhe95">He Chen</a>.</p></li>
<li><p>Fix a bug where <a class="reference internal" href="../modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier" title="sklearn.ensemble.GradientBoostingClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.GradientBoostingClassifier</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#sklearn.ensemble.GradientBoostingRegressor" title="sklearn.ensemble.GradientBoostingRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.GradientBoostingRegressor</span></code></a> ignored the
<code class="docutils literal notranslate"><span class="pre">min_impurity_split</span></code> parameter.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8006">#8006</a> by <a class="reference external" href="https://github.com/sebp">Sebastian Pölsterl</a>.</p></li>
<li><p>Fixed <code class="docutils literal notranslate"><span class="pre">oob_score</span></code> in <a class="reference internal" href="../modules/generated/sklearn.ensemble.BaggingClassifier.html#sklearn.ensemble.BaggingClassifier" title="sklearn.ensemble.BaggingClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.BaggingClassifier</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8936">#8936</a> by <a class="reference external" href="https://github.com/mlewis1729">Michael Lewis</a></p></li>
<li><p>Fixed excessive memory usage in prediction for random forests estimators.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8672">#8672</a> by <a class="reference external" href="https://github.com/mikebenfield">Mike Benfield</a>.</p></li>
<li><p>Fixed a bug where <code class="docutils literal notranslate"><span class="pre">sample_weight</span></code> as a list broke random forests in Python 2
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8068">#8068</a> by <a class="reference external" href="https://github.com/xor">@xor</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.ensemble.IsolationForest.html#sklearn.ensemble.IsolationForest" title="sklearn.ensemble.IsolationForest"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.IsolationForest</span></code></a> fails when
<code class="docutils literal notranslate"><span class="pre">max_features</span></code> is less than 1.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5732">#5732</a> by <a class="reference external" href="https://github.com/IshankGulati">Ishank Gulati</a>.</p></li>
<li><p>Fix a bug where gradient boosting with <code class="docutils literal notranslate"><span class="pre">loss='quantile'</span></code> computed
negative errors for negative values of <code class="docutils literal notranslate"><span class="pre">ytrue</span> <span class="pre">-</span> <span class="pre">ypred</span></code> leading to wrong
values when calling <code class="docutils literal notranslate"><span class="pre">__call__</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8087">#8087</a> by <a class="reference external" href="https://github.com/AlexisMignon">Alexis Mignon</a></p></li>
<li><p>Fix a bug where <a class="reference internal" href="../modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier" title="sklearn.ensemble.VotingClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">ensemble.VotingClassifier</span></code></a> raises an error
when a numpy array is passed in for weights. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7983">#7983</a> by
<a class="reference external" href="https://github.com/vincentpham1991">Vincent Pham</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.tree.export_graphviz.html#sklearn.tree.export_graphviz" title="sklearn.tree.export_graphviz"><code class="xref py py-func docutils literal notranslate"><span class="pre">tree.export_graphviz</span></code></a> raised an error
when the length of features_names does not match n_features in the decision
tree. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8512">#8512</a> by <a class="reference external" href="https://github.com/aikinogard">Li Li</a>.</p></li>
</ul>
<p>Linear, kernelized and related models</p>
<ul class="simple">
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.linear_model.RANSACRegressor.html#sklearn.linear_model.RANSACRegressor.fit" title="sklearn.linear_model.RANSACRegressor.fit"><code class="xref py py-func docutils literal notranslate"><span class="pre">linear_model.RANSACRegressor.fit</span></code></a> may run until
<code class="docutils literal notranslate"><span class="pre">max_iter</span></code> if it finds a large inlier group early. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8251">#8251</a> by
<a class="reference external" href="https://github.com/aivision2020">@aivision2020</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.naive_bayes.MultinomialNB.html#sklearn.naive_bayes.MultinomialNB" title="sklearn.naive_bayes.MultinomialNB"><code class="xref py py-class docutils literal notranslate"><span class="pre">naive_bayes.MultinomialNB</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.naive_bayes.BernoulliNB.html#sklearn.naive_bayes.BernoulliNB" title="sklearn.naive_bayes.BernoulliNB"><code class="xref py py-class docutils literal notranslate"><span class="pre">naive_bayes.BernoulliNB</span></code></a> failed when <code class="docutils literal notranslate"><span class="pre">alpha=0</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5814">#5814</a> by
<a class="reference external" href="https://github.com/yl565">Yichuan Liu</a> and <a class="reference external" href="https://github.com/herilalaina">Herilalaina Rakotoarison</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.linear_model.LassoLars.html#sklearn.linear_model.LassoLars" title="sklearn.linear_model.LassoLars"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LassoLars</span></code></a> does not give
the same result as the LassoLars implementation available
in R (lars library). <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7849">#7849</a> by <a class="reference external" href="https://github.com/jmontoyam">Jair Montoya Martinez</a>.</p></li>
<li><p>Fixed a bug in <code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.RandomizedLasso</span></code>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.Lars.html#sklearn.linear_model.Lars" title="sklearn.linear_model.Lars"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.Lars</span></code></a>, <a class="reference internal" href="../modules/generated/sklearn.linear_model.LassoLars.html#sklearn.linear_model.LassoLars" title="sklearn.linear_model.LassoLars"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LassoLars</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.LarsCV.html#sklearn.linear_model.LarsCV" title="sklearn.linear_model.LarsCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LarsCV</span></code></a> and <a class="reference internal" href="../modules/generated/sklearn.linear_model.LassoLarsCV.html#sklearn.linear_model.LassoLarsCV" title="sklearn.linear_model.LassoLarsCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LassoLarsCV</span></code></a>,
where the parameter <code class="docutils literal notranslate"><span class="pre">precompute</span></code> was not used consistently across
classes, and some values proposed in the docstring could raise errors.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5359">#5359</a> by <a class="reference external" href="https://github.com/TomDLT">Tom Dupre la Tour</a>.</p></li>
<li><p>Fix inconsistent results between <a class="reference internal" href="../modules/generated/sklearn.linear_model.RidgeCV.html#sklearn.linear_model.RidgeCV" title="sklearn.linear_model.RidgeCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.RidgeCV</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge" title="sklearn.linear_model.Ridge"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.Ridge</span></code></a> when using <code class="docutils literal notranslate"><span class="pre">normalize=True</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9302">#9302</a>
by <a class="reference external" href="http://alexandre.gramfort.net">Alexandre Gramfort</a>.</p></li>
<li><p>Fix a bug where <a class="reference internal" href="../modules/generated/sklearn.linear_model.LassoLars.html#sklearn.linear_model.LassoLars.fit" title="sklearn.linear_model.LassoLars.fit"><code class="xref py py-func docutils literal notranslate"><span class="pre">linear_model.LassoLars.fit</span></code></a> sometimes
left <code class="docutils literal notranslate"><span class="pre">coef_</span></code> as a list, rather than an ndarray.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8160">#8160</a> by <a class="reference external" href="https://github.com/perimosocordiae">CJ Carey</a>.</p></li>
<li><p>Fix <a class="reference internal" href="../modules/generated/sklearn.linear_model.BayesianRidge.html#sklearn.linear_model.BayesianRidge.fit" title="sklearn.linear_model.BayesianRidge.fit"><code class="xref py py-func docutils literal notranslate"><span class="pre">linear_model.BayesianRidge.fit</span></code></a> to return
ridge parameter <code class="docutils literal notranslate"><span class="pre">alpha_</span></code> and <code class="docutils literal notranslate"><span class="pre">lambda_</span></code> consistent with calculated
coefficients <code class="docutils literal notranslate"><span class="pre">coef_</span></code> and <code class="docutils literal notranslate"><span class="pre">intercept_</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8224">#8224</a> by <a class="reference external" href="https://github.com/gedeck">Peter Gedeck</a>.</p></li>
<li><p>Fixed a bug in <a class="reference internal" href="../modules/generated/sklearn.svm.OneClassSVM.html#sklearn.svm.OneClassSVM" title="sklearn.svm.OneClassSVM"><code class="xref py py-class docutils literal notranslate"><span class="pre">svm.OneClassSVM</span></code></a> where it returned floats instead of
integer classes. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8676">#8676</a> by <a class="reference external" href="https://github.com/VathsalaAchar">Vathsala Achar</a>.</p></li>
<li><p>Fix AIC/BIC criterion computation in <a class="reference internal" href="../modules/generated/sklearn.linear_model.LassoLarsIC.html#sklearn.linear_model.LassoLarsIC" title="sklearn.linear_model.LassoLarsIC"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LassoLarsIC</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9022">#9022</a> by <a class="reference external" href="http://alexandre.gramfort.net">Alexandre Gramfort</a> and <a class="reference external" href="https://github.com/mehmetbasbug">Mehmet Basbug</a>.</p></li>
<li><p>Fixed a memory leak in our LibLinear implementation. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9024">#9024</a> by
<a class="reference external" href="https://github.com/superbobry">Sergei Lebedev</a></p></li>
<li><p>Fix bug where stratified CV splitters did not work with
<a class="reference internal" href="../modules/generated/sklearn.linear_model.LassoCV.html#sklearn.linear_model.LassoCV" title="sklearn.linear_model.LassoCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.LassoCV</span></code></a>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8973">#8973</a> by
<a class="reference external" href="https://github.com/paulochf">Paulo Haddad</a>.</p></li>
<li><p>Fixed a bug in <a class="reference internal" href="../modules/generated/sklearn.gaussian_process.GaussianProcessRegressor.html#sklearn.gaussian_process.GaussianProcessRegressor" title="sklearn.gaussian_process.GaussianProcessRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">gaussian_process.GaussianProcessRegressor</span></code></a>
when the standard deviation and covariance predicted without fit
would fail with a unmeaningful error by default.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/6573">#6573</a> by <a class="reference external" href="https://github.com/qmaruf">Quazi Marufur Rahman</a> and
<a class="reference external" href="https://manojbits.wordpress.com">Manoj Kumar</a>.</p></li>
</ul>
<p>Other predictors</p>
<ul class="simple">
<li><p>Fix <code class="xref py py-class docutils literal notranslate"><span class="pre">semi_supervised.BaseLabelPropagation</span></code> to correctly implement
<code class="docutils literal notranslate"><span class="pre">LabelPropagation</span></code> and <code class="docutils literal notranslate"><span class="pre">LabelSpreading</span></code> as done in the referenced
papers. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9239">#9239</a>
by <a class="reference external" href="https://github.com/boechat107">Andre Ambrosio Boechat</a>, <a class="reference external" href="https://github.com/musically-ut">Utkarsh Upadhyay</a>, and <a class="reference external" href="https://joelnothman.com/">Joel Nothman</a>.</p></li>
</ul>
<p>Decomposition, manifold learning and clustering</p>
<ul class="simple">
<li><p>Fixed the implementation of <a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a>:</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">early_exageration</span></code> parameter had no effect and is now used for the
first 250 optimization iterations.</p></li>
<li><p>Fixed the <code class="docutils literal notranslate"><span class="pre">AssertionError:</span> <span class="pre">Tree</span> <span class="pre">consistency</span> <span class="pre">failed</span></code> exception
reported in <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8992">#8992</a>.</p></li>
<li><p>Improve the learning schedule to match the one from the reference
implementation <a class="reference external" href="https://github.com/lvdmaaten/bhtsne">lvdmaaten/bhtsne</a>.
by <a class="reference external" href="https://github.com/tomMoral">Thomas Moreau</a> and <a class="reference external" href="https://twitter.com/ogrisel">Olivier Grisel</a>.</p></li>
<li><p>Fix a bug in <a class="reference internal" href="../modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation" title="sklearn.decomposition.LatentDirichletAllocation"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.LatentDirichletAllocation</span></code></a>
where the <code class="docutils literal notranslate"><span class="pre">perplexity</span></code> method was returning incorrect results because
the <code class="docutils literal notranslate"><span class="pre">transform</span></code> method returns normalized document topic distributions
as of version 0.18. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7954">#7954</a> by <a class="reference external" href="https://github.com/garyForeman">Gary Foreman</a>.</p></li>
<li><p>Fix output shape and bugs with n_jobs > 1 in
<a class="reference internal" href="../modules/generated/sklearn.decomposition.SparseCoder.html#sklearn.decomposition.SparseCoder" title="sklearn.decomposition.SparseCoder"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.SparseCoder</span></code></a> transform and
<a class="reference internal" href="../modules/generated/sklearn.decomposition.sparse_encode.html#sklearn.decomposition.sparse_encode" title="sklearn.decomposition.sparse_encode"><code class="xref py py-func docutils literal notranslate"><span class="pre">decomposition.sparse_encode</span></code></a>
for one-dimensional data and one component.
This also impacts the output shape of <a class="reference internal" href="../modules/generated/sklearn.decomposition.DictionaryLearning.html#sklearn.decomposition.DictionaryLearning" title="sklearn.decomposition.DictionaryLearning"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.DictionaryLearning</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8086">#8086</a> by <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
<li><p>Fixed the implementation of <code class="docutils literal notranslate"><span class="pre">explained_variance_</span></code>
in <a class="reference internal" href="../modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA" title="sklearn.decomposition.PCA"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.PCA</span></code></a>,
<code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.RandomizedPCA</span></code> and
<a class="reference internal" href="../modules/generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA" title="sklearn.decomposition.IncrementalPCA"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.IncrementalPCA</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9105">#9105</a> by <a class="reference external" href="https://github.com/qinhanmin2014">Hanmin Qin</a>.</p></li>
<li><p>Fixed the implementation of <code class="docutils literal notranslate"><span class="pre">noise_variance_</span></code> in <a class="reference internal" href="../modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA" title="sklearn.decomposition.PCA"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.PCA</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9108">#9108</a> by <a class="reference external" href="https://github.com/qinhanmin2014">Hanmin Qin</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN" title="sklearn.cluster.DBSCAN"><code class="xref py py-class docutils literal notranslate"><span class="pre">cluster.DBSCAN</span></code></a> gives incorrect
result when input is a precomputed sparse matrix with initial
rows all zero. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8306">#8306</a> by <a class="reference external" href="https://github.com/Akshay0724">Akshay Gupta</a></p></li>
<li><p>Fix a bug regarding fitting <a class="reference internal" href="../modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans" title="sklearn.cluster.KMeans"><code class="xref py py-class docutils literal notranslate"><span class="pre">cluster.KMeans</span></code></a> with a sparse
array X and initial centroids, where X’s means were unnecessarily being
subtracted from the centroids. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7872">#7872</a> by <a class="reference external" href="https://github.com/jkarno">Josh Karnofsky</a>.</p></li>
<li><p>Fixes to the input validation in <a class="reference internal" href="../modules/generated/sklearn.covariance.EllipticEnvelope.html#sklearn.covariance.EllipticEnvelope" title="sklearn.covariance.EllipticEnvelope"><code class="xref py py-class docutils literal notranslate"><span class="pre">covariance.EllipticEnvelope</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8086">#8086</a> by <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
<li><p>Fixed a bug in <a class="reference internal" href="../modules/generated/sklearn.covariance.MinCovDet.html#sklearn.covariance.MinCovDet" title="sklearn.covariance.MinCovDet"><code class="xref py py-class docutils literal notranslate"><span class="pre">covariance.MinCovDet</span></code></a> where inputting data
that produced a singular covariance matrix would cause the helper method
<code class="docutils literal notranslate"><span class="pre">_c_step</span></code> to throw an exception.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/3367">#3367</a> by <a class="reference external" href="https://github.com/ThatGeoGuy">Jeremy Steward</a></p></li>
<li><p>Fixed a bug in <a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a> affecting convergence of the
gradient descent. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8768">#8768</a> by <a class="reference external" href="https://github.com/deto">David DeTomaso</a>.</p></li>
<li><p>Fixed a bug in <a class="reference internal" href="../modules/generated/sklearn.manifold.TSNE.html#sklearn.manifold.TSNE" title="sklearn.manifold.TSNE"><code class="xref py py-class docutils literal notranslate"><span class="pre">manifold.TSNE</span></code></a> where it stored the incorrect
<code class="docutils literal notranslate"><span class="pre">kl_divergence_</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/6507">#6507</a> by <a class="reference external" href="https://github.com/ssaeger">Sebastian Saeger</a>.</p></li>
<li><p>Fixed improper scaling in <a class="reference internal" href="../modules/generated/sklearn.cross_decomposition.PLSRegression.html#sklearn.cross_decomposition.PLSRegression" title="sklearn.cross_decomposition.PLSRegression"><code class="xref py py-class docutils literal notranslate"><span class="pre">cross_decomposition.PLSRegression</span></code></a>
with <code class="docutils literal notranslate"><span class="pre">scale=True</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7819">#7819</a> by <a class="reference external" href="https://github.com/jayzed82">jayzed82</a>.</p></li>
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">cluster.bicluster.SpectralCoclustering</span></code> and
<code class="xref py py-class docutils literal notranslate"><span class="pre">cluster.bicluster.SpectralBiclustering</span></code> <code class="docutils literal notranslate"><span class="pre">fit</span></code> method conforms
with API by accepting <code class="docutils literal notranslate"><span class="pre">y</span></code> and returning the object. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/6126">#6126</a>,
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7814">#7814</a> by <a class="reference external" href="https://github.com/ldirer">Laurent Direr</a> and <a class="reference external" href="https://github.com/maniteja123">Maniteja
Nandana</a>.</p></li>
<li><p>Fix bug where <code class="xref py py-mod docutils literal notranslate"><span class="pre">mixture</span></code> <code class="docutils literal notranslate"><span class="pre">sample</span></code> methods did not return as many
samples as requested. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7702">#7702</a> by <a class="reference external" href="https://github.com/ljwolf">Levi John Wolf</a>.</p></li>
<li><p>Fixed the shrinkage implementation in <a class="reference internal" href="../modules/generated/sklearn.neighbors.NearestCentroid.html#sklearn.neighbors.NearestCentroid" title="sklearn.neighbors.NearestCentroid"><code class="xref py py-class docutils literal notranslate"><span class="pre">neighbors.NearestCentroid</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9219">#9219</a> by <a class="reference external" href="https://github.com/qinhanmin2014">Hanmin Qin</a>.</p></li>
</ul>
<p>Preprocessing and feature selection</p>
<ul class="simple">
<li><p>For sparse matrices, <a class="reference internal" href="../modules/generated/sklearn.preprocessing.normalize.html#sklearn.preprocessing.normalize" title="sklearn.preprocessing.normalize"><code class="xref py py-func docutils literal notranslate"><span class="pre">preprocessing.normalize</span></code></a> with <code class="docutils literal notranslate"><span class="pre">return_norm=True</span></code>
will now raise a <code class="docutils literal notranslate"><span class="pre">NotImplementedError</span></code> with ‘l1’ or ‘l2’ norm and with
norm ‘max’ the norms returned will be the same as for dense matrices.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7771">#7771</a> by <a class="reference external" href="https://github.com/luang008">Ang Lu</a>.</p></li>
<li><p>Fix a bug where <a class="reference internal" href="../modules/generated/sklearn.feature_selection.SelectFdr.html#sklearn.feature_selection.SelectFdr" title="sklearn.feature_selection.SelectFdr"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_selection.SelectFdr</span></code></a> did not
exactly implement Benjamini-Hochberg procedure. It formerly may have
selected fewer features than it should.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7490">#7490</a> by <a class="reference external" href="https://github.com/mpjlu">Peng Meng</a>.</p></li>
<li><p>Fixed a bug where <code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.RandomizedLasso</span></code> and
<code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.RandomizedLogisticRegression</span></code> breaks for
sparse input. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8259">#8259</a> by <a class="reference external" href="https://github.com/dalmia">Aman Dalmia</a>.</p></li>
<li><p>Fix a bug where <a class="reference internal" href="../modules/generated/sklearn.feature_extraction.FeatureHasher.html#sklearn.feature_extraction.FeatureHasher" title="sklearn.feature_extraction.FeatureHasher"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_extraction.FeatureHasher</span></code></a>
mandatorily applied a sparse random projection to the hashed features,
preventing the use of
<a class="reference internal" href="../modules/generated/sklearn.feature_extraction.text.HashingVectorizer.html#sklearn.feature_extraction.text.HashingVectorizer" title="sklearn.feature_extraction.text.HashingVectorizer"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_extraction.text.HashingVectorizer</span></code></a> in a
pipeline with <a class="reference internal" href="../modules/generated/sklearn.feature_extraction.text.TfidfTransformer.html#sklearn.feature_extraction.text.TfidfTransformer" title="sklearn.feature_extraction.text.TfidfTransformer"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_extraction.text.TfidfTransformer</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7565">#7565</a> by <a class="reference external" href="https://github.com/rth">Roman Yurchak</a>.</p></li>
<li><p>Fix a bug where <a class="reference internal" href="../modules/generated/sklearn.feature_selection.mutual_info_regression.html#sklearn.feature_selection.mutual_info_regression" title="sklearn.feature_selection.mutual_info_regression"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_selection.mutual_info_regression</span></code></a> did not
correctly use <code class="docutils literal notranslate"><span class="pre">n_neighbors</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8181">#8181</a> by <a class="reference external" href="https://github.com/glemaitre">Guillaume Lemaitre</a>.</p></li>
</ul>
<p>Model evaluation and meta-estimators</p>
<ul class="simple">
<li><p>Fixed a bug where <code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.BaseSearchCV.inverse_transform</span></code>
returns <code class="docutils literal notranslate"><span class="pre">self.best_estimator_.transform()</span></code> instead of
<code class="docutils literal notranslate"><span class="pre">self.best_estimator_.inverse_transform()</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8344">#8344</a> by <a class="reference external" href="https://github.com/Akshay0724">Akshay Gupta</a> and <a class="reference external" href="https://github.com/MrMjauh">Rasmus Eriksson</a>.</p></li>
<li><p>Added <code class="docutils literal notranslate"><span class="pre">classes_</span></code> attribute to <a class="reference internal" href="../modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV" title="sklearn.model_selection.GridSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.GridSearchCV</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV" title="sklearn.model_selection.RandomizedSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.RandomizedSearchCV</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">grid_search.GridSearchCV</span></code>,
and <code class="xref py py-class docutils literal notranslate"><span class="pre">grid_search.RandomizedSearchCV</span></code> that matches the <code class="docutils literal notranslate"><span class="pre">classes_</span></code>
attribute of <code class="docutils literal notranslate"><span class="pre">best_estimator_</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7661">#7661</a> and <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8295">#8295</a>
by <a class="reference external" href="https://github.com/abatula">Alyssa Batula</a>, <a class="reference external" href="https://github.com/unautre">Dylan Werner-Meier</a>,
and <a class="reference external" href="https://github.com/stephen-hoover">Stephen Hoover</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.model_selection.validation_curve.html#sklearn.model_selection.validation_curve" title="sklearn.model_selection.validation_curve"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.validation_curve</span></code></a>
reused the same estimator for each parameter value.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7365">#7365</a> by <a class="reference external" href="https://github.com/Sundrique">Aleksandr Sandrovskii</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.model_selection.permutation_test_score.html#sklearn.model_selection.permutation_test_score" title="sklearn.model_selection.permutation_test_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.permutation_test_score</span></code></a> now works with Pandas
types. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5697">#5697</a> by <a class="reference external" href="https://github.com/equialgo">Stijn Tonk</a>.</p></li>
<li><p>Several fixes to input validation in
<a class="reference internal" href="../modules/generated/sklearn.multiclass.OutputCodeClassifier.html#sklearn.multiclass.OutputCodeClassifier" title="sklearn.multiclass.OutputCodeClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiclass.OutputCodeClassifier</span></code></a>
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8086">#8086</a> by <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.multiclass.OneVsOneClassifier.html#sklearn.multiclass.OneVsOneClassifier" title="sklearn.multiclass.OneVsOneClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiclass.OneVsOneClassifier</span></code></a>’s <code class="docutils literal notranslate"><span class="pre">partial_fit</span></code> now ensures all
classes are provided up-front. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/6250">#6250</a> by
<a class="reference external" href="https://github.com/kaichogami">Asish Panda</a>.</p></li>
<li><p>Fix <a class="reference internal" href="../modules/generated/sklearn.multioutput.MultiOutputClassifier.html#sklearn.multioutput.MultiOutputClassifier.predict_proba" title="sklearn.multioutput.MultiOutputClassifier.predict_proba"><code class="xref py py-func docutils literal notranslate"><span class="pre">multioutput.MultiOutputClassifier.predict_proba</span></code></a> to return a
list of 2d arrays, rather than a 3d array. In the case where different
target columns had different numbers of classes, a <code class="docutils literal notranslate"><span class="pre">ValueError</span></code> would be
raised on trying to stack matrices with different dimensions.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8093">#8093</a> by <a class="reference external" href="https://github.com/pjbull">Peter Bull</a>.</p></li>
<li><p>Cross validation now works with Pandas datatypes that have a
read-only index. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9507">#9507</a> by <a class="reference external" href="https://github.com/lesteve">Loic Esteve</a>.</p></li>
</ul>
<p>Metrics</p>
<ul class="simple">
<li><p><a class="reference internal" href="../modules/generated/sklearn.metrics.average_precision_score.html#sklearn.metrics.average_precision_score" title="sklearn.metrics.average_precision_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.average_precision_score</span></code></a> no longer linearly
interpolates between operating points, and instead weighs precisions
by the change in recall since the last operating point, as per the
<a class="reference external" href="https://en.wikipedia.org/wiki/Average_precision">Wikipedia entry</a>.
(<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/pull/7356">#7356</a>). By
<a class="reference external" href="https://github.com/ndingwall">Nick Dingwall</a> and <a class="reference external" href="http://gael-varoquaux.info">Gael Varoquaux</a>.</p></li>
<li><p>Fix a bug in <code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.classification._check_targets</span></code>
which would return <code class="docutils literal notranslate"><span class="pre">'binary'</span></code> if <code class="docutils literal notranslate"><span class="pre">y_true</span></code> and <code class="docutils literal notranslate"><span class="pre">y_pred</span></code> were
both <code class="docutils literal notranslate"><span class="pre">'binary'</span></code> but the union of <code class="docutils literal notranslate"><span class="pre">y_true</span></code> and <code class="docutils literal notranslate"><span class="pre">y_pred</span></code> was
<code class="docutils literal notranslate"><span class="pre">'multiclass'</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8377">#8377</a> by <a class="reference external" href="https://github.com/lesteve">Loic Esteve</a>.</p></li>
<li><p>Fixed an integer overflow bug in <a class="reference internal" href="../modules/generated/sklearn.metrics.confusion_matrix.html#sklearn.metrics.confusion_matrix" title="sklearn.metrics.confusion_matrix"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.confusion_matrix</span></code></a> and
hence <a class="reference internal" href="../modules/generated/sklearn.metrics.cohen_kappa_score.html#sklearn.metrics.cohen_kappa_score" title="sklearn.metrics.cohen_kappa_score"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.cohen_kappa_score</span></code></a>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8354">#8354</a>, <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7929">#7929</a>
by <a class="reference external" href="https://joelnothman.com/">Joel Nothman</a> and <a class="reference external" href="https://github.com/Erotemic">Jon Crall</a>.</p></li>
<li><p>Fixed passing of <code class="docutils literal notranslate"><span class="pre">gamma</span></code> parameter to the <code class="docutils literal notranslate"><span class="pre">chi2</span></code> kernel in
<a class="reference internal" href="../modules/generated/sklearn.metrics.pairwise.pairwise_kernels.html#sklearn.metrics.pairwise.pairwise_kernels" title="sklearn.metrics.pairwise.pairwise_kernels"><code class="xref py py-func docutils literal notranslate"><span class="pre">metrics.pairwise.pairwise_kernels</span></code></a> <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/5211">#5211</a> by
<a class="reference external" href="https://github.com/nrhine1">Nick Rhinehart</a>,
<a class="reference external" href="https://github.com/mth4saurabh">Saurabh Bansod</a> and <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
</ul>
<p>Miscellaneous</p>
<ul class="simple">
<li><p>Fixed a bug when <a class="reference internal" href="../modules/generated/sklearn.datasets.make_classification.html#sklearn.datasets.make_classification" title="sklearn.datasets.make_classification"><code class="xref py py-func docutils literal notranslate"><span class="pre">datasets.make_classification</span></code></a> fails
when generating more than 30 features. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8159">#8159</a> by
<a class="reference external" href="https://github.com/herilalaina">Herilalaina Rakotoarison</a>.</p></li>
<li><p>Fixed a bug where <a class="reference internal" href="../modules/generated/sklearn.datasets.make_moons.html#sklearn.datasets.make_moons" title="sklearn.datasets.make_moons"><code class="xref py py-func docutils literal notranslate"><span class="pre">datasets.make_moons</span></code></a> gives an
incorrect result when <code class="docutils literal notranslate"><span class="pre">n_samples</span></code> is odd.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8198">#8198</a> by <a class="reference external" href="https://github.com/levy5674">Josh Levy</a>.</p></li>
<li><p>Some <code class="docutils literal notranslate"><span class="pre">fetch_</span></code> functions in <code class="xref py py-mod docutils literal notranslate"><span class="pre">datasets</span></code> were ignoring the
<code class="docutils literal notranslate"><span class="pre">download_if_missing</span></code> keyword. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7944">#7944</a> by <a class="reference external" href="https://github.com/rgommers">Ralf Gommers</a>.</p></li>
<li><p>Fix estimators to accept a <code class="docutils literal notranslate"><span class="pre">sample_weight</span></code> parameter of type
<code class="docutils literal notranslate"><span class="pre">pandas.Series</span></code> in their <code class="docutils literal notranslate"><span class="pre">fit</span></code> function. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7825">#7825</a> by
<a class="reference external" href="https://github.com/kchen17">Kathleen Chen</a>.</p></li>
<li><p>Fix a bug in cases where <code class="docutils literal notranslate"><span class="pre">numpy.cumsum</span></code> may be numerically unstable,
raising an exception if instability is identified. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7376">#7376</a> and
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7331">#7331</a> by <a class="reference external" href="https://joelnothman.com/">Joel Nothman</a> and <a class="reference external" href="https://github.com/yangarbiter">@yangarbiter</a>.</p></li>
<li><p>Fix a bug where <code class="xref py py-meth docutils literal notranslate"><span class="pre">base.BaseEstimator.__getstate__</span></code>
obstructed pickling customizations of child-classes, when used in a
multiple inheritance context.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8316">#8316</a> by <a class="reference external" href="https://github.com/HolgerPeters">Holger Peters</a>.</p></li>
<li><p>Update Sphinx-Gallery from 0.1.4 to 0.1.7 for resolving links in
documentation build with Sphinx>1.5 <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8010">#8010</a>, <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7986">#7986</a> by
<a class="reference external" href="https://github.com/Titan-C">Oscar Najera</a></p></li>
<li><p>Add <code class="docutils literal notranslate"><span class="pre">data_home</span></code> parameter to <a class="reference internal" href="../modules/generated/sklearn.datasets.fetch_kddcup99.html#sklearn.datasets.fetch_kddcup99" title="sklearn.datasets.fetch_kddcup99"><code class="xref py py-func docutils literal notranslate"><span class="pre">sklearn.datasets.fetch_kddcup99</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9289">#9289</a> by <a class="reference external" href="https://github.com/lesteve">Loic Esteve</a>.</p></li>
<li><p>Fix dataset loaders using Python 3 version of makedirs to also work in
Python 2. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9284">#9284</a> by <a class="reference external" href="https://github.com/SebastinSanty">Sebastin Santy</a>.</p></li>
<li><p>Several minor issues were fixed with thanks to the alerts of
<a class="reference external" href="https://lgtm.com/">lgtm.com</a>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9278">#9278</a> by <a class="reference external" href="https://github.com/jhelie">Jean Helie</a>,
among others.</p></li>
</ul>
</section>
</section>
<section id="api-changes-summary">
<h2>API changes summary<a class="headerlink" href="#api-changes-summary" title="Permalink to this heading">¶</a></h2>
<p>Trees and ensembles</p>
<ul class="simple">
<li><p>Gradient boosting base models are no longer estimators. By <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
<li><p>All tree based estimators now accept a <code class="docutils literal notranslate"><span class="pre">min_impurity_decrease</span></code>
parameter in lieu of the <code class="docutils literal notranslate"><span class="pre">min_impurity_split</span></code>, which is now deprecated.
The <code class="docutils literal notranslate"><span class="pre">min_impurity_decrease</span></code> helps stop splitting the nodes in which
the weighted impurity decrease from splitting is no longer at least
<code class="docutils literal notranslate"><span class="pre">min_impurity_decrease</span></code>. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8449">#8449</a> by <a class="reference external" href="https://github.com/raghavrv">Raghav RV</a>.</p></li>
</ul>
<p>Linear, kernelized and related models</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">n_iter</span></code> parameter is deprecated in <a class="reference internal" href="../modules/generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier" title="sklearn.linear_model.SGDClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.SGDClassifier</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.SGDRegressor.html#sklearn.linear_model.SGDRegressor" title="sklearn.linear_model.SGDRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.SGDRegressor</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.PassiveAggressiveClassifier.html#sklearn.linear_model.PassiveAggressiveClassifier" title="sklearn.linear_model.PassiveAggressiveClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.PassiveAggressiveClassifier</span></code></a>,
<a class="reference internal" href="../modules/generated/sklearn.linear_model.PassiveAggressiveRegressor.html#sklearn.linear_model.PassiveAggressiveRegressor" title="sklearn.linear_model.PassiveAggressiveRegressor"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.PassiveAggressiveRegressor</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.linear_model.Perceptron.html#sklearn.linear_model.Perceptron" title="sklearn.linear_model.Perceptron"><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.Perceptron</span></code></a>. By <a class="reference external" href="https://github.com/TomDLT">Tom Dupre la Tour</a>.</p></li>
</ul>
<p>Other predictors</p>
<ul class="simple">
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">neighbors.LSHForest</span></code> has been deprecated and will be
removed in 0.21 due to poor performance.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9078">#9078</a> by <a class="reference external" href="https://github.com/ldirer">Laurent Direr</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.neighbors.NearestCentroid.html#sklearn.neighbors.NearestCentroid" title="sklearn.neighbors.NearestCentroid"><code class="xref py py-class docutils literal notranslate"><span class="pre">neighbors.NearestCentroid</span></code></a> no longer purports to support
<code class="docutils literal notranslate"><span class="pre">metric='precomputed'</span></code> which now raises an error. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8515">#8515</a> by
<a class="reference external" href="https://github.com/sergulaydore">Sergul Aydore</a>.</p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">alpha</span></code> parameter of <a class="reference internal" href="../modules/generated/sklearn.semi_supervised.LabelPropagation.html#sklearn.semi_supervised.LabelPropagation" title="sklearn.semi_supervised.LabelPropagation"><code class="xref py py-class docutils literal notranslate"><span class="pre">semi_supervised.LabelPropagation</span></code></a> now
has no effect and is deprecated to be removed in 0.21. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9239">#9239</a>
by <a class="reference external" href="https://github.com/boechat107">Andre Ambrosio Boechat</a>, <a class="reference external" href="https://github.com/musically-ut">Utkarsh Upadhyay</a>, and <a class="reference external" href="https://joelnothman.com/">Joel Nothman</a>.</p></li>
</ul>
<p>Decomposition, manifold learning and clustering</p>
<ul class="simple">
<li><p>Deprecate the <code class="docutils literal notranslate"><span class="pre">doc_topic_distr</span></code> argument of the <code class="docutils literal notranslate"><span class="pre">perplexity</span></code> method
in <a class="reference internal" href="../modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation" title="sklearn.decomposition.LatentDirichletAllocation"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.LatentDirichletAllocation</span></code></a> because the
user no longer has access to the unnormalized document topic distribution
needed for the perplexity calculation. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7954">#7954</a> by
<a class="reference external" href="https://github.com/garyForeman">Gary Foreman</a>.</p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">n_topics</span></code> parameter of <a class="reference internal" href="../modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation" title="sklearn.decomposition.LatentDirichletAllocation"><code class="xref py py-class docutils literal notranslate"><span class="pre">decomposition.LatentDirichletAllocation</span></code></a>
has been renamed to <code class="docutils literal notranslate"><span class="pre">n_components</span></code> and will be removed in version 0.21.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8922">#8922</a> by <a class="reference external" href="https://github.com/Attractadore">@Attractadore</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.decomposition.SparsePCA.html#sklearn.decomposition.SparsePCA.transform" title="sklearn.decomposition.SparsePCA.transform"><code class="xref py py-meth docutils literal notranslate"><span class="pre">decomposition.SparsePCA.transform</span></code></a>’s <code class="docutils literal notranslate"><span class="pre">ridge_alpha</span></code> parameter is
deprecated in preference for class parameter.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8137">#8137</a> by <a class="reference external" href="https://github.com/naoyak">Naoya Kanai</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN" title="sklearn.cluster.DBSCAN"><code class="xref py py-class docutils literal notranslate"><span class="pre">cluster.DBSCAN</span></code></a> now has a <code class="docutils literal notranslate"><span class="pre">metric_params</span></code> parameter.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8139">#8139</a> by <a class="reference external" href="https://github.com/naoyak">Naoya Kanai</a>.</p></li>
</ul>
<p>Preprocessing and feature selection</p>
<ul class="simple">
<li><p><a class="reference internal" href="../modules/generated/sklearn.feature_selection.SelectFromModel.html#sklearn.feature_selection.SelectFromModel" title="sklearn.feature_selection.SelectFromModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_selection.SelectFromModel</span></code></a> now has a <code class="docutils literal notranslate"><span class="pre">partial_fit</span></code>
method only if the underlying estimator does. By <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.feature_selection.SelectFromModel.html#sklearn.feature_selection.SelectFromModel" title="sklearn.feature_selection.SelectFromModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_selection.SelectFromModel</span></code></a> now validates the <code class="docutils literal notranslate"><span class="pre">threshold</span></code>
parameter and sets the <code class="docutils literal notranslate"><span class="pre">threshold_</span></code> attribute during the call to
<code class="docutils literal notranslate"><span class="pre">fit</span></code>, and no longer during the call to <code class="docutils literal notranslate"><span class="pre">transform`</span></code>. By <a class="reference external" href="https://amueller.github.io/">Andreas
Müller</a>.</p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">non_negative</span></code> parameter in <a class="reference internal" href="../modules/generated/sklearn.feature_extraction.FeatureHasher.html#sklearn.feature_extraction.FeatureHasher" title="sklearn.feature_extraction.FeatureHasher"><code class="xref py py-class docutils literal notranslate"><span class="pre">feature_extraction.FeatureHasher</span></code></a>
has been deprecated, and replaced with a more principled alternative,
<code class="docutils literal notranslate"><span class="pre">alternate_sign</span></code>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7565">#7565</a> by <a class="reference external" href="https://github.com/rth">Roman Yurchak</a>.</p></li>
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.RandomizedLogisticRegression</span></code>,
and <code class="xref py py-class docutils literal notranslate"><span class="pre">linear_model.RandomizedLasso</span></code> have been deprecated and will
be removed in version 0.21.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8995">#8995</a> by <a class="reference external" href="https://github.com/sentient07">Ramana.S</a>.</p></li>
</ul>
<p>Model evaluation and meta-estimators</p>
<ul class="simple">
<li><p>Deprecate the <code class="docutils literal notranslate"><span class="pre">fit_params</span></code> constructor input to the
<a class="reference internal" href="../modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV" title="sklearn.model_selection.GridSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.GridSearchCV</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV" title="sklearn.model_selection.RandomizedSearchCV"><code class="xref py py-class docutils literal notranslate"><span class="pre">model_selection.RandomizedSearchCV</span></code></a> in favor
of passing keyword parameters to the <code class="docutils literal notranslate"><span class="pre">fit</span></code> methods
of those classes. Data-dependent parameters needed for model
training should be passed as keyword arguments to <code class="docutils literal notranslate"><span class="pre">fit</span></code>,
and conforming to this convention will allow the hyperparameter
selection classes to be used with tools such as
<a class="reference internal" href="../modules/generated/sklearn.model_selection.cross_val_predict.html#sklearn.model_selection.cross_val_predict" title="sklearn.model_selection.cross_val_predict"><code class="xref py py-func docutils literal notranslate"><span class="pre">model_selection.cross_val_predict</span></code></a>.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/2879">#2879</a> by <a class="reference external" href="https://github.com/stephen-hoover">Stephen Hoover</a>.</p></li>
<li><p>In version 0.21, the default behavior of splitters that use the
<code class="docutils literal notranslate"><span class="pre">test_size</span></code> and <code class="docutils literal notranslate"><span class="pre">train_size</span></code> parameter will change, such that
specifying <code class="docutils literal notranslate"><span class="pre">train_size</span></code> alone will cause <code class="docutils literal notranslate"><span class="pre">test_size</span></code> to be the
remainder. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7459">#7459</a> by <a class="reference external" href="https://github.com/nelson-liu">Nelson Liu</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier" title="sklearn.multiclass.OneVsRestClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiclass.OneVsRestClassifier</span></code></a> now has <code class="docutils literal notranslate"><span class="pre">partial_fit</span></code>,
<code class="docutils literal notranslate"><span class="pre">decision_function</span></code> and <code class="docutils literal notranslate"><span class="pre">predict_proba</span></code> methods only when the
underlying estimator does. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/7812">#7812</a> by <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a> and
<a class="reference external" href="https://github.com/kmike">Mikhail Korobov</a>.</p></li>
<li><p><a class="reference internal" href="../modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier" title="sklearn.multiclass.OneVsRestClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiclass.OneVsRestClassifier</span></code></a> now has a <code class="docutils literal notranslate"><span class="pre">partial_fit</span></code> method
only if the underlying estimator does. By <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">decision_function</span></code> output shape for binary classification in
<a class="reference internal" href="../modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier" title="sklearn.multiclass.OneVsRestClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiclass.OneVsRestClassifier</span></code></a> and
<a class="reference internal" href="../modules/generated/sklearn.multiclass.OneVsOneClassifier.html#sklearn.multiclass.OneVsOneClassifier" title="sklearn.multiclass.OneVsOneClassifier"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiclass.OneVsOneClassifier</span></code></a> is now <code class="docutils literal notranslate"><span class="pre">(n_samples,)</span></code> to conform
to scikit-learn conventions. <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/9100">#9100</a> by <a class="reference external" href="https://amueller.github.io/">Andreas Müller</a>.</p></li>
<li><p>The <a class="reference internal" href="../modules/generated/sklearn.multioutput.MultiOutputClassifier.html#sklearn.multioutput.MultiOutputClassifier.predict_proba" title="sklearn.multioutput.MultiOutputClassifier.predict_proba"><code class="xref py py-func docutils literal notranslate"><span class="pre">multioutput.MultiOutputClassifier.predict_proba</span></code></a>
function used to return a 3d array (<code class="docutils literal notranslate"><span class="pre">n_samples</span></code>, <code class="docutils literal notranslate"><span class="pre">n_classes</span></code>,
<code class="docutils literal notranslate"><span class="pre">n_outputs</span></code>). In the case where different target columns had different
numbers of classes, a <code class="docutils literal notranslate"><span class="pre">ValueError</span></code> would be raised on trying to stack
matrices with different dimensions. This function now returns a list of
arrays where the length of the list is <code class="docutils literal notranslate"><span class="pre">n_outputs</span></code>, and each array is
(<code class="docutils literal notranslate"><span class="pre">n_samples</span></code>, <code class="docutils literal notranslate"><span class="pre">n_classes</span></code>) for that particular output.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8093">#8093</a> by <a class="reference external" href="https://github.com/pjbull">Peter Bull</a>.</p></li>
<li><p>Replace attribute <code class="docutils literal notranslate"><span class="pre">named_steps</span></code> <code class="docutils literal notranslate"><span class="pre">dict</span></code> to <a class="reference internal" href="../modules/generated/sklearn.utils.Bunch.html#sklearn.utils.Bunch" title="sklearn.utils.Bunch"><code class="xref py py-class docutils literal notranslate"><span class="pre">utils.Bunch</span></code></a>
in <a class="reference internal" href="../modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline" title="sklearn.pipeline.Pipeline"><code class="xref py py-class docutils literal notranslate"><span class="pre">pipeline.Pipeline</span></code></a> to enable tab completion in interactive
environment. In the case conflict value on <code class="docutils literal notranslate"><span class="pre">named_steps</span></code> and <code class="docutils literal notranslate"><span class="pre">dict</span></code>
attribute, <code class="docutils literal notranslate"><span class="pre">dict</span></code> behavior will be prioritized.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8481">#8481</a> by <a class="reference external" href="https://github.com/herilalaina">Herilalaina Rakotoarison</a>.</p></li>
</ul>
<p>Miscellaneous</p>
<ul>
<li><p>Deprecate the <code class="docutils literal notranslate"><span class="pre">y</span></code> parameter in <code class="docutils literal notranslate"><span class="pre">transform</span></code> and <code class="docutils literal notranslate"><span class="pre">inverse_transform</span></code>.
The method should not accept <code class="docutils literal notranslate"><span class="pre">y</span></code> parameter, as it’s used at the prediction time.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8174">#8174</a> by <a class="reference external" href="https://github.com/tzano">Tahar Zanouda</a>, <a class="reference external" href="http://alexandre.gramfort.net">Alexandre Gramfort</a>
and <a class="reference external" href="https://github.com/raghavrv">Raghav RV</a>.</p></li>
<li><p>SciPy >= 0.13.3 and NumPy >= 1.8.2 are now the minimum supported versions
for scikit-learn. The following backported functions in
<code class="xref py py-mod docutils literal notranslate"><span class="pre">utils</span></code> have been removed or deprecated accordingly.
<a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8854">#8854</a> and <a class="reference external" href="https://github.com/scikit-learn/scikit-learn/issues/8874">#8874</a> by <a class="reference external" href="https://github.com/naoyak">Naoya Kanai</a></p></li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">store_covariances</span></code> and <code class="docutils literal notranslate"><span class="pre">covariances_</span></code> parameters of
<a class="reference internal" href="../modules/generated/sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis.html#sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis" title="sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis"><code class="xref py py-class docutils literal notranslate"><span class="pre">discriminant_analysis.QuadraticDiscriminantAnalysis</span></code></a>
has been renamed to <code class="docutils literal notranslate"><span class="pre">store_covariance</span></code> and <code class="docutils literal notranslate"><span class="pre">covariance_</span></code> to be