mlxtend_example   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 30
dl 0
loc 44
rs 10
c 0
b 0
f 0
wmc 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A model() 0 15 1
1
from sklearn.datasets import load_breast_cancer
2
from sklearn.model_selection import cross_val_score
3
from mlxtend.classifier import EnsembleVoteClassifier
4
from sklearn.tree import DecisionTreeClassifier
5
from sklearn.neural_network import MLPClassifier
6
from sklearn.svm import SVC
7
from hyperactive import Hyperactive
8
9
10
data = load_breast_cancer()
11
X, y = data.data, data.target
12
13
14
def model(opt):
15
    dtc = DecisionTreeClassifier(
16
        min_samples_split=opt["min_samples_split"],
17
        min_samples_leaf=opt["min_samples_leaf"],
18
    )
19
    mlp = MLPClassifier(hidden_layer_sizes=opt["hidden_layer_sizes"])
20
    svc = SVC(C=opt["C"], degree=opt["degree"], gamma="auto", probability=True)
21
22
    eclf = EnsembleVoteClassifier(
23
        clfs=[dtc, mlp, svc], weights=opt["weights"], voting="soft",
24
    )
25
26
    scores = cross_val_score(eclf, X, y, cv=3)
27
28
    return scores.mean()
29
30
31
search_space = {
32
    "min_samples_split": list(range(2, 15)),
33
    "min_samples_leaf": list(range(1, 15)),
34
    "hidden_layer_sizes": list(range(5, 50, 5)),
35
    "weights": [[1, 1, 1], [2, 1, 1], [1, 2, 1], [1, 1, 2]],
36
    "C": list(range(1, 1000)),
37
    "degree": list(range(0, 8)),
38
}
39
40
41
hyper = Hyperactive()
42
hyper.add_search(model, search_space, n_iter=25)
43
hyper.run()
44
45