Code Duplication    Length = 47-48 lines in 4 locations

tests/test_optimizers/test_early_stop.py 2 locations

@@ 264-311 (lines=48) @@
261
    assert n_performed_iter == n_iter
262
263
264
@pytest.mark.parametrize(*optimizers)
265
def test_early_stop_7(Optimizer):
266
    def objective_function(para):
267
        return para["x1"]
268
269
    search_space = {
270
        "x1": np.arange(0, 100, 0.01),
271
    }
272
273
    n_iter_no_change = 5
274
    early_stopping = {
275
        "n_iter_no_change": n_iter_no_change,
276
        "tol_abs": None,
277
        "tol_rel": 10,
278
    }
279
280
    start1 = {"x1": 1}
281
    start2 = {"x1": 1.09}
282
    start3 = {"x1": 1.20}
283
284
    warm_start_l = [
285
        start1,
286
        start1,
287
        start1,
288
        start1,
289
        start1,
290
        start2,
291
        start2,
292
        start2,
293
        start3,
294
        start3,
295
        start3,
296
    ]
297
    n_iter = len(warm_start_l)
298
299
    opt = Optimizer(search_space, initialize={"warm_start": warm_start_l})
300
    opt.search(
301
        objective_function,
302
        n_iter=n_iter,
303
        early_stopping=early_stopping,
304
    )
305
    search_data = opt.search_data
306
    n_performed_iter = len(search_data)
307
308
    print("\n n_performed_iter \n", n_performed_iter)
309
    print("\n n_iter_no_change \n", n_iter_no_change)
310
311
    assert n_performed_iter == (n_iter_no_change + 1)
312
@@ 156-203 (lines=48) @@
153
    assert n_performed_iter == n_iter
154
155
156
@pytest.mark.parametrize(*optimizers)
157
def test_early_stop_5(Optimizer):
158
    def objective_function(para):
159
        return para["x1"]
160
161
    search_space = {
162
        "x1": np.arange(0, 100, 0.01),
163
    }
164
165
    n_iter_no_change = 5
166
    early_stopping = {
167
        "n_iter_no_change": n_iter_no_change,
168
        "tol_abs": 0.1,
169
        "tol_rel": None,
170
    }
171
172
    start1 = {"x1": 0}
173
    start2 = {"x1": 0.09}
174
    start3 = {"x1": 0.20}
175
176
    warm_start_l = [
177
        start1,
178
        start1,
179
        start1,
180
        start1,
181
        start1,
182
        start2,
183
        start2,
184
        start2,
185
        start3,
186
        start3,
187
        start3,
188
    ]
189
    n_iter = len(warm_start_l)
190
191
    opt = Optimizer(search_space, initialize={"warm_start": warm_start_l})
192
    opt.search(
193
        objective_function,
194
        n_iter=n_iter,
195
        early_stopping=early_stopping,
196
    )
197
    search_data = opt.search_data
198
    n_performed_iter = len(search_data)
199
200
    print("\n n_performed_iter \n", n_performed_iter)
201
    print("\n n_iter_no_change \n", n_iter_no_change)
202
203
    assert n_performed_iter == (n_iter_no_change + 1)
204
205
206
@pytest.mark.parametrize(*optimizers)

tests/test_early_stop.py 2 locations

@@ 260-306 (lines=47) @@
257
    assert n_performed_iter == n_iter
258
259
260
def test_early_stop_7():
261
    def objective_function(para):
262
        return para["x1"]
263
264
    search_space = {
265
        "x1": np.arange(0, 100, 0.01),
266
    }
267
268
    n_iter_no_change = 5
269
    early_stopping = {
270
        "n_iter_no_change": n_iter_no_change,
271
        "tol_abs": None,
272
        "tol_rel": 10,
273
    }
274
275
    start1 = {"x1": 1}
276
    start2 = {"x1": 1.09}
277
    start3 = {"x1": 1.20}
278
279
    warm_start_l = [
280
        start1,
281
        start1,
282
        start1,
283
        start1,
284
        start1,
285
        start2,
286
        start2,
287
        start2,
288
        start3,
289
        start3,
290
        start3,
291
    ]
292
    n_iter = len(warm_start_l)
293
294
    opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l})
295
    opt.search(
296
        objective_function,
297
        n_iter=n_iter,
298
        early_stopping=early_stopping,
299
    )
300
    search_data = opt.search_data
301
    n_performed_iter = len(search_data)
302
303
    print("\n n_performed_iter \n", n_performed_iter)
304
    print("\n n_iter_no_change \n", n_iter_no_change)
305
306
    assert n_performed_iter == (n_iter_no_change + 1)
307
@@ 154-200 (lines=47) @@
151
    assert n_performed_iter == n_iter
152
153
154
def test_early_stop_5():
155
    def objective_function(para):
156
        return para["x1"]
157
158
    search_space = {
159
        "x1": np.arange(0, 100, 0.01),
160
    }
161
162
    n_iter_no_change = 5
163
    early_stopping = {
164
        "n_iter_no_change": n_iter_no_change,
165
        "tol_abs": 10,
166
        "tol_rel": None,
167
    }
168
169
    start1 = {"x1": 0}
170
    start2 = {"x1": 9}
171
    start3 = {"x1": 20}
172
173
    warm_start_l = [
174
        start1,
175
        start1,
176
        start1,
177
        start1,
178
        start1,
179
        start2,
180
        start2,
181
        start2,
182
        start3,
183
        start3,
184
        start3,
185
    ]
186
    n_iter = len(warm_start_l)
187
188
    opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l})
189
    opt.search(
190
        objective_function,
191
        n_iter=n_iter,
192
        early_stopping=early_stopping,
193
    )
194
    search_data = opt.search_data
195
    n_performed_iter = len(search_data)
196
197
    print("\n n_performed_iter \n", n_performed_iter)
198
    print("\n n_iter_no_change \n", n_iter_no_change)
199
200
    assert n_performed_iter == (n_iter_no_change + 1)
201
202
203
def test_early_stop_6():