轻量级、多功能和跨平台架构

Optuna 完全由 Python 写成,并且只有少量依赖。这意味着一旦你开始对 Optuna 感兴趣,我们可以快速上手真实的例子。

二次函数的例子

通常,Optuna是用于优化超参数的,但是作为例子,我们这里来优化一个简单的而此函数:\((x - 2)^2\).

首先,导入 optuna.

import optuna

在 Optuna 中,待优化函数一般被命名为 objective.

def objective(trial):
    x = trial.suggest_float("x", -10, 10)
    return (x - 2) ** 2

该函数的返回值是 \((x - 2)^2\). 我们的目标是找到一个 x,使 objective 函数的输出最小。这被称为 “optimization” (优化)。 在优化过程中,Optuna 反复调用目标函数,在不同的 x 下对其进行求值。

一个 Trial 对应着目标函数的单次执行。在每次调用该函数的时候,它都被内部实例化一次。

suggest API (例如 suggest_uniform()) 在目标函数内部被调用。它被用于获取单个 trial 的参数。在上面的例子中,suggest_uniform() 在给定的范围(-1010)内均匀地选择参数。

为了开始优化过程,我们将创建一个 study 对象,并将目标函数传递给它的一个方法 optimize()

study = optuna.create_study()
study.optimize(objective, n_trials=100)

You can get the best parameter as follows.

best_params = study.best_params
found_x = best_params["x"]
print("Found x: {}, (x - 2)^2: {}".format(found_x, (found_x - 2) ** 2))

Out:

Found x: 1.9918889682901693, (x - 2)^2: 6.578883539787978e-05

最佳参数可以通过如下方式获得:

备注

当 Optuna 被用于机器学习时,目标函数通常返回模型的损失或者准确度。

Study 对象

下面是几个常用术语:

  • Trial: 目标函数的单次调用

  • Study: 一次优化过程,包含一系列的 trials.

  • Parameter: 待优化的参数,比如上面例子中的 x.

在 Optuna 中,我们用 study 对象来管理优化过程。 create_study() 方法会返回一个 study 对象。该对象包含若干有用的属性,可以用于分析优化结果。

获得参数名和参数值的字典:

Out:

{'x': 1.9918889682901693}

获得最佳目标函数值:

study.best_value

Out:

6.578883539787978e-05

获得最佳 trial:

study.best_trial

Out:

FrozenTrial(number=51, values=[6.578883539787978e-05], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 137432), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 140603), params={'x': 1.9918889682901693}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=51, state=TrialState.COMPLETE, value=None)

获得所有 trials:

study.trials

Out:

[FrozenTrial(number=0, values=[45.598730566901985], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 982358), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 982755), params={'x': -4.752683212390611}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=0, state=TrialState.COMPLETE, value=None), FrozenTrial(number=1, values=[119.81387381698536], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 983204), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 983517), params={'x': -8.945952394240775}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=1, state=TrialState.COMPLETE, value=None), FrozenTrial(number=2, values=[111.46058967810127], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 983932), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 984232), params={'x': -8.557489743215537}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=2, state=TrialState.COMPLETE, value=None), FrozenTrial(number=3, values=[35.57587195942296], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 984630), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 984929), params={'x': -3.964551278966672}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=3, state=TrialState.COMPLETE, value=None), FrozenTrial(number=4, values=[46.670857770478044], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 985275), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 985560), params={'x': -4.831607261141264}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=4, state=TrialState.COMPLETE, value=None), FrozenTrial(number=5, values=[116.5910798805615], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 985975), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 986280), params={'x': -8.797734942133072}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=5, state=TrialState.COMPLETE, value=None), FrozenTrial(number=6, values=[0.002680014768041531], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 986676), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 986987), params={'x': 1.9482311409432125}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=6, state=TrialState.COMPLETE, value=None), FrozenTrial(number=7, values=[16.26188576510393], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 987389), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 987700), params={'x': 6.032602852389996}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=7, state=TrialState.COMPLETE, value=None), FrozenTrial(number=8, values=[0.9418909496063309], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 988098), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 988415), params={'x': 1.029489335655537}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=8, state=TrialState.COMPLETE, value=None), FrozenTrial(number=9, values=[0.12147959765973194], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 988811), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 989130), params={'x': 2.3485392340321702}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=9, state=TrialState.COMPLETE, value=None), FrozenTrial(number=10, values=[61.08771684444376], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 989547), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 993102), params={'x': 9.815863154152826}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=10, state=TrialState.COMPLETE, value=None), FrozenTrial(number=11, values=[1.2436603312778658], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 993578), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 34, 996629), params={'x': 3.1151951987333275}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=11, state=TrialState.COMPLETE, value=None), FrozenTrial(number=12, values=[12.68371355828232], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 34, 997088), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 91), params={'x': 5.561420160312782}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=12, state=TrialState.COMPLETE, value=None), FrozenTrial(number=13, values=[8.143803878359984], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 596), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 3816), params={'x': -0.853735075013093}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=13, state=TrialState.COMPLETE, value=None), FrozenTrial(number=14, values=[4.41513157112696], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 4275), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 7459), params={'x': 4.101221447426939}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=14, state=TrialState.COMPLETE, value=None), FrozenTrial(number=15, values=[50.302494837603305], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 7914), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 10932), params={'x': 9.092425173211439}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=15, state=TrialState.COMPLETE, value=None), FrozenTrial(number=16, values=[7.789307273481423], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 11390), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 14398), params={'x': -0.7909330471155023}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=16, state=TrialState.COMPLETE, value=None), FrozenTrial(number=17, values=[0.16065150690336386], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 14858), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 17861), params={'x': 1.5991864437130852}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=17, state=TrialState.COMPLETE, value=None), FrozenTrial(number=18, values=[24.460101814001746], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 18339), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 21313), params={'x': 6.9457155007139}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=18, state=TrialState.COMPLETE, value=None), FrozenTrial(number=19, values=[17.28917473460124], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 21786), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 24796), params={'x': -2.1580253407839205}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=19, state=TrialState.COMPLETE, value=None), FrozenTrial(number=20, values=[0.42630874522106565], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 25254), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 28259), params={'x': 2.6529232307255315}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=20, state=TrialState.COMPLETE, value=None), FrozenTrial(number=21, values=[2.2654123767813035], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 28717), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 31753), params={'x': 0.494871308897042}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=21, state=TrialState.COMPLETE, value=None), FrozenTrial(number=22, values=[0.028489729853048023], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 32212), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 35259), params={'x': 1.8312109901295466}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=22, state=TrialState.COMPLETE, value=None), FrozenTrial(number=23, values=[5.553487889919093], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 35719), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 38768), params={'x': 4.356583945018529}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=23, state=TrialState.COMPLETE, value=None), FrozenTrial(number=24, values=[36.33353081420967], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 39228), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 42508), params={'x': 8.027730154395572}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=24, state=TrialState.COMPLETE, value=None), FrozenTrial(number=25, values=[21.133677498261164], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 42972), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 46011), params={'x': -2.597137968155966}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=25, state=TrialState.COMPLETE, value=None), FrozenTrial(number=26, values=[0.002053670170683944], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 46474), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 49526), params={'x': 1.954682562178738}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=26, state=TrialState.COMPLETE, value=None), FrozenTrial(number=27, values=[5.019689327006978], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 50019), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 53036), params={'x': 4.240466319096758}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=27, state=TrialState.COMPLETE, value=None), FrozenTrial(number=28, values=[6.74588475839922], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 53511), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 56606), params={'x': -0.5972841119906811}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=28, state=TrialState.COMPLETE, value=None), FrozenTrial(number=29, values=[18.662711672171046], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 57119), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 60337), params={'x': -2.320036073017336}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=29, state=TrialState.COMPLETE, value=None), FrozenTrial(number=30, values=[78.07265834734876], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 60835), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 63950), params={'x': -6.835873377734018}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=30, state=TrialState.COMPLETE, value=None), FrozenTrial(number=31, values=[0.018922953862383386], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 64415), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 67573), params={'x': 2.1375607279072897}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=31, state=TrialState.COMPLETE, value=None), FrozenTrial(number=32, values=[0.25271475323906456], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 68039), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 71176), params={'x': 1.4972925769007737}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=32, state=TrialState.COMPLETE, value=None), FrozenTrial(number=33, values=[2.90454345753206], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 71645), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 74790), params={'x': 0.29572788043339165}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=33, state=TrialState.COMPLETE, value=None), FrozenTrial(number=34, values=[1.4316740805442856], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 75256), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 78388), params={'x': 3.196525837808898}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=34, state=TrialState.COMPLETE, value=None), FrozenTrial(number=35, values=[9.575720708802683], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 78862), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 82154), params={'x': 5.094466142778538}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=35, state=TrialState.COMPLETE, value=None), FrozenTrial(number=36, values=[0.026192367072935412], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 82626), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 85833), params={'x': 2.161840560654415}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=36, state=TrialState.COMPLETE, value=None), FrozenTrial(number=37, values=[2.4026175282558926], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 86328), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 89452), params={'x': 3.550037911876962}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=37, state=TrialState.COMPLETE, value=None), FrozenTrial(number=38, values=[13.131194732326328], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 89949), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 93077), params={'x': -1.6236990399764615}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=38, state=TrialState.COMPLETE, value=None), FrozenTrial(number=39, values=[2.3930013098831866], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 93560), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 96686), params={'x': 0.45306712819101724}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=39, state=TrialState.COMPLETE, value=None), FrozenTrial(number=40, values=[36.202864472441256], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 97154), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 100313), params={'x': -4.016881623602151}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=40, state=TrialState.COMPLETE, value=None), FrozenTrial(number=41, values=[0.0011346872942620569], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 100785), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 103953), params={'x': 1.9663148802249115}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=41, state=TrialState.COMPLETE, value=None), FrozenTrial(number=42, values=[0.03845837782035236], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 104443), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 107637), params={'x': 2.196108076887089}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=42, state=TrialState.COMPLETE, value=None), FrozenTrial(number=43, values=[0.6366861793940127], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 108106), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 111294), params={'x': 1.2020738258497765}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=43, state=TrialState.COMPLETE, value=None), FrozenTrial(number=44, values=[0.3263843119440706], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 111767), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 114965), params={'x': 2.5713005443232753}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=44, state=TrialState.COMPLETE, value=None), FrozenTrial(number=45, values=[21.76545647561303], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 115440), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 118652), params={'x': 6.665346340370994}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=45, state=TrialState.COMPLETE, value=None), FrozenTrial(number=46, values=[8.533233409436638], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 119126), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 122313), params={'x': 4.921169870006987}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=46, state=TrialState.COMPLETE, value=None), FrozenTrial(number=47, values=[5.14897391162914], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 122786), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 125967), params={'x': -0.2691350580406491}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=47, state=TrialState.COMPLETE, value=None), FrozenTrial(number=48, values=[1.653464156778069], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 126443), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 129619), params={'x': 3.2858709720567103}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=48, state=TrialState.COMPLETE, value=None), FrozenTrial(number=49, values=[0.774963234553805], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 130116), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 133267), params={'x': 1.1196800385349626}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=49, state=TrialState.COMPLETE, value=None), FrozenTrial(number=50, values=[12.423387236916076], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 133754), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 136944), params={'x': -1.5246825725043776}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=50, state=TrialState.COMPLETE, value=None), FrozenTrial(number=51, values=[6.578883539787978e-05], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 137432), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 140603), params={'x': 1.9918889682901693}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=51, state=TrialState.COMPLETE, value=None), FrozenTrial(number=52, values=[0.37078488737261833], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 141087), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 144333), params={'x': 2.608921084683901}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=52, state=TrialState.COMPLETE, value=None), FrozenTrial(number=53, values=[2.7370864030548474], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 144817), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 148017), params={'x': 3.654414217496588}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=53, state=TrialState.COMPLETE, value=None), FrozenTrial(number=54, values=[1.8823808574989804], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 148503), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 151745), params={'x': 0.6280011452267971}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=54, state=TrialState.COMPLETE, value=None), FrozenTrial(number=55, values=[0.0024882580008509583], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 152226), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 155476), params={'x': 1.9501175581907726}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=55, state=TrialState.COMPLETE, value=None), FrozenTrial(number=56, values=[14.270754611645605], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 155961), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 159209), params={'x': 5.777665232871437}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=56, state=TrialState.COMPLETE, value=None), FrozenTrial(number=57, values=[4.4484765527905346], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 159704), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 162983), params={'x': -0.10914118844389709}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=57, state=TrialState.COMPLETE, value=None), FrozenTrial(number=58, values=[0.15611335614357152], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 163478), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 166724), params={'x': 1.6048881726098654}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=58, state=TrialState.COMPLETE, value=None), FrozenTrial(number=59, values=[5.660936130375584], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 167210), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 170497), params={'x': 4.3792721850128}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=59, state=TrialState.COMPLETE, value=None), FrozenTrial(number=60, values=[9.389214737016154], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 170989), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 174428), params={'x': -1.0641825560850895}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=60, state=TrialState.COMPLETE, value=None), FrozenTrial(number=61, values=[0.003492796125829687], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 174917), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 178188), params={'x': 2.059099882621116}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=61, state=TrialState.COMPLETE, value=None), FrozenTrial(number=62, values=[0.0012471767447324205], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 178676), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 181936), params={'x': 1.964684610369806}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=62, state=TrialState.COMPLETE, value=None), FrozenTrial(number=63, values=[1.0307101000778789], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 182426), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 185671), params={'x': 0.9847610625680875}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=63, state=TrialState.COMPLETE, value=None), FrozenTrial(number=64, values=[0.6149542517901266], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 186179), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 189453), params={'x': 2.784190188532174}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=64, state=TrialState.COMPLETE, value=None), FrozenTrial(number=65, values=[3.1371839247236366], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 189961), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 193186), params={'x': 3.7712097348207063}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=65, state=TrialState.COMPLETE, value=None), FrozenTrial(number=66, values=[0.0016153179389367636], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 193692), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 196941), params={'x': 1.9598089818624016}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=66, state=TrialState.COMPLETE, value=None), FrozenTrial(number=67, values=[1.0072461981116687], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 197446), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 200701), params={'x': 3.00361655930523}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=67, state=TrialState.COMPLETE, value=None), FrozenTrial(number=68, values=[8.678111597333611], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 201192), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 204482), params={'x': 4.9458634722834}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=68, state=TrialState.COMPLETE, value=None), FrozenTrial(number=69, values=[1.441692566557962], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 204972), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 208262), params={'x': 0.799294971044944}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=69, state=TrialState.COMPLETE, value=None), FrozenTrial(number=70, values=[0.22823123525119846], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 208753), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 212061), params={'x': 1.5222644714371785}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=70, state=TrialState.COMPLETE, value=None), FrozenTrial(number=71, values=[0.0007039887398216746], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 212552), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 215858), params={'x': 2.0265327861300255}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=71, state=TrialState.COMPLETE, value=None), FrozenTrial(number=72, values=[0.05844718777874724], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 216348), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 219662), params={'x': 1.7582414680331897}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=72, state=TrialState.COMPLETE, value=None), FrozenTrial(number=73, values=[5.457920955711181], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 220156), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 223463), params={'x': -0.3362193723430982}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=73, state=TrialState.COMPLETE, value=None), FrozenTrial(number=74, values=[2.861402012358332], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 223956), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 227779), params={'x': 0.30843208461547955}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=74, state=TrialState.COMPLETE, value=None), FrozenTrial(number=75, values=[0.9381394370991073], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 228274), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 231595), params={'x': 2.9685759841639205}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=75, state=TrialState.COMPLETE, value=None), FrozenTrial(number=76, values=[4.233303245084991], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 232091), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 235441), params={'x': 4.05749926976536}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=76, state=TrialState.COMPLETE, value=None), FrozenTrial(number=77, values=[0.07593521259492125], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 235934), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 239271), params={'x': 2.275563445679795}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=77, state=TrialState.COMPLETE, value=None), FrozenTrial(number=78, values=[0.6550732477970714], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 239767), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 243108), params={'x': 1.1906340458129763}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=78, state=TrialState.COMPLETE, value=None), FrozenTrial(number=79, values=[3.4974294862610504], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 243603), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 246942), params={'x': 0.12985843149213694}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=79, state=TrialState.COMPLETE, value=None), FrozenTrial(number=80, values=[1.693369499713808], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 247440), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 250832), params={'x': 3.301295316103846}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=80, state=TrialState.COMPLETE, value=None), FrozenTrial(number=81, values=[0.02517321608536449], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 251332), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 254667), params={'x': 1.8413393051655058}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=81, state=TrialState.COMPLETE, value=None), FrozenTrial(number=82, values=[0.05629492177101777], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 255168), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 258517), params={'x': 2.2372655090210496}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=82, state=TrialState.COMPLETE, value=None), FrozenTrial(number=83, values=[0.018596035504924155], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 259016), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 262363), params={'x': 1.8636327183488497}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=83, state=TrialState.COMPLETE, value=None), FrozenTrial(number=84, values=[140.50094286625492], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 262863), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 266223), params={'x': -9.853309363475455}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=84, state=TrialState.COMPLETE, value=None), FrozenTrial(number=85, values=[0.44831182340893005], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 266719), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 270152), params={'x': 2.6695609183703377}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=85, state=TrialState.COMPLETE, value=None), FrozenTrial(number=86, values=[1.3494200850396654], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 270656), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 274021), params={'x': 0.8383545786085733}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=86, state=TrialState.COMPLETE, value=None), FrozenTrial(number=87, values=[6.278033096153004], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 274531), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 277864), params={'x': 4.505600346454519}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=87, state=TrialState.COMPLETE, value=None), FrozenTrial(number=88, values=[0.5041874760940434], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 278395), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 281722), params={'x': 1.2899383997891145}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=88, state=TrialState.COMPLETE, value=None), FrozenTrial(number=89, values=[3.509453291730217], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 282245), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 285604), params={'x': 3.8733534881944243}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=89, state=TrialState.COMPLETE, value=None), FrozenTrial(number=90, values=[0.11414550534938579], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 286132), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 289478), params={'x': 2.3378542664365596}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=90, state=TrialState.COMPLETE, value=None), FrozenTrial(number=91, values=[0.07683673953870722], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 290006), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 293345), params={'x': 1.722805592519064}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=91, state=TrialState.COMPLETE, value=None), FrozenTrial(number=92, values=[0.003223689053182925], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 293851), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 297254), params={'x': 1.9432224599583345}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=92, state=TrialState.COMPLETE, value=None), FrozenTrial(number=93, values=[1.9465317407544378], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 297774), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 301141), params={'x': 3.3951816156882364}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=93, state=TrialState.COMPLETE, value=None), FrozenTrial(number=94, values=[2.148169010607775], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 301665), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 305023), params={'x': 0.5343366653259778}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=94, state=TrialState.COMPLETE, value=None), FrozenTrial(number=95, values=[0.32294965225967065], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 305544), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 308918), params={'x': 2.568286593418911}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=95, state=TrialState.COMPLETE, value=None), FrozenTrial(number=96, values=[7.586587619520327], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 309438), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 312809), params={'x': -0.7543760853449784}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=96, state=TrialState.COMPLETE, value=None), FrozenTrial(number=97, values=[0.8921391843286989], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 313326), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 316717), params={'x': 2.944531198176481}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=97, state=TrialState.COMPLETE, value=None), FrozenTrial(number=98, values=[0.7684811256944052], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 317224), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 320619), params={'x': 1.1233694474327254}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=98, state=TrialState.COMPLETE, value=None), FrozenTrial(number=99, values=[0.0020308765557163935], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 321182), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 324773), params={'x': 2.0450652477605127}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=99, state=TrialState.COMPLETE, value=None)]

获得 trial 的数目:

len(study.trials)

Out:

100

再次执行 optimize(),我们可以继续优化过程。

study.optimize(objective, n_trials=100)

获得更新后的的 trial 数量:

len(study.trials)

Out:

200

由于此目标函数非常简单,所以后面的 100 个trial 并没有提升结果。然而,我们可以再一次检查该结果:

best_params = study.best_params
found_x = best_params["x"]
print("Found x: {}, (x - 2)^2: {}".format(found_x, (found_x - 2) ** 2))

Out:

Found x: 1.9980396014917614, (x - 2)^2: 3.843162311104098e-06

Total running time of the script: ( 0 minutes 0.786 seconds)

Gallery generated by Sphinx-Gallery