Passed
Push — master ( 61a8e6...a7d091 )
by Simon
03:21
created

tests.test_methods   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 65
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 5
eloc 42
dl 0
loc 65
rs 10
c 0
b 0
f 0

5 Functions

Rating   Name   Duplication   Size   Complexity  
A test_get_results() 0 8 1
A test_save_report() 0 4 1
A model() 0 10 1
A test_get_eval_time() 0 4 1
A test_get_total_time() 0 4 1
1
# Author: Simon Blanke
2
# Email: [email protected]
3
# License: MIT License
4
5
from sklearn.datasets import load_iris
6
from sklearn.model_selection import cross_val_score
7
from sklearn.tree import DecisionTreeClassifier
8
from hyperactive import Hyperactive
9
10
data = load_iris()
11
X = data.data
12
y = data.target
13
14
n_iter = 1
15
16
17
def model(para, X_train, y_train):
18
    model = DecisionTreeClassifier(
19
        criterion=para["criterion"],
20
        max_depth=para["max_depth"],
21
        min_samples_split=para["min_samples_split"],
22
        min_samples_leaf=para["min_samples_leaf"],
23
    )
24
    scores = cross_val_score(model, X_train, y_train, cv=2)
25
26
    return scores.mean()
27
28
29
search_config = {
30
    model: {
31
        "criterion": ["gini", "entropy"],
32
        "max_depth": range(1, 11),
33
        "min_samples_split": range(2, 11),
34
        "min_samples_leaf": range(1, 11),
35
    }
36
}
37
38
39
def test_get_results():
40
    opt = Hyperactive(search_config, n_iter=n_iter, optimizer="HillClimbing")
41
    opt.search(X, y)
42
    opt.get_results()
43
44
    opt = Hyperactive(search_config, n_iter=n_iter, n_jobs=2, optimizer="HillClimbing")
45
    opt.search(X, y)
46
    opt.get_results()
47
48
49
def test_get_total_time():
50
    opt = Hyperactive(search_config, n_iter=n_iter, optimizer="HillClimbing")
51
    opt.search(X, y)
52
    opt.get_total_time()
53
54
55
def test_get_eval_time():
56
    opt = Hyperactive(search_config, n_iter=n_iter, optimizer="HillClimbing")
57
    opt.search(X, y)
58
    opt.get_eval_time()
59
60
61
def test_save_report():
62
    opt = Hyperactive(search_config, n_iter=n_iter, optimizer="HillClimbing")
63
    opt.search(X, y)
64
    opt.save_report()
65