-
Notifications
You must be signed in to change notification settings - Fork 0
/
hyperparameters.html
692 lines (557 loc) · 40 KB
/
hyperparameters.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
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<title>Hyperparameters — InterpretML documentation</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
</script>
<!-- Loaded before other Sphinx assets -->
<link href="_static/styles/theme.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
<link href="_static/styles/bootstrap.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
<link href="_static/styles/pydata-sphinx-theme.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
<link href="_static/vendor/fontawesome/6.1.2/css/all.min.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" href="_static/styles/sphinx-book-theme.css?digest=14f4ca6b54d191a8c7657f6c759bf11a5fb86285" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css" />
<link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
<link rel="stylesheet" type="text/css" href="_static/design-style.4045f2051d55cab465a707391d5b2007.min.css" />
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=12da95d707ffb74b382d" />
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=12da95d707ffb74b382d" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/clipboard.min.js"></script>
<script src="_static/copybutton.js"></script>
<script src="_static/scripts/sphinx-book-theme.js?digest=5a5c038af52cf7bc1a1ec88eea08e6366ee68824"></script>
<script>let toggleHintShow = 'Click to show';</script>
<script>let toggleHintHide = 'Click to hide';</script>
<script>let toggleOpenOnPrint = 'true';</script>
<script src="_static/togglebutton.js"></script>
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
<script src="_static/design-tabs.js"></script>
<script>const THEBE_JS_URL = "https://unpkg.com/[email protected]/lib/index.js"
const thebe_selector = ".thebe,.cell"
const thebe_selector_input = "pre"
const thebe_selector_output = ".output, .cell_output"
</script>
<script async="async" src="_static/sphinx-thebe.js"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'hyperparameters';</script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="EBM internals" href="ebm-internals.html" />
<link rel="prev" title="Differentially Private EBMs" href="dpebm.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<a class="skip-link" href="#main-content">Skip to main content</a>
<input type="checkbox"
class="sidebar-toggle"
name="__primary"
id="__primary"/>
<label class="overlay overlay-primary" for="__primary"></label>
<input type="checkbox"
class="sidebar-toggle"
name="__secondary"
id="__secondary"/>
<label class="overlay overlay-secondary" for="__secondary"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search this book..."
aria-label="Search this book..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
</div>
<nav class="bd-header navbar navbar-expand-lg bd-navbar">
</nav>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<div class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">
<a class="navbar-brand logo" href="index.html">
<img src="_static/logo.png" class="logo__image only-light" alt="Logo image"/>
<script>document.write(`<img src="_static/logo.png" class="logo__image only-dark" alt="Logo image"/>`);</script>
</a></div>
<div class="sidebar-primary-item"><nav class="bd-links" id="bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<ul class="nav bd-sidenav bd-sidenav__home-link">
<li class="toctree-l1">
<a class="reference internal" href="index.html">
Getting Started
</a>
</li>
</ul>
<ul class="current nav bd-sidenav">
<li class="toctree-l1 has-children"><a class="reference internal" href="interpret.html">API Reference</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-1"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="python/api/interpret-glassbox.html">interpret.glassbox</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-2"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="python/api/ExplainableBoostingClassifier.html">ExplainableBoostingClassifier</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/ExplainableBoostingRegressor.html">ExplainableBoostingRegressor</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/APLRRegressor.html">APLRRegressor</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/APLRClassifier.html">APLRClassifier</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/LogisticRegression.html">LogisticRegression</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/LinearRegression.html">LinearRegression</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/ClassificationTree.html">ClassificationTree</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/RegressionTree.html">RegressionTree</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/merge_ebms.html">merge_ebms</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="python/api/interpret-blackbox.html">interpret.blackbox</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-3"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="python/api/ShapKernel.html">ShapKernel</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/LimeTabular.html">LimeTabular</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/PartialDependence.html">PartialDependence</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/MorrisSensitivity.html">MorrisSensitivity</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="python/api/interpret-greybox.html">interpret.greybox</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-4"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="python/api/ShapTree.html">ShapTree</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="python/api/interpret-perf.html">interpret.perf</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-5"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="python/api/RegressionPerf.html">RegressionPerf</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/ROC.html">ROC</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/PR.html">PR</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="python/api/interpret-data.html">interpret.data</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-6"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="python/api/ClassHistogram.html">ClassHistogram</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/Marginal.html">Marginal</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="python/api/interpret-privacy.html">interpret.privacy</a><input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-7"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="python/api/DPExplainableBoostingClassifier.html">DPExplainableBoostingClassifier</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/DPExplainableBoostingRegressor.html">DPExplainableBoostingRegressor</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="python/api/interpret-utils.html">interpret.utils</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-8"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="python/api/link_func.html">link_func</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/inv_link.html">inv_link</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/measure_interactions.html">measure_interactions</a></li>
<li class="toctree-l3"><a class="reference internal" href="python/api/purify.html">purify</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="python/api/interpret-develop.html">interpret.develop</a><input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-9"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="python/api/debug_mode.html">debug_mode</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="python/api/show.html">show</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/show_link.html">show_link</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/set_show_addr.html">set_show_addr</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/get_show_addr.html">get_show_addr</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/preserve.html">preserve</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/shutdown_show_server.html">shutdown_show_server</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/init_show_server.html">init_show_server</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/status_show_server.html">status_show_server</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/set_visualize_provider.html">set_visualize_provider</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/api/get_visualize_provider.html">get_visualize_provider</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="algorithms.html">Algorithms</a><input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-10"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="glassbox.html">Glassbox Models</a><input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-11"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="ebm.html">Explainable Boosting Machine</a></li>
<li class="toctree-l3"><a class="reference internal" href="aplr.html">Automatic Piecewise Linear Regression (APLR)</a></li>
<li class="toctree-l3"><a class="reference internal" href="lr.html">Linear Model</a></li>
<li class="toctree-l3"><a class="reference internal" href="dt.html">Decision Tree</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="blackbox.html">Blackbox Explainers</a><input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-12"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="shap.html">Shapley Additive Explanations</a></li>
<li class="toctree-l3"><a class="reference internal" href="lime.html">Local Interpretable Model-agnostic Explanations</a></li>
<li class="toctree-l3"><a class="reference internal" href="pdp.html">Partial Dependence Plot</a></li>
<li class="toctree-l3"><a class="reference internal" href="msa.html">Morris Sensitivity Analysis</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="privacy.html">Differentially Private Models</a><input class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-13"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="dpebm.html">Differentially Private EBMs</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current active"><a class="current reference internal" href="#">Hyperparameters</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="ebm-internals.html">EBM internals</a><input class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-14"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="ebm-internals-regression.html">EBM Internals - Regression</a></li>
<li class="toctree-l2"><a class="reference internal" href="ebm-internals-classification.html">EBM Internals - Binary classification</a></li>
<li class="toctree-l2"><a class="reference internal" href="ebm-internals-multiclass.html">EBM Internals - Multiclass</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="framework.html">Visualizations</a></li>
<li class="toctree-l1"><a class="reference internal" href="deployment-guide.html">Deployments</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="development.html">Development</a><input class="toctree-checkbox" id="toctree-checkbox-15" name="toctree-checkbox-15" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-15"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="installation-guide.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="debugging-guide.html">Logging and Debugging</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">What the FAQ</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="examples.html">Examples</a><input class="toctree-checkbox" id="toctree-checkbox-16" name="toctree-checkbox-16" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-16"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="python/examples/interpretable-classification.html">Interpretable Classification</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/interpretable-regression.html">Interpretable Regression</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/interpretable-regression-synthetic.html">Smoothing EBMs</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/explain-blackbox-classifiers.html">Explain Blackbox Classifiers</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/explain-blackbox-regressors.html">Explain Blackbox Regressors</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/merge-ebms.html">Merging EBMs</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/custom-interactions.html">Custom Interactions</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/differential-privacy.html">Differential Privacy</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/group-importances.html">Group Importances</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/examples/prototype-selection.html">Prototype Selection</a></li>
</ul>
</li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
</div>
<div id="rtd-footer-container"></div>
</div>
<main id="main-content" class="bd-main">
<div class="sbt-scroll-pixel-helper"></div>
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item"><label class="sidebar-toggle primary-toggle btn btn-sm" for="__primary" title="Toggle primary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-bars"></span>
</label></div>
</div>
<div class="header-article-items__end">
<div class="header-article-item">
<div class="article-header-buttons">
<div class="dropdown dropdown-download-buttons">
<button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-label="Download this page">
<i class="fas fa-download"></i>
</button>
<ul class="dropdown-menu">
<li><a href="_sources/hyperparameters.md" target="_blank"
class="btn btn-sm btn-download-source-button dropdown-item"
title="Download source file"
data-bs-placement="left" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-file"></i>
</span>
<span class="btn__text-container">.md</span>
</a>
</li>
<li>
<button onclick="window.print()"
class="btn btn-sm btn-download-pdf-button dropdown-item"
title="Print to PDF"
data-bs-placement="left" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-file-pdf"></i>
</span>
<span class="btn__text-container">.pdf</span>
</button>
</li>
</ul>
</div>
<button onclick="toggleFullScreen()"
class="btn btn-sm btn-fullscreen-button"
title="Fullscreen mode"
data-bs-placement="bottom" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-expand"></i>
</span>
</button>
<script>
document.write(`
<button class="theme-switch-button btn btn-sm btn-outline-primary navbar-btn rounded-circle" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch" data-mode="light"><i class="fa-solid fa-sun"></i></span>
<span class="theme-switch" data-mode="dark"><i class="fa-solid fa-moon"></i></span>
<span class="theme-switch" data-mode="auto"><i class="fa-solid fa-circle-half-stroke"></i></span>
</button>
`);
</script>
<script>
document.write(`
<button class="btn btn-sm navbar-btn search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
</button>
`);
</script>
<label class="sidebar-toggle secondary-toggle btn btn-sm" for="__secondary"title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-list"></span>
</label>
</div></div>
</div>
</div>
</div>
<div id="jb-print-docs-body" class="onlyprint">
<h1>Hyperparameters</h1>
<!-- Table of contents -->
<div id="print-main-content">
<div id="jb-print-toc">
<div>
<h2> Contents </h2>
</div>
<nav aria-label="Page">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#max-leaves">max_leaves</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#smoothing-rounds">smoothing_rounds</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#learning-rate">learning_rate</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#interactions">interactions</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#inner-bags">inner_bags</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#interaction-smoothing-rounds">interaction_smoothing_rounds</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#min-hessian">min_hessian</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#min-samples-leaf">min_samples_leaf</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#validation-size">validation_size</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#early-stopping-rounds">early_stopping_rounds</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#early-stopping-tolerance">early_stopping_tolerance</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#max-bins">max_bins</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#max-interaction-bins">max_interaction_bins</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#greedy-ratio">greedy_ratio</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#cyclic-progress">cyclic_progress</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#outer-bags">outer_bags</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#max-rounds">max_rounds</a></li>
</ul>
</nav>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article" role="main">
<section class="tex2jax_ignore mathjax_ignore" id="hyperparameters">
<h1>Hyperparameters<a class="headerlink" href="#hyperparameters" title="Permalink to this heading">#</a></h1>
<p>Explainable Boosting Machines (EBMs) often have good performance using the default settings, however hyperparameter tuning can potentially improve model accuracy by a modest amount. The default parameters aim to balance computational efficiency with model accuracy. For some parameters we have a clear understanding of which direction they should be changed in order to improve the model. For these parameters, hyperparameter turning is not recommended and you should set them in accordance with how much time you can afford to fit the model.</p>
<p>The parameters below are ordered by tuning importance, with the most important hyperparameters to tune at the top, and the least important ones to tune at the bottom.</p>
<section id="max-leaves">
<h2>max_leaves<a class="headerlink" href="#max-leaves" title="Permalink to this heading">#</a></h2>
<p>default: 3 (classification) 2 (regression)</p>
<p>hyperparameters: [2, 3]</p>
<p>guidance: Datasets with categoricals or continuous features with many sharp transitions often benefit from max_leaves being 3. Datasets with smooth continuous features tend to perform better with max_leaves set to 2. The max_leaves parameter only applies to main effects.</p>
</section>
<section id="smoothing-rounds">
<h2>smoothing_rounds<a class="headerlink" href="#smoothing-rounds" title="Permalink to this heading">#</a></h2>
<p>default: 75 (classification) 500 (regression)</p>
<p>hyperparameters: [0, 25, 50, 75, 100, 150, 200, 350, 500, 750, 1000, 1500, 2000, 4000]</p>
<p>guidance: Classification seems to prefer a dataset dependent smoothing_rounds value centered around 75. Regression seems to prefer more smoothing_rounds. The default smoothing_rounds for regression of 500 was chosen based on fitting time, however even higher values seem to improve model performance.</p>
</section>
<section id="learning-rate">
<h2>learning_rate<a class="headerlink" href="#learning-rate" title="Permalink to this heading">#</a></h2>
<p>default: 0.015 (classification), 0.04 (regression)</p>
<p>hyperparameters: [0.0025, 0.005, 0.01, 0.015, 0.02, 0.03, 0.04, 0.05, 0.1, 0.2]</p>
<p>guidance: The conventional wisdom is that a lower learning rate is generally better, but we have found the relationship to be more complex for EBMs. In general, regression seems to prefer a higher learning rate, binary classification seems to prefer a lower learning rate, and multiclass is in-between.</p>
</section>
<section id="interactions">
<h2>interactions<a class="headerlink" href="#interactions" title="Permalink to this heading">#</a></h2>
<p>default: 0.9</p>
<p>ideal: As many as possible within interpretability limits.</p>
<p>hyperparameters: [0.0, 0.9, 0.95, 0.99, 100, 250, 1000]</p>
<p>guidance: Generally, this parameter should be chosen based on interpretability considerations as having too many interactions makes the model less interpretable. A reasonable stragegy is to initially include more interactions than desired, then drop the less important interactions in post processing after fitting. See the <a class="reference internal" href="python/api/ExplainableBoostingClassifier.html"><span class="doc std std-doc">remove_terms</span></a> function. In terms of model performance, introducing more interactions tends to improve model accuracy. Values between 0 and LESS than 1 are interpreted as percentages of the number of features. For example, a dataset with 100 features and an interactions value of 0.7 will automatically detect and use 70 interactions. Values of 1 or higher indicate the exact number of interactions to be detected, so for example 1 would create 1 interaction term, and 50 would create 50.</p>
</section>
<section id="inner-bags">
<h2>inner_bags<a class="headerlink" href="#inner-bags" title="Permalink to this heading">#</a></h2>
<p>default: 0</p>
<p>WARNING: Setting this value to 20 will typically increase the fitting time by a factor of 20x.</p>
<p>ideal: 20 (diminishing returns beyond this point)</p>
<p>hyperparameters: [0] OR if you can afford it [0, 20]</p>
<p>guidance: The default inner_bags value of 0 disables inner bagging. Setting this parameter to 1 or other low values will typically make the model worse since model fitting will then only use a subset of the data, but not do enough inner bagging to compensate. Increasing the number of inner bags to 20 can improve model accuracy at the cost of significantly longer fitting times. If computation time is not a constraint, we suggest trying both 0 and 20, but not other values in between.</p>
</section>
<section id="interaction-smoothing-rounds">
<h2>interaction_smoothing_rounds<a class="headerlink" href="#interaction-smoothing-rounds" title="Permalink to this heading">#</a></h2>
<p>default: 75 (classification) 100 (regression)</p>
<p>hyperparameters: [0, 25, 50, 75, 100, 200, 500, 1000]</p>
<p>guidance: interaction_smoothing_rounds appears to have only a minor impact on model accuracy. 100 is a good default choice, but it might be worth trying other values when optimizing a model.</p>
</section>
<section id="min-hessian">
<h2>min_hessian<a class="headerlink" href="#min-hessian" title="Permalink to this heading">#</a></h2>
<p>default: 1e-4 (classification) 0.0 (regression)</p>
<p>hyperparameters: [0.0, 1e-6, 1e-4, 1e-2]</p>
<p>guidance: For RMSE regression, min_hessian below the min_samples_leaf value has no effect. For classification, this has a minimal impact provided min_hessian is a small number.</p>
</section>
<section id="min-samples-leaf">
<h2>min_samples_leaf<a class="headerlink" href="#min-samples-leaf" title="Permalink to this heading">#</a></h2>
<p>default: 4</p>
<p>hyperparameters: [2, 3, 4, 5, 10, 20, 50]</p>
<p>guidance: The default value usually works well, however experimenting with slightly higher values could potentially enhance generalization on certain datasets. For smaller datasets, having a low value might be better. On larger datasets this parameter seems to have little effect.</p>
</section>
<section id="validation-size">
<h2>validation_size<a class="headerlink" href="#validation-size" title="Permalink to this heading">#</a></h2>
<p>default: 0.15</p>
<p>hyperparameters: [0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4]</p>
<p>guidance: The ideal amount of data to be used as validation is dataset dependent, and should be tuned when possible.</p>
</section>
<section id="early-stopping-rounds">
<h2>early_stopping_rounds<a class="headerlink" href="#early-stopping-rounds" title="Permalink to this heading">#</a></h2>
<p>default: 100</p>
<p>ideal: 200 (diminishing returns beyond this point)</p>
<p>hyperparameters: [100, 200]</p>
<p>guidance: Having 200 early_stopping_rounds results in a slightly better model than the default of 100, but it requires significantly more time to fit in some cases. early_stopping_rounds beyond 200 does not seem to improve the model much.</p>
</section>
<section id="early-stopping-tolerance">
<h2>early_stopping_tolerance<a class="headerlink" href="#early-stopping-tolerance" title="Permalink to this heading">#</a></h2>
<p>default: 1e-5</p>
<p>hyperparameters: [0.0, 1e-5]</p>
<p>guidance: early_stopping_tolerance is set to 1e-5 by default due to fitting time considerations, however setting early_stopping_tolerance to 0.0, or even a negative value sometimes yields slightly higher accuracy. EBMs are a bagged ensemble model, so overfitting each individual bag a little can be beneficial because after the models are averaged together in the ensemble averaging decreases the variance due to overfitting. Using a negative value for early_stopping_tolerance allows the individual models to be overfit.</p>
</section>
<section id="max-bins">
<h2>max_bins<a class="headerlink" href="#max-bins" title="Permalink to this heading">#</a></h2>
<p>default: 1024</p>
<p>ideal: 1024 (diminishing returns beyond this point)</p>
<p>hyperparameters: [1024]</p>
<p>guidance: Increasing the max_bins value can enhance model accuracy by enabling finer discretization of features. Values above 1024 seem to result in very small changes to model performance, although there might be benefits for very large datasets. Setting max_bins to 1024 often provides a good balance between model performance, memory requirements, and fitting time.</p>
</section>
<section id="max-interaction-bins">
<h2>max_interaction_bins<a class="headerlink" href="#max-interaction-bins" title="Permalink to this heading">#</a></h2>
<p>default: 64</p>
<p>hyperparameters: [64]</p>
<p>guidance: For max_interaction_bins, more is typically better in term of model performance, however fitting times go up significantly above 64 bins for very little benefit. We recommend using 64 as the default for this reason. If your fitting times are acceptable however, setting max_interaction_bins to 256 or even more might improve the model slightly.</p>
</section>
<section id="greedy-ratio">
<h2>greedy_ratio<a class="headerlink" href="#greedy-ratio" title="Permalink to this heading">#</a></h2>
<p>default: 10.0</p>
<p>hyperparameters: [0.0, 1.0, 2.0, 5.0, 10.0, 20.0]</p>
<p>guidance: Values of greedy_ratio above 5.0 seem to result in similar model performance.</p>
</section>
<section id="cyclic-progress">
<h2>cyclic_progress<a class="headerlink" href="#cyclic-progress" title="Permalink to this heading">#</a></h2>
<p>default: 0.0</p>
<p>hyperparameters: [0.0, 1.0]</p>
<p>guidance: Generally, turning off cyclic_progress by setting it to 0.0 is slightly better, although it can take more time to fit if greedy_ratio is close to 1.</p>
</section>
<section id="outer-bags">
<h2>outer_bags<a class="headerlink" href="#outer-bags" title="Permalink to this heading">#</a></h2>
<p>default: 14</p>
<p>ideal: 14 (diminishing returns beyond this point)</p>
<p>hyperparameters: [14]</p>
<p>guidance: Increasing outer bags beyond 14 provides no observable benefit. Reducing outer_bags below 14 might improve fitting time on machines with less than 14 cores. Setting outer_bags to 8 is reasonable on many datasets, and can improve fitting time.</p>
</section>
<section id="max-rounds">
<h2>max_rounds<a class="headerlink" href="#max-rounds" title="Permalink to this heading">#</a></h2>
<p>default: 25000</p>
<p>ideal: 1000000000 (early stopping should stop long before this point)</p>
<p>hyperparameters: [1000000000]</p>
<p>guidance: The max_rounds parameter serves as a limit to prevent excessive training on datasets where improvements taper off. Set this parameter sufficiently high to avoid premature early stopping provided fitting times are reasonable.</p>
</section>
</section>
<script type="text/x-thebe-config">
{
requestKernel: true,
binderOptions: {
repo: "binder-examples/jupyter-stacks-datascience",
ref: "master",
},
codeMirrorConfig: {
theme: "abcdef",
mode: "python"
},
kernelOptions: {
name: "python3",
path: "./."
},
predefinedOutput: true
}
</script>
<script>kernelName = 'python3'</script>
</article>
<footer class="bd-footer-article">
<!-- Previous / next buttons -->
<div class="prev-next-area">
<a class="left-prev"
href="dpebm.html"
title="previous page">
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">Differentially Private EBMs</p>
</div>
</a>
<a class="right-next"
href="ebm-internals.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">EBM internals</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> Contents
</div>
<nav class="bd-toc-nav page-toc">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#max-leaves">max_leaves</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#smoothing-rounds">smoothing_rounds</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#learning-rate">learning_rate</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#interactions">interactions</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#inner-bags">inner_bags</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#interaction-smoothing-rounds">interaction_smoothing_rounds</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#min-hessian">min_hessian</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#min-samples-leaf">min_samples_leaf</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#validation-size">validation_size</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#early-stopping-rounds">early_stopping_rounds</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#early-stopping-tolerance">early_stopping_tolerance</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#max-bins">max_bins</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#max-interaction-bins">max_interaction_bins</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#greedy-ratio">greedy_ratio</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#cyclic-progress">cyclic_progress</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#outer-bags">outer_bags</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#max-rounds">max_rounds</a></li>
</ul>
</nav></div>
</div></div>
</div>
<footer class="bd-footer-content">
<div class="bd-footer-content__inner">
<div class="bd-footer-content__inner container">
<div class="footer-item">
<p class="component-author">
By The InterpretML Contributors
</p>
</div>
<div class="footer-item">
<p class="copyright">
© Copyright 2023.
<br/>
</p>
</div>
<div class="footer-item">
</div>
<div class="footer-item">
</div>
</div></div>
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script src="_static/scripts/bootstrap.js?digest=12da95d707ffb74b382d"></script>
<script src="_static/scripts/pydata-sphinx-theme.js?digest=12da95d707ffb74b382d"></script>
<footer class="bd-footer">
</footer>
</body>
</html>