repulsing_hill_climbing   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

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