From cd7e19557b2c01c0734e77dd019a5a1150b90e8f Mon Sep 17 00:00:00 2001 From: mithilg07 Date: Tue, 23 Dec 2025 18:28:20 +0530 Subject: [PATCH] Mideval_Mithil --- .../mideval_mithil/mideval_mithil.ipynb | 204 ++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 Mideval code/Mideval_Mithil/mideval_mithil/mideval_mithil.ipynb diff --git a/Mideval code/Mideval_Mithil/mideval_mithil/mideval_mithil.ipynb b/Mideval code/Mideval_Mithil/mideval_mithil/mideval_mithil.ipynb new file mode 100644 index 00000000..1ae79208 --- /dev/null +++ b/Mideval code/Mideval_Mithil/mideval_mithil/mideval_mithil.ipynb @@ -0,0 +1,204 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "9451d243", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.preprocessing import LabelEncoder\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.neural_network import MLPClassifier \n", + "from sklearn.metrics import accuracy_score, precision_score, f1_score,confusion_matrix, recall_score" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e3e25bd6", + "metadata": {}, + "outputs": [], + "source": [ + "sheet_id = \"2PACX-1vQVwufwTS_hzCEUwRNNS_Qq00Sr5r64nMs-iOuF45a2C7tIJ9n5CE6xgA_E8hvVmFc2gfRiU8ljH3Lo\"\n", + "url = f\"https://docs.google.com/spreadsheets/d/e/2PACX-1vQVwufwTS_hzCEUwRNNS_Qq00Sr5r64nMs-iOuF45a2C7tIJ9n5CE6xgA_E8hvVmFc2gfRiU8ljH3Lo/pub?output=csv\"\n", + "df = pd.read_csv(url)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "120fa693", + "metadata": {}, + "outputs": [], + "source": [ + "le_asset = LabelEncoder()\n", + "le_regime = LabelEncoder()\n", + "df['asset_type'] = le_asset.fit_transform(df['asset_type'])\n", + "df['market_regime'] = le_regime.fit_transform(df['market_regime'])\n", + "le_regime.fit_transform(df['market_regime'])\n", + "\n", + "x = df.drop('future_trend', axis = 1)\n", + "y = df['future_trend']\n", + "\n", + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, random_state = 42)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c9b5f4cf", + "metadata": {}, + "outputs": [], + "source": [ + "scaler = StandardScaler()\n", + "x_train_scaled = scaler.fit_transform(x_train)\n", + "x_test_scaled = scaler.transform(x_test)\n", + "\n", + "lr = LogisticRegression(random_state = 42)\n", + "lr.fit(x_train_scaled, y_train)\n", + "lr_pred = lr.predict(x_test_scaled)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "276f0dbb", + "metadata": {}, + "outputs": [], + "source": [ + "mlp = MLPClassifier(hidden_layer_sizes = (100,50,20), max_iter = 5000, alpha = 0.01)\n", + "mlp.fit(x_train_scaled, y_train)\n", + "mn_pred = mlp.predict(x_test_scaled)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "25706aa9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Logistic:\n", + "Accuracy : 0.925\n", + "Precision: 0.949\n", + "Recall : 0.974\n", + "F1-score : 0.961\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Nueral Net:\n", + "Accuracy : 0.950\n", + "Precision: 0.950\n", + "Recall : 1.000\n", + "F1-score : 0.974\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def results(y_true, y_pred, name):\n", + " acc = accuracy_score(y_true, y_pred)\n", + " prec = precision_score(y_true, y_pred)\n", + " rec = recall_score(y_true, y_pred)\n", + " f1 = f1_score(y_true, y_pred)\n", + " print(f\"\\n{name}:\")\n", + " print(f\"Accuracy : {acc:.3f}\")\n", + " print(f\"Precision: {prec:.3f}\")\n", + " print(f\"Recall : {rec:.3f}\")\n", + " print(f\"F1-score : {f1:.3f}\")\n", + "\n", + " cm = confusion_matrix(y_true, y_pred)\n", + " plt.figure(figsize = (4,3))\n", + " plt.imshow(cm, cmap='Blues')\n", + " plt.colorbar()\n", + " plt.title(f'{name} Confusion Matrix')\n", + " plt.xticks([0,1], ['Downs', 'Up'])\n", + " plt.yticks([0,1], ['Downs', 'Up'])\n", + " for i in range(2):\n", + " for j in range(2):\n", + " plt.text(j, i, cm[i, j], ha = 'center', va = 'center', color ='white')\n", + " plt.show()\n", + " return acc, prec, rec, f1\n", + "lr_res = results(y_test, lr_pred, \"Logistic\")\n", + "mn_res = results(y_test, mn_pred, \"Nueral Net\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "13f68ebc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Logistic: Acc=0.9250000000 F1=0.9610389610\n", + "Neural: Acc=0.9500000000 F1=0.9743589744\n" + ] + } + ], + "source": [ + "\n", + "print(f\"Logistic: Acc={lr_res[0]:.10f} F1={lr_res[3]:.10f}\")\n", + "print(f\"Neural: Acc={mn_res[0]:.10f} F1={mn_res[3]:.10f}\")\n", + "\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.13.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}