Passed
Push — master ( a4a5a4...600197 )
by Simon
02:08
created

test_arguments_api   A

Complexity

Total Complexity 13

Size/Duplication

Total Lines 151
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 13
eloc 89
dl 0
loc 151
rs 10
c 0
b 0
f 0

13 Functions

Rating   Name   Duplication   Size   Complexity  
A test_multiple_models_one_job() 0 6 1
A test_warm_start() 0 5 1
A test_n_jobs_2() 0 5 1
A test_scatter_init() 0 5 1
A test_memory() 0 8 1
A test_scatter_init_and_warm_start() 0 12 1
A test_positional_args() 0 11 1
A test_warm_start_multiple_jobs() 0 5 1
A test_warm_starts() 0 5 1
A test_n_jobs_4() 0 5 1
A test_random_state() 0 11 1
A test_verbosity() 0 8 1
A test_n_jobs_1() 0 5 1
1
# Author: Simon Blanke
2
# Email: [email protected]
3
# License: MIT License
4
5
from sklearn.datasets import load_iris
6
7
data = load_iris()
8
X = data.data
9
y = data.target
10
11
12
search_config = {
13
    "sklearn.tree.DecisionTreeClassifier": {
14
        "criterion": ["gini", "entropy"],
15
        "max_depth": range(1, 21),
16
        "min_samples_split": range(2, 21),
17
        "min_samples_leaf": range(1, 21),
18
    }
19
}
20
search_config_1 = {
21
    "sklearn.tree.DecisionTreeClassifier": {"max_depth": range(1, 21)},
22
    "sklearn.neighbors.KNeighborsClassifier": {
23
        "n_neighbors": range(1, 101),
24
        "weights": ["uniform", "distance"],
25
        "p": [1, 2],
26
    },
27
}
28
warm_start = {"sklearn.tree.DecisionTreeClassifier": {"max_depth": [1]}}
29
30
warm_start_1 = {
31
    "sklearn.tree.DecisionTreeClassifier.0": {"max_depth": [1]},
32
    "sklearn.tree.DecisionTreeClassifier.1": {"max_depth": [2]},
33
}
34
35
36
def test_multiple_models_one_job():
37
38
    from hyperactive import RandomSearchOptimizer
39
40
    opt = RandomSearchOptimizer(search_config_1, 1, n_jobs=1)
41
    opt.fit(X, y)
42
43
44
def test_n_jobs_1():
45
    from hyperactive import RandomSearchOptimizer
46
47
    opt = RandomSearchOptimizer(search_config, 1, n_jobs=1)
48
    opt.fit(X, y)
49
50
51
def test_n_jobs_2():
52
    from hyperactive import RandomSearchOptimizer
53
54
    opt = RandomSearchOptimizer(search_config, 1, n_jobs=2)
55
    opt.fit(X, y)
56
57
58
def test_n_jobs_4():
59
    from hyperactive import RandomSearchOptimizer
60
61
    opt = RandomSearchOptimizer(search_config, 1, n_jobs=4)
62
    opt.fit(X, y)
63
64
65
def test_positional_args():
66
    from hyperactive import RandomSearchOptimizer
67
68
    opt0 = RandomSearchOptimizer(search_config, 1, random_state=False)
69
    opt0.fit(X, y)
70
71
    opt1 = RandomSearchOptimizer(search_config, n_iter=1, random_state=1)
72
    opt1.fit(X, y)
73
74
    opt2 = RandomSearchOptimizer(search_config=search_config, n_iter=1, random_state=1)
75
    opt2.fit(X, y)
76
77
78
def test_random_state():
79
    from hyperactive import RandomSearchOptimizer
80
81
    opt0 = RandomSearchOptimizer(search_config, 1, random_state=False)
82
    opt0.fit(X, y)
83
84
    opt1 = RandomSearchOptimizer(search_config, 1, random_state=0)
85
    opt1.fit(X, y)
86
87
    opt2 = RandomSearchOptimizer(search_config, 1, random_state=1)
88
    opt2.fit(X, y)
89
90
91
def test_memory():
92
    from hyperactive import RandomSearchOptimizer
93
94
    opt0 = RandomSearchOptimizer(search_config, 1, memory=True)
95
    opt0.fit(X, y)
96
97
    opt1 = RandomSearchOptimizer(search_config, 1, memory=False)
98
    opt1.fit(X, y)
99
100
101
def test_verbosity():
102
    from hyperactive import RandomSearchOptimizer
103
104
    opt0 = RandomSearchOptimizer(search_config, 1, verbosity=0)
105
    opt0.fit(X, y)
106
107
    opt1 = RandomSearchOptimizer(search_config, 1, verbosity=1)
108
    opt1.fit(X, y)
109
110
111
def test_scatter_init():
112
    from hyperactive import RandomSearchOptimizer
113
114
    opt = RandomSearchOptimizer(search_config, 1, n_jobs=1, scatter_init=10)
115
    opt.fit(X, y)
116
117
118
def test_scatter_init_and_warm_start():
119
    from hyperactive import RandomSearchOptimizer
120
121
    opt = RandomSearchOptimizer(
122
        search_config, 1, warm_start=warm_start, scatter_init=10
123
    )
124
    opt.fit(X, y)
125
126
    opt = RandomSearchOptimizer(
127
        search_config, 2, warm_start=warm_start, scatter_init=10
128
    )
129
    opt.fit(X, y)
130
131
132
def test_warm_starts():
133
    from hyperactive import RandomSearchOptimizer
134
135
    opt = RandomSearchOptimizer(search_config, 1, n_jobs=1, warm_start=warm_start_1)
136
    opt.fit(X, y)
137
138
139
def test_warm_start_multiple_jobs():
140
    from hyperactive import RandomSearchOptimizer
141
142
    opt = RandomSearchOptimizer(search_config, 1, n_jobs=4, warm_start=warm_start)
143
    opt.fit(X, y)
144
145
146
def test_warm_start():
147
    from hyperactive import RandomSearchOptimizer
148
149
    opt = RandomSearchOptimizer(search_config, 1, n_jobs=1, warm_start=warm_start)
150
    opt.fit(X, y)
151