Completed
Push — master ( b24ce1...799a98 )
by Simon
04:22 queued 02:04
created

mlp_example   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 33
dl 0
loc 47
rs 10
c 0
b 0
f 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A model() 0 17 1
1
import numpy as np
2
from keras.models import Sequential
3
from keras.layers import Dense, Dropout
4
from keras.optimizers import RMSprop
5
from keras.utils import to_categorical
6
7
from sklearn.model_selection import train_test_split
8
from sklearn.datasets import load_breast_cancer
9
from hyperactive import Hyperactive
10
11
data = load_breast_cancer()
12
X, y = data.data, data.target
13
y = to_categorical(y)
14
15
16
def model(para, X, y):
17
    model = Sequential()
18
    model.add(Dense(para["layer0"], activation="relu"))
19
    model.add(Dropout(para["dropout0"]))
20
    model.add(Dense(para["layer1"], activation="relu"))
21
    model.add(Dropout(para["dropout1"]))
22
    model.add(Dense(2, activation="softmax"))
23
24
    model.compile(
25
        loss="categorical_crossentropy", optimizer=RMSprop(), metrics=["accuracy"]
26
    )
27
28
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)
29
    model.fit(X_train, y_train, batch_size=128, epochs=10, verbose=1)
30
    loss, score = model.evaluate(X_test, y_test, verbose=0)
31
32
    return score
33
34
35
search_config = {
36
    model: {
37
        "layer0": range(10, 301, 5),
38
        "layer1": range(10, 301, 5),
39
        "dropout0": np.arange(0.1, 1, 0.1),
40
        "dropout1": np.arange(0.1, 1, 0.1),
41
    }
42
}
43
44
45
opt = Hyperactive(search_config, n_iter=10)
46
opt.fit(X, y)
47