Passed
Push — master ( b87fc6...1c02b4 )
by Simon
01:32
created

tested_and_supported_packages/joblib_example.py (3 issues)

1
import numpy as np
2
from sklearn.model_selection import cross_val_score
3
from sklearn.ensemble import GradientBoostingClassifier
4
from sklearn.ensemble import RandomForestClassifier
5
from sklearn.ensemble import ExtraTreesClassifier
6
from xgboost import XGBClassifier
7
from sklearn.datasets import load_breast_cancer
8
from hyperactive import Hyperactive
9
10
data = load_breast_cancer()
11
X, y = data.data, data.target
12
13
14 View Code Duplication
def model_etc(opt):
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
15
    etc = ExtraTreesClassifier(
16
        n_estimators=opt["n_estimators"],
17
        criterion=opt["criterion"],
18
        max_features=opt["max_features"],
19
        min_samples_split=opt["min_samples_split"],
20
        min_samples_leaf=opt["min_samples_leaf"],
21
        bootstrap=opt["bootstrap"],
22
    )
23
    scores = cross_val_score(etc, X, y, cv=3)
24
25
    return scores.mean()
26
27
28 View Code Duplication
def model_rfc(opt):
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
29
    rfc = RandomForestClassifier(
30
        n_estimators=opt["n_estimators"],
31
        criterion=opt["criterion"],
32
        max_features=opt["max_features"],
33
        min_samples_split=opt["min_samples_split"],
34
        min_samples_leaf=opt["min_samples_leaf"],
35
        bootstrap=opt["bootstrap"],
36
    )
37
    scores = cross_val_score(rfc, X, y, cv=3)
38
39
    return scores.mean()
40
41
42 View Code Duplication
def model_gbc(opt):
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
43
    gbc = GradientBoostingClassifier(
44
        n_estimators=opt["n_estimators"],
45
        learning_rate=opt["learning_rate"],
46
        max_depth=opt["max_depth"],
47
        min_samples_split=opt["min_samples_split"],
48
        min_samples_leaf=opt["min_samples_leaf"],
49
        subsample=opt["subsample"],
50
        max_features=opt["max_features"],
51
    )
52
    scores = cross_val_score(gbc, X, y, cv=3)
53
54
    return scores.mean()
55
56
57
search_space_etc = {
58
    "n_estimators": list(range(10, 200, 10)),
59
    "criterion": ["gini", "entropy"],
60
    "max_features": list(np.arange(0.05, 1.01, 0.05)),
61
    "min_samples_split": list(range(2, 21)),
62
    "min_samples_leaf": list(range(1, 21)),
63
    "bootstrap": [True, False],
64
}
65
66
67
search_space_rfc = {
68
    "n_estimators": list(range(10, 200, 10)),
69
    "criterion": ["gini", "entropy"],
70
    "max_features": list(np.arange(0.05, 1.01, 0.05)),
71
    "min_samples_split": list(range(2, 21)),
72
    "min_samples_leaf": list(range(1, 21)),
73
    "bootstrap": [True, False],
74
}
75
76
77
search_space_gbc = {
78
    "n_estimators": list(range(10, 200, 10)),
79
    "learning_rate": [1e-3, 1e-2, 1e-1, 0.5, 1.0],
80
    "max_depth": list(range(1, 11)),
81
    "min_samples_split": list(range(2, 21)),
82
    "min_samples_leaf": list(range(1, 21)),
83
    "subsample": list(np.arange(0.05, 1.01, 0.05)),
84
    "max_features": list(np.arange(0.05, 1.01, 0.05)),
85
}
86
87
88
hyper = Hyperactive(distribution="joblib")
89
hyper.add_search(model_etc, search_space_etc, n_iter=50)
90
hyper.add_search(model_rfc, search_space_rfc, n_iter=50)
91
hyper.add_search(model_gbc, search_space_gbc, n_iter=50)
92
hyper.run(max_time=5)
93