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