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

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: 2.0007453774691357, (x - 2)^2: 5.555875714951739e-07

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

备注

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

Study 对象

下面是几个常用术语:

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

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

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

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

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

Out:

{'x': 2.0007453774691357}

获得最佳目标函数值:

study.best_value

Out:

5.555875714951739e-07

获得最佳 trial:

study.best_trial

Out:

FrozenTrial(number=46, values=[5.555875714951739e-07], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 266572), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 269818), params={'x': 2.0007453774691357}, distributions={'x': UniformDistribution(high=10.0, low=-10.0)}, user_attrs={}, system_attrs={}, intermediate_values={}, trial_id=46, state=TrialState.COMPLETE, value=None)

获得所有 trials:

study.trials

Out:

[FrozenTrial(number=0, values=[0.17511330772143616], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 127027), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 127432), params={'x': 2.4184654199828657}, 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=[5.55018460646496], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 127925), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 128255), params={'x': 4.355882978092282}, 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=[8.18262262981584], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 128683), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 128995), params={'x': -0.8605283829767956}, 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=[13.502562948612052], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 129426), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 129744), params={'x': -1.6745833707526696}, 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=[4.097234965300769], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 130166), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 130482), params={'x': 4.024162781324854}, 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=[53.56822845316632], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 130904), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 131227), params={'x': 9.319031934154019}, 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=[18.267873372441038], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 131649), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 131980), params={'x': -2.2740932807369845}, 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=[18.646084119202367], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 132429), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 132750), params={'x': -2.318111174947024}, 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=[20.994735530038245], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 133174), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 133499), params={'x': -2.5820012581881997}, 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=[5.4930707389445725], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 133922), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 134258), params={'x': -0.3437300908902827}, 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=[115.85355576747152], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 134692), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 138089), params={'x': -8.763528964399711}, 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=[6.969189419890846], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 138587), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 141822), params={'x': 4.639922237470423}, 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=[4.1748186083217185], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 142312), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 145362), params={'x': 4.04323728634775}, 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=[30.18355405734446], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 145902), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 148934), params={'x': 7.49395613900807}, 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=[0.025113897016394486], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 149425), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 152476), params={'x': 1.8415263522966847}, 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=[74.38366290953937], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 152964), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 155952), params={'x': -6.624596391109519}, 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=[0.09703268629031321], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 156469), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 159535), params={'x': 1.6884992996953085}, 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.4125357190870272], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 160043), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 163045), params={'x': 1.3577105643971503}, 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=[21.22010016253533], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 163540), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 166568), params={'x': 6.606527994328845}, 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=[46.90390780414091], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 167057), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 170131), params={'x': -4.848642770954031}, 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.7775069811123316], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 170619), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 173810), params={'x': 1.1182364369558404}, 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=[0.012413584718127094], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 174300), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 177367), params={'x': 1.8885837322554417}, 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.07511133650160198], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 177865), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 180915), params={'x': 2.2740644750813246}, 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=[0.5466776677921873], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 181420), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 184640), params={'x': 2.7393765399254884}, 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=[19.25099140158749], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 185130), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 188191), params={'x': 6.387595172937846}, 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=[4.3749649721785415], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 188685), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 191725), params={'x': -0.09164169306756298}, 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=[11.312722846060762], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 192310), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 195313), params={'x': 5.363439139639777}, 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=[43.06511215794055], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 195808), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 198887), params={'x': 8.562401401769062}, 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=[38.688448825253964], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 199385), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 202518), params={'x': -4.220003924858405}, 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=[0.5913731357096472], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 203020), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 206167), params={'x': 2.7690078905379627}, 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=[0.37483742192540864], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 206673), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 209816), params={'x': 2.61223967686308}, 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.5161944340333385], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 210314), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 213499), params={'x': 1.2815332756255593}, 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.7617263879426132], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 213996), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 217153), params={'x': 1.1272306215599603}, 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=[1.0794389251182408], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 217650), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 220818), params={'x': 3.038960502193534}, 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=[0.13289479251062056], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 221316), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 224805), params={'x': 1.6354526196629298}, 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=[11.446686965195555], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 225304), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 228950), params={'x': -1.3832952819988316}, 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=[2.9878511097283753], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 229449), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 232615), params={'x': 0.2714598327697515}, 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=[10.593822650257883], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 233162), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 236361), params={'x': 5.25481530201913}, 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=[2.213699158511425], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 236872), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 240046), params={'x': 3.4878505161848166}, 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=[30.215990740533847], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 240557), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 243670), params={'x': -3.4969073796575696}, 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=[7.588837313086679], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 244202), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 247391), params={'x': -0.7547844404030379}, 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.00290412150271473], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 247903), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 251074), params={'x': 1.9461100983233897}, 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.00027037325027566095], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 251580), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 254812), params={'x': 1.9835569695531614}, 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=[2.031819158341656], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 255317), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 258515), params={'x': 0.5745810586562083}, 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=[6.38628859133542], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 259029), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 262271), params={'x': 4.527110720038879}, 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=[3.097905002315559], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 262782), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 266067), params={'x': 3.760086646252269}, 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=[5.555875714951739e-07], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 266572), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 269818), params={'x': 2.0007453774691357}, 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=[2.620533320149347], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 270328), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 273579), params={'x': 0.3811938596146396}, 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=[0.01866236563727553], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 274089), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 277309), params={'x': 2.1366102691501467}, 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=[12.125057471377989], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 277828), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 281250), params={'x': -1.4821053216951938}, 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=[6.953694426075021], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 281764), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 285008), params={'x': -0.6369858600445739}, 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=[0.005642228727751361], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 285520), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 288791), params={'x': 2.07511477037009}, 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=[2.481284166330171], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 289307), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 292558), params={'x': 3.5752092452528874}, 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=[0.07527163820774595], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 293077), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 296308), params={'x': 2.2743567717548556}, 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=[8.353249507608016], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 296825), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 300075), params={'x': 4.890198869906363}, 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=[15.473715966276579], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 300621), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 303887), params={'x': 5.933664445053312}, 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=[1.9737793578202127], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 304471), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 307654), params={'x': 0.5950874198654876}, 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=[0.019405400182998345], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 308234), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 311425), params={'x': 1.8606967330498012}, 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=[4.401077263262311], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 312020), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 315182), params={'x': 4.09787446317989}, 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=[1.889278069298502], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 315736), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 318988), params={'x': 3.374510119751216}, 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=[0.011652917487524122], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 319507), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 323082), params={'x': 2.1079486798785614}, 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.002115239083029317], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 323638), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 326887), params={'x': 2.045991728419677}, 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=[4.206232131689771], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 327442), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 330702), params={'x': -0.05091007401342962}, 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.0872842056866994], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 331258), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 334529), params={'x': 3.0427292101436016}, 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.9340137931005128], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 335071), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 338365), params={'x': 1.0335561096988026}, 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=[0.015887482920919283], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 338921), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 342205), params={'x': 2.1260455589099405}, 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.9656106661563976], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 342763), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 346023), params={'x': 1.017345093048227}, 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=[0.3009435278843816], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 346581), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 349868), params={'x': 2.5485832005123576}, 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=[17.230203294458455], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 350415), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 353681), params={'x': -2.1509280040080747}, 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=[4.9434761059690215], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 354240), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 357570), params={'x': 4.223392926580685}, 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.0451969426865006], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 358129), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 361433), params={'x': 1.787404274063422}, 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=[1.0626697305956325], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 361997), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 365290), params={'x': 3.0308587345488385}, 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.014831854679878848], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 365851), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 369147), params={'x': 2.12178610216227}, 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=[0.25958207934605604], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 369705), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 373011), params={'x': 1.490508018369223}, 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=[5.565757067348065], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 373569), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 376872), params={'x': -0.3591856788621077}, 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=[1.371920143202178], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 377433), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 380744), params={'x': 0.828710051608835}, 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=[0.297429692830697], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 381304), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 384613), params={'x': 2.5453711514470645}, 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=[1.4285372905339677], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 385175), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 388481), params={'x': 3.195214328283412}, 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.21050282840328488], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 389040), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 392336), params={'x': 1.5411941277584986}, 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=[9.694970600227476], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 392896), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 396523), params={'x': -1.113674774318518}, 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=[3.5500247307859993], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 397085), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 400407), params={'x': 0.11584906900057512}, 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.028527127006948625], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 400967), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 404287), params={'x': 2.1688997543128723}, 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=[3.451733794781739], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 404847), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 408168), params={'x': 3.8578842253439096}, 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.010691879022229478], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 408720), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 412075), params={'x': 2.1034015426491766}, 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=[0.5005413489193208], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 412627), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 415945), params={'x': 2.7074894691225593}, 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.28584821590567494], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 416523), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 419843), params={'x': 1.465352250630684}, 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=[131.74886759988212], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 420432), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 423745), params={'x': -9.478190955019093}, 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=[7.923881860381277], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 424344), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 427660), params={'x': 4.814939050917671}, 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=[1.6991662178012814], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 428251), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 431584), params={'x': 0.6964792990514952}, 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=[0.007305279722261716], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 432173), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 435494), params={'x': 1.9145290708938898}, 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=[2.2525044712393463], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 436091), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 439416), params={'x': 3.5008345915654218}, 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.013611941728996074], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 440012), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 443347), params={'x': 1.8833297735967052}, 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.034969095499672066], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 443932), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 447402), params={'x': 1.8129997446534576}, 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=[0.5920434719980951], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 447982), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 451344), params={'x': 1.2305563880321735}, 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=[4.972439816515154], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 451924), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 455286), params={'x': -0.2298968174593088}, 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.954822669288232], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 455858), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 459242), params={'x': 2.9771502797872147}, 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=[2.892535897293333], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 459805), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 463367), params={'x': 0.2992543113994576}, 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.29336229215312165], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 463947), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 467380), params={'x': 2.541629294031556}, 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=[1.3957190045137042], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 467957), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 471337), params={'x': 0.8185944792266695}, 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.0020225435919977103], datetime_start=datetime.datetime(2022, 5, 26, 12, 5, 35, 471909), datetime_complete=datetime.datetime(2022, 5, 26, 12, 5, 35, 475297), params={'x': 1.9550273017042816}, 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: 2.0007453774691357, (x - 2)^2: 5.555875714951739e-07

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

Gallery generated by Sphinx-Gallery