Code Duplication    Length = 55-56 lines in 4 locations

tests/test_optimizers/test_early_stop.py 2 locations

@@ 206-261 (lines=56) @@
203
    assert n_performed_iter == (n_iter_no_change + 1)
204
205
206
@pytest.mark.parametrize(*optimizers)
207
def test_early_stop_6(Optimizer):
208
    def objective_function(para):
209
        return para["x1"]
210
211
    search_space = {
212
        "x1": np.arange(0, 100, 0.01),
213
    }
214
215
    n_iter_no_change = 5
216
    early_stopping = {
217
        "n_iter_no_change": 5,
218
        "tol_abs": None,
219
        "tol_rel": 10,
220
    }
221
222
    start1 = {"x1": 1}
223
    start2 = {"x1": 1.1}
224
    start3 = {"x1": 1.22}
225
    start4 = {"x1": 1.35}
226
    start5 = {"x1": 1.48}
227
228
    warm_start_l = [
229
        start1,
230
        start1,
231
        start1,
232
        start1,
233
        start1,
234
        start2,
235
        start2,
236
        start2,
237
        start3,
238
        start3,
239
        start3,
240
        start4,
241
        start4,
242
        start4,
243
        start5,
244
        start5,
245
        start5,
246
    ]
247
    n_iter = len(warm_start_l)
248
249
    opt = Optimizer(search_space, initialize={"warm_start": warm_start_l})
250
    opt.search(
251
        objective_function,
252
        n_iter=n_iter,
253
        early_stopping=early_stopping,
254
    )
255
    search_data = opt.search_data
256
    n_performed_iter = len(search_data)
257
258
    print("\n n_performed_iter \n", n_performed_iter)
259
    print("\n n_iter_no_change \n", n_iter_no_change)
260
261
    assert n_performed_iter == n_iter
262
263
264
@pytest.mark.parametrize(*optimizers)
@@ 98-153 (lines=56) @@
95
    assert n_performed_iter == (n_iter_no_change + 2)
96
97
98
@pytest.mark.parametrize(*optimizers)
99
def test_early_stop_4(Optimizer):
100
    def objective_function(para):
101
        return para["x1"]
102
103
    search_space = {
104
        "x1": np.arange(0, 100, 0.1),
105
    }
106
107
    n_iter_no_change = 5
108
    early_stopping = {
109
        "n_iter_no_change": 5,
110
        "tol_abs": 0.1,
111
        "tol_rel": None,
112
    }
113
114
    start1 = {"x1": 0}
115
    start2 = {"x1": 0.1}
116
    start3 = {"x1": 0.2}
117
    start4 = {"x1": 0.3}
118
    start5 = {"x1": 0.4}
119
120
    warm_start_l = [
121
        start1,
122
        start1,
123
        start1,
124
        start1,
125
        start1,
126
        start2,
127
        start2,
128
        start2,
129
        start3,
130
        start3,
131
        start3,
132
        start4,
133
        start4,
134
        start4,
135
        start5,
136
        start5,
137
        start5,
138
    ]
139
    n_iter = len(warm_start_l)
140
141
    opt = Optimizer(search_space, initialize={"warm_start": warm_start_l})
142
    opt.search(
143
        objective_function,
144
        n_iter=n_iter,
145
        early_stopping=early_stopping,
146
    )
147
    search_data = opt.search_data
148
    n_performed_iter = len(search_data)
149
150
    print("\n n_performed_iter \n", n_performed_iter)
151
    print("\n n_iter_no_change \n", n_iter_no_change)
152
153
    assert n_performed_iter == n_iter
154
155
156
@pytest.mark.parametrize(*optimizers)

tests/test_early_stop.py 2 locations

@@ 203-257 (lines=55) @@
200
    assert n_performed_iter == (n_iter_no_change + 1)
201
202
203
def test_early_stop_6():
204
    def objective_function(para):
205
        return para["x1"]
206
207
    search_space = {
208
        "x1": np.arange(0, 100, 0.01),
209
    }
210
211
    n_iter_no_change = 5
212
    early_stopping = {
213
        "n_iter_no_change": 5,
214
        "tol_abs": None,
215
        "tol_rel": 10,
216
    }
217
218
    start1 = {"x1": 1}
219
    start2 = {"x1": 1.1}
220
    start3 = {"x1": 1.22}
221
    start4 = {"x1": 1.35}
222
    start5 = {"x1": 1.48}
223
224
    warm_start_l = [
225
        start1,
226
        start1,
227
        start1,
228
        start1,
229
        start1,
230
        start2,
231
        start2,
232
        start2,
233
        start3,
234
        start3,
235
        start3,
236
        start4,
237
        start4,
238
        start4,
239
        start5,
240
        start5,
241
        start5,
242
    ]
243
    n_iter = len(warm_start_l)
244
245
    opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l})
246
    opt.search(
247
        objective_function,
248
        n_iter=n_iter,
249
        early_stopping=early_stopping,
250
    )
251
    search_data = opt.search_data
252
    n_performed_iter = len(search_data)
253
254
    print("\n n_performed_iter \n", n_performed_iter)
255
    print("\n n_iter_no_change \n", n_iter_no_change)
256
257
    assert n_performed_iter == n_iter
258
259
260
def test_early_stop_7():
@@ 97-151 (lines=55) @@
94
    assert n_performed_iter == (n_iter_no_change + 1)
95
96
97
def test_early_stop_4():
98
    def objective_function(para):
99
        return para["x1"]
100
101
    search_space = {
102
        "x1": np.arange(0, 100, 0.1),
103
    }
104
105
    n_iter_no_change = 5
106
    early_stopping = {
107
        "n_iter_no_change": 5,
108
        "tol_abs": 1,
109
        "tol_rel": None,
110
    }
111
112
    start1 = {"x1": 0}
113
    start2 = {"x1": 1}
114
    start3 = {"x1": 2}
115
    start4 = {"x1": 3}
116
    start5 = {"x1": 4}
117
118
    warm_start_l = [
119
        start1,
120
        start1,
121
        start1,
122
        start1,
123
        start1,
124
        start2,
125
        start2,
126
        start2,
127
        start3,
128
        start3,
129
        start3,
130
        start4,
131
        start4,
132
        start4,
133
        start5,
134
        start5,
135
        start5,
136
    ]
137
    n_iter = len(warm_start_l)
138
139
    opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l})
140
    opt.search(
141
        objective_function,
142
        n_iter=n_iter,
143
        early_stopping=early_stopping,
144
    )
145
    search_data = opt.search_data
146
    n_performed_iter = len(search_data)
147
148
    print("\n n_performed_iter \n", n_performed_iter)
149
    print("\n n_iter_no_change \n", n_iter_no_change)
150
151
    assert n_performed_iter == n_iter
152
153
154
def test_early_stop_5():