diff --git a/MidEval Code/Pratik_MidEval/Pratik_mideval.ipynb b/MidEval Code/Pratik_MidEval/Pratik_mideval.ipynb new file mode 100644 index 0000000..82b5a6e --- /dev/null +++ b/MidEval Code/Pratik_MidEval/Pratik_mideval.ipynb @@ -0,0 +1 @@ +{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyNU9NpTdUF64X0u1b4E9sq1"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":15,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"collapsed":true,"id":"ofv2ZNkReux3","executionInfo":{"status":"ok","timestamp":1766486787459,"user_tz":-330,"elapsed":13,"user":{"displayName":"Pratik Dhanuka","userId":"06080050646084885400"}},"outputId":"9886d0e8-aca8-4e27-86cf-00464f3b097a"},"outputs":[{"output_type":"stream","name":"stdout","text":[" lookback_days asset_type market_regime high_volatility \\\n","0 48 equity bullish 0 \n","1 38 index bullish 1 \n","2 24 equity bullish 1 \n","3 52 equity bullish 0 \n","4 17 equity bullish 1 \n",".. ... ... ... ... \n","195 48 index bullish 1 \n","196 15 equity bullish 1 \n","197 17 index bullish 1 \n","198 36 equity bullish 1 \n","199 18 index bearish 1 \n","\n"," trend_continuation technical_score edge_density slope_strength \\\n","0 1 59.99 0.504 0.298 \n","1 1 78.54 0.559 0.037 \n","2 0 56.03 0.617 0.212 \n","3 0 66.51 0.360 0.347 \n","4 1 61.21 0.492 0.144 \n",".. ... ... ... ... \n","195 1 71.27 0.515 -0.285 \n","196 0 39.32 0.421 -0.037 \n","197 0 52.31 0.624 -0.629 \n","198 1 66.78 0.523 -0.628 \n","199 1 59.52 0.566 0.828 \n","\n"," candlestick_variance pattern_symmetry future_trend \n","0 1.572 0.768 1 \n","1 0.692 0.538 1 \n","2 1.419 0.301 1 \n","3 0.699 0.498 1 \n","4 2.520 0.828 1 \n",".. ... ... ... \n","195 1.614 0.774 0 \n","196 2.009 0.506 1 \n","197 2.049 0.523 0 \n","198 1.246 1.000 1 \n","199 2.228 0.841 1 \n","\n","[200 rows x 11 columns]\n","\n","RangeIndex: 200 entries, 0 to 199\n","Data columns (total 11 columns):\n"," # Column Non-Null Count Dtype \n","--- ------ -------------- ----- \n"," 0 lookback_days 200 non-null int64 \n"," 1 asset_type 200 non-null object \n"," 2 market_regime 200 non-null object \n"," 3 high_volatility 200 non-null int64 \n"," 4 trend_continuation 200 non-null int64 \n"," 5 technical_score 200 non-null float64\n"," 6 edge_density 200 non-null float64\n"," 7 slope_strength 200 non-null float64\n"," 8 candlestick_variance 200 non-null float64\n"," 9 pattern_symmetry 200 non-null float64\n"," 10 future_trend 200 non-null int64 \n","dtypes: float64(5), int64(4), object(2)\n","memory usage: 17.3+ KB\n","None\n","lookback_days 0\n","asset_type 0\n","market_regime 0\n","high_volatility 0\n","trend_continuation 0\n","technical_score 0\n","edge_density 0\n","slope_strength 0\n","candlestick_variance 0\n","pattern_symmetry 0\n","future_trend 0\n","dtype: int64\n"]}],"source":["# This cell imports the necessary libraries to implemetn thte models\n","import numpy as np\n","import pandas as pd\n","import matplotlib.pyplot as plt\n","import seaborn as sns\n","from sklearn.model_selection import train_test_split\n","from sklearn.linear_model import LogisticRegression\n","from sklearn.metrics import (\n"," accuracy_score,\n"," precision_score,\n"," recall_score,\n"," f1_score,\n"," confusion_matrix\n",")\n","from sklearn.neural_network import MLPClassifier\n","from sklearn.preprocessing import StandardScaler\n","\n","data = pd.read_csv(\"/content/quantvision_financial_dataset_200.csv\")\n","print(data)\n","print(data.info())\n","print(data.isnull().sum())"]},{"cell_type":"code","source":["# This cell implements a logistic regression model which is one of the popular ways to solve a binary classification problem\n","reg = LogisticRegression(max_iter=10000)\n","for x in data.index:\n"," if(data.loc[x,\"asset_type\"]=='equity'):\n"," data.loc[x,\"asset_type\"] =1\n"," if(data.loc[x,\"asset_type\"]=='index'):\n"," data.loc[x,\"asset_type\"] =2\n"," if(data.loc[x,\"asset_type\"]=='crypto'):\n"," data.loc[x,\"asset_type\"] =3\n"," if(data.loc[x,\"market_regime\"]=='bullish'):\n"," data.loc[x,\"market_regime\"] =1\n"," if(data.loc[x,\"market_regime\"]=='bearish'):\n"," data.loc[x,\"market_regime\"] =2\n"," if(data.loc[x,\"market_regime\"]=='sideways'):\n"," data.loc[x,\"market_regime\"] =3\n","x = data[['lookback_days','asset_type','market_regime','high_volatility','trend_continuation','technical_score','edge_density','slope_strength','candlestick_variance','pattern_symmetry']]\n","x_train,x_test,y_train,y_test = train_test_split(x,data.future_trend,random_state=42,test_size=0.2)\n","print(x_train)\n","print(y_train)\n","reg.fit(x_train,y_train)\n","print(x_test)\n","y_pred=reg.predict(x_test)\n","print(y_pred)\n","print(y_test)\n","print(reg.score(x_test,y_test))\n","for x in data.index:\n"," if(data.loc[x,\"asset_type\"]==1):\n"," data.loc[x,\"asset_type\"] ='equity'\n"," if(data.loc[x,\"asset_type\"]==2):\n"," data.loc[x,\"asset_type\"] ='index'\n"," if(data.loc[x,\"asset_type\"]==3):\n"," data.loc[x,\"asset_type\"] ='crypto'\n"," if(data.loc[x,\"market_regime\"]==1):\n"," data.loc[x,\"market_regime\"] ='bullish'\n"," if(data.loc[x,\"market_regime\"]==2):\n"," data.loc[x,\"market_regime\"] ='bearish'\n"," if(data.loc[x,\"market_regime\"]==3):\n"," data.loc[x,\"market_regime\"] ='sideways'"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"7tZXiY3KfZWA","executionInfo":{"status":"ok","timestamp":1766486535273,"user_tz":-330,"elapsed":301,"user":{"displayName":"Pratik Dhanuka","userId":"06080050646084885400"}},"outputId":"2997ef8b-2154-4f9a-f16e-0fc783710762"},"execution_count":4,"outputs":[{"output_type":"stream","name":"stdout","text":[" lookback_days asset_type market_regime high_volatility \\\n","79 40 1 1 0 \n","197 17 2 1 1 \n","38 12 3 1 1 \n","24 42 2 3 1 \n","122 17 1 1 0 \n",".. ... ... ... ... \n","106 17 2 1 0 \n","14 33 3 1 0 \n","92 35 2 3 1 \n","179 37 1 2 0 \n","102 18 2 3 1 \n","\n"," trend_continuation technical_score edge_density slope_strength \\\n","79 1 97.42 0.573 0.144 \n","197 0 52.31 0.624 -0.629 \n","38 1 55.20 0.576 0.658 \n","24 1 61.47 0.591 0.201 \n","122 0 53.72 0.191 0.845 \n",".. ... ... ... ... \n","106 1 77.86 0.393 0.941 \n","14 1 60.93 0.428 -0.410 \n","92 1 49.06 0.442 -0.332 \n","179 1 81.07 0.335 0.873 \n","102 1 77.38 0.798 1.054 \n","\n"," candlestick_variance pattern_symmetry \n","79 0.102 0.734 \n","197 2.049 0.523 \n","38 1.908 0.408 \n","24 1.064 0.659 \n","122 0.730 0.504 \n",".. ... ... \n","106 1.158 0.496 \n","14 0.363 0.638 \n","92 1.663 0.713 \n","179 0.503 0.611 \n","102 2.130 0.579 \n","\n","[160 rows x 10 columns]\n","79 1\n","197 0\n","38 1\n","24 1\n","122 1\n"," ..\n","106 1\n","14 1\n","92 1\n","179 1\n","102 1\n","Name: future_trend, Length: 160, dtype: int64\n"," lookback_days asset_type market_regime high_volatility \\\n","95 50 2 1 0 \n","15 12 1 3 0 \n","30 36 1 2 1 \n","158 41 3 1 0 \n","128 33 1 3 0 \n","115 14 1 3 0 \n","69 51 3 1 1 \n","170 41 1 1 0 \n","174 37 1 1 0 \n","45 27 3 1 1 \n","66 13 3 1 1 \n","182 53 1 3 0 \n","165 24 3 1 1 \n","78 23 1 3 0 \n","186 37 1 3 1 \n","177 54 1 3 0 \n","56 16 3 2 0 \n","152 51 2 3 1 \n","82 17 3 2 1 \n","68 15 1 3 0 \n","124 43 1 2 0 \n","16 31 3 3 0 \n","148 18 1 1 1 \n","93 34 2 3 0 \n","65 49 2 2 0 \n","60 44 3 3 1 \n","84 32 1 1 0 \n","67 11 3 2 0 \n","125 42 1 1 0 \n","132 49 1 2 1 \n","9 20 1 3 0 \n","18 33 1 1 0 \n","55 56 1 3 0 \n","75 43 1 1 0 \n","150 24 3 1 1 \n","104 10 1 2 1 \n","135 44 3 2 0 \n","137 44 2 2 1 \n","164 54 1 1 1 \n","76 19 3 1 1 \n","\n"," trend_continuation technical_score edge_density slope_strength \\\n","95 0 43.14 0.428 -0.595 \n","15 1 78.44 0.377 1.136 \n","30 0 43.72 0.504 -0.475 \n","158 0 52.34 0.414 0.655 \n","128 1 95.02 0.523 0.594 \n","115 0 39.67 0.390 -0.776 \n","69 1 50.36 0.708 0.407 \n","170 0 61.53 0.405 0.187 \n","174 0 51.09 0.434 0.289 \n","45 1 83.03 0.585 -0.014 \n","66 1 51.81 0.523 -0.301 \n","182 1 64.44 0.392 -0.385 \n","165 1 59.05 0.478 0.809 \n","78 1 61.44 0.376 1.135 \n","186 1 57.66 0.580 0.343 \n","177 1 66.70 0.440 0.328 \n","56 1 72.67 0.451 0.646 \n","152 1 71.04 0.419 0.055 \n","82 0 24.20 0.684 -0.107 \n","68 0 53.04 0.452 1.273 \n","124 1 74.69 0.391 0.477 \n","16 1 69.01 0.440 1.706 \n","148 1 69.07 0.725 0.413 \n","93 1 46.28 0.370 0.230 \n","65 1 66.39 0.445 1.176 \n","60 0 41.90 0.686 0.074 \n","84 1 83.34 0.385 0.478 \n","67 0 61.16 0.593 0.034 \n","125 0 60.08 0.341 -0.769 \n","132 1 41.69 0.444 0.856 \n","9 0 48.21 0.524 -0.450 \n","18 1 81.86 0.601 -0.476 \n","55 1 70.11 0.486 0.567 \n","75 1 73.40 0.303 0.733 \n","150 1 78.65 0.446 0.278 \n","104 1 59.91 0.757 0.395 \n","135 0 48.34 0.376 -0.595 \n","137 1 51.22 0.542 0.050 \n","164 1 70.40 0.565 -0.797 \n","76 0 32.26 0.602 -1.209 \n","\n"," candlestick_variance pattern_symmetry \n","95 0.492 0.738 \n","15 1.313 0.779 \n","30 1.584 0.340 \n","158 1.387 0.792 \n","128 0.788 0.617 \n","115 1.344 0.644 \n","69 1.662 0.873 \n","170 0.803 0.450 \n","174 1.015 0.425 \n","45 1.698 0.953 \n","66 2.205 0.499 \n","182 1.803 0.466 \n","165 1.229 0.599 \n","78 1.622 0.655 \n","186 2.234 0.664 \n","177 1.152 0.733 \n","56 1.163 0.746 \n","152 2.043 0.610 \n","82 2.174 0.498 \n","68 0.698 0.465 \n","124 0.699 0.636 \n","16 0.634 0.596 \n","148 2.080 0.720 \n","93 0.466 0.796 \n","65 0.872 0.914 \n","60 1.691 0.570 \n","84 0.658 0.826 \n","67 0.935 0.583 \n","125 1.137 0.513 \n","132 2.030 0.699 \n","9 0.870 0.372 \n","18 1.245 0.293 \n","55 1.083 0.540 \n","75 0.991 0.868 \n","150 2.472 0.456 \n","104 1.143 0.578 \n","135 0.572 0.408 \n","137 2.209 0.584 \n","164 1.556 0.652 \n","76 1.395 0.374 \n","[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"," 1 1 0]\n","95 1\n","15 1\n","30 1\n","158 1\n","128 1\n","115 1\n","69 1\n","170 1\n","174 1\n","45 1\n","66 1\n","182 1\n","165 1\n","78 1\n","186 1\n","177 1\n","56 1\n","152 1\n","82 1\n","68 1\n","124 1\n","16 1\n","148 1\n","93 1\n","65 1\n","60 0\n","84 1\n","67 1\n","125 1\n","132 1\n","9 1\n","18 1\n","55 1\n","75 1\n","150 1\n","104 1\n","135 1\n","137 1\n","164 1\n","76 0\n","Name: future_trend, dtype: int64\n","0.95\n"]}]},{"cell_type":"code","source":["# This cell is used to evaluate the performance of the logisitic regression model by calculating the accuracy, precision, recall and f1-score\n","accuracy = accuracy_score(y_test,y_pred)*100\n","precision = precision_score(y_test,y_pred)*100\n","recall = recall_score(y_test,y_pred)*100\n","f1 = f1_score(y_test,y_pred)*100\n","print(\"Accuracy: \", accuracy)\n","print(\"Precision: \", precision)\n","print(\"Recall: \", recall)\n","print(\"F1-score: \", f1)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Ahf1yQChHHGn","executionInfo":{"status":"ok","timestamp":1766486889922,"user_tz":-330,"elapsed":61,"user":{"displayName":"Pratik Dhanuka","userId":"06080050646084885400"}},"outputId":"f10deb31-e49c-463c-c97c-ad3f7c0dbe12"},"execution_count":16,"outputs":[{"output_type":"stream","name":"stdout","text":["Accuracy: 95.0\n","Precision: 97.36842105263158\n","Recall: 97.36842105263158\n","F1-score: 97.36842105263158\n"]}]},{"cell_type":"markdown","source":["Accuracy: 95.0\n","\n","Precision: 97.36842105263158\n","\n","Recall: 97.36842105263158\n","\n","F1-score: 97.36842105263158"],"metadata":{"id":"4_fBDfcd-xZh"}},{"cell_type":"code","source":["# This cell implements multi layer perceptron with ReLU and sigmoid activation functions\n","scaler = StandardScaler()\n","x_train = scaler.fit_transform(x_train)\n","x_test = scaler.transform(x_test)\n","mlp = MLPClassifier(\n"," hidden_layer_sizes=(128, 64, 32),\n"," activation='relu',\n"," solver='adam',\n"," max_iter=1000,\n"," random_state=42\n",")\n","mlp2 = MLPClassifier(\n"," hidden_layer_sizes=( 128, 64, 32),\n"," activation='logistic',\n"," solver='adam',\n"," max_iter=1000,\n"," random_state=42\n",")\n","mlp.fit(x_train,y_train)\n","y_pred2 = mlp.predict(x_test)\n","print(y_pred2)\n","print(mlp.score(x_test,y_test))\n","mlp2.fit(x_train,y_train)\n","y_pred3 = mlp2.predict(x_test)\n","print(y_pred3)\n","print(mlp2.score(x_test,y_test))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"TrYQasADOZPK","executionInfo":{"status":"ok","timestamp":1766487057852,"user_tz":-330,"elapsed":17664,"user":{"displayName":"Pratik Dhanuka","userId":"06080050646084885400"}},"outputId":"90feeab5-e311-4831-fe58-9da8d3062d32"},"execution_count":18,"outputs":[{"output_type":"stream","name":"stdout","text":["[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"," 1 1 0]\n","0.975\n","[1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"," 1 1 0]\n","0.95\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.12/dist-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (1000) reached and the optimization hasn't converged yet.\n"," warnings.warn(\n"]}]},{"cell_type":"code","source":["# This cell is used to evaluate the performance of the neural network by calculating the accuracy, precision, recall and f1-score\n","accuracy = accuracy_score(y_test,y_pred2) *100\n","precision = precision_score(y_test,y_pred2)*100\n","recall = recall_score(y_test,y_pred2)*100\n","f1 = f1_score(y_test,y_pred2)*100\n","print(\"While using ReLU activation function:\")\n","print(\"Accuracy: \", accuracy)\n","print(\"Precision: \", precision)\n","print(\"Recall: \", recall)\n","print(\"F1-score: \", f1)\n","accuracy = accuracy_score(y_test,y_pred3)*100\n","precision = precision_score(y_test,y_pred3)*100\n","recall = recall_score(y_test,y_pred3)*100\n","f1 = f1_score(y_test,y_pred3)*100\n","print(\"While using sigmoid activation function:\")\n","print(\"Accuracy: \", accuracy)\n","print(\"Precision: \", precision)\n","print(\"Recall: \", recall)\n","print(\"F1-score: \", f1)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"jV5taOZAy_yP","executionInfo":{"status":"ok","timestamp":1766487057932,"user_tz":-330,"elapsed":76,"user":{"displayName":"Pratik Dhanuka","userId":"06080050646084885400"}},"outputId":"805579ce-4ca4-4488-c593-6b170bdaaff1"},"execution_count":19,"outputs":[{"output_type":"stream","name":"stdout","text":["While using ReLU activation function:\n","Accuracy: 97.5\n","Precision: 97.43589743589743\n","Recall: 100.0\n","F1-score: 98.7012987012987\n","While using sigmoid activation function:\n","Accuracy: 95.0\n","Precision: 97.36842105263158\n","Recall: 97.36842105263158\n","F1-score: 97.36842105263158\n"]}]},{"cell_type":"markdown","source":["While using ReLU activation function:\n","\n","Accuracy: 97.5\n","\n","Precision: 97.43589743589743\n","\n","Recall: 100.0\n","\n","F1-score: 98.7012987012987\n","\n","While using sigmoid activation function:\n","\n","Accuracy: 95.0\n","\n","Precision: 97.36842105263158\n","\n","Recall: 97.36842105263158\n","\n","F1-score: 97.36842105263158\n"],"metadata":{"id":"5zXT8CyA-3ql"}},{"cell_type":"code","source":["cm1 = confusion_matrix(y_test, y_pred)\n","cm2 = confusion_matrix(y_test, y_pred2)\n","cm3 = confusion_matrix(y_test, y_pred3)\n","print(\"Confusion matrix for logistic regression model\")\n","sns.heatmap(cm1, annot=True, fmt='d', cmap='Blues')\n","plt.xlabel(\"Predicted\")\n","plt.ylabel(\"Actual\")\n","plt.show()\n","print(\"Confusion matrix for MLP with ReLU activation function\")\n","sns.heatmap(cm2, annot=True, fmt='d', cmap='Blues')\n","plt.xlabel(\"Predicted\")\n","plt.ylabel(\"Actual\")\n","plt.show()\n","print(\"Confusion matrix for MLP with sigmoid activation function\")\n","sns.heatmap(cm3, annot=True, fmt='d', cmap='Blues')\n","plt.xlabel(\"Predicted\")\n","plt.ylabel(\"Actual\")\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":1000},"id":"2EDR_gYqzxl_","executionInfo":{"status":"ok","timestamp":1766487395885,"user_tz":-330,"elapsed":986,"user":{"displayName":"Pratik Dhanuka","userId":"06080050646084885400"}},"outputId":"7a9002ec-f0ca-4784-f438-6b1ef7bf9414"},"execution_count":20,"outputs":[{"output_type":"stream","name":"stdout","text":["Confusion matrix for logistic regression model\n"]},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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O3TokGJiYsJyz/j4+LCMAwBHoyIBNDK3262kpCR17txZ48aNU2Zmpt59911/O+Lxxx9XSkqKunfvLknavn27rrvuOrVp00bx8fEaPny4vvnmG/94dXV1ys3NVZs2bdSuXTvdc889OvojdI5ubfh8Pt17773q1KmT3G63unbtqpdfflnffPON/0Ol2rZtK5fLpdGjR0v68aPgvV6vunTpotjYWPXt21cLFiwIuM/777+vc845R7GxsRo4cGDAPAE4E0ECiLDY2FgdOnRIklRUVKQtW7Zo2bJlWrx4sQ4fPqwhQ4aodevW+vjjj/XJJ5+oVatWGjp0qP97/vSnPyk/P1+vvPKKVq5cqe+//16LFi064T1vueUWvfnmm5o5c6Y2bdqkF154Qa1atVKnTp309ttvS5K2bNminTt36tlnn5Ukeb1evfbaa5o7d642btyoyZMn6+abb1ZJSYmkHwPPiBEjNGzYMJWVlen3v/+97rvvPlN/bQCaCgtAo8nJybGGDx9uWZZl1dfXW8uWLbPcbrc1depUKycnx0pMTLR8Pp//+tdff93q3r27VV9f7z/n8/ms2NhYa+nSpZZlWVZycrI1ffp0/+uHDx+2Onbs6L+PZVnWFVdcYU2aNMmyLMvasmWLJclatmxZg3Ncvny5Jcn617/+5T938OBBq0WLFtbf//73gGvHjBlj3XjjjZZlWVZeXp7Vq1evgNfvvffeY8YC4CyskQAa2eLFi9WqVSsdPnxY9fX1+s1vfqOHH35Y48ePV+/evQPWRXzxxRcqLy9X69atA8Y4ePCgtm7dqn379mnnzp1KT0/3v3bGGWfooosuOqa98W9lZWWKjo7WFVdcEfScy8vLdeDAAV155ZUB5w8dOqQLLrhAkrRp06aAeUhSRkZG0PcAcHoiSACNbODAgZozZ45iYmKUkpKiM874z49hy5YtA66tqalRWlqa3njjjWPG6dChg637x8bGhvw9NTU1kqT33ntPv/jFLwJec7vdtuYBwBkIEkAja9mypbp27RrUtRdeeKHeeustJSQkKC4ursFrkpOT9emnn6p///6SpCNHjqi0tFQXXnhhg9f37t1b9fX1KikpUWZm5jGv/7siUldX5z/Xq1cvud1uVVRUHLeS0bNnT7377rsB51avXn3yNwngtMZiS6AJu+mmm9S+fXsNHz5cH3/8sbZt26bi4mLdeeed2rFjhyRp0qRJmjZtmgoLC7V582bdcccdJ3wGxJlnnqmcnBzdeuutKiws9I/5l7/8RZLUuXNnuVwuLV68WLt371ZNTY1at26tqVOnavLkyZo3b562bt2qzz//XM8995zmzZsnSRo7dqy++uor3X333dqyZYsKCgqUn59v+q8IQIQRJIAmrEWLFlqxYoVSU1M1YsQI9ezZU2PGjNHBgwf9FYopU6bot7/9rXJycpSRkaHWrVvrmmuuOeG4c+bM0ahRo3THHXeoR48euu2221RbWytJ+sUvfqFHHnlE9913nxITEzVhwgRJ0mOPPaYHHnhAXq9XPXv21NChQ/Xee++pS5cukqTU1FS9/fbbKiwsVN++fTV37lw98cQTBv92ADQFLut4K7IAAABOgooEAACwjSABAABsI0gAAADbCBIAAMA2ggQAALCNIAEAAGwjSAAAANsIEgAAwDaCBAAAsI0gAQAAbCNIAAAA2/4f6WGJok634YcAAAAASUVORK5CYII=\n"},"metadata":{}},{"output_type":"stream","name":"stdout","text":["Confusion matrix for MLP with ReLU activation function\n"]},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAhIAAAGwCAYAAAD8AYzHAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAKTlJREFUeJzt3XtYVWXe//HPRmWLCttQOaWWpaHmIaNCaiJNS6nHJLXT1IjpVJpaSmbx/DqYHXbawTJTZyoPHcieTMms9DINyEktTdKadNJssEnwUIqibgj280fP8JutaOzlutmwer+81nXF2mvf697McPHh+73XWi6/3+8XAACABWGhngAAAKi/CBIAAMAyggQAALCMIAEAACwjSAAAAMsIEgAAwDKCBAAAsIwgAQAALGsY6gmYcNBXGeopAADqiUi3+b+pI3qMsWWcIxtn2DKOnahIAAAAyxxZkQAAoE5xOffvdoIEAACmuVyhnoExBAkAAExzcEXCuZ8MAAAYR0UCAADTaG0AAADLaG0AAAAcj4oEAACm0doAAACW0doAAAA4HhUJAABMo7UBAAAso7UBAABwPCoSAACYRmsDAABY5uDWBkECAADTHFyRcG5EAgAAxlGRAADANFobAADAMgcHCed+MgAAYBwVCQAATAtz7mJLggQAAKbR2gAAADgeFQkAAEzjPhIAAMAyV5g9WxBmzZqlbt26KSoqSlFRUUpJSdGHH35Y9XqvXr3kcrkCtpEjRwb90ahIAADgQK1bt9aTTz6pDh06yO/3a/78+Ro4cKA2btyoc889V5J02223afLkyVXvadKkSdDnIUgAAGCaTa0Nn88nn88XsM/tdsvtdh937IABAwK+fvzxxzVr1iytXbu2Kkg0adJEcXFxpzQnWhsAAJhmU2vD6/XK4/EEbF6v9zdPX1FRoQULFqi0tFQpKSlV+9944w21bNlSXbp0UVZWlg4fPhz8R/P7/f6g31XHHfRVhnoKAIB6ItJt/m/qiH5P2zLO/iVja1yRkKTNmzcrJSVFR48eVbNmzZSdna2rrrpKkvTXv/5VZ5xxhhISErRp0ybdd999uuiii7Ro0aKg5kSQAAD8rtWnIHFk+YSgji8rK1NhYaEOHDighQsX6uWXX1ZeXp46d+583LGrVq1Snz59tG3bNp199tk1PgetDQAATAvBVRuSFB4ervbt2yspKUler1fdu3fX888/X+2xycnJkqRt27YFdQ4WWwIAYFoduY9EZWXlca2RfysoKJAkxcfHBzUmQQIAAAfKyspSWlqa2rZtq4MHDyo7O1u5ublavny5tm/fXrVeokWLFtq0aZPGjx+v1NRUdevWLajzECQAADAtBM/a2L17t4YOHapdu3bJ4/GoW7duWr58ua644grt3LlTH330kZ577jmVlpaqTZs2Gjx4sB544IGgz8NiSwDA71qtLLa8erot4xx5/y5bxrETiy0BAIBltDYAADDNwY8RJ0gAAGCag4OEcz8ZAAAwjooEAACm1ZH7SJhAkAAAwDQHtzYIEgAAmObgioRzIxIAADCOigQAAKbR2gAAAJbR2gAAADgeFQkAAAxzObgiQZAAAMAwJwcJWhsAAMAyKhIAAJjm3IIEQQIAANNobQAAAFSDigQAAIY5uSJBkAAAwDCCBAAAsMzJQYI1EgAAwDIqEgAAmObcggRBAgAA02htAAAAVIOKBAAAhjm5IkGQAADAMCcHCVobAADAMioSAAAY5uSKBEECAADTnJsjaG0AAADrqEgAAGAYrQ0AAGAZQQIAAFjm5CDBGgkAAGAZFQkAAExzbkGCIAEAgGm0NgAAAKpBkAAAwDCXy2XLFoxZs2apW7duioqKUlRUlFJSUvThhx9WvX706FGNHj1aLVq0ULNmzTR48GAVFxcH/dkIEgAAGBaKING6dWs9+eST2rBhg9avX6/LL79cAwcO1Ndffy1JGj9+vN577z29/fbbysvL048//qhBgwYF/9n8fr8/6HfVcQd9laGeAgCgnoh0m/+bOv72d2wZZ9dfB5/S+6Ojo/XUU09pyJAhatWqlbKzszVkyBBJ0pYtW9SpUyetWbNGPXv2rPGYLLYEAMAwuxZb+nw++Xy+gH1ut1tut/uk76uoqNDbb7+t0tJSpaSkaMOGDSovL1ffvn2rjunYsaPatm0bdJCgtQEAgGkuezav1yuPxxOweb3eE5528+bNatasmdxut0aOHKnFixerc+fOKioqUnh4uJo3bx5wfGxsrIqKioL6aFQkAACoJ7KyspSZmRmw72TViMTERBUUFOjAgQNauHChMjIylJeXZ+ucCBIAABhmV2ujJm2M/xQeHq727dtLkpKSkvT555/r+eef1w033KCysjLt378/oCpRXFysuLi4oOZEawMAAMNC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\n"},"metadata":{}},{"output_type":"stream","name":"stdout","text":["Confusion matrix for MLP with sigmoid activation function\n"]},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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O3TokGJiYsJyz/j4+LCMAwBHoyIBNDK3262kpCR17txZ48aNU2Zmpt59911/O+Lxxx9XSkqKunfvLknavn27rrvuOrVp00bx8fEaPny4vvnmG/94dXV1ys3NVZs2bdSuXTvdc889OvojdI5ubfh8Pt17773q1KmT3G63unbtqpdfflnffPON/0Ol2rZtK5fLpdGjR0v68aPgvV6vunTpotjYWPXt21cLFiwIuM/777+vc845R7GxsRo4cGDAPAE4E0ECiLDY2FgdOnRIklRUVKQtW7Zo2bJlWrx4sQ4fPqwhQ4aodevW+vjjj/XJJ5+oVatWGjp0qP97/vSnPyk/P1+vvPKKVq5cqe+//16LFi064T1vueUWvfnmm5o5c6Y2bdqkF154Qa1atVKnTp309ttvS5K2bNminTt36tlnn5Ukeb1evfbaa5o7d642btyoyZMn6+abb1ZJSYmkHwPPiBEjNGzYMJWVlen3v/+97rvvPlN/bQCaCgtAo8nJybGGDx9uWZZl1dfXW8uWLbPcbrc1depUKycnx0pMTLR8Pp//+tdff93q3r27VV9f7z/n8/ms2NhYa+nSpZZlWVZycrI1ffp0/+uHDx+2Onbs6L+PZVnWFVdcYU2aNMmyLMvasmWLJclatmxZg3Ncvny5Jcn617/+5T938OBBq0WLFtbf//73gGvHjBlj3XjjjZZlWVZeXp7Vq1evgNfvvffeY8YC4CyskQAa2eLFi9WqVSsdPnxY9fX1+s1vfqOHH35Y48ePV+/evQPWRXzxxRcqLy9X69atA8Y4ePCgtm7dqn379mnnzp1KT0/3v3bGGWfooosuOqa98W9lZWWKjo7WFVdcEfScy8vLdeDAAV155ZUB5w8dOqQLLrhAkrRp06aAeUhSRkZG0PcAcHoiSACNbODAgZozZ45iYmKUkpKiM874z49hy5YtA66tqalRWlqa3njjjWPG6dChg637x8bGhvw9NTU1kqT33ntPv/jFLwJec7vdtuYBwBkIEkAja9mypbp27RrUtRdeeKHeeustJSQkKC4ursFrkpOT9emnn6p///6SpCNHjqi0tFQXXnhhg9f37t1b9fX1KikpUWZm5jGv/7siUldX5z/Xq1cvud1uVVRUHLeS0bNnT7377rsB51avXn3yNwngtMZiS6AJu+mmm9S+fXsNHz5cH3/8sbZt26bi4mLdeeed2rFjhyRp0qRJmjZtmgoLC7V582bdcccdJ3wGxJlnnqmcnBzdeuutKiws9I/5l7/8RZLUuXNnuVwuLV68WLt371ZNTY1at26tqVOnavLkyZo3b562bt2qzz//XM8995zmzZsnSRo7dqy++uor3X333dqyZYsKCgqUn59v+q8IQIQRJIAmrEWLFlqxYoVSU1M1YsQI9ezZU2PGjNHBgwf9FYopU6bot7/9rXJycpSRkaHWrVvrmmuuOeG4c+bM0ahRo3THHXeoR48euu2221RbWytJ+sUvfqFHHnlE9913nxITEzVhwgRJ0mOPPaYHHnhAXq9XPXv21NChQ/Xee++pS5cukqTU1FS9/fbbKiwsVN++fTV37lw98cQTBv92ADQFLut4K7IAAABOgooEAACwjSABAABsI0gAAADbCBIAAMA2ggQAALCNIAEAAGwjSAAAANsIEgAAwDaCBAAAsI0gAQAAbCNIAAAA2/4f6WGJok634YcAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"markdown","source":["Confusion matrix for logistic regression model\n","\n","![image.png](data:image/png;base64,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)"],"metadata":{"id":"PK1KPzSb_cga"}},{"cell_type":"markdown","source":["Confusion matrix for MLP with ReLU activation function\n","\n","![image.png](data:image/png;base64,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)"],"metadata":{"id":"RfuJBMcK_lhk"}},{"cell_type":"markdown","source":["Confusion matrix for MLP with sigmoid activation function\n","\n","![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhIAAAGwCAIAAABzYxuQAAAQAElEQVR4AezdCXwU5f348Z0ghPtQCgkVFUSSgpDaSCO1QkQEsUYukSqWQwrlssqhbfqvgIIG44UohWqpQMVCrcIfqMILEBIPghCLIioFBANyKQpKgIAkvy9ZXZckOzt5svPszOzneT1dZ5555jnek+7X55kIcSUkBBBAAAEELAvE+UgIIIAAAghYFiBsWKaiIgIaBOgCAccLEDYc/4gYIAIIIOAkAcKGk54GY0EAAQQcLxBTYcPxT4MBIoAAAo4XIGw4/hExQAQQQMBJAoQNJz0NxoJATAkwWXcKEDbc+dwYNQIIIBAlAaeHjZPf+sgIIICAkwUi+O1d64oxCjmCA7DSlNPDhpU5UKciAcoQQAABWwQIG7aw0igCCCCgImDE+RSySk/q98Sp38qdCCCAAAIWBSxWMwyfQrbYeISqETYiBEkzCCCAQNUFFJYackvV+61MC4SNymhRFwEEEIh5AcJGzP8IeAGAOSDgFQGFHSq5Re/sCRt6vekNAQQQMBGQHSeFbNKgDZcIGzag0iQCCCDgXYHwYcO7c2dmCCCAgMMEZMdJIeudBGFDrze9IYAAAiYCCjtUcotJgzZcImzYgEqTCNgoQNMIRFmAsBHlB0D3CCCAwA8CCjtUcssP9+s4ImzoUKYPBBBAwJKA7DgpZEtNR6wSYeMcSk4QQAABBMwFCBvmPlxFAAEENArIjpNC1jhA6YqwIQhkBBBwpkDsjUphh0pu0etE2NDrTW8IIICAiYDCUkNuMWmw9NKsWbPat29fvzR17NjxtddeKy32paenG0FpxIgR/nLzT8KGuQ9XEUAAAdcLXHjhhdOmTcvPz9+0aVOXLl169uy5detW/6yGDRu2//uUnZ3tLzT/JGyY+3j5KnNDAAHHCciOk0ION42MjIwbb7zxsssua9269UMPPVS3bt28vDz/TbVr1074PslqxF9o/knYMPfhKgIIIKBRQCFmGHFFRUVfByU5DTXiM2fOLFy4sLCwULaq/HUWLFjQuHHjyy+/PDMz8/jx4/5C80/ChrkPVxFAAAE9Auq9ZGVlNQhKclq+rS1btsgiIz4+Xl5gLF68uE2bNlLn9ttvf+GFF9auXSsx4x//+Mcdd9whhWEzYSMsERUQQAABXQJxhq/yWb70jwYlOfWVS0lJSZs3b96wYcPIkSMHDRr04YcfSpXhw4d37969Xbt2AwYMmD9/voSTnTt3Srl5JmyY+3AVAQQQ0CigtEklawh5LRHIclp+xDVq1GjVqlVqaqqsRVJSUp566qkyddLS0qRkx44d8mmeCRvmPlz1iADTQACBgEBxcXH59x+yFpEKiYmJ8mmeCRvmPlxFAAEENAoYhk8hhxugbFvl5ubu3r1b3nDI8bp162RXSvajpkyZkp+fL+VLly4dOHBgp06d2rdvH64xH2EjLBEVEEAAAV0CSptUYQd36NAhiQryeuO6667buHHjypUrr7/+etm2Wr16dbdu3ZKTk8ePH9+3b99ly5aFbUoqRCJsSDNkBBBAAAGnCsyZM0eWFLIxJfFDQoXEDBlp8+bNc3JyDh8+fPLkye3bt2dnZ8vbESkPmwkbYYmogAACCOgSUNihklt0jc7fD2HD78AnAt4RYCYuFrBnkyqyIISNyHrSGgIIIFAFAVk6KOQqdKhwK2FDAY1bEEAAgdgVIGxU8tlTHQEEELBPgE0q+2xpGQEEEPCggMIOldyiF4LVhl5vekMAgYgK0Jh+AcKGfnN6RAABBEIIsEkVAoZiBBBAAIGKBGTHSSFX1JJ9Zaw27LN1f8vMAAEEECgnQNgoR0IBAgggEC0BNqmiJU+/CCCAgCsFTMOGL9RVvVNltaHXm94QQAABlwsQNlz+ABk+Agh4ScCw5e/biKwQYSOynrTmWgEGjoATBEJtQ5mX6x05YUOvN70hgAACJgKsNkxwuIQAAggg4EYBPasNN8owZgQQQEC7gPlmVKireodJ2NDrTW8IIICAiQCbVCY4XEIAgagJ0DECVRBgtVEFPG5FAAEEIipgKKWIDiF8Y4SN8EbUQAABBPQIKEUNQ8/YAr0QNgIUkTqgHQQQQMDLAoQNLz9d5oYAAi4TkJWDQtY7ScKGXm96QwABzQKu6o5NKlc9LgaLAAIIIGBBgNWGBSSqIIAAAloEWG1oYaaTaArQNwIIRFKAsBFJTdpCAAEEPC9A2PD8I2aCCCCAgJMEtIyFdxtamOkEAQQQsCKg8Nu3couVliNXh7AROUtaQgABBKomwCZV1fy4GwFnCTAaBBA4K8Bq46wC/0MAAQScIMBqwwlPgTEggAACrhEgbFTiUVEVAQQQQMAVAmxSueIxMUgEEIgJAVYbMfGYmSQCXhRgTlESMHw+hezTmlhtaOWmMwQQQMDtAoQNtz9Bxo8AAt4RYJPKO88ysjOhNQQQQKBCAZvCxqxZs9q3b1+/NHXs2PG1117z937y5MnRo0dfcMEFdevW7du378GDB/3l5p+sNsx9uIoAAgjoE7ApbFx44YXTpk3Lz8/ftGlTly5devbsuXXrVpnV2LFjly1b9tJLL+Xk5Ozbt69Pnz5SGDYTNsISUQEBBLwt4P3ZZWRk3HjjjZdddlnr1q0feughWVvk5eUdPXp0zpw5TzzxhASS1NTU559//u2335bysByEjbBEVEAAAQR0CSj8GpXhKyoq+jooyWmo4Z45c2bhwoWFhYWyVZWfn3/69OmuXbv6KycnJ1900UXr16/3n5p8EjZMcLiEAAIIaBVQ26TKyspqEJTktPygt2zZIouM+Pj4ESNGLF68uE2bNgcOHKhRo0bDhg0DlZs2bSqFgdNQB4SNUDKUR0aAVhBAwG6BzMxM2XEKZDkt32NSUtLmzZs3bNgwcuTIQYMGffjhh+XrWCwhbFiEohoCCCBgu4ChlGQNUfpLUt99yGn5gcrColWrVvIOQ9YiKSkpTz31VEJCwqlTp44cORKofPDgQSkMnIY6IGyEkqEcAQQQ0C2gFDXkfYj1cZ6tWVxcLO8/JIRUr159zZo1Z4t8vm3bthUUFMg7D/+pySdhwwSHSwgggIAXBGTbKjc3d/fu3fKGQ47XrVs3YMAAeRsydOjQcePGrV27Vl6PDxkyRGLGVVddFXbChI2wRFRAAAEENAnYtNo4dOjQwIED5fXGddddt3HjxpUrV15//fUypSeffPKmm27q27dvp06dZHvqlVdekcKwmbARlogKCFgVoB4CVRWQDSeFHK7XOXPmyFJDNqYkfqxevdofM+SmmjVrzpw588svvywsLJSYIZFDCsNmwkZYIioggAACCPwgQNj4wYIjBBBAILoCNm1SRXZS7gkbkZ03rSGAAALOEyBsOO+ZMCIEEEDAwQKEDQc/HIaGAAJVE+DumBVgkypmHz0TRwAB5wko/BqV3KJ3HoQNvd70hgACCIQWYJMqtA1XzAW4igACCDhVgNWGU5+M5XHlb9p416gRXdN/mdI26fU1qy3fR0UEKhbgJ6piFy2lrDa0MMd8JydOHE9KSsr886SYlwAgMgL8RJV31FZC2NBGHdMd/fKazmPuHntd17N/wkxMQzD5CAnwExUhSM82wyaVZx8tE0MAAdcJsNrwffHFF9nZ2b179+5YmuTg0Ucf/fzzz133LBmwjQI0jQACAQHD51PIPq3JxtXGxo0bW7duPWPGjAYNGnQqTXIgp8nJyZs2bQo1y6Kioq+DkpyGqkk5AggggIB+ARvDxl133dWvX789e/bMnTv3kdIkBwUFBbfccotcCjXVrKwsiS6B/OgjWaFqUo4AAgh4TMAJm1RhSW0MG++9997YsWNFIXgQciqFmzdvDi4MPs7MzDwalO79Q2bwVY4RQAABDwsYSkkziI1hIyEh4Z133ik/Hyls2rRp+XJ/SXx8fP2gJKf+cj5DCRwvLPz4o48kS4XP9u6Vg/379skxGQE1AX6i1Nwicpdh+BRyRLq23oiNYWPChAnDhw+/++67ly5duqE0yYGcjhgx4r777rM+RGqaC2zd+kH/W3pJlmqPZWfJwV+emSHHZCcKuGFM/ES54SlFc4w2ho3Ro0fPmzdP4kXfvn1Lf5GqoxzIqbzhGDVqVDQn7a2+O/w87b2t24LzlIeneWuKzEarAD9RWrnP7cxQSue2YfuZjWFDxt6/f/+8vLzjx49/VprkQE5vvfVWuURGAAEEECgjYMT4JlWAo3r16omlSQ4ChTYc0CQCCCCAgO0C9q42bB8+HSCAAAIeEjCUkmYAwoZmcLpDIGYEmGjlBQw2qSqPxh0IIIAAAo4WYLXh6MfD4BBAIKYE4uIMhayZiLChGTxS3dEOAgh4UIBNKg8+VKaEAAIIxLgAq40Y/wFg+gggEAmBCLVhKKUIdW61GcKGVSnqIYAAAnYLGPwmld3EtI8AAgh4ScBQSpoFWG1oBqc7BQFuQQABBwkQNhz0MBgKAgjEuIDSYsPQjEbY0AxOdwgggEBIAcNww9+3EXL4XEAAAQQQQKCcAKuNciQUIIAAAlESMJSS5sESNjSD0x0C5gJcjWkBg02qmH7+TB4BBBDwogCrDS8+VeaEAALuFDCUkua5xlbY0IxLdwgggEClBAw2qSrlRWUEEEAAAecLsNpw/jNihAh4VYB5lRUwlFLZVmw+J2zYDEzzCCCAgGUBw55NqqysrA4dOtSrV69Jkya9evXatm1bYETp6elGUBoxYkTgUqgDwkYoGcoRQAAB3QJBX+CVOAw7ypycnNGjR+fl5a1ater06dPdunUrLCwM3DVs2LD936fs7OxAeagDwkYoGdeXMwEEEIgRgaKioq+DkpyWmfiKFSsGDx7ctm3blJSUuXPnFhQU5OfnB+rUrl074ftUv379QHmoA8JGKBnKEUAAAd0ChtImlexBNQhKcmoy7qNHj8rV888/Xz79ecGCBY0bN7788sszMzOPHz/uLzT5JGyY4HAJAQQQiJSApXYMpSRf9xIMAllOQ3VWXFx8zz33XH311RIk/HVuv/32F154Ye3atXLXP/7xjzvuuMNfbvJJ2DDB4RICCCDgAoH4+HjZXApkOQ01aHnD8cEHHyxcuDBQYfjw4d27d2/Xrt2AAQPmz5+/ePHinTt3Bq5WeEDYqJCFQgQQQCAKAobSJpXFgY4ZM2b58uWysLjwwgsrvCUtLU3Kd+zYIZ8mmbBhgsMl1wgwUAS8IWAopbBzLykpkZghK4nXX3+9RYsWoepv3rxZLiUmJsqnSSZsmOBwCQEEEPCCgOxNyQuMF198sV69egdK04kTJ2Rish81ZcqU/Pz83bt3L126dODAgZ06dWrfvr1cMsmEDRMcLiGAAAJaBQx7NqlmzZolL8zT09NlJeHPixYtkonVqFFj9erV3bp1S05OHj9+fN++fZctWybl5tlC2DBvgKsIIIAAAhESMJRS2M5lk6pMHjx4sNzVvHnznJycw4cPnzx5cvv27dnZ2fJeXcrNM2HD3IerCCCAAALnCBA2zuHgRPV9MgAAEABJREFUBAHnCzBCDwsoLTYMzSCEDc3gdIcAAgiEFDAMn0IO2Zw9Fwgb9rjSKgIIIFB5AUMpVb6fKt1B2DiXjzMEEEAAAVMBwoYpDxcRQAABjQIGm1QatekKAQQ8KBBrUzKUkmYlVhuawekOAQQQcLcAYcPdz4/RI4CAlwQMNqm89Dg9OBemhAACDhOIMwyFrHkSrDY0g9MdAggg4G4Bwoa7nx+jRwABzwjIRNikEgQyAggggIBVAUMpWW09QvVYbUQIkmYQQACBKgvEGT6F7NObCBt6vektWgL0iwACERIgbEQIkmYQQACBKgso7VEZVe62cg0QNirnRW0EEEDAPgHD8Clk+8ZTYcsRCRsVtkwhAggggIAHBQgbHnyoTAkBBFwqoLTYMDRPlrChGZzuELBfgB5cK6Dwa1Ryi+bpEjY0g9MdAggg4G4Bwoa7nx+jRwABLwkYSkmzAGGjsuDURwABBOwSMAx+k8ouW9pFAAEEEIiOAKuN6LjTKwIIREbAW63EGfzB6d56oswGAQQQsFWATSpbeWkcAQQQ8JqAoZQ0K7BJpRncXd0xWgQQQKCsAGGjrAjnCCCAQLQEDH6TKlr09IsAAgi4USDMK/EQL8w1z5TVhmZwukMAAQTcLUDYcPfzY/QIIOAlAcPnU8g+vYmwodeb3pwrwMgQiL6AoZQ0j5uwoRmc7hBAAAF3CxA23P38GD0CCHhJIM7wKWSf3qQpbOidFL0hgAACrhRQ2qOStyFaJ2sWNpaGS1pHSmcIIIAAAg4QMAsbvUxT7969HTB+hoAAAgoC3OJQAcPwKWTNkzELG8Wm6cyZM5rHSncIIICAtwUMpaTZxCxsaB4K3SGAAAIxLqDwPlxu0YxmNWwUFha++uqrs2fPnhGUNI/VLd0xTgQQQMBRAllZWR06dKhXr16TJk3k5cO2bdsCwzt58uTo0aMvuOCCunXr9u3b9+DBg4FLoQ4shY3//ve/rVq1uu2228aMGTN16tR77rnnT3/60/Tp00M1SjkCCCCAgIKA0h6VEbajnJwciQ15eXmrVq06ffp0t27dZCXgv2vs2LHLli176aWXpM6+ffv69OnjLzf5tBQ2pN2MjIyvvvqqVq1a0vGnn36ampr62GOPmbTLJQQQQMAZAm4ahUQAhRx2hitWrBg8eHDbtm1TUlLmzp1bUFCQn58vdx09enTOnDlPPPFEly5d5Fv9+eeff/vtt+VLXi6ZZEthY/PmzePHj4+Li6tWrVpRUVHz5s2zs7NlwWHSLpcQQAABBPQIyNfy10FJTk36lVAhV88//3z5lOAhi4+uXbvKseTk5OSLLrpo/fr1cmySLYWN6tWrx8WdrSn7YhKmpLkGDRrs2bNHDsgIIIAAApESiDNU/i5xeXUh38mBLKehxlNcXCxvGa6++urLL79c6hw4cKBGjRoNGzaUY39u2rSpFPqPQ32eDQahrgXKr7jiio0bN8pp586dJ06cuGDBAunY36sUkmNZgLkjgEAEBQzDp5AzMzNlDRHIchpqSPKG44MPPli4cGGoClbKLYWNhx9+ODExUZp76KGHGjVqNHLkyM8///zZZ5+VEjICCCCAQHQF4uPj6wclOa1wPGPGjFm+fPnatWsvvPBCf4WEhIRTp04dOXLEfyqfBw8elEI5MMmWwsaVV1557bXXSiuySSWvVmQPTXbE5NWKlJARQAABBCIlYCiloN4rPiwpKZGYsXjx4tdff71FixaBSvIaXN5BrFmzxl+ybds2eQ3RsWNH/2moT0thI9TNlCOAAAIIRFDAUNqkCjsA2Zt64YUXXnzxxXr16smrC8knTpyQu+R1yNChQ8eNGydLEFkMDBkyRGLGVVddJZdMsqWwIdGpZUXJpF0uIYAAAgg4RGDWrFny5iM9PV1eN/jzokWL/GN78sknb7rppr59+3bq1Em2p1555RV/ucmnpbAhL8Dv/j6NGjVKwpGMYPjw4SbtcgkB7wkwIwTsFlD7Taqwo5JNqjJ58ODB/rtq1qw5c+bML7/8srCwUGKGRA5/ucmnpbDxfcg4+88JEyYsWLDgwQcflF0wk3a5hAACCCBQWQGbNqkqOwzz+pbCRvkmevTo8fLLL5cvpwQBBBBAQFnAUErK3andqBg2/v3vf/v/I0O1Xiu4iyIEEEAAATcIWAobV1xxxc++T3Isb1T+VJrcMEHGiEBZgUYdxpARiKBA2Z+wKpzLN7JCrkKHKrfKCMPf1jMo9enTZ9KkSR988AGvxMPDUQMB1wow8KgIKO1RGZqHailsTJ48WUKFP99///0jRoxITk7WPFC6QwABBBBwgoClsFGtWrVDhw4FD/fw4cNSGFzCMQIIIIBAFQXiDJ9C9ulNlsJGSUlJmVEVFRXVqFGjTCGnVgWohwACCFQkoBAz5JaKWrKxLEzYmFGaZLvtb3/7W+nh2Y8nn3xy9OjR7FPZ+FhoGgEEEHCqQJiwIRFCsqw2Zs+eLQf+LMfHjx+XT6dOinEhgAAClRBwTlX5d3SFrHn8YcLGrtLUuXPn9957r/Tw7Me2bdtWrlyZlpameax0hwACCHhbQHacFLJmkzBhwz+atWvXNmrUyH/MJwIIIIBALAtYCht9+/Z95JFHgpmys7P79esXXMIxAhULUIoAApYFDEPlb/ez3HxkKloKG7m5uTfeeGNwhz169JDC4BKOEUAAAQSqKBBnGAq5ip1W9nZLYePYsWNlft22evXqX3/9dWU7oz4CCCCAgImAfCMrZJMGy1+qeomMMHwj7dq1C/ydHv7aCxcubNOmjf+YTwQQQACB2BGwFDbuv//+KVOmDBo0aF5pGjhw4NSpU6UwdpiYKQIIIKBBwDvvNjIyMpYsWbJjx45Ro0aNHz/+s88+e/3111u1aqUBkS4QcJMAY0WgagIKLzbklqr1Wem7La02pNVf/epXb731VmFh4SeffHLrrbdOmDAhJSVFyskIIIAAAjElYDVsCEpubq7sUzVr1uzxxx/v0qVLXl6eFJIRQAABBCIl4JFNqgMHDkybNu2yyy7r169f/fr1i4qKZMNKSjp06BApKWvtUAsBBBDwuECc4f4/AVfeaiQlJb3//vvTp0/ft2/f008/7SMhgAACCMSwQJhNqtdee23o0KEPPPCAvNvgL9iI4Z8Tpo5AOQEKbBCI88B/7vfmm29+8803qampaWlpzzzzzBdffGEDFE0igAACCJwV8MK7jauuuuq5557bv3//7373u4ULF8r78OLi4lWrVkksOTtF/ocAAgggEGMCYTap/Bp16tS58847ZeWxZcuW8ePHy/vwJk2a3Hzzzf6rfNogQJMIIBCLAnGGTyH79CZLYSMwJHk9np2dvXfv3n/+85+BQg4QQAABBCIioPQH4BoR6dp6I5ULG/525d14r169li5d6j/lEwEEEPC4gK7pKSw15BZdo/uuH5Ww8d2t/AMBBBBAIPYECBux98yZMQIIOFVAlg4KWfNsCBuawemuvAAlCCDwnYChlL67Wdc/CBu6pOkHAQQQ8IQAYcMTj5FJIICAJwQUdqjklghPPVxzhI1wQlxHAAEEdAkYhk8h6xrdd/0QNr6D4B8IIIAAAlYECBtWlKiDQKQEaAcBM4E4w1DIZi3acI2wYQMqTSKAAAJKAnGG5/5wER8JAQQQQCC2BTy12ojtR8nsEUDA9QIK78PlFs3TJmxoBqc7BBBAIKRAnM9QyCGbs+dCnD3N0ioCCCCAQKUFDNt+ATc3NzcjI6NZs2aGYSxZsiQwssGDB0tJIN9www2BS6EOCBuhZChHAAEEvCNQWFiYkpIyc+bM8lOSULH/+2TlL8UgbJQ3pAQBBBCIjoB9v0nVo0ePqVOn9u7du/zE4uPjE75PjRo1Kl+hTAlhowyIa04ZKAIIeE8gTum/2ygqKvo6KMlppWTWrVvXpEmTpKSkkSNHHj58OOy9hI2wRFRAAAEEHC2QlZXVICjJqfXhyg7V/Pnz16xZ88gjj+Tk5Mii5MyZM+a3EzbMfbiKAAIIWBGITB1D6ZV4Zmbm0aAkp9ZH8+tf//rmm29u165dr169li9fvnHjRll8mN9O2DD34SoCCCCgT0Btk0peTtQPSnKqNuKWLVs2btx4x44d5rcTNsx9uIoAAgjEisDevXvl3UZiYqL5hAkb5j5cdYQAg0AgRgQMpU0qKzjHjh3bXJqk8q5du+SwoKBACu+99968vLzdu3fL642ePXu2atWqe/fuUsckEzZMcLiEAAIIaBWQb2SFbGWImzZtuqI0SeVx48bJ4cSJE6tVq/b+++/Lu43WrVsPHTo0NTX1jTfeCLvHJSOURsgIIIAAAl4WSE9PLzk3zZ07t1atWitXrjx06NCpU6dkwfHss882bdo0rEKcL2wVKiCAAAIIaBEwlJKWof3QCauNHyw4QgABBKIrYPh8CtmnNxE29HrTGwLhBLgeywJqv4CrWYywoRmc7hBAAAF3CxA23P38GD0CCHhJQGGHSm7RLBBjYUOzLt0hgAAClREwDJ9CrkwPEahL2IgAIk0ggAACsSNA2IidZ81MEXCcAAMqI2AopTKN2H1K2LBbmPYRQAABqwLyjayQrbYeoXoywgi1RDMIIIAAAjEgQNjw7kNmZggg4DYBpT0qQ/MsCRuawekOAQQQCCkgEUAhh2zOnguEDXtcaRUBBBA4V8AzZ4QNzzxKJoIAAq4XYJPK9Y+QCSCAAAI6BeRf5BWyzhFKXzJC+SQj4HIBho+AJwRYbXjiMTIJBBBAAIEgAVYbQRgcIoAAAlEVUPg1KrlF85CthA3NQ6I7BBBAIEYFDIM/yjBGHz3TRgABBDwrwGrDs4+WiXlWgIl5VyDOZyhkzR5xmvujOwQQQACBUAIGm1ShaChHAAEEEHCpAKuNMg+OUwQQQCBqAkqLDUPzcAkbmsHpDgEEEAgpwCZVSBouIIAAApYEqOQ8AVYbznsmjAgBBGJVIM7Hb1LF6rNn3ggggICCgGHwn/spsHGLPgF6QgABZwkQNpz1PBgNAggggEDVBeKq3gQtIIAAAghEQMDnU9qjMnx6E2FDrze9IYAAAqEF4gyfQvbpTYQNvd70hgACCLhcgLDh8gfI8K0KUA8BFwgYPpWX4ponRtjQDE53CCCAQEgBlaBhhGzNpguEDZtgaRYBBBDwpkBkwoY3bZgVAgggoFfAYJNKLzi9IYAAAu4WUPg1KrlF85xZbWgGpzsENAjQBQI2ChA2bMTV03T+po13jRrRNf2XKW2TXl+zWk+n9OIlgWH9fvnOosyDbzwqed288d2ubiOzuyjx/BP/faZM7tP1CrlEtk+ATSr7bGn5B4ETJ44nJSVl/nnSD0UcIVAZgc8OHrn/6f//iwHZVw94dN07/3vpyeE/aZmw9+BXl3TNDOQHZy3/pvDkyre2VqZh6lZagN+kqjSZK25w2iB/eU3nMXePva7r9U4bGONxi8CruR+sfPPDnQWf7yg4NHnmsmPHi37evjms4jUAABAASURBVEVxccnBw98E8s3Xpry86t3CE6fcMimXjtPw+RSyz0LKzc3NyMho1qyZYRhLliwJ3FFSUjJx4sTExMRatWp17dp1+/btgUuhDtikCiVDOQIxJxAXZ/TrnlqnVo0N7+8KnvwVP2n+0+Tm85asDy7k2F0ChYWFKSkpM2fOLDPs7OzsGTNmzJ49e8OGDXXq1OnevfvJkyfL1Clz6riwUVRU9HVQktMyI+YUAQQiLtC2VbPP33r86IbpM/5f//7jn/v4kwPBXQzq1fGjT/bnvXdOLAmuENVjT3UeZxgKWb4ng741v5bT8ig9evSYOnVq7969gy/JUmP69Ol//vOfe/bs2b59+/nz5+/bt2/JkiXBdcofRyds7Nmz58477yw/GinJyspqEJQefSRLCskIIGCrwP92H0z7dVangY8999Kbzz34m+SWCYHuasZX79/jSpYaARBbDxR2qOSWMl+bcmpxkLt27Tpw4IDsTfnry1dvWlra+vVhlpXRCRtffvnlvHnz/AMt85mZmXk0KN37h8wyFThFAIGIC5z+9swne77470d7Jj69dMv/Pht9W3qgi95df1q7Zo0Fy98JlHDgNIEyX5tyanGEEjOkZtOmTeXTn+XYX+g/rfDT3rCxNERau3ZthaORwvj4+PpBSU6lkBwtAfqNQQHZJImvcV5g4oN7/eI/OVu++OpYoIQDGwVk7VD5LN+TQd+a9eXUxhH6fPaGjV69eslWWq9yady4cbbOKqYaP15Y+PFHH0mWWX+2d68c7N+3T47JCFgUePCum6/+2aUXJZ4vbzjkuNOVly18dZP/3pbNG//yZ5c+v/ht/ymfdgsYPkMhK48qIeHsbuTBgwcDLcixvzBQUv7A3rCRmJj4yiuvFJdL7777bvmhUKImsHXrB/1v6SVZbn8sO0sO/vLMDDkmI2BR4Efn150zZeD7S+5/9a93pba9KGPUX17f8LH/3kE9O3528Mjq9d+d+gv5jJ5AhHtu0aKFBIk1a9b425X36hs2bOjYsaP/NNSnvWEjNTU1Pz+/fN+GYZSUlJQvp0RBoMPP097bui04T3l4mkI73BKzAiMfeDH5V5Mapo29+LrMX414JhAzBGTSM8ta3ziR/7cKhZ5sKKw1DEtDO3bs2ObSJLXlTbgcFhQUGIZxzz33TJ06Vd4nbNmyZeDAgc2aNZPtIaljku0NG/fee+8vfvGL8t23atXK5PVG+fqUIIAAArEgICFAIVuR2bRp0xWlSSrLawI5nDhxohzfd999d9111/Dhwzt06CChZcWKFTVr1pRyk2xv2LjmmmtuuOGG8t3XqVOnc+fO5cspQSCKAnSNgIcF0tPTZdUYnOfOnSvzlQXHgw8+eODAgZMnT65evbp169ZSaJ7tDRvmfXMVAQQQQOAcAYW1htxyThO2nxA2bCemAwQQQMCigKH3N6ksjqpMNV1ho0y3nCKAAAIIlBMwlOJGuWbsLSBs2OtL6wgggIDHBAgbHnugTAcBSwJUcqaA4fMpZJ/eRNjQ601vCCCAgImAQtCQW0watOESYcMGVJpEAAEEvCtA2LDh2dIkAgggoCRg+FReiit1pX4TYUPdjjsRQACByAqoBA0jskMI3xphI7wRNRBAwNUCDD6yAoSNyHrSGgIIIKAuICsHhazen9KdhA0lNm5CAAEE7BBQCBpyix0jCd0mYSO0DVesCFAHAQRiTICwEWMPnOkigICDBQx+k8rBT4ehIYAAAo4TqPpvUmmYEqsNDch0gQACCFgSMHw+hezTmwgber3pDQEEEHC5AGHD5Q+Q4esUoC8E7BZQWGvILXaP6tz2CRvnenCGAAIIRE/A8Km83dA8XsKGZnC6QwABBNwt4Jyw4W5HRo8AAghUXUBlrWFUvdvKtUDYqJwXtRFAAAH7BCQEKGT7xlNhy4SNClkoRCDmBQBAIIQAYSMEDMUIIICAfgGFtYbconechA293vSGAAIIhBYw+E2q0DgxfoXpI4AAAm4VYLXh1ifHuBFAwHsC/CaV954pM0IAAS8KOGZOhs+nkH16E6sNvd70hgACCJgIKAQNucWkQRsuETZsQKVJBBBAwLsChA3vPlunzIxxIICAVQHDp/J2w2rrEapH2IgQJM0ggAACVRZQCRpGlXutZAOEjUqCUR0BBBBwtUCVB0/YqDIhDSCAAAIREpCVg0KOUOdWmyFsWJWiHgIIIGC7gELQkFtsH9Y5HRA2zuHgBIGqCXA3At4XIGx4/xkzQwQQcIuAwW9SueVRMU4EEEDACQL8JlWEnwLNIYAAAghEXYBNqqg/AgaAAAIIfCdg+HwK2ac3ETb0etMbAt4RYCY2CCgEDbkl3EAmT55sBKXk5ORwd5hdJ2yY6XANAQQQ0Clg+AyFbGWEbdu23f99evPNN63cEqoOYSOUDOUIIICAdwTOO++8hO9T48aNqzIxwkZV9Gy8l6YRQCAGBVTWGoavqKjo66Akp+Xptm/f3qxZs5YtWw4YMKCgoKB8BeslhA3rVtREAAEE7BUwfD6FnJWV1SAoyanv3JSWljZ37twVK1bMmjVr165d11xzzTfffHNulUqcETYqgUVVBBCIVQFHzzszM/NoUJLTMsPt0aNHv3792rdv371791dfffXIkSP/+te/ytSxfkrYsG5FTQQQQMBeAcPwKeT4+Pj6QUlOTUbZsGHD1q1b79ixw6SO+SXChrkPVxFAAAGdAobPp5B91tOxY8d27tyZmJho/ZYyNQkbZUA4jYIAXSKAgK0CEyZMyMnJ2b1799tvv927d+9q1arddtttyj0SNpTpuBEBBBCIsIDCDpXcEnYQe/fulTiRlJR06623XnDBBXl5eT/60Y/C3hWqAmEjlAzlCCCAgG4Bhf0puSXsKBcuXLhv376ioiKJH3J86aWXmt4S5iJhIwwQlxFAAAEEggUIG8EaHCOAAALRFJAdJ4WsecSEDc3gdBfrAswfARMBw6cQNQyTBu24RNiwQ5U2EUAAASUBCQEKWakr5ZsIG8p03IgAAgjEooC3wkYsPkHmjAAC3hFQWGnILZrnT9jQDE53CCCAQEgBlTcb2uMGYSPk8+MCAghUUYDbPSlA2PDkY2VSCCDgSgGD36Ry5XNj0AgggEC0BAyfTyH7tCZWG1q5I9kZbSGAAALRECBsREOdPhFAAIGKBBRWGnJLRS3ZWEbYsBGXphFAIHYEIjJTfpMqIow0ggACCCDgIAFWGw56GAwFAQRiXMDwqaw3NKMRNjSD052SADchEBsCKkHD0E1D2NAtTn8IIICAqwUIG65+fAweAQQQ0C0Q5/Pp7pL+EEAAAQQqFGCTqkIWChFAAAEEKhYweCVeMQylCCBgIsAlBJwtwLsNZz8fRocAArEkwCZVLD1t5ooAAghUWcDw+RSyT2+KtdWGXl16QwABBDwnQNjw3CNlQggg4F4BhbWG3KJ3voQNvd70hgACwQIcnytg+FTebpzbhu1nhA3biekAAQQQ8JIAYcNLT5O5IICAuwVU1hqG7ikTNnSLa+yPrhBAwGUCEgIUsuZJEjY0g9MdAgggEFpAIWjILaHbs+MKYcMOVdpEAAEEygl4pYCw4ZUnyTwQQMD9Aga/SeX+h8gMEEAAAX0CvBLXZ01PMS8AAAIIaBJw+iZVzfN85LACxpmiaVMny2fYmlQQgRP/fYYcVuBI3uN/6NlYPsPWpIIvckl+PhVy5Pq31JLTw4alScR8paKiogceeEA+Y14CgIgJyI8TP1QR0/RWQ5bChremzGwQQAABBNQFCBvqdtyJAAIIxKAAYSMGHzpTdrsA40cgmgKEjWjqR6rv+Pj4SZMmyWekGqQdBOTHiR8qfgwqFCBsVMjiskL5f/jkyZPl02XjZrgOFpAfJ36oHPx8ojk0wkZZfc4RQAABBEwECBsmOFxCAAEEECgrQNgoK8I5Agg4SYCxOE6AsOG4R8KAEEAAAScLEDac/HSsjm3mzJmXXHJJzZo109LS3nnnHau3UQ+BigRyc3MzMjKaNWtmGMaSJUsqqkJZTAsQNlz/+BctWjRu3LhJkya9++67KSkp3bt3P3TokMVZUQ2B8gKFhYXygyT/LlL+EiUIiABhQxDcnZ944olhw4YNGTKkTZs2s2fPrl279t///nd3T4nRR1WgR48eU6dO7d27d1RHQefOFSBsOPfZWBnZqVOn8vPzu3bt6q8cFxcnx+vXr/ef8okAAq4ScMdgCRvueE6hRvnFF1+cOXOmadOmgQpyfODAgcApBwgggEBkBQgbkfWkNQQQQMDjAoQNdz/gxo0bV6tW7eDBg4FpyHFCQkLglIOAAAcIIBARAcJGRBij1kiNGjVSU1PXrFnjH0FxcbEcd+zY0X/KJwIIIBBxAcJGxEl1Nzhu3Ljnnntu3rx5H3300ciRIwsLC4cMGaJ7EPTnIYFjx45tLk0yp127dslhQUGBHJMR8AtEKGz4G+MzGgL9+/d/7LHHJk6c+NOf/lT+H75ixQp5Kx6NgdCnRwQ2bdp0RWmS+ci/lMih/HTJMRkBvwBhw+/g7s8xY8Z8+umnRUVFGzZsSEtLc/dkGH20BdLT00vOTXPnzo32oOjfQQKEDQc9DIaCQKQEaAcB+wQIG/bZ0jICCCDgQQHChgcfKlNCAAEE7BMgbFTeljsQQACBGBYgbMTww2fqCCCAQOUFCBuVN+MOBBBwkgBj0SxA2NAMTncIIICAuwUIG+5+foweAQQQ0CxA2NAM7rbu3D/ewYMH9+rVyz+P9PT0e+65x38c2c9169YZhnHkyJHINktrCDhQgLDhwIcS60MaPHiwfAVLrlGjRqtWrR588MFvv/02IiivvPLKlClTTJri298Eh0sI+AUIG34HPp0lcMMNN+zfv3/79u3jx4+fPHnyo48+Gjy+U6dOBZ9aPz7//PPr1atnvT41EXCagBPGQ9hwwlNgDGUF4uPjExISLr744pEjR3bt2nXp0qWyBOnVq9dDDz3UrFmzpKQkuWHPnj233nprw4YNJRj07Nlz9+7dUij5zJkz48aNk/ILLrjgvvvuKykpkUJ/Tk9PD2xSFRUV/eEPf2jevLn0JWuaOXPmSAvXXnut1GzUqJGsdaRHOS4uLs7KymrRokWtWrVSUlL+/e9/S6E/v/rqq61bt5ZyuUvu9RfyiYDnBQgbnn/Erp+gfC/7lxdr1qzZtm3bqlWrli9ffvr06e7du8vS4Y033njrrbfq1q0rCxR/tccff3zu3Ll///vf33zzzS+//HLx4sUVEgwcOPCf//znjBkzPvroo7/+9a/SgoSQl19+WSpLL7LWeeqpp+RYYsb8+fNnz569devWsWPH3nHHHTk5OVIuQatPnz4ZGRmbN2/+7W9/+8c//lEKyQjEggBhIxaeslvnKAuF1atXr1y5skuXLjKHOnXq/O1vf2tbmhYtWiTrADlt167dT37yk+eff76goEDeTEi16dOnZ2Zmyne6lMvXfYMGDaSwTP7FkD+VAAADwklEQVTf//73r3/9S0JL7969W7Zsed111/Xv379atWqycJGaTZo0kbWO3CgrkocffliqSYiSarL+kLAhMUbqzJo169JLL5UQJUufAQMGyCUpJCMQCwKEjVh4yu6bo6wn5F//a9as2aNHD/lCl9cbMgeJEPKSXA4kv/feezt27JDVhlSTLF/3J0+e3Llz59GjR2WhEPjT488777wrr7xS6pfJskSoVq1a586dy5SXOZUujh8/fv3110sX/iwrD+lFqskaJdCLnHbsyN+oKAzkmBAgbMTEY3bdJOVtgXyzyyvxEydOzJs3T9YZMgX/pxxIPnbsWGpqqtQJZFlA3H777XLJSpaNLyvVpBep9p///CfQy4cffhj8ekOukhGINQFtYSPWYJlvlQQkQshr6osuukiWCxU29LOf/UyCiuwmSbVAlm0lyYmJiRs2bPDf9e233+bn5/uPgz9l4SJ7XP63FMHl/tWMvFT3F7Zp00ZemMv2V6ALOZBXIHJVdsDeeecdOfDnvLw8/wGfCHhegLDh+UfszQnK64TGjRv37NlTXonv2rVL3mr8/ve/37t3r8z27rvvnjZt2pIlSz7++ONRo0ZV+J/gXXLJJYMGDbrzzjulmv92edUh91588cWGYcgW2eeffy5LDdkEmzBhgrwJlxWP7E29++67Tz/9tBxLzREjRkjcuvfee+X9+Ysvvigv4aWQjEAsCBA2YuEpe3COtWvXzs3NleWI/9X30KFD5d1G/fr1Zarjx4//zW9+I1FB3jfI97689JbC8lnead9yyy0SV5KTk4cNG1ZYWCh1fvzjHz/wwAN//OMfmzZtOmbMGCmZMmXK/fffn5WVJcuLG264QTasWrRoIeXS9csvvyxRJyUlRV68y5tzKXRTZqwIqAoQNlTluM82Afk3d/k6LtN8+cKEhAT5F39ZFkjAkKXAs88+6w8bsq81ffp0eTf+1VdfPf7441JnyZIl/tZkUSKX/Mfyvv2JJ57Yt29fUVGRrBuGDBniL5cgIS/VZQtLepQSWXzI8kUWLqdOnTp06NCKFSs6deok5ZJvuukmuVF6lwAmt5eUlDRs2FDKyQh4W4Cw4e3ny+wQQACBCAsQNiIMWtocHwgggIBnBQgbnn20TAwBBBCwQ4CwYYcqbSKAgJMEGEtEBQgbEeWkMQQQQMDrAoQNrz9h5ocAAghEVICwEVHOWGyMOSOAQGwJEDZi63kzWwQQQKCKAoSNKgJyOwIIIOAkAfvHQtiw35geEEAAAQ8JEDY89DCZCgIIIGC/wP8BAAD//5qKNswAAAAGSURBVAMAGBnmhNLJn7IAAAAASUVORK5CYII=)"],"metadata":{"id":"5T0GiDy__rBb"}},{"cell_type":"markdown","source":["From the perormance metrics, the accuracy, precision, recall and F1-score, we can see that the logistic regression model performs reasonably good as it is one of the funadamental models used for binary classification problems just like the one we have used it for.\n","\n","The neural netowrk with the ReLU activation function works best and gives the most accurate predictions. It works better than the logistic regression model because logistic regression is a linear model best suited for datasets with linear relationshhips. However, the neural network demonstrates the complex non linear relationship in the data in a better way.\n","\n","The volatility has an important effect on the predictions. The logistic regression model makes 2 incorrect predictions and both of them were cases of high volatility. Due to the high volatility, there are cases when the price does not follow the current trend and makes rapid unpredictable changes. The neural network also makes 1-2 wrong predictions in cases of high volatility.\n","\n","Trend continuation helps the model to determine whether the prices will follow the same trend as they have been following or not. So, it plays an important role.\n","\n","We can see that the model only fails in cases of high volatility because the prices follow unpredictable rapid trends which are difficult to predict."],"metadata":{"id":"S-DJN62G23XN"}}]} \ No newline at end of file diff --git a/MidEval Code/Pratik_MidEval/quantvision_financial_dataset_200.csv b/MidEval Code/Pratik_MidEval/quantvision_financial_dataset_200.csv new file mode 100644 index 0000000..4cfdd29 --- /dev/null +++ b/MidEval Code/Pratik_MidEval/quantvision_financial_dataset_200.csv @@ -0,0 +1,201 @@ +lookback_days,asset_type,market_regime,high_volatility,trend_continuation,technical_score,edge_density,slope_strength,candlestick_variance,pattern_symmetry,future_trend +48,equity,bullish,0,1,59.99,0.504,0.298,1.572,0.768,1 +38,index,bullish,1,1,78.54,0.559,0.037,0.692,0.538,1 +24,equity,bullish,1,0,56.03,0.617,0.212,1.419,0.301,1 +52,equity,bullish,0,0,66.51,0.36,0.347,0.699,0.498,1 +17,equity,bullish,1,1,61.21,0.492,0.144,2.52,0.828,1 +30,equity,bullish,1,1,73.12,0.608,0.584,1.65,0.831,1 +48,index,sideways,0,0,54.92,0.434,0.395,0.252,0.553,1 +28,equity,bullish,0,1,83.59,0.419,0.404,1.441,0.707,1 +32,equity,bullish,0,0,53.51,0.373,-0.735,0.385,0.577,1 +20,equity,sideways,0,0,48.21,0.524,-0.45,0.87,0.372,1 +20,equity,sideways,0,0,73.11,0.311,-0.67,0.615,0.753,1 +33,index,bullish,0,1,69.79,0.306,1.182,0.72,0.951,1 +45,index,bearish,1,1,51.01,0.625,0.869,2.169,0.764,1 +49,equity,bearish,1,1,50.9,0.619,0.993,2.461,0.73,1 +33,crypto,bullish,0,1,60.93,0.428,-0.41,0.363,0.638,1 +12,equity,sideways,0,1,78.44,0.377,1.136,1.313,0.779,1 +31,crypto,sideways,0,1,69.01,0.44,1.706,0.634,0.596,1 +11,equity,bullish,0,1,92.98,0.538,1.156,0.649,0.366,1 +33,equity,bullish,0,1,81.86,0.601,-0.476,1.245,0.293,1 +53,equity,sideways,1,1,62.57,0.417,1.084,1.186,0.58,1 +39,index,bearish,0,1,84.04,0.366,0.621,1.235,0.723,1 +47,index,bearish,1,1,55.04,0.511,0.084,2.065,0.75,1 +11,index,bearish,1,0,26.45,0.68,-0.174,1.484,0.427,1 +30,equity,bearish,0,0,45.1,0.201,-0.525,1.664,0.521,0 +42,index,sideways,1,1,61.47,0.591,0.201,1.064,0.659,1 +21,index,sideways,0,0,52.77,0.379,0.81,1.673,0.35,1 +31,equity,sideways,0,1,78.24,0.531,0.911,0.028,0.692,1 +53,equity,bearish,0,0,53.75,0.52,0.029,2.35,0.622,1 +34,equity,sideways,1,1,67.48,0.579,0.245,1.497,0.557,1 +58,crypto,bearish,0,0,70.01,0.274,-0.591,0.419,0.357,1 +36,equity,bearish,1,0,43.72,0.504,-0.475,1.584,0.34,1 +51,crypto,bullish,1,0,50.55,0.513,-1.217,1.177,0.21,1 +37,equity,sideways,0,0,37.45,0.294,0.511,1.193,0.428,1 +25,crypto,sideways,1,1,58.76,0.642,-0.893,2.384,0.807,1 +24,index,bearish,0,1,57.68,0.284,1.027,0.503,0.726,1 +56,equity,sideways,0,0,56.45,0.557,0.49,1.29,0.475,1 +60,index,bearish,0,1,72.36,0.557,1.259,0.234,0.719,1 +53,index,bullish,0,0,57.33,0.369,0.043,1.516,0.427,1 +12,crypto,bullish,1,1,55.2,0.576,0.658,1.908,0.408,1 +46,equity,bullish,0,1,92.98,0.394,0.52,1.538,0.818,1 +60,equity,bullish,0,1,57.32,0.472,0.007,0.939,0.861,1 +16,index,bullish,1,1,46.71,0.652,0.965,1.482,0.591,1 +30,crypto,bearish,0,0,71.55,0.421,-0.048,1.408,0.477,1 +18,equity,bullish,0,1,62.96,0.438,-0.105,0.346,0.664,1 +48,equity,bearish,1,1,50.55,0.5,-0.033,0.829,0.753,1 +27,crypto,bullish,1,1,83.03,0.585,-0.014,1.698,0.953,1 +13,equity,bearish,0,1,79.86,0.413,0.831,0.805,0.874,1 +34,index,bullish,1,0,39.06,0.477,0.774,1.977,0.443,1 +23,crypto,bullish,1,1,62.18,0.549,0.461,2.246,0.781,1 +59,index,bearish,0,1,89.46,0.369,0.703,1.267,0.888,1 +18,index,bearish,0,1,76.92,0.351,1.828,1.506,0.761,1 +35,equity,bullish,0,0,67.86,0.308,0.489,1.161,0.499,1 +11,index,sideways,0,1,78.05,0.405,0.727,1.247,0.767,1 +29,index,bullish,0,0,64.3,0.338,-0.24,0.942,0.395,1 +37,equity,bearish,0,0,55.4,0.362,0.158,1.233,0.416,1 +56,equity,sideways,0,1,70.11,0.486,0.567,1.083,0.54,1 +16,crypto,bearish,0,1,72.67,0.451,0.646,1.163,0.746,1 +53,index,bearish,0,1,77.34,0.322,1.257,0.917,0.68,1 +17,equity,bearish,0,1,67.17,0.428,0.33,1.404,0.577,1 +56,crypto,bearish,0,0,56.22,0.411,0.257,0.645,0.475,1 +44,crypto,sideways,1,0,41.9,0.686,0.074,1.691,0.57,0 +23,index,bullish,0,1,71.16,0.511,0.269,1.656,0.987,1 +26,crypto,bullish,1,1,47.49,0.427,-0.211,1.226,0.852,1 +45,equity,bearish,0,1,96.06,0.469,0.525,0.081,0.357,1 +59,equity,sideways,1,0,37.67,0.651,-0.631,1.883,0.536,1 +49,index,bearish,0,1,66.39,0.445,1.176,0.872,0.914,1 +13,crypto,bullish,1,1,51.81,0.523,-0.301,2.205,0.499,1 +11,crypto,bearish,0,0,61.16,0.593,0.034,0.935,0.583,1 +15,equity,sideways,0,0,53.04,0.452,1.273,0.698,0.465,1 +51,crypto,bullish,1,1,50.36,0.708,0.407,1.662,0.873,1 +13,crypto,bullish,0,0,61.57,0.508,0.29,1.547,0.561,1 +38,crypto,bearish,0,0,62.92,0.437,0.58,1.288,0.367,1 +27,index,bearish,0,1,69.33,0.354,0.369,0.217,0.67,1 +35,index,bullish,0,1,63.36,0.398,0.059,1.093,0.679,1 +53,index,bullish,0,1,91.91,0.382,0.688,1.118,0.682,1 +43,equity,bullish,0,1,73.4,0.303,0.733,0.991,0.868,1 +19,crypto,bullish,1,0,32.26,0.602,-1.209,1.395,0.374,0 +45,crypto,sideways,0,0,69.14,0.525,0.188,1.597,0.65,1 +23,equity,sideways,0,1,61.44,0.376,1.135,1.622,0.655,1 +40,equity,bullish,0,1,97.42,0.573,0.144,0.102,0.734,1 +57,equity,sideways,0,1,70.8,0.275,0.818,0.601,0.711,1 +24,equity,bearish,0,1,80.13,0.484,1.046,0.928,0.697,1 +17,crypto,bearish,1,0,24.2,0.684,-0.107,2.174,0.498,1 +23,equity,bearish,0,1,57.16,0.384,0.941,1.017,0.919,1 +32,equity,bullish,0,1,83.34,0.385,0.478,0.658,0.826,1 +49,equity,bullish,0,1,73.18,0.483,0.036,1.355,0.646,1 +30,equity,bearish,0,0,75.42,0.44,-0.224,0.894,0.737,1 +25,equity,bearish,1,1,64.85,0.39,-0.093,1.641,0.741,1 +54,index,bullish,0,0,56.45,0.333,-0.04,0.986,0.554,1 +27,index,sideways,0,1,87.14,0.399,1.147,1.287,0.574,1 +56,equity,sideways,1,0,55.1,0.44,-1.056,1.546,0.425,1 +33,index,bullish,0,0,53.04,0.362,0.072,1.343,0.397,1 +35,index,sideways,1,1,49.06,0.442,-0.332,1.663,0.713,1 +34,index,sideways,0,1,46.28,0.37,0.23,0.466,0.796,1 +54,equity,sideways,1,0,40.62,0.523,-0.121,1.682,0.555,1 +50,index,bullish,0,0,43.14,0.428,-0.595,0.492,0.738,1 +38,crypto,sideways,1,1,85.98,0.543,0.567,1.72,0.567,1 +24,equity,bearish,0,1,63.5,0.44,-0.076,1.415,0.717,1 +54,crypto,sideways,0,0,48.22,0.431,0.333,0.463,0.308,1 +10,equity,sideways,0,1,54.79,0.483,-0.175,1.182,0.562,1 +34,equity,bearish,1,1,57.34,0.62,-0.109,1.285,0.89,1 +16,index,sideways,1,0,38.35,0.611,0.548,1.801,0.431,1 +18,index,sideways,1,1,77.38,0.798,1.054,2.13,0.579,1 +33,crypto,sideways,0,1,71.68,0.428,0.394,0.065,0.381,1 +10,equity,bearish,1,1,59.91,0.757,0.395,1.143,0.578,1 +53,equity,bullish,0,1,68.65,0.433,1.202,0.816,0.669,1 +17,index,bullish,0,1,77.86,0.393,0.941,1.158,0.496,1 +33,index,sideways,0,0,50.48,0.37,-0.137,0.917,0.461,1 +20,equity,bullish,1,1,66.67,0.671,-0.174,1.677,0.891,1 +60,crypto,bearish,0,1,86.14,0.531,1.034,2.021,0.594,1 +26,equity,bullish,0,1,74.6,0.448,1.165,0.394,0.558,1 +17,equity,bearish,1,1,57.5,0.641,1.058,2.268,0.531,1 +44,crypto,sideways,0,0,45.47,0.298,-0.844,0.825,0.329,1 +44,index,sideways,0,1,67.25,0.276,-0.027,1.275,0.78,1 +42,crypto,bullish,0,1,75.63,0.5,1.181,2.064,0.707,1 +14,equity,sideways,0,0,39.67,0.39,-0.776,1.344,0.644,1 +51,index,bearish,0,1,78.32,0.46,1.219,1.186,1.0,1 +48,index,bullish,0,1,72.08,0.343,0.493,1.8,0.425,1 +50,crypto,sideways,0,1,68.51,0.533,0.34,1.562,0.757,1 +37,equity,bearish,0,1,63.41,0.277,0.703,0.6,0.532,1 +16,equity,bullish,0,1,65.24,0.289,-0.073,1.147,0.818,1 +18,equity,sideways,1,1,65.97,0.666,0.612,0.841,0.659,1 +17,equity,bullish,0,0,53.72,0.191,0.845,0.73,0.504,1 +21,equity,bullish,0,1,64.99,0.43,1.035,1.157,0.508,1 +43,equity,bearish,0,1,74.69,0.391,0.477,0.699,0.636,1 +42,equity,bullish,0,0,60.08,0.341,-0.769,1.137,0.513,1 +57,crypto,bearish,0,1,57.51,0.384,-0.15,0.993,0.903,1 +32,crypto,bearish,1,0,50.71,0.482,-1.065,1.968,0.381,0 +33,equity,sideways,0,1,95.02,0.523,0.594,0.788,0.617,1 +46,equity,sideways,0,1,74.7,0.544,0.657,0.53,0.842,1 +44,index,sideways,0,0,38.01,0.345,0.434,1.739,0.371,1 +53,equity,sideways,0,1,71.77,0.422,-0.298,0.752,0.871,1 +49,equity,bearish,1,1,41.69,0.444,0.856,2.03,0.699,1 +31,equity,bullish,0,1,100.0,0.486,0.947,1.718,0.745,1 +36,equity,bearish,0,1,92.36,0.484,0.437,1.081,0.755,1 +44,crypto,bearish,0,0,48.34,0.376,-0.595,0.572,0.408,1 +10,equity,bullish,0,1,47.54,0.401,1.225,0.911,0.758,1 +44,index,bearish,1,1,51.22,0.542,0.05,2.209,0.584,1 +46,index,bearish,0,1,68.19,0.271,0.59,1.103,0.625,1 +56,equity,sideways,1,0,27.38,0.674,-0.208,1.097,0.584,0 +23,equity,sideways,0,1,69.31,0.339,0.143,1.298,0.744,1 +12,equity,bearish,1,0,43.12,0.489,-0.541,2.085,0.489,0 +10,index,bullish,0,1,71.25,0.388,1.033,0.822,0.511,1 +14,equity,bullish,0,0,57.3,0.48,0.382,1.305,0.349,1 +35,equity,sideways,1,0,35.34,0.503,-0.013,1.823,0.542,1 +23,index,sideways,1,0,36.47,0.394,-0.978,1.601,0.61,0 +48,equity,bullish,1,0,45.46,0.479,-0.518,1.053,0.334,1 +36,equity,bearish,0,1,63.69,0.434,0.402,1.539,0.574,1 +18,equity,bullish,1,1,69.07,0.725,0.413,2.08,0.72,1 +24,equity,bullish,0,1,70.36,0.299,0.768,1.292,0.717,1 +24,crypto,bullish,1,1,78.65,0.446,0.278,2.472,0.456,1 +35,equity,bullish,0,1,78.2,0.279,1.833,1.473,0.724,1 +51,index,sideways,1,1,71.04,0.419,0.055,2.043,0.61,1 +22,equity,bearish,1,1,61.33,0.646,-0.004,0.593,0.946,1 +60,index,bullish,1,1,61.57,0.67,-0.378,2.298,0.737,1 +41,equity,sideways,0,0,72.31,0.414,-0.769,1.042,0.563,1 +48,equity,sideways,0,1,66.22,0.363,-0.01,1.156,0.767,1 +58,crypto,sideways,1,0,50.47,0.693,-0.759,1.86,0.318,1 +41,crypto,bullish,0,0,52.34,0.414,0.655,1.387,0.792,1 +13,crypto,bullish,1,0,42.31,0.637,-0.38,2.261,0.257,1 +39,equity,bullish,1,0,33.31,0.509,-0.303,2.017,0.619,0 +46,equity,bullish,0,0,47.57,0.404,-0.048,1.238,0.593,1 +32,equity,bullish,1,0,35.72,0.451,-0.217,1.816,0.428,1 +48,index,bearish,0,0,60.94,0.45,0.701,0.676,0.6,1 +54,equity,bullish,1,1,70.4,0.565,-0.797,1.556,0.652,1 +24,crypto,bullish,1,1,59.05,0.478,0.809,1.229,0.599,1 +52,equity,bullish,0,1,72.3,0.33,-0.658,1.605,0.77,1 +38,crypto,bullish,0,1,68.48,0.529,0.614,1.31,0.549,1 +45,equity,bullish,1,0,36.89,0.708,0.696,1.471,0.466,0 +22,crypto,bearish,0,0,63.62,0.383,0.34,0.821,0.411,1 +41,equity,bullish,0,0,61.53,0.405,0.187,0.803,0.45,1 +16,equity,bullish,0,1,51.07,0.432,1.601,0.794,0.765,1 +60,index,bearish,0,0,52.17,0.412,-0.352,0.278,0.411,1 +31,equity,bearish,0,0,46.18,0.266,0.217,0.169,0.471,1 +37,equity,bullish,0,0,51.09,0.434,0.289,1.015,0.425,1 +11,crypto,bullish,0,0,48.3,0.233,-0.261,1.538,0.717,1 +51,index,bullish,1,0,44.54,0.491,-0.617,1.431,0.551,1 +54,equity,sideways,0,1,66.7,0.44,0.328,1.152,0.733,1 +15,equity,bearish,0,0,51.49,0.448,0.044,1.367,0.603,1 +37,equity,bearish,0,1,81.07,0.335,0.873,0.503,0.611,1 +37,index,sideways,0,1,75.57,0.363,0.662,0.99,0.829,1 +53,equity,bullish,0,0,47.96,0.352,0.355,0.667,0.552,1 +53,equity,sideways,0,1,64.44,0.392,-0.385,1.803,0.466,1 +29,equity,bearish,1,0,49.92,0.548,-0.509,2.481,0.286,1 +39,equity,bullish,0,1,74.9,0.453,0.088,0.504,0.614,1 +20,index,bearish,1,0,38.96,0.509,-0.249,1.893,0.302,0 +37,equity,sideways,1,1,57.66,0.58,0.343,2.234,0.664,1 +34,crypto,bearish,0,0,73.47,0.441,-0.058,1.424,0.348,1 +48,equity,sideways,1,0,39.13,0.566,-0.145,1.741,0.485,0 +42,equity,bullish,1,1,79.11,0.529,0.699,2.353,0.912,1 +10,equity,sideways,0,1,81.04,0.414,0.57,0.548,0.693,1 +36,equity,bullish,0,0,72.25,0.46,-0.526,0.848,0.455,1 +22,crypto,sideways,1,1,53.71,0.617,-0.591,1.261,0.758,1 +50,index,bearish,1,1,58.31,0.695,0.218,2.091,0.596,1 +12,index,bullish,0,1,65.51,0.321,0.721,0.709,0.827,1 +48,index,bullish,1,1,71.27,0.515,-0.285,1.614,0.774,0 +15,equity,bullish,1,0,39.32,0.421,-0.037,2.009,0.506,1 +17,index,bullish,1,0,52.31,0.624,-0.629,2.049,0.523,0 +36,equity,bullish,1,1,66.78,0.523,-0.628,1.246,1.0,1 +18,index,bearish,1,1,59.52,0.566,0.828,2.228,0.841,1