Code Duplication    Length = 47-48 lines in 4 locations

tests/test_optimizers/test_early_stop.py 2 locations

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