hill_climbing   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 20
dl 0
loc 33
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 HillClimbingOptimizer
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 = HillClimbingOptimizer(
27
    epsilon=0.1, distribution="laplace", n_neighbours=4, rand_rest_p=0.1
28
)
29
30
hyper = Hyperactive()
31
hyper.add_search(model, search_space, optimizer=optimizer, n_iter=100)
32
hyper.run()
33