aboutsummaryrefslogtreecommitdiff
path: root/src/train5.py
diff options
context:
space:
mode:
authortslil <tslil@posteo.de>2021-01-05 21:39:41 -0500
committertslil <tslil@posteo.de>2026-08-28 19:37:41 +0100
commit467128c57e23785abc3e80462c05c2f2abbc0679 (patch)
treefb7df0b86879f61743656117f1c74ec8fc2e8544 /src/train5.py
parent8a231c52d56e011b42fa854542670c5b41801d47 (diff)
Experimenting with training nn
Diffstat (limited to 'src/train5.py')
-rw-r--r--src/train5.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/train5.py b/src/train5.py
new file mode 100644
index 0000000..225068b
--- /dev/null
+++ b/src/train5.py
@@ -0,0 +1,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)