Multi Objective Loading BOA from JSON and Plotting Results#
This notebook demonstrates how to:
Loading a Scheduler from JSON from a multi objective optimization previous run (If you want to see the Experiment that this is from, see Running a Multi Objective Optimization Directly in Python. We will look at the output and plot some exploratory data analysis.
1import pathlib
2import os
3
4import numpy as np
5from ax.utils.notebook.plotting import init_notebook_plotting
6from ax.plot.trace import optimization_trace_single_method_plotly
7from ax.service.utils.report_utils import get_standard_plots, exp_to_df
8import boa
9from botorch.test_functions.synthetic import Cosine8
10
11init_notebook_plotting()
[WARNING 08-09 18:51:59] ax.service.utils.with_db_settings_base: Ax currently requires a sqlalchemy version below 2.0. This will be addressed in a future release. Disabling SQL storage in Ax for now, if you would like to use SQL storage please install Ax with mysql extras via `pip install ax-platform[mysql]`.
[INFO 08-09 18:52:00] ax.utils.notebook.plotting: Injecting Plotly library into cell. Do not overwrite or delete cell.
Loading the Scheduler from our JSON file#
1# setup stuff just because this gets reused from the latest run for the case of the docs
2try:
3 run = list(pathlib.Path().resolve().glob("moo_run*"))[-1]
4except IndexError:
5 print("No run to load. Make sure you run optimization_run.ipynb first")
1# Filepath to the scheduler.json
2
3scheduler_fp = run / "scheduler.json"
1scheduler = boa.scheduler_from_json_file(scheduler_fp)
1scheduler
Scheduler(experiment=Experiment(moo_run), generation_strategy=GenerationStrategy(name='Sobol+MOO', steps=[Sobol for 5 trials, MOO for subsequent trials]), options=SchedulerOptions(max_pending_trials=10, trial_type=<TrialType.TRIAL: 0>, batch_size=None, total_trials=None, tolerated_trial_failure_rate=0.5, min_failed_trials_for_failure_rate_check=5, log_filepath=None, logging_level=20, ttl_seconds_for_trials=None, init_seconds_between_polls=1, min_seconds_before_poll=1.0, seconds_between_polls_backoff_factor=1.5, timeout_hours=None, run_trials_in_batches=False, debug_log_run_metadata=False, early_stopping_strategy=None, global_stopping_strategy=None, suppress_storage_errors_after_retries=False))
Show the Best Fitted Trial#
best_fitted_trials uses the data to do a fitting from all trials and with the noise levels you provided (or if no noise levels was provided, it assumed an unknown level of noise and inferred the noise level from the trial runs)
1trial = scheduler.best_fitted_trials()
2trial
[INFO 08-09 18:52:01] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
{5: {'params': {'x0': 0.0, 'x1': 1.0},
'means': {'branin': -17.505493451225068, 'currin': -1.180210825441668},
'cov_matrix': {'branin': {'branin': 0.00020372026714361434, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 4.270065817471393e-06}}},
11: {'params': {'x0': 0.05854202359529262, 'x1': 1.0},
'means': {'branin': -4.714441285440431, 'currin': -3.3931290104375345},
'cov_matrix': {'branin': {'branin': 0.00018156454595365785, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 3.0080407155574445e-06}}},
12: {'params': {'x0': 0.10687501379702964, 'x1': 0.8617687681580435},
'means': {'branin': -0.7100246390319285, 'currin': -5.164387172038647},
'cov_matrix': {'branin': {'branin': 0.00024396808720906617, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 4.805432522344806e-06}}},
13: {'params': {'x0': 0.027473573209238905, 'x1': 1.0},
'means': {'branin': -9.850257699953154, 'currin': -2.28436532782856},
'cov_matrix': {'branin': {'branin': 7.934444978616345e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4294113408039267e-06}}},
14: {'params': {'x0': 0.08158653987033523, 'x1': 0.9318133238370674},
'means': {'branin': -2.283490664541924, 'currin': -4.283484681887132},
'cov_matrix': {'branin': {'branin': 0.00022247456004774227, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 3.3339670120720443e-06}}},
15: {'params': {'x0': 0.0132091473010553, 'x1': 1.0},
'means': {'branin': -13.485655293252783, 'currin': -1.7186565163587182},
'cov_matrix': {'branin': {'branin': 7.881747424106633e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.5055938774596388e-06}}},
16: {'params': {'x0': 0.04133430391389316, 'x1': 1.0},
'means': {'branin': -7.068719045222482, 'currin': -2.8046955541103014},
'cov_matrix': {'branin': {'branin': 8.497139163450152e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.5288874134129295e-06}}},
17: {'params': {'x0': 0.07007363440350005, 'x1': 0.9712042038829277},
'means': {'branin': -3.433014869205163, 'currin': -3.8298653181460645},
'cov_matrix': {'branin': {'branin': 9.825532923552217e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4578135001298803e-06}}},
18: {'params': {'x0': 0.020121867222561696, 'x1': 1.0},
'means': {'branin': -11.628878705778101, 'currin': -1.9957049690178787},
'cov_matrix': {'branin': {'branin': 8.102021594055554e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4434730239646974e-06}}},
19: {'params': {'x0': 0.006483643799602639, 'x1': 1.0},
'means': {'branin': -15.459745813383666, 'currin': -1.4455831645190047},
'cov_matrix': {'branin': {'branin': 9.022812546084441e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.6160154169450858e-06}}},
20: {'params': {'x0': 0.09406925989997199, 'x1': 0.9069778622356273},
'means': {'branin': -1.3955173949287598, 'currin': -4.69233871450265},
'cov_matrix': {'branin': {'branin': 0.00014214014196345132, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 2.0556490643716124e-06}}},
21: {'params': {'x0': 0.04931123627466197, 'x1': 1.0},
'means': {'branin': -5.820921113848389, 'currin': -3.0863101412683998},
'cov_matrix': {'branin': {'branin': 0.00010111779008013917, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.7795139495699214e-06}}},
22: {'params': {'x0': 0.03412409603364241, 'x1': 1.0},
'means': {'branin': -8.420304947783244, 'currin': -2.538450398894436},
'cov_matrix': {'branin': {'branin': 7.888626484145622e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4204939946463105e-06}}},
25: {'params': {'x0': 0.1185438614198475, 'x1': 0.8563268206150751},
'means': {'branin': -0.5696968760776837, 'currin': -5.411273800229976},
'cov_matrix': {'branin': {'branin': 0.00024872560113706703, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 5.4784114856803495e-06}}},
29: {'params': {'x0': 0.0640770440523512, 'x1': 0.9847732568974031},
'means': {'branin': -4.066021335171168, 'currin': -3.6088471467422973},
'cov_matrix': {'branin': {'branin': 0.00012207176551297212, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.7277076291425684e-06}}},
30: {'params': {'x0': 0.07587056914148772, 'x1': 0.9537539383020814},
'means': {'branin': -2.8372159731828255, 'currin': -4.052034950992466},
'cov_matrix': {'branin': {'branin': 0.00010863340998853318, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4960987743858207e-06}}},
31: {'params': {'x0': 0.10063391725982243, 'x1': 0.8885844470673756},
'means': {'branin': -1.016130264820637, 'currin': -4.916552892362885},
'cov_matrix': {'branin': {'branin': 0.0002151991134487603, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 2.9938554987074233e-06}}},
32: {'params': {'x0': 0.009809598267982297, 'x1': 1.0},
'means': {'branin': -14.463298744642001, 'currin': -1.5809686486170382},
'cov_matrix': {'branin': {'branin': 8.308566924989925e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.609179378893701e-06}}},
33: {'params': {'x0': 0.023733975932905424, 'x1': 1.0},
'means': {'branin': -10.729449601285015, 'currin': -2.138433366392239},
'cov_matrix': {'branin': {'branin': 8.128909847668509e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.448839660738959e-06}}},
34: {'params': {'x0': 0.08777109293363446, 'x1': 0.9223287995541318},
'means': {'branin': -1.8210526736845143, 'currin': -4.479672489154949},
'cov_matrix': {'branin': {'branin': 9.608177199641095e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4733646505276624e-06}}},
35: {'params': {'x0': 0.016617974637606666, 'x1': 1.0},
'means': {'branin': -12.547911015598695, 'currin': -1.8558375059272647},
'cov_matrix': {'branin': {'branin': 7.959590619874976e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4433479895263549e-06}}},
36: {'params': {'x0': 0.05370765070977513, 'x1': 1.0},
'means': {'branin': -5.2473686367191394, 'currin': -3.235109536816444},
'cov_matrix': {'branin': {'branin': 0.0001061706183178872, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.7122173692778786e-06}}},
37: {'params': {'x0': 0.030737693950976513, 'x1': 1.0},
'means': {'branin': -9.126800651942588, 'currin': -2.4100054601662766},
'cov_matrix': {'branin': {'branin': 7.785777582588074e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4132800092029477e-06}}},
38: {'params': {'x0': 0.11943596821086822, 'x1': 0.8340218156747671},
'means': {'branin': -0.4254308718300521, 'currin': -5.533315686247431},
'cov_matrix': {'branin': {'branin': 0.00024902895328770777, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 5.540464679529161e-06}}},
39: {'params': {'x0': 0.06707166627773925, 'x1': 0.9784749814555573},
'means': {'branin': -3.7471331079877643, 'currin': -3.718511599068112},
'cov_matrix': {'branin': {'branin': 9.400909980439042e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.5264941069167803e-06}}},
40: {'params': {'x0': 0.0376440470932716, 'x1': 1.0},
'means': {'branin': -7.734280164340817, 'currin': -2.6697213115380936},
'cov_matrix': {'branin': {'branin': 8.177998750116773e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4555694289630268e-06}}},
41: {'params': {'x0': 0.045197372698289474, 'x1': 1.0},
'means': {'branin': -6.431559878190388, 'currin': -2.942878902122038},
'cov_matrix': {'branin': {'branin': 8.947338281726898e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.6619939613317035e-06}}},
42: {'params': {'x0': 0.061357334836507155, 'x1': 0.9933215627790452},
'means': {'branin': -4.387908688227224, 'currin': -3.5003700000342843},
'cov_matrix': {'branin': {'branin': 0.00010425324348167982, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.6009531854141041e-06}}},
43: {'params': {'x0': 0.07914480016080724, 'x1': 0.9467832018270409},
'means': {'branin': -2.5462696865166325, 'currin': -4.166255646397455},
'cov_matrix': {'branin': {'branin': 0.00013397671710117174, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.7342952564875937e-06}}},
45: {'params': {'x0': 0.003215758667041679, 'x1': 1.0},
'means': {'branin': -16.475013417471803, 'currin': -1.3120384690985007},
'cov_matrix': {'branin': {'branin': 8.929693750798221e-05, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.7891638606846988e-06}}},
47: {'params': {'x0': 0.07301828831608549, 'x1': 0.9633629151544364},
'means': {'branin': -3.131899989795423, 'currin': -3.94001420105601},
'cov_matrix': {'branin': {'branin': 0.00010259893532208981, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.4947562861070926e-06}}},
48: {'params': {'x0': 0.08499791286054587, 'x1': 0.9313955458554346},
'means': {'branin': -2.0487357997592497, 'currin': -4.375811359215653},
'cov_matrix': {'branin': {'branin': 0.0001425005304907807, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.7285418147532858e-06}}},
49: {'params': {'x0': 0.09090853925359971, 'x1': 0.9153204303258963},
'means': {'branin': -1.6043636924679259, 'currin': -4.584071116345905},
'cov_matrix': {'branin': {'branin': 0.00010279469268218294, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 1.6796869220631001e-06}}}}
Show the Best Raw Trial#
if you need the exact points of the best trial, maybe because you need the trial number of the best trial to plot results, or for any other reason, best_raw_trails does not do any fitting
1trial = scheduler.best_raw_trials()
2trial
[INFO 08-09 18:52:01] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
{5: {'params': {'x0': 0.0, 'x1': 1.0},
'means': {'branin': -17.5082969666, 'currin': -1.1804080009},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
11: {'params': {'x0': 0.05854202359529262, 'x1': 1.0},
'means': {'branin': -4.7136497498, 'currin': -3.3931462765},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
12: {'params': {'x0': 0.10687501379702964, 'x1': 0.8617687681580435},
'means': {'branin': -0.7099485397, 'currin': -5.1646323204},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
13: {'params': {'x0': 0.027473573209238905, 'x1': 1.0},
'means': {'branin': -9.8502197266, 'currin': -2.28439188},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
14: {'params': {'x0': 0.08158653987033523, 'x1': 0.9318133238370674},
'means': {'branin': -2.2830247879, 'currin': -4.2837333679},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
15: {'params': {'x0': 0.0132091473010553, 'x1': 1.0},
'means': {'branin': -13.4860315323, 'currin': -1.7186249495},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
16: {'params': {'x0': 0.04133430391389316, 'x1': 1.0},
'means': {'branin': -7.068523407, 'currin': -2.8046858311},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
17: {'params': {'x0': 0.07007363440350005, 'x1': 0.9712042038829277},
'means': {'branin': -3.4328384399000003, 'currin': -3.8298425674},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
18: {'params': {'x0': 0.020121867222561696, 'x1': 1.0},
'means': {'branin': -11.6293087006, 'currin': -1.9957504272},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
19: {'params': {'x0': 0.006483643799602639, 'x1': 1.0},
'means': {'branin': -15.4578723907, 'currin': -1.445442915},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
20: {'params': {'x0': 0.09406925989997199, 'x1': 0.9069778622356273},
'means': {'branin': -1.3951387405, 'currin': -4.6922698021},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
21: {'params': {'x0': 0.04931123627466197, 'x1': 1.0},
'means': {'branin': -5.8213281631000005, 'currin': -3.0863175392},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
22: {'params': {'x0': 0.03412409603364241, 'x1': 1.0},
'means': {'branin': -8.4202098846, 'currin': -2.5384483337},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
25: {'params': {'x0': 0.1185438614198475, 'x1': 0.8563268206150751},
'means': {'branin': -0.5703239441, 'currin': -5.4115300179},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
29: {'params': {'x0': 0.0640770440523512, 'x1': 0.9847732568974031},
'means': {'branin': -4.0664114952, 'currin': -3.6088514328},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
30: {'params': {'x0': 0.07587056914148772, 'x1': 0.9537539383020814},
'means': {'branin': -2.8376221657, 'currin': -4.0520334244},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
31: {'params': {'x0': 0.10063391725982243, 'x1': 0.8885844470673756},
'means': {'branin': -1.0162372589, 'currin': -4.9164333344},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
32: {'params': {'x0': 0.009809598267982297, 'x1': 1.0},
'means': {'branin': -14.4626951218, 'currin': -1.580868125},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
33: {'params': {'x0': 0.023733975932905424, 'x1': 1.0},
'means': {'branin': -10.7295846939, 'currin': -2.1384766102},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
34: {'params': {'x0': 0.08777109293363446, 'x1': 0.9223287995541318},
'means': {'branin': -1.8216123580999999, 'currin': -4.479681015},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
35: {'params': {'x0': 0.016617974637606666, 'x1': 1.0},
'means': {'branin': -12.5485496521, 'currin': -1.8558590412},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
36: {'params': {'x0': 0.05370765070977513, 'x1': 1.0},
'means': {'branin': -5.248216629, 'currin': -3.2351295948},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
37: {'params': {'x0': 0.030737693950976513, 'x1': 1.0},
'means': {'branin': -9.1267261505, 'currin': -2.4100160599000002},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
38: {'params': {'x0': 0.11943596821086822, 'x1': 0.8340218156747671},
'means': {'branin': -0.424829483, 'currin': -5.5329756737},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
39: {'params': {'x0': 0.06707166627773925, 'x1': 0.9784749814555573},
'means': {'branin': -3.7471671104, 'currin': -3.7185032368},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
40: {'params': {'x0': 0.0376440470932716, 'x1': 1.0},
'means': {'branin': -7.7341337204, 'currin': -2.6697120667},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
41: {'params': {'x0': 0.045197372698289474, 'x1': 1.0},
'means': {'branin': -6.4314966202, 'currin': -2.94287467},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
42: {'params': {'x0': 0.061357334836507155, 'x1': 0.9933215627790452},
'means': {'branin': -4.3876028061, 'currin': -3.5003683567},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
43: {'params': {'x0': 0.07914480016080724, 'x1': 0.9467832018270409},
'means': {'branin': -2.5462594032, 'currin': -4.1661863327},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
45: {'params': {'x0': 0.003215758667041679, 'x1': 1.0},
'means': {'branin': -16.4732780457, 'currin': -1.311963439},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
47: {'params': {'x0': 0.07301828831608549, 'x1': 0.9633629151544364},
'means': {'branin': -3.1316747665, 'currin': -3.9399783611},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
48: {'params': {'x0': 0.08499791286054587, 'x1': 0.9313955458554346},
'means': {'branin': -2.0487418175, 'currin': -4.3757338524},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}},
49: {'params': {'x0': 0.09090853925359971, 'x1': 0.9153204303258963},
'means': {'branin': -1.6042413712, 'currin': -4.584025383},
'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
'currin': {'branin': 0.0, 'currin': 0.0}}}}
1boa.scheduler_to_df(scheduler)
| trial_index | arm_name | trial_status | generation_method | branin | currin | is_feasible | x0 | x1 | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0_0 | COMPLETED | Sobol | -2.719976 | -11.558418 | False | 0.520418 | 0.080943 |
| 1 | 1 | 1_0 | COMPLETED | Sobol | -36.659565 | -6.744904 | False | 0.320099 | 0.698258 |
| 2 | 2 | 2_0 | COMPLETED | Sobol | -2.638325 | -10.179832 | False | 0.917011 | 0.103962 |
| 3 | 3 | 3_0 | COMPLETED | Sobol | -37.142315 | -2.986329 | False | 0.028481 | 0.709507 |
| 4 | 4 | 4_0 | COMPLETED | Sobol | -7.816799 | -11.793054 | False | 0.488008 | 0.061027 |
| 5 | 5 | 5_0 | COMPLETED | MOO | -17.508297 | -1.180408 | True | 0.000000 | 1.000000 |
| 6 | 6 | 6_0 | COMPLETED | MOO | -133.595383 | -2.106308 | False | 0.000000 | 0.412880 |
| 7 | 7 | 7_0 | COMPLETED | MOO | -26.399782 | -1.279502 | False | 0.000000 | 0.899283 |
| 8 | 8 | 8_0 | COMPLETED | MOO | -14.174684 | -5.179995 | True | 0.149196 | 1.000000 |
| 9 | 9 | 9_0 | COMPLETED | MOO | -145.872208 | -4.005316 | False | 1.000000 | 1.000000 |
| 10 | 10 | 10_0 | COMPLETED | MOO | -204.534088 | -4.252355 | False | 0.680291 | 1.000000 |
| 11 | 11 | 11_0 | COMPLETED | MOO | -4.713650 | -3.393146 | True | 0.058542 | 1.000000 |
| 12 | 12 | 12_0 | COMPLETED | MOO | -0.709949 | -5.164632 | True | 0.106875 | 0.861769 |
| 13 | 13 | 13_0 | COMPLETED | MOO | -9.850220 | -2.284392 | True | 0.027474 | 1.000000 |
| 14 | 14 | 14_0 | COMPLETED | MOO | -2.283025 | -4.283733 | True | 0.081587 | 0.931813 |
| 15 | 15 | 15_0 | COMPLETED | MOO | -13.486032 | -1.718625 | True | 0.013209 | 1.000000 |
| 16 | 16 | 16_0 | COMPLETED | MOO | -7.068523 | -2.804686 | True | 0.041334 | 1.000000 |
| 17 | 17 | 17_0 | COMPLETED | MOO | -3.432838 | -3.829843 | True | 0.070074 | 0.971204 |
| 18 | 18 | 18_0 | COMPLETED | MOO | -11.629309 | -1.995750 | True | 0.020122 | 1.000000 |
| 19 | 19 | 19_0 | COMPLETED | MOO | -15.457872 | -1.445443 | True | 0.006484 | 1.000000 |
| 20 | 20 | 20_0 | COMPLETED | MOO | -1.395139 | -4.692270 | True | 0.094069 | 0.906978 |
| 21 | 21 | 21_0 | COMPLETED | MOO | -5.821328 | -3.086318 | True | 0.049311 | 1.000000 |
| 22 | 22 | 22_0 | COMPLETED | MOO | -8.420210 | -2.538448 | True | 0.034124 | 1.000000 |
| 23 | 23 | 23_0 | COMPLETED | MOO | -308.129059 | -3.000000 | False | 0.000000 | 0.000000 |
| 24 | 24 | 24_0 | COMPLETED | MOO | -209.034531 | -9.445279 | False | 0.069094 | 0.000000 |
| 25 | 25 | 25_0 | COMPLETED | MOO | -0.570324 | -5.411530 | True | 0.118544 | 0.856327 |
| 26 | 26 | 26_0 | COMPLETED | MOO | -19.815632 | -6.571651 | False | 1.000000 | 0.482036 |
| 27 | 27 | 27_0 | COMPLETED | MOO | -46.475994 | -7.283415 | False | 0.775303 | 0.424349 |
| 28 | 28 | 28_0 | COMPLETED | MOO | -71.739395 | -6.195619 | False | 0.781226 | 0.561377 |
| 29 | 29 | 29_0 | COMPLETED | MOO | -4.066411 | -3.608851 | True | 0.064077 | 0.984773 |
| 30 | 30 | 30_0 | COMPLETED | MOO | -2.837622 | -4.052033 | True | 0.075871 | 0.953754 |
| 31 | 31 | 31_0 | COMPLETED | MOO | -1.016237 | -4.916433 | True | 0.100634 | 0.888584 |
| 32 | 32 | 32_0 | COMPLETED | MOO | -14.462695 | -1.580868 | True | 0.009810 | 1.000000 |
| 33 | 33 | 33_0 | COMPLETED | MOO | -10.729585 | -2.138477 | True | 0.023734 | 1.000000 |
| 34 | 34 | 34_0 | COMPLETED | MOO | -1.821612 | -4.479681 | True | 0.087771 | 0.922329 |
| 35 | 35 | 35_0 | COMPLETED | MOO | -12.548550 | -1.855859 | True | 0.016618 | 1.000000 |
| 36 | 36 | 36_0 | COMPLETED | MOO | -5.248217 | -3.235130 | True | 0.053708 | 1.000000 |
| 37 | 37 | 37_0 | COMPLETED | MOO | -9.126726 | -2.410016 | True | 0.030738 | 1.000000 |
| 38 | 38 | 38_0 | COMPLETED | MOO | -0.424829 | -5.532976 | True | 0.119436 | 0.834022 |
| 39 | 39 | 39_0 | COMPLETED | MOO | -3.747167 | -3.718503 | True | 0.067072 | 0.978475 |
| 40 | 40 | 40_0 | COMPLETED | MOO | -7.734134 | -2.669712 | True | 0.037644 | 1.000000 |
| 41 | 41 | 41_0 | COMPLETED | MOO | -6.431497 | -2.942875 | True | 0.045197 | 1.000000 |
| 42 | 42 | 42_0 | COMPLETED | MOO | -4.387603 | -3.500368 | True | 0.061357 | 0.993322 |
| 43 | 43 | 43_0 | COMPLETED | MOO | -2.546259 | -4.166186 | True | 0.079145 | 0.946783 |
| 44 | 44 | 44_0 | COMPLETED | MOO | -145.743256 | -4.659629 | False | 0.481414 | 1.000000 |
| 45 | 45 | 45_0 | COMPLETED | MOO | -16.473278 | -1.311963 | True | 0.003216 | 1.000000 |
| 46 | 46 | 46_0 | COMPLETED | MOO | -29.531307 | -7.101822 | False | 0.521592 | 0.525910 |
| 47 | 47 | 47_0 | COMPLETED | MOO | -3.131675 | -3.939978 | True | 0.073018 | 0.963363 |
| 48 | 48 | 48_0 | COMPLETED | MOO | -2.048742 | -4.375734 | True | 0.084998 | 0.931396 |
| 49 | 49 | 49_0 | COMPLETED | MOO | -1.604241 | -4.584025 | True | 0.090909 | 0.915320 |
EDA Plots with Pareto#
Because we ran a multi objective optimization, we can plot our pareto frontiers.
1boa.plot_pareto_frontier(scheduler)
The rest of our plots are the same as for a single objective optimization. Trace plots, contour plots, and slice plots.
1boa.plot_metrics_trace(scheduler)
1boa.plot_contours(scheduler)
1boa.plot_slice(scheduler)
We can also directly pass in our scheduler file path instead of having to reload it ourselves
1boa.plot_metrics_trace(scheduler_fp)