Completed
Push — master ( f67568...5e5af8 )
by Simon
01:28
created

tests.optimizer_parameter.StochasticHillClimbing   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 22
dl 0
loc 36
rs 10
c 0
b 0
f 0
wmc 5

2 Functions

Rating   Name   Duplication   Size   Complexity  
A test_p_down() 0 7 2
A sphere_function() 0 8 3
1
# Author: Simon Blanke
2
# Email: [email protected]
3
# License: MIT License
4
5
import numpy as np
6
7
from hyperactive import Hyperactive
8
9
X, y = np.array([0]), np.array([0])
10
memory = False
11
n_iter = 25
12
13
14
def sphere_function(para, X_train, y_train):
15
    loss = []
16
    for key in para.keys():
17
        if key == "iteration":
18
            continue
19
        loss.append(para[key] * para[key])
20
21
    return -np.array(loss).sum()
22
23
24
search_config = {
25
    sphere_function: {"x1": np.arange(-3, 3, 0.1), "x2": np.arange(-3, 3, 0.1)}
26
}
27
28
29
def test_p_down():
30
    for p_down in [0.0001, 100]:
31
        opt = Hyperactive(X, y, memory=memory)
32
        opt.search(
33
            search_config,
34
            n_iter=n_iter,
35
            optimizer={"StochasticHillClimbing": {"p_down": p_down}},
36
        )
37