diff options
| author | tslil <tslil@posteo.de> | 2021-01-05 21:39:41 -0500 |
|---|---|---|
| committer | tslil <tslil@posteo.de> | 2026-08-28 19:37:41 +0100 |
| commit | 467128c57e23785abc3e80462c05c2f2abbc0679 (patch) | |
| tree | fb7df0b86879f61743656117f1c74ec8fc2e8544 /src/train5.py | |
| parent | 8a231c52d56e011b42fa854542670c5b41801d47 (diff) | |
Experimenting with training nn
Diffstat (limited to 'src/train5.py')
| -rw-r--r-- | src/train5.py | 51 |
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) |
