Passed
Push — master ( 23cc6a...a392e7 )
by Simon
04:42 queued 12s
created

opt_strat_early_stop   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 28
dl 0
loc 41
rs 10
c 0
b 0
f 0
wmc 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A objective_function() 0 3 1
1
import numpy as np
2
3
from hyperactive import Hyperactive
4
5
6
from hyperactive.optimizers.strategies import CustomOptimizationStrategy
7
from hyperactive.optimizers import (
8
    HillClimbingOptimizer,
9
    RandomSearchOptimizer,
10
    BayesianOptimizer,
11
)
12
13
14
opt_strat = CustomOptimizationStrategy()
15
opt_strat.add_optimizer(
16
    RandomSearchOptimizer(), duration=0.5, early_stopping={"n_iter_no_change": 10}
17
)
18
opt_strat.add_optimizer(
19
    HillClimbingOptimizer(), duration=0.5, early_stopping={"n_iter_no_change": 10}
20
)
21
22
23
def objective_function(opt):
24
    score = -opt["x1"] * opt["x1"]
25
    return score, {"additional stuff": 1}
26
27
28
search_space = {"x1": list(np.arange(-100, 101, 1))}
29
n_iter = 100
30
optimizer = opt_strat
31
32
hyper = Hyperactive()
33
hyper.add_search(
34
    objective_function,
35
    search_space,
36
    n_iter=n_iter,
37
    n_jobs=1,
38
    optimizer=optimizer,
39
)
40
hyper.run()
41