NeuroTesting/Scripts/TestData/Untitled.ipynb

845 lines
167 KiB
Text
Raw Permalink Normal View History

2025-05-30 16:12:38 +02:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 12,
"id": "e1669893-591c-483d-9d3f-439bf90bc826",
"metadata": {},
"outputs": [],
"source": [
"# Import Libraries\n",
"import os\n",
"import pandas as pd\n",
"import numpy as np\n",
"import tensorflow as tf \n",
"from tensorflow import keras \n",
"import matplotlib as mp\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.font_manager as fm\n",
"import MetaTrader5 as mt5"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "9383c7f0-afb2-4c79-b351-39ba652bb6b0",
"metadata": {},
"outputs": [],
"source": [
"if not mt5.initialize():\n",
" print(\"initialize() failed, error code =\",mt5.last_error())\n",
" quit()\n",
"\n",
"path=os.path.join(mt5.terminal_info().data_path,r'MQL5\\Files')\n",
"mt5.shutdown()\n",
"filename = os.path.join(path,'study_pricedelt_data.csv')\n",
"data = np.asarray( pd.read_table(filename,\n",
" sep=',',\n",
" header=None,\n",
" skipinitialspace=True,\n",
" encoding='utf-8',\n",
" float_precision='high',\n",
" dtype=np.float64,\n",
" low_memory=False))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "7c7df479-995c-44b9-bd26-6a0e1f9daf76",
"metadata": {},
"outputs": [],
"source": [
"inputs=data.shape[1]-3\n",
"targerts=3\n",
"train_data=data[:,0:inputs]\n",
"train_target=data[:,inputs:]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "f46f3696-dfd8-4d4f-98aa-03399c105f53",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model: \"sequential_3\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" reshape_3 (Reshape) (None, 2, 2) 0 \n",
" \n",
" lstm_3 (LSTM) (None, 40) 6880 \n",
" \n",
" dense_12 (Dense) (None, 40) 1640 \n",
" \n",
" dense_13 (Dense) (None, 40) 1640 \n",
" \n",
" dense_14 (Dense) (None, 40) 1640 \n",
" \n",
" dense_15 (Dense) (None, 3) 123 \n",
" \n",
"=================================================================\n",
"Total params: 11,923\n",
"Trainable params: 11,923\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"callback = tf.keras.callbacks.EarlyStopping(monitor='loss', patience=20)\n",
"\n",
"# Add the LSTM block to the model\n",
"model1 = keras.Sequential([keras.layers.InputLayer(input_shape=inputs),\n",
" # Reformat tensor to a 3-dimensional one. Specify 2 dimensions as 3rd one is defined by batch size\n",
" keras.layers.Reshape((-1,2)), \n",
" # LSTM block contains 40 elements and returns results at each step \n",
" keras.layers.LSTM(40, return_sequences=False, \n",
" kernel_regularizer=keras.regularizers.l1_l2(l1=1e-4, l2=1e-3)),\n",
" keras.layers.Dense(40, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l1_l2(l1=1e-4, l2=1e-3)), \n",
" keras.layers.Dense(40, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l1_l2(l1=1e-4, l2=1e-3)), \n",
" keras.layers.Dense(40, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l1_l2(l1=1e-4, l2=1e-3)), \n",
" keras.layers.Dense(targerts, activation=tf.nn.tanh) \n",
" ])\n",
"model1.summary()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "cdd346bf-2b49-4586-bcad-d0a447ef5a85",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/200\n",
"15/15 - 3s - loss: 0.4125 - accuracy: 0.7534 - val_loss: 0.3328 - val_accuracy: 0.7656 - 3s/epoch - 224ms/step\n",
"Epoch 2/200\n",
"15/15 - 0s - loss: 0.2977 - accuracy: 0.7912 - val_loss: 0.2921 - val_accuracy: 0.7915 - 134ms/epoch - 9ms/step\n",
"Epoch 3/200\n",
"15/15 - 0s - loss: 0.2788 - accuracy: 0.7978 - val_loss: 0.2758 - val_accuracy: 0.7938 - 157ms/epoch - 10ms/step\n",
"Epoch 4/200\n",
"15/15 - 0s - loss: 0.2612 - accuracy: 0.8039 - val_loss: 0.2626 - val_accuracy: 0.7984 - 131ms/epoch - 9ms/step\n",
"Epoch 5/200\n",
"15/15 - 0s - loss: 0.2470 - accuracy: 0.8125 - val_loss: 0.2491 - val_accuracy: 0.7970 - 141ms/epoch - 9ms/step\n",
"Epoch 6/200\n",
"15/15 - 0s - loss: 0.2336 - accuracy: 0.8130 - val_loss: 0.2365 - val_accuracy: 0.7936 - 157ms/epoch - 10ms/step\n",
"Epoch 7/200\n",
"15/15 - 0s - loss: 0.2212 - accuracy: 0.8191 - val_loss: 0.2251 - val_accuracy: 0.7935 - 141ms/epoch - 9ms/step\n",
"Epoch 8/200\n",
"15/15 - 0s - loss: 0.2098 - accuracy: 0.8213 - val_loss: 0.2146 - val_accuracy: 0.7934 - 142ms/epoch - 9ms/step\n",
"Epoch 9/200\n",
"15/15 - 0s - loss: 0.1993 - accuracy: 0.8236 - val_loss: 0.2048 - val_accuracy: 0.7923 - 158ms/epoch - 11ms/step\n",
"Epoch 10/200\n",
"15/15 - 0s - loss: 0.1897 - accuracy: 0.8237 - val_loss: 0.1958 - val_accuracy: 0.7926 - 171ms/epoch - 11ms/step\n",
"Epoch 11/200\n",
"15/15 - 0s - loss: 0.1810 - accuracy: 0.8256 - val_loss: 0.1875 - val_accuracy: 0.7926 - 157ms/epoch - 10ms/step\n",
"Epoch 12/200\n",
"15/15 - 0s - loss: 0.1730 - accuracy: 0.8282 - val_loss: 0.1799 - val_accuracy: 0.7936 - 173ms/epoch - 12ms/step\n",
"Epoch 13/200\n",
"15/15 - 0s - loss: 0.1657 - accuracy: 0.8287 - val_loss: 0.1729 - val_accuracy: 0.7940 - 172ms/epoch - 11ms/step\n",
"Epoch 14/200\n",
"15/15 - 0s - loss: 0.1591 - accuracy: 0.8299 - val_loss: 0.1666 - val_accuracy: 0.7943 - 173ms/epoch - 12ms/step\n",
"Epoch 15/200\n",
"15/15 - 0s - loss: 0.1531 - accuracy: 0.8294 - val_loss: 0.1608 - val_accuracy: 0.7947 - 141ms/epoch - 9ms/step\n",
"Epoch 16/200\n",
"15/15 - 0s - loss: 0.1476 - accuracy: 0.8303 - val_loss: 0.1555 - val_accuracy: 0.7947 - 172ms/epoch - 11ms/step\n",
"Epoch 17/200\n",
"15/15 - 0s - loss: 0.1425 - accuracy: 0.8305 - val_loss: 0.1507 - val_accuracy: 0.7953 - 141ms/epoch - 9ms/step\n",
"Epoch 18/200\n",
"15/15 - 0s - loss: 0.1380 - accuracy: 0.8317 - val_loss: 0.1463 - val_accuracy: 0.7949 - 157ms/epoch - 10ms/step\n",
"Epoch 19/200\n",
"15/15 - 0s - loss: 0.1338 - accuracy: 0.8320 - val_loss: 0.1423 - val_accuracy: 0.7949 - 141ms/epoch - 9ms/step\n",
"Epoch 20/200\n",
"15/15 - 0s - loss: 0.1301 - accuracy: 0.8324 - val_loss: 0.1387 - val_accuracy: 0.7958 - 141ms/epoch - 9ms/step\n",
"Epoch 21/200\n",
"15/15 - 0s - loss: 0.1266 - accuracy: 0.8330 - val_loss: 0.1354 - val_accuracy: 0.7962 - 157ms/epoch - 10ms/step\n",
"Epoch 22/200\n",
"15/15 - 0s - loss: 0.1235 - accuracy: 0.8332 - val_loss: 0.1324 - val_accuracy: 0.7966 - 174ms/epoch - 12ms/step\n",
"Epoch 23/200\n",
"15/15 - 0s - loss: 0.1207 - accuracy: 0.8341 - val_loss: 0.1296 - val_accuracy: 0.7970 - 137ms/epoch - 9ms/step\n",
"Epoch 24/200\n",
"15/15 - 0s - loss: 0.1181 - accuracy: 0.8347 - val_loss: 0.1271 - val_accuracy: 0.7976 - 146ms/epoch - 10ms/step\n",
"Epoch 25/200\n",
"15/15 - 0s - loss: 0.1158 - accuracy: 0.8351 - val_loss: 0.1249 - val_accuracy: 0.7984 - 152ms/epoch - 10ms/step\n",
"Epoch 26/200\n",
"15/15 - 0s - loss: 0.1137 - accuracy: 0.8359 - val_loss: 0.1228 - val_accuracy: 0.7989 - 157ms/epoch - 10ms/step\n",
"Epoch 27/200\n",
"15/15 - 0s - loss: 0.1118 - accuracy: 0.8357 - val_loss: 0.1210 - val_accuracy: 0.7996 - 141ms/epoch - 9ms/step\n",
"Epoch 28/200\n",
"15/15 - 0s - loss: 0.1100 - accuracy: 0.8359 - val_loss: 0.1193 - val_accuracy: 0.7997 - 157ms/epoch - 10ms/step\n",
"Epoch 29/200\n",
"15/15 - 0s - loss: 0.1085 - accuracy: 0.8359 - val_loss: 0.1177 - val_accuracy: 0.7997 - 172ms/epoch - 11ms/step\n",
"Epoch 30/200\n",
"15/15 - 0s - loss: 0.1070 - accuracy: 0.8355 - val_loss: 0.1163 - val_accuracy: 0.8007 - 135ms/epoch - 9ms/step\n",
"Epoch 31/200\n",
"15/15 - 0s - loss: 0.1058 - accuracy: 0.8371 - val_loss: 0.1151 - val_accuracy: 0.8008 - 157ms/epoch - 10ms/step\n",
"Epoch 32/200\n",
"15/15 - 0s - loss: 0.1046 - accuracy: 0.8370 - val_loss: 0.1139 - val_accuracy: 0.8008 - 157ms/epoch - 10ms/step\n",
"Epoch 33/200\n",
"15/15 - 0s - loss: 0.1035 - accuracy: 0.8371 - val_loss: 0.1128 - val_accuracy: 0.8008 - 157ms/epoch - 10ms/step\n",
"Epoch 34/200\n",
"15/15 - 0s - loss: 0.1026 - accuracy: 0.8374 - val_loss: 0.1119 - val_accuracy: 0.8018 - 157ms/epoch - 10ms/step\n",
"Epoch 35/200\n",
"15/15 - 0s - loss: 0.1017 - accuracy: 0.8378 - val_loss: 0.1110 - val_accuracy: 0.8024 - 157ms/epoch - 10ms/step\n",
"Epoch 36/200\n",
"15/15 - 0s - loss: 0.1009 - accuracy: 0.8379 - val_loss: 0.1101 - val_accuracy: 0.8032 - 172ms/epoch - 11ms/step\n",
"Epoch 37/200\n",
"15/15 - 0s - loss: 0.1001 - accuracy: 0.8379 - val_loss: 0.1094 - val_accuracy: 0.8034 - 141ms/epoch - 9ms/step\n",
"Epoch 38/200\n",
"15/15 - 0s - loss: 0.0994 - accuracy: 0.8381 - val_loss: 0.1087 - val_accuracy: 0.8037 - 157ms/epoch - 10ms/step\n",
"Epoch 39/200\n",
"15/15 - 0s - loss: 0.0988 - accuracy: 0.8387 - val_loss: 0.1080 - val_accuracy: 0.8039 - 157ms/epoch - 10ms/step\n",
"Epoch 40/200\n",
"15/15 - 0s - loss: 0.0982 - accuracy: 0.8394 - val_loss: 0.1074 - val_accuracy: 0.8037 - 141ms/epoch - 9ms/step\n",
"Epoch 41/200\n",
"15/15 - 0s - loss: 0.0977 - accuracy: 0.8390 - val_loss: 0.1068 - val_accuracy: 0.8034 - 141ms/epoch - 9ms/step\n",
"Epoch 42/200\n",
"15/15 - 0s - loss: 0.0972 - accuracy: 0.8391 - val_loss: 0.1063 - val_accuracy: 0.8035 - 157ms/epoch - 10ms/step\n",
"Epoch 43/200\n",
"15/15 - 0s - loss: 0.0967 - accuracy: 0.8393 - val_loss: 0.1059 - val_accuracy: 0.8041 - 141ms/epoch - 9ms/step\n",
"Epoch 44/200\n",
"15/15 - 0s - loss: 0.0963 - accuracy: 0.8391 - val_loss: 0.1054 - val_accuracy: 0.8046 - 141ms/epoch - 9ms/step\n",
"Epoch 45/200\n",
"15/15 - 0s - loss: 0.0959 - accuracy: 0.8394 - val_loss: 0.1050 - val_accuracy: 0.8049 - 157ms/epoch - 10ms/step\n",
"Epoch 46/200\n",
"15/15 - 0s - loss: 0.0955 - accuracy: 0.8393 - val_loss: 0.1046 - val_accuracy: 0.8051 - 141ms/epoch - 9ms/step\n",
"Epoch 47/200\n",
"15/15 - 0s - loss: 0.0952 - accuracy: 0.8391 - val_loss: 0.1042 - val_accuracy: 0.8060 - 173ms/epoch - 12ms/step\n",
"Epoch 48/200\n",
"15/15 - 0s - loss: 0.0948 - accuracy: 0.8389 - val_loss: 0.1038 - val_accuracy: 0.8068 - 170ms/epoch - 11ms/step\n",
"Epoch 49/200\n",
"15/15 - 0s - loss: 0.0945 - accuracy: 0.8391 - val_loss: 0.1035 - val_accuracy: 0.8070 - 173ms/epoch - 12ms/step\n",
"Epoch 50/200\n",
"15/15 - 0s - loss: 0.0942 - accuracy: 0.8393 - val_loss: 0.1031 - val_accuracy: 0.8070 - 174ms/epoch - 12ms/step\n",
"Epoch 51/200\n",
"15/15 - 0s - loss: 0.0939 - accuracy: 0.8397 - val_loss: 0.1028 - val_accuracy: 0.8070 - 157ms/epoch - 10ms/step\n",
"Epoch 52/200\n",
"15/15 - 0s - loss: 0.0936 - accuracy: 0.8394 - val_loss: 0.1025 - val_accuracy: 0.8072 - 173ms/epoch - 12ms/step\n",
"Epoch 53/200\n",
"15/15 - 0s - loss: 0.0934 - accuracy: 0.8393 - val_loss: 0.1022 - val_accuracy: 0.8073 - 157ms/epoch - 10ms/step\n",
"Epoch 54/200\n",
"15/15 - 0s - loss: 0.0931 - accuracy: 0.8395 - val_loss: 0.1020 - val_accuracy: 0.8077 - 141ms/epoch - 9ms/step\n",
"Epoch 55/200\n",
"15/15 - 0s - loss: 0.0929 - accuracy: 0.8395 - val_loss: 0.1017 - val_accuracy: 0.8081 - 157ms/epoch - 10ms/step\n",
"Epoch 56/200\n",
"15/15 - 0s - loss: 0.0927 - accuracy: 0.8398 - val_loss: 0.1014 - val_accuracy: 0.8087 - 157ms/epoch - 10ms/step\n",
"Epoch 57/200\n",
"15/15 - 0s - loss: 0.0924 - accuracy: 0.8401 - val_loss: 0.1012 - val_accuracy: 0.8092 - 157ms/epoch - 10ms/step\n",
"Epoch 58/200\n",
"15/15 - 0s - loss: 0.0922 - accuracy: 0.8398 - val_loss: 0.1010 - val_accuracy: 0.8095 - 141ms/epoch - 9ms/step\n",
"Epoch 59/200\n",
"15/15 - 0s - loss: 0.0920 - accuracy: 0.8397 - val_loss: 0.1007 - val_accuracy: 0.8100 - 157ms/epoch - 10ms/step\n",
"Epoch 60/200\n",
"15/15 - 0s - loss: 0.0918 - accuracy: 0.8399 - val_loss: 0.1005 - val_accuracy: 0.8099 - 141ms/epoch - 9ms/step\n",
"Epoch 61/200\n",
"15/15 - 0s - loss: 0.0916 - accuracy: 0.8404 - val_loss: 0.1003 - val_accuracy: 0.8100 - 157ms/epoch - 10ms/step\n",
"Epoch 62/200\n",
"15/15 - 0s - loss: 0.0914 - accuracy: 0.8406 - val_loss: 0.1001 - val_accuracy: 0.8100 - 156ms/epoch - 10ms/step\n",
"Epoch 63/200\n",
"15/15 - 0s - loss: 0.0912 - accuracy: 0.8412 - val_loss: 0.0999 - val_accuracy: 0.8103 - 141ms/epoch - 9ms/step\n",
"Epoch 64/200\n",
"15/15 - 0s - loss: 0.0911 - accuracy: 0.8418 - val_loss: 0.0997 - val_accuracy: 0.8104 - 157ms/epoch - 10ms/step\n",
"Epoch 65/200\n",
"15/15 - 0s - loss: 0.0909 - accuracy: 0.8417 - val_loss: 0.0995 - val_accuracy: 0.8103 - 141ms/epoch - 9ms/step\n",
"Epoch 66/200\n",
"15/15 - 0s - loss: 0.0907 - accuracy: 0.8417 - val_loss: 0.0993 - val_accuracy: 0.8104 - 157ms/epoch - 10ms/step\n",
"Epoch 67/200\n",
"15/15 - 0s - loss: 0.0906 - accuracy: 0.8418 - val_loss: 0.0991 - val_accuracy: 0.8104 - 141ms/epoch - 9ms/step\n",
"Epoch 68/200\n",
"15/15 - 0s - loss: 0.0904 - accuracy: 0.8417 - val_loss: 0.0990 - val_accuracy: 0.8107 - 173ms/epoch - 12ms/step\n",
"Epoch 69/200\n",
"15/15 - 0s - loss: 0.0902 - accuracy: 0.8416 - val_loss: 0.0988 - val_accuracy: 0.8107 - 172ms/epoch - 11ms/step\n",
"Epoch 70/200\n",
"15/15 - 0s - loss: 0.0901 - accuracy: 0.8416 - val_loss: 0.0986 - val_accuracy: 0.8108 - 141ms/epoch - 9ms/step\n",
"Epoch 71/200\n",
"15/15 - 0s - loss: 0.0899 - accuracy: 0.8418 - val_loss: 0.0985 - val_accuracy: 0.8108 - 157ms/epoch - 10ms/step\n",
"Epoch 72/200\n",
"15/15 - 0s - loss: 0.0898 - accuracy: 0.8417 - val_loss: 0.0983 - val_accuracy: 0.8111 - 157ms/epoch - 10ms/step\n",
"Epoch 73/200\n",
"15/15 - 0s - loss: 0.0896 - accuracy: 0.8420 - val_loss: 0.0981 - val_accuracy: 0.8114 - 173ms/epoch - 12ms/step\n",
"Epoch 74/200\n",
"15/15 - 0s - loss: 0.0895 - accuracy: 0.8418 - val_loss: 0.0980 - val_accuracy: 0.8118 - 173ms/epoch - 12ms/step\n",
"Epoch 75/200\n",
"15/15 - 0s - loss: 0.0894 - accuracy: 0.8420 - val_loss: 0.0978 - val_accuracy: 0.8118 - 157ms/epoch - 10ms/step\n",
"Epoch 76/200\n",
"15/15 - 0s - loss: 0.0892 - accuracy: 0.8422 - val_loss: 0.0977 - val_accuracy: 0.8121 - 157ms/epoch - 10ms/step\n",
"Epoch 77/200\n",
"15/15 - 0s - loss: 0.0891 - accuracy: 0.8422 - val_loss: 0.0975 - val_accuracy: 0.8125 - 141ms/epoch - 9ms/step\n",
"Epoch 78/200\n",
"15/15 - 0s - loss: 0.0890 - accuracy: 0.8425 - val_loss: 0.0974 - val_accuracy: 0.8125 - 141ms/epoch - 9ms/step\n",
"Epoch 79/200\n",
"15/15 - 0s - loss: 0.0888 - accuracy: 0.8427 - val_loss: 0.0972 - val_accuracy: 0.8127 - 157ms/epoch - 10ms/step\n",
"Epoch 80/200\n",
"15/15 - 0s - loss: 0.0887 - accuracy: 0.8429 - val_loss: 0.0971 - val_accuracy: 0.8130 - 173ms/epoch - 12ms/step\n",
"Epoch 81/200\n",
"15/15 - 0s - loss: 0.0886 - accuracy: 0.8432 - val_loss: 0.0970 - val_accuracy: 0.8131 - 157ms/epoch - 10ms/step\n",
"Epoch 82/200\n",
"15/15 - 0s - loss: 0.0884 - accuracy: 0.8435 - val_loss: 0.0968 - val_accuracy: 0.8133 - 172ms/epoch - 11ms/step\n",
"Epoch 83/200\n",
"15/15 - 0s - loss: 0.0883 - accuracy: 0.8436 - val_loss: 0.0967 - val_accuracy: 0.8137 - 173ms/epoch - 12ms/step\n",
"Epoch 84/200\n",
"15/15 - 0s - loss: 0.0882 - accuracy: 0.8439 - val_loss: 0.0966 - val_accuracy: 0.8137 - 172ms/epoch - 11ms/step\n",
"Epoch 85/200\n",
"15/15 - 0s - loss: 0.0880 - accuracy: 0.8437 - val_loss: 0.0964 - val_accuracy: 0.8137 - 173ms/epoch - 12ms/step\n",
"Epoch 86/200\n",
"15/15 - 0s - loss: 0.0879 - accuracy: 0.8439 - val_loss: 0.0963 - val_accuracy: 0.8146 - 157ms/epoch - 10ms/step\n",
"Epoch 87/200\n",
"15/15 - 0s - loss: 0.0878 - accuracy: 0.8439 - val_loss: 0.0962 - val_accuracy: 0.8149 - 141ms/epoch - 9ms/step\n",
"Epoch 88/200\n",
"15/15 - 0s - loss: 0.0877 - accuracy: 0.8439 - val_loss: 0.0960 - val_accuracy: 0.8150 - 173ms/epoch - 12ms/step\n",
"Epoch 89/200\n",
"15/15 - 0s - loss: 0.0875 - accuracy: 0.8435 - val_loss: 0.0959 - val_accuracy: 0.8153 - 157ms/epoch - 10ms/step\n",
"Epoch 90/200\n",
"15/15 - 0s - loss: 0.0874 - accuracy: 0.8439 - val_loss: 0.0958 - val_accuracy: 0.8153 - 141ms/epoch - 9ms/step\n",
"Epoch 91/200\n",
"15/15 - 0s - loss: 0.0873 - accuracy: 0.8448 - val_loss: 0.0956 - val_accuracy: 0.8154 - 173ms/epoch - 12ms/step\n",
"Epoch 92/200\n",
"15/15 - 0s - loss: 0.0872 - accuracy: 0.8448 - val_loss: 0.0955 - val_accuracy: 0.8161 - 173ms/epoch - 12ms/step\n",
"Epoch 93/200\n",
"15/15 - 0s - loss: 0.0871 - accuracy: 0.8445 - val_loss: 0.0954 - val_accuracy: 0.8165 - 173ms/epoch - 12ms/step\n",
"Epoch 94/200\n",
"15/15 - 0s - loss: 0.0869 - accuracy: 0.8443 - val_loss: 0.0953 - val_accuracy: 0.8168 - 172ms/epoch - 11ms/step\n",
"Epoch 95/200\n",
"15/15 - 0s - loss: 0.0868 - accuracy: 0.8443 - val_loss: 0.0951 - val_accuracy: 0.8169 - 151ms/epoch - 10ms/step\n",
"Epoch 96/200\n",
"15/15 - 0s - loss: 0.0867 - accuracy: 0.8443 - val_loss: 0.0950 - val_accuracy: 0.8173 - 157ms/epoch - 10ms/step\n",
"Epoch 97/200\n",
"15/15 - 0s - loss: 0.0866 - accuracy: 0.8445 - val_loss: 0.0949 - val_accuracy: 0.8176 - 157ms/epoch - 10ms/step\n",
"Epoch 98/200\n",
"15/15 - 0s - loss: 0.0865 - accuracy: 0.8444 - val_loss: 0.0948 - val_accuracy: 0.8172 - 157ms/epoch - 10ms/step\n",
"Epoch 99/200\n",
"15/15 - 0s - loss: 0.0864 - accuracy: 0.8450 - val_loss: 0.0947 - val_accuracy: 0.8175 - 157ms/epoch - 10ms/step\n",
"Epoch 100/200\n",
"15/15 - 0s - loss: 0.0862 - accuracy: 0.8448 - val_loss: 0.0945 - val_accuracy: 0.8179 - 157ms/epoch - 10ms/step\n",
"Epoch 101/200\n",
"15/15 - 0s - loss: 0.0861 - accuracy: 0.8452 - val_loss: 0.0944 - val_accuracy: 0.8180 - 157ms/epoch - 10ms/step\n",
"Epoch 102/200\n",
"15/15 - 0s - loss: 0.0860 - accuracy: 0.8456 - val_loss: 0.0943 - val_accuracy: 0.8179 - 157ms/epoch - 10ms/step\n",
"Epoch 103/200\n",
"15/15 - 0s - loss: 0.0859 - accuracy: 0.8458 - val_loss: 0.0942 - val_accuracy: 0.8181 - 157ms/epoch - 10ms/step\n",
"Epoch 104/200\n",
"15/15 - 0s - loss: 0.0858 - accuracy: 0.8460 - val_loss: 0.0941 - val_accuracy: 0.8183 - 157ms/epoch - 10ms/step\n",
"Epoch 105/200\n",
"15/15 - 0s - loss: 0.0856 - accuracy: 0.8463 - val_loss: 0.0939 - val_accuracy: 0.8184 - 157ms/epoch - 10ms/step\n",
"Epoch 106/200\n",
"15/15 - 0s - loss: 0.0855 - accuracy: 0.8463 - val_loss: 0.0938 - val_accuracy: 0.8184 - 157ms/epoch - 10ms/step\n",
"Epoch 107/200\n",
"15/15 - 0s - loss: 0.0854 - accuracy: 0.8464 - val_loss: 0.0937 - val_accuracy: 0.8188 - 157ms/epoch - 10ms/step\n",
"Epoch 108/200\n",
"15/15 - 0s - loss: 0.0853 - accuracy: 0.8464 - val_loss: 0.0936 - val_accuracy: 0.8191 - 157ms/epoch - 10ms/step\n",
"Epoch 109/200\n",
"15/15 - 0s - loss: 0.0852 - accuracy: 0.8467 - val_loss: 0.0935 - val_accuracy: 0.8190 - 142ms/epoch - 9ms/step\n",
"Epoch 110/200\n",
"15/15 - 0s - loss: 0.0851 - accuracy: 0.8467 - val_loss: 0.0934 - val_accuracy: 0.8192 - 157ms/epoch - 10ms/step\n",
"Epoch 111/200\n",
"15/15 - 0s - loss: 0.0849 - accuracy: 0.8471 - val_loss: 0.0932 - val_accuracy: 0.8194 - 173ms/epoch - 12ms/step\n",
"Epoch 112/200\n",
"15/15 - 0s - loss: 0.0848 - accuracy: 0.8477 - val_loss: 0.0931 - val_accuracy: 0.8198 - 188ms/epoch - 13ms/step\n",
"Epoch 113/200\n",
"15/15 - 0s - loss: 0.0847 - accuracy: 0.8478 - val_loss: 0.0930 - val_accuracy: 0.8200 - 173ms/epoch - 12ms/step\n",
"Epoch 114/200\n",
"15/15 - 0s - loss: 0.0846 - accuracy: 0.8481 - val_loss: 0.0929 - val_accuracy: 0.8199 - 157ms/epoch - 10ms/step\n",
"Epoch 115/200\n",
"15/15 - 0s - loss: 0.0845 - accuracy: 0.8485 - val_loss: 0.0928 - val_accuracy: 0.8202 - 141ms/epoch - 9ms/step\n",
"Epoch 116/200\n",
"15/15 - 0s - loss: 0.0844 - accuracy: 0.8490 - val_loss: 0.0927 - val_accuracy: 0.8207 - 171ms/epoch - 11ms/step\n",
"Epoch 117/200\n",
"15/15 - 0s - loss: 0.0843 - accuracy: 0.8487 - val_loss: 0.0926 - val_accuracy: 0.8209 - 173ms/epoch - 12ms/step\n",
"Epoch 118/200\n",
"15/15 - 0s - loss: 0.0842 - accuracy: 0.8492 - val_loss: 0.0925 - val_accuracy: 0.8209 - 204ms/epoch - 14ms/step\n",
"Epoch 119/200\n",
"15/15 - 0s - loss: 0.0841 - accuracy: 0.8494 - val_loss: 0.0924 - val_accuracy: 0.8209 - 173ms/epoch - 12ms/step\n",
"Epoch 120/200\n",
"15/15 - 0s - loss: 0.0840 - accuracy: 0.8494 - val_loss: 0.0923 - val_accuracy: 0.8206 - 157ms/epoch - 10ms/step\n",
"Epoch 121/200\n",
"15/15 - 0s - loss: 0.0839 - accuracy: 0.8502 - val_loss: 0.0922 - val_accuracy: 0.8210 - 157ms/epoch - 10ms/step\n",
"Epoch 122/200\n",
"15/15 - 0s - loss: 0.0838 - accuracy: 0.8509 - val_loss: 0.0921 - val_accuracy: 0.8217 - 157ms/epoch - 10ms/step\n",
"Epoch 123/200\n",
"15/15 - 0s - loss: 0.0837 - accuracy: 0.8513 - val_loss: 0.0920 - val_accuracy: 0.8219 - 157ms/epoch - 10ms/step\n",
"Epoch 124/200\n",
"15/15 - 0s - loss: 0.0836 - accuracy: 0.8515 - val_loss: 0.0920 - val_accuracy: 0.8229 - 157ms/epoch - 10ms/step\n",
"Epoch 125/200\n",
"15/15 - 0s - loss: 0.0835 - accuracy: 0.8516 - val_loss: 0.0919 - val_accuracy: 0.8233 - 173ms/epoch - 12ms/step\n",
"Epoch 126/200\n",
"15/15 - 0s - loss: 0.0834 - accuracy: 0.8519 - val_loss: 0.0918 - val_accuracy: 0.8238 - 157ms/epoch - 10ms/step\n",
"Epoch 127/200\n",
"15/15 - 0s - loss: 0.0833 - accuracy: 0.8520 - val_loss: 0.0917 - val_accuracy: 0.8240 - 157ms/epoch - 10ms/step\n",
"Epoch 128/200\n",
"15/15 - 0s - loss: 0.0832 - accuracy: 0.8523 - val_loss: 0.0916 - val_accuracy: 0.8244 - 157ms/epoch - 10ms/step\n",
"Epoch 129/200\n",
"15/15 - 0s - loss: 0.0831 - accuracy: 0.8527 - val_loss: 0.0915 - val_accuracy: 0.8242 - 157ms/epoch - 10ms/step\n",
"Epoch 130/200\n",
"15/15 - 0s - loss: 0.0830 - accuracy: 0.8528 - val_loss: 0.0914 - val_accuracy: 0.8244 - 168ms/epoch - 11ms/step\n",
"Epoch 131/200\n",
"15/15 - 0s - loss: 0.0830 - accuracy: 0.8531 - val_loss: 0.0914 - val_accuracy: 0.8244 - 141ms/epoch - 9ms/step\n",
"Epoch 132/200\n",
"15/15 - 0s - loss: 0.0829 - accuracy: 0.8531 - val_loss: 0.0913 - val_accuracy: 0.8242 - 155ms/epoch - 10ms/step\n",
"Epoch 133/200\n",
"15/15 - 0s - loss: 0.0828 - accuracy: 0.8534 - val_loss: 0.0912 - val_accuracy: 0.8244 - 157ms/epoch - 10ms/step\n",
"Epoch 134/200\n",
"15/15 - 0s - loss: 0.0827 - accuracy: 0.8536 - val_loss: 0.0911 - val_accuracy: 0.8245 - 142ms/epoch - 9ms/step\n",
"Epoch 135/200\n",
"15/15 - 0s - loss: 0.0826 - accuracy: 0.8535 - val_loss: 0.0911 - val_accuracy: 0.8246 - 157ms/epoch - 10ms/step\n",
"Epoch 136/200\n",
"15/15 - 0s - loss: 0.0825 - accuracy: 0.8529 - val_loss: 0.0910 - val_accuracy: 0.8249 - 157ms/epoch - 10ms/step\n",
"Epoch 137/200\n",
"15/15 - 0s - loss: 0.0825 - accuracy: 0.8534 - val_loss: 0.0909 - val_accuracy: 0.8246 - 157ms/epoch - 10ms/step\n",
"Epoch 138/200\n",
"15/15 - 0s - loss: 0.0824 - accuracy: 0.8540 - val_loss: 0.0908 - val_accuracy: 0.8246 - 141ms/epoch - 9ms/step\n",
"Epoch 139/200\n",
"15/15 - 0s - loss: 0.0823 - accuracy: 0.8542 - val_loss: 0.0908 - val_accuracy: 0.8244 - 141ms/epoch - 9ms/step\n",
"Epoch 140/200\n",
"15/15 - 0s - loss: 0.0822 - accuracy: 0.8544 - val_loss: 0.0907 - val_accuracy: 0.8244 - 157ms/epoch - 10ms/step\n",
"Epoch 141/200\n",
"15/15 - 0s - loss: 0.0822 - accuracy: 0.8546 - val_loss: 0.0906 - val_accuracy: 0.8244 - 162ms/epoch - 11ms/step\n",
"Epoch 142/200\n",
"15/15 - 0s - loss: 0.0821 - accuracy: 0.8546 - val_loss: 0.0905 - val_accuracy: 0.8245 - 152ms/epoch - 10ms/step\n",
"Epoch 143/200\n",
"15/15 - 0s - loss: 0.0820 - accuracy: 0.8543 - val_loss: 0.0905 - val_accuracy: 0.8249 - 149ms/epoch - 10ms/step\n",
"Epoch 144/200\n",
"15/15 - 0s - loss: 0.0819 - accuracy: 0.8546 - val_loss: 0.0904 - val_accuracy: 0.8249 - 141ms/epoch - 9ms/step\n",
"Epoch 145/200\n",
"15/15 - 0s - loss: 0.0819 - accuracy: 0.8550 - val_loss: 0.0903 - val_accuracy: 0.8246 - 157ms/epoch - 10ms/step\n",
"Epoch 146/200\n",
"15/15 - 0s - loss: 0.0818 - accuracy: 0.8548 - val_loss: 0.0903 - val_accuracy: 0.8241 - 172ms/epoch - 11ms/step\n",
"Epoch 147/200\n",
"15/15 - 0s - loss: 0.0817 - accuracy: 0.8548 - val_loss: 0.0902 - val_accuracy: 0.8242 - 157ms/epoch - 10ms/step\n",
"Epoch 148/200\n",
"15/15 - 0s - loss: 0.0817 - accuracy: 0.8550 - val_loss: 0.0901 - val_accuracy: 0.8245 - 157ms/epoch - 10ms/step\n",
"Epoch 149/200\n",
"15/15 - 0s - loss: 0.0816 - accuracy: 0.8551 - val_loss: 0.0900 - val_accuracy: 0.8248 - 188ms/epoch - 13ms/step\n",
"Epoch 150/200\n",
"15/15 - 0s - loss: 0.0815 - accuracy: 0.8548 - val_loss: 0.0900 - val_accuracy: 0.8249 - 167ms/epoch - 11ms/step\n",
"Epoch 151/200\n",
"15/15 - 0s - loss: 0.0815 - accuracy: 0.8547 - val_loss: 0.0899 - val_accuracy: 0.8253 - 157ms/epoch - 10ms/step\n",
"Epoch 152/200\n",
"15/15 - 0s - loss: 0.0814 - accuracy: 0.8550 - val_loss: 0.0899 - val_accuracy: 0.8253 - 188ms/epoch - 13ms/step\n",
"Epoch 153/200\n",
"15/15 - 0s - loss: 0.0813 - accuracy: 0.8552 - val_loss: 0.0898 - val_accuracy: 0.8252 - 173ms/epoch - 12ms/step\n",
"Epoch 154/200\n",
"15/15 - 0s - loss: 0.0813 - accuracy: 0.8558 - val_loss: 0.0897 - val_accuracy: 0.8253 - 185ms/epoch - 12ms/step\n",
"Epoch 155/200\n",
"15/15 - 0s - loss: 0.0812 - accuracy: 0.8562 - val_loss: 0.0897 - val_accuracy: 0.8253 - 145ms/epoch - 10ms/step\n",
"Epoch 156/200\n",
"15/15 - 0s - loss: 0.0812 - accuracy: 0.8559 - val_loss: 0.0896 - val_accuracy: 0.8255 - 141ms/epoch - 9ms/step\n",
"Epoch 157/200\n",
"15/15 - 0s - loss: 0.0811 - accuracy: 0.8561 - val_loss: 0.0895 - val_accuracy: 0.8256 - 141ms/epoch - 9ms/step\n",
"Epoch 158/200\n",
"15/15 - 0s - loss: 0.0810 - accuracy: 0.8563 - val_loss: 0.0895 - val_accuracy: 0.8257 - 157ms/epoch - 10ms/step\n",
"Epoch 159/200\n",
"15/15 - 0s - loss: 0.0810 - accuracy: 0.8566 - val_loss: 0.0894 - val_accuracy: 0.8259 - 141ms/epoch - 9ms/step\n",
"Epoch 160/200\n",
"15/15 - 0s - loss: 0.0809 - accuracy: 0.8570 - val_loss: 0.0893 - val_accuracy: 0.8260 - 141ms/epoch - 9ms/step\n",
"Epoch 161/200\n",
"15/15 - 0s - loss: 0.0809 - accuracy: 0.8571 - val_loss: 0.0893 - val_accuracy: 0.8263 - 157ms/epoch - 10ms/step\n",
"Epoch 162/200\n",
"15/15 - 0s - loss: 0.0808 - accuracy: 0.8573 - val_loss: 0.0892 - val_accuracy: 0.8263 - 157ms/epoch - 10ms/step\n",
"Epoch 163/200\n",
"15/15 - 0s - loss: 0.0808 - accuracy: 0.8575 - val_loss: 0.0892 - val_accuracy: 0.8264 - 160ms/epoch - 11ms/step\n",
"Epoch 164/200\n",
"15/15 - 0s - loss: 0.0807 - accuracy: 0.8573 - val_loss: 0.0891 - val_accuracy: 0.8268 - 141ms/epoch - 9ms/step\n",
"Epoch 165/200\n",
"15/15 - 0s - loss: 0.0807 - accuracy: 0.8571 - val_loss: 0.0891 - val_accuracy: 0.8267 - 173ms/epoch - 12ms/step\n",
"Epoch 166/200\n",
"15/15 - 0s - loss: 0.0806 - accuracy: 0.8574 - val_loss: 0.0890 - val_accuracy: 0.8269 - 175ms/epoch - 12ms/step\n",
"Epoch 167/200\n",
"15/15 - 0s - loss: 0.0806 - accuracy: 0.8573 - val_loss: 0.0889 - val_accuracy: 0.8271 - 152ms/epoch - 10ms/step\n",
"Epoch 168/200\n",
"15/15 - 0s - loss: 0.0805 - accuracy: 0.8574 - val_loss: 0.0889 - val_accuracy: 0.8269 - 157ms/epoch - 10ms/step\n",
"Epoch 169/200\n",
"15/15 - 0s - loss: 0.0805 - accuracy: 0.8571 - val_loss: 0.0888 - val_accuracy: 0.8269 - 157ms/epoch - 10ms/step\n",
"Epoch 170/200\n",
"15/15 - 0s - loss: 0.0804 - accuracy: 0.8569 - val_loss: 0.0888 - val_accuracy: 0.8271 - 141ms/epoch - 9ms/step\n",
"Epoch 171/200\n",
"15/15 - 0s - loss: 0.0804 - accuracy: 0.8570 - val_loss: 0.0887 - val_accuracy: 0.8275 - 176ms/epoch - 12ms/step\n",
"Epoch 172/200\n",
"15/15 - 0s - loss: 0.0803 - accuracy: 0.8570 - val_loss: 0.0887 - val_accuracy: 0.8278 - 169ms/epoch - 11ms/step\n",
"Epoch 173/200\n",
"15/15 - 0s - loss: 0.0803 - accuracy: 0.8574 - val_loss: 0.0886 - val_accuracy: 0.8278 - 156ms/epoch - 10ms/step\n",
"Epoch 174/200\n",
"15/15 - 0s - loss: 0.0802 - accuracy: 0.8575 - val_loss: 0.0886 - val_accuracy: 0.8278 - 175ms/epoch - 12ms/step\n",
"Epoch 175/200\n",
"15/15 - 0s - loss: 0.0802 - accuracy: 0.8580 - val_loss: 0.0885 - val_accuracy: 0.8278 - 170ms/epoch - 11ms/step\n",
"Epoch 176/200\n",
"15/15 - 0s - loss: 0.0802 - accuracy: 0.8578 - val_loss: 0.0885 - val_accuracy: 0.8282 - 173ms/epoch - 12ms/step\n",
"Epoch 177/200\n",
"15/15 - 0s - loss: 0.0801 - accuracy: 0.8580 - val_loss: 0.0885 - val_accuracy: 0.8282 - 158ms/epoch - 11ms/step\n",
"Epoch 178/200\n",
"15/15 - 0s - loss: 0.0801 - accuracy: 0.8578 - val_loss: 0.0884 - val_accuracy: 0.8280 - 155ms/epoch - 10ms/step\n",
"Epoch 179/200\n",
"15/15 - 0s - loss: 0.0800 - accuracy: 0.8578 - val_loss: 0.0884 - val_accuracy: 0.8280 - 157ms/epoch - 10ms/step\n",
"Epoch 180/200\n",
"15/15 - 0s - loss: 0.0800 - accuracy: 0.8580 - val_loss: 0.0883 - val_accuracy: 0.8279 - 157ms/epoch - 10ms/step\n",
"Epoch 181/200\n",
"15/15 - 0s - loss: 0.0800 - accuracy: 0.8580 - val_loss: 0.0883 - val_accuracy: 0.8279 - 156ms/epoch - 10ms/step\n",
"Epoch 182/200\n",
"15/15 - 0s - loss: 0.0799 - accuracy: 0.8582 - val_loss: 0.0882 - val_accuracy: 0.8280 - 141ms/epoch - 9ms/step\n",
"Epoch 183/200\n",
"15/15 - 0s - loss: 0.0799 - accuracy: 0.8584 - val_loss: 0.0882 - val_accuracy: 0.8280 - 157ms/epoch - 10ms/step\n",
"Epoch 184/200\n",
"15/15 - 0s - loss: 0.0798 - accuracy: 0.8584 - val_loss: 0.0881 - val_accuracy: 0.8280 - 188ms/epoch - 13ms/step\n",
"Epoch 185/200\n",
"15/15 - 0s - loss: 0.0798 - accuracy: 0.8582 - val_loss: 0.0881 - val_accuracy: 0.8283 - 157ms/epoch - 10ms/step\n",
"Epoch 186/200\n",
"15/15 - 0s - loss: 0.0798 - accuracy: 0.8581 - val_loss: 0.0881 - val_accuracy: 0.8284 - 173ms/epoch - 12ms/step\n",
"Epoch 187/200\n",
"15/15 - 0s - loss: 0.0797 - accuracy: 0.8581 - val_loss: 0.0880 - val_accuracy: 0.8284 - 157ms/epoch - 10ms/step\n",
"Epoch 188/200\n",
"15/15 - 0s - loss: 0.0797 - accuracy: 0.8582 - val_loss: 0.0880 - val_accuracy: 0.8288 - 157ms/epoch - 10ms/step\n",
"Epoch 189/200\n",
"15/15 - 0s - loss: 0.0797 - accuracy: 0.8582 - val_loss: 0.0879 - val_accuracy: 0.8288 - 173ms/epoch - 12ms/step\n",
"Epoch 190/200\n",
"15/15 - 0s - loss: 0.0796 - accuracy: 0.8582 - val_loss: 0.0879 - val_accuracy: 0.8290 - 173ms/epoch - 12ms/step\n",
"Epoch 191/200\n",
"15/15 - 0s - loss: 0.0796 - accuracy: 0.8584 - val_loss: 0.0878 - val_accuracy: 0.8288 - 157ms/epoch - 10ms/step\n",
"Epoch 192/200\n",
"15/15 - 0s - loss: 0.0796 - accuracy: 0.8582 - val_loss: 0.0878 - val_accuracy: 0.8287 - 157ms/epoch - 10ms/step\n",
"Epoch 193/200\n",
"15/15 - 0s - loss: 0.0795 - accuracy: 0.8582 - val_loss: 0.0878 - val_accuracy: 0.8288 - 159ms/epoch - 11ms/step\n",
"Epoch 194/200\n",
"15/15 - 0s - loss: 0.0795 - accuracy: 0.8581 - val_loss: 0.0877 - val_accuracy: 0.8288 - 155ms/epoch - 10ms/step\n",
"Epoch 195/200\n",
"15/15 - 0s - loss: 0.0795 - accuracy: 0.8581 - val_loss: 0.0877 - val_accuracy: 0.8294 - 145ms/epoch - 10ms/step\n",
"Epoch 196/200\n",
"15/15 - 0s - loss: 0.0794 - accuracy: 0.8582 - val_loss: 0.0877 - val_accuracy: 0.8292 - 157ms/epoch - 10ms/step\n",
"Epoch 197/200\n",
"15/15 - 0s - loss: 0.0794 - accuracy: 0.8582 - val_loss: 0.0876 - val_accuracy: 0.8294 - 182ms/epoch - 12ms/step\n",
"Epoch 198/200\n",
"15/15 - 0s - loss: 0.0794 - accuracy: 0.8582 - val_loss: 0.0876 - val_accuracy: 0.8290 - 151ms/epoch - 10ms/step\n",
"Epoch 199/200\n",
"15/15 - 0s - loss: 0.0793 - accuracy: 0.8582 - val_loss: 0.0875 - val_accuracy: 0.8290 - 170ms/epoch - 11ms/step\n",
"Epoch 200/200\n",
"15/15 - 0s - loss: 0.0793 - accuracy: 0.8584 - val_loss: 0.0875 - val_accuracy: 0.8288 - 157ms/epoch - 10ms/step\n"
]
}
],
"source": [
"model1.compile(optimizer='Adam', \n",
" loss='mean_squared_error', \n",
" metrics=['accuracy'])\n",
"history1 = model1.fit(train_data, train_target,\n",
" epochs=200, batch_size=500,\n",
" callbacks=[callback],\n",
" verbose=2,\n",
" validation_split=0.5,\n",
" shuffle=False)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "5d19012b-72e2-42f8-9e7a-1d142ca20c1e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x18fde3954f0>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 600x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Add fonts\n",
"font_list=fm.findSystemFonts()\n",
"for f in font_list:\n",
" if(f.__contains__('ClearSans')):\n",
" fm.fontManager.addfont(f)\n",
"\n",
"# Set parameters for output graphs\n",
"mp.rcParams.update({'font.family':'Arial',\n",
" 'font.serif':'Arial',\n",
" 'axes.titlesize': 'x-large',\n",
" 'axes.labelsize':'medium',\n",
" 'xtick.labelsize':'small',\n",
" 'ytick.labelsize':'small',\n",
" 'legend.fontsize':'small',\n",
" 'figure.figsize':[6.0,4.0],\n",
" 'axes.titlecolor': '#707070',\n",
" 'axes.labelcolor': '#707070',\n",
" 'axes.edgecolor': '#707070',\n",
" 'xtick.labelcolor': '#707070',\n",
" 'ytick.labelcolor': '#707070',\n",
" 'xtick.color': '#707070',\n",
" 'ytick.color': '#707070',\n",
" 'text.color': '#707070',\n",
" 'lines.linewidth': 0.8,\n",
" 'axes.linewidth': 0.5\n",
" })\n",
"# Render model training results\n",
"plt.figure()\n",
"plt.plot(history1.history['loss'], label='Perceptron train')\n",
"plt.plot(history1.history['val_loss'], label='Perceptron validation')\n",
"plt.ylabel('$MSE$ $loss$')\n",
"plt.xlabel('$Epochs$')\n",
"plt.title('Model training dynamics')\n",
"plt.legend(loc='upper right', ncol=2)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "e079ffc1-2342-4a12-8257-634e7bb45d59",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x18fe0498250>"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 600x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.plot(history1.history['accuracy'], label='Perceptron train')\n",
"plt.plot(history1.history['val_accuracy'], label='Perceptron validation')\n",
"plt.ylabel('$Accuracy$')\n",
"plt.xlabel('$Epochs$')\n",
"plt.title('Model training dynamics')\n",
"plt.legend(loc='lower right', ncol=2)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "35a3137b-f1bd-48e3-a62c-89a0a031a279",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"25/25 - 0s - loss: 0.0792 - accuracy: 0.8481 - 94ms/epoch - 4ms/step\n"
]
}
],
"source": [
"# Load testing dataset\n",
"test_filename = os.path.join(path,'test_pricedelt_data.csv')\n",
"test = np.asarray( pd.read_table(test_filename,\n",
" sep=',',\n",
" header=None,\n",
" skipinitialspace=True,\n",
" encoding='utf-8',\n",
" float_precision='high',\n",
" dtype=np.float64,\n",
" low_memory=False))\n",
"# Split test dataset to input data and target\n",
"test_data=test[:,0:inputs]\n",
"test_target=test[:,inputs:]\n",
"\n",
"# Check model results on a test dataset\n",
"test_loss1, test_acc1 = model1.evaluate(test_data, test_target, verbose=2) "
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "21242db1-53a6-44f2-bbcd-0e87cb6f5819",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"25/25 [==============================] - 0s 2ms/step\n"
]
},
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'predict results model1')"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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n/986YG4efNmbr75Zp544gne9ra3lR6kzXLBBRcgimLJkVAjGo8//jiFQoFPf/rTpQdmoVDgG9/4Bs8++yzvec975l25JxIJNm7cyMc+9jEEQaBQKPAP//AP7Nmzh1NOOYXPfvazpYjBt771Lfbs2cPo6CgDAwOMj49z5513Eg6H+eQnP1mK1GSzWf7zP/+TF198kXXr1nH++eeTTqe588476e7u5rOf/Szd3d0AHDp0iFtuuWWOXbfffjuTk5P84R/+IevXry+9rjouW7Zs4V3velfVv2tgYKD+E2xj0yR214bNSc9VV11VciIAzjzzTFasWMHevXuZmJgo2/aMM84o+/fBgwc5fvw4F1544Zz0xDXXXIPT6Sy18x08eBBRFDn//PPL0ia9vb285S1vmdfOl19+mWKxyFVXXVX2wO/r6+Pd7343F1xwQdP571NOOaVsnwC//e1v8fv9vP3tby97fdmyZZx11lkcOnSI48ePA4pDlcvlGB4eLm3n8/m46aab+Mu//MuWnYhaqAWEM1tCnU4nN9xwA3//938/rxOhctlll5XsdDqdLFu2DFAcp5lpB/V1URQBJRpTLBbZvHlzWbrH6/Xy3ve+F1DOJcBrr71GJpPhsssuKzkR6j7PP//8MnsmJyd5/fXXWbduXZkTAfCmN72J7u5unn322br+NhsbPbEjEjYnPatWrZrz2vLly9m/fz/Hjh0ru+HPDhEfOXIEUIraZmpAqPh8Po4dO4Ysyxw7dgygYj3EKaecMq+dqp5EpW0vueSSeT9fi9l/VzabZXR0lI6ODh588ME528fjcQCOHTvGokWLuOSSS7j99tv5v//3/zI0NMTatWs5/fTTWbFixZz6AK25+OKLefXVV/nBD37Afffdx9q1a1m3bh1r1qyZtz5iJrNrPjweDzD33LjdbgDy+Txw4ntZuXLlnH0uWrQIv99f+u7nuwaeeuqp0r+PHDmCLMskk8mK15bL5WJiYoKJiYmya9TGpt3YjoTNSU9XV9ec11TthkwmU/a6+hBRUQvXXn/9dV5//fWqx8hms6RSKYCKOe1AIDCvneqx6l1hN0K1v2tqaootW7ZU/VwymQQURyYUCvHEE0+wb9++Uh6/q6uLd7/73Zx99tma26yybt06PvnJT/LII4/wxhtv8MQTT/DEE08QCATYvHkzl112WV37qVZrMJ8zol4jfr+/4vudnZ2Mj48DNHQNqPs9ePAgBw8erHr8VCplOxI2hmI7EjYnPblcrrT6VFEfpMFgsOZn1c9df/31XHjhhTW3VR8Us50TAEmS5rVTffhks9k5dkmShMvl0mz1rx5r5cqVfPrTn67rM2eccQZnnHEG6XSa3bt3s2PHDp5//nluu+02BgcHy9I5lfQMcrlc0/auXr2a1atXk81m2bdvH6+99hrPPvssd9xxB319faxbt67pfc+Heq4mJyfLUmQq6XS69H01cg2o19ZVV13FNddco6nNNjZaYtdI2Jz0VJJbPnDgAA6HgyVLltT87NDQEACHDx+e816hUODOO+/k8ccfByjta//+/XO2rfT52agP4kqr0zvuuIM///M/JxqNArRck+D3+wmHwwwPD1d0cp599lnuv/9+RFEkn8/z4IMP8uijj5Y+e8YZZ/DBD36Qq666ClmWS3+zurrPZrNl+0u
"text/plain": [
"<Figure size 600x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mm=model1.predict(test_data)\n",
"rr = {}\n",
"rr=pd.DataFrame(rr)\n",
"test_target = pd.DataFrame(test_target)\n",
"mm = pd.DataFrame(mm)\n",
"rr['real'] = test_target[1]\n",
"rr['predict'] = mm[1]\n",
"rs = rr.head(20)\n",
"#rs = rr\n",
"\n",
"plt.figure()\n",
"plt.plot(rs['real'], label='real')\n",
"plt.plot(rs['predict'], label='predict')\n",
"plt.legend(loc='upper left',ncol=2)\n",
"plt.ylabel('PREDICT')\n",
"plt.title('predict results model1')\n"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "2fb991ba-6a2d-4327-8a74-9cf20431be34",
"metadata": {},
"outputs": [],
"source": [
"import socket\n",
"\n",
"class socketserver(object):\n",
" def __init__(self, address, port):\n",
" self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n",
" self.address = address\n",
" self.port = port\n",
" self.sock.bind((self.address, self.port))\n",
" \n",
" def socket_receive(self):\n",
" self.sock.listen(1)\n",
" self.conn, self.addr = self.sock.accept()\n",
" self.cummdata = ''\n",
"\n",
" while True:\n",
" data = self.conn.recv(10000)\n",
" self.cummdata+=data.decode(\"utf-8\")\n",
" if not data:\n",
" self.conn.close()\n",
" break\n",
" return self.cummdata\n",
" \n",
" def socket_send(self, message):\n",
" self.sock.listen(1)\n",
" self.conn, self.addr = self.sock.accept()\n",
" self.conn.send(bytes(message, \"utf-8\"))\n",
" \n",
" \n",
" def __del__(self):\n",
" self.conn.close()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "dd18f879-697c-49f6-9e5d-5d8a59399fc4",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Exception ignored in: <function socketserver.__del__ at 0x0000018F9885CD30>\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Stepan\\AppData\\Local\\Temp\\ipykernel_87012\\3024821691.py\", line 30, in __del__\n",
"AttributeError: 'socketserver' object has no attribute 'conn'\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"<<--Waiting for Prices to Predict-->>\n"
]
}
],
"source": [
"import ast\n",
"\n",
"host = 'localhost'\n",
"port = 5091 \n",
"n_steps = 60\n",
"TIMEFRAME = 24 | 0x4000\n",
"#model = Model(n_steps, \"EURUSD\", TIMEFRAME)\n",
"\n",
"serv = socketserver(host, port)\n",
"\n",
"while True:\n",
" print(\"<<--Waiting for Prices to Predict-->>\")\n",
" rates = pd.DataFrame(ast.literal_eval(serv.socket_receive()))\n",
" rates = rates.rates.pct_change(1)\n",
" rates.dropna(inplace=True)\n",
" rates = rates.values.reshape((1, n_steps))\n",
" serv.socket_send(str(model.predict(rates).flatten()[0]))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7ea0b8c1-3b5c-4282-a7fe-7977d35686c8",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "0618e61d-e3b8-44f2-af02-d9f6bf9ebde7",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.19"
}
},
"nbformat": 4,
"nbformat_minor": 5
}