Passed
Push — master ( b0b7f3...e3d174 )
by Simon
04:31
created

memory   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 22
dl 0
loc 35
rs 10
c 0
b 0
f 0
wmc 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A model() 0 8 1
1
import numpy as np
2
from sklearn.model_selection import cross_val_score
3
from sklearn.tree import DecisionTreeClassifier
4
from sklearn.datasets import load_wine
5
6
from gradient_free_optimizers import HillClimbingOptimizer
7
8
9
data = load_wine()
10
X, y = data.data, data.target
11
12
13
def model(para):
14
    gbc = DecisionTreeClassifier(
15
        min_samples_split=para["min_samples_split"],
16
        min_samples_leaf=para["min_samples_leaf"],
17
    )
18
    scores = cross_val_score(gbc, X, y, cv=5)
19
20
    return scores.mean()
21
22
23
search_space = {
24
    "min_samples_split": np.arange(2, 25, 1),
25
    "min_samples_leaf": np.arange(1, 25, 1),
26
}
27
28
opt = HillClimbingOptimizer(search_space)
29
opt.search(model, n_iter=500, memory=False)
30
31
32
print("\n\nMemory activated:")
33
opt = HillClimbingOptimizer(search_space)
34
opt.search(model, n_iter=500, memory=True)
35