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

sphere_function()   A

Complexity

Conditions 3

Size

Total Lines 8
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 7
nop 3
dl 0
loc 8
rs 10
c 0
b 0
f 0
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_epsilon():
30
    for epsilon in [0.00001, 100]:
31
        opt = Hyperactive(X, y, memory=memory)
32
        opt.search(
33
            search_config,
34
            n_iter=n_iter,
35
            optimizer={"HillClimbing": {"epsilon": epsilon}},
36
        )
37
38
39
def test_n_neighbours():
40
    for n_neighbours in [1, 100]:
41
        opt = Hyperactive(X, y, memory=memory)
42
        opt.search(
43
            search_config,
44
            n_iter=n_iter,
45
            optimizer={"HillClimbing": {"n_neighbours": n_neighbours}},
46
        )
47