simulated_annealing   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 27
dl 0
loc 40
rs 10
c 0
b 0
f 0
wmc 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A model() 0 6 1
1
from sklearn.datasets import load_iris
2
from sklearn.neighbors import KNeighborsClassifier
3
from sklearn.model_selection import cross_val_score
4
5
from hyperactive import Hyperactive
6
from hyperactive.optimizers import SimulatedAnnealingOptimizer
7
8
9
data = load_iris()
10
X, y = data.data, data.target
11
12
13
def model(opt):
14
    knr = KNeighborsClassifier(n_neighbors=opt["n_neighbors"])
15
    scores = cross_val_score(knr, X, y, cv=5)
16
    score = scores.mean()
17
18
    return score
19
20
21
search_space = {
22
    "n_neighbors": list(range(1, 100)),
23
}
24
25
26
optimizer = SimulatedAnnealingOptimizer(
27
    epsilon=0.1,
28
    distribution="laplace",
29
    n_neighbours=4,
30
    rand_rest_p=0.1,
31
    p_accept=0.15,
32
    norm_factor="adaptive",
33
    annealing_rate=0.999,
34
    start_temp=0.8,
35
)
36
37
hyper = Hyperactive()
38
hyper.add_search(model, search_space, optimizer=optimizer, n_iter=100)
39
hyper.run()
40