Total Complexity | 7 |
Total Lines | 46 |
Duplicated Lines | 0 % |
Changes | 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 |