1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
import tensorflow as tf
import pandas as pd
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import BatchNormalization
from tensorflow.keras.layers import Conv2D
from tensorflow.keras.layers import MaxPooling2D
from tensorflow.keras.layers import Activation
from tensorflow.keras.layers import Flatten
from tensorflow.keras.layers import Dropout
from tensorflow.keras.layers import Dense
model = Sequential([
Conv2D(5, kernel_size=3, padding='same', input_shape=(5, 5, 2)),
MaxPooling2D(pool_size=(2, 2), strides=None),
Activation("relu"),
Flatten(),
Dense(10, activation="relu"),
Dense(8, activation="relu"),
Dense(1, activation="sigmoid")
# Dense(40, activation="relu", input_shape=(52,)),
# Dense(10, activation="relu"),
# Dense(5, activation="relu"),
# Dense(1, activation="sigmoid")
])
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.summary()
csv = pd.read_csv("data/test.csv")
training_data = csv.copy().head(5000)
training_outcome = training_data.pop('Outcome')
training_input = training_data.copy()
training_input = training_input.drop(columns=training_data.keys()[0:2])
train = np.array(training_input)
train = train.reshape((training_input.shape[0], 5, 5, 2))
model.fit(train, training_outcome, epochs=20)
test_data = csv.copy().head(10000)
test_data = test_data.drop(columns=test_data.keys()[0:2])
test_outcome = test_data.pop('Outcome')
test_input = np.array(test_data)
test_input.reshape((test_data.shape[0], 5, 5, 2))
test_loss, test_acc = model.evaluate(test_input, test_outcome, verbose=2)
print('\nTest accuracy:', test_acc)
|