{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "O_Zz1gNLJX2h"
   },
   "source": [
    "### Install Dependencies"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "4n3R6SkzKfpJ",
    "outputId": "b4b513a0-8600-4b83-a754-eb13a5e32237"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Defaulting to user installation because normal site-packages is not writeable\n",
      "Requirement already satisfied: torch in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (2.6.0)\n",
      "Requirement already satisfied: torchvision in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (0.21.0)\n",
      "Requirement already satisfied: numpy in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (2.2.4)\n",
      "Requirement already satisfied: pandas in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (2.2.3)\n",
      "Requirement already satisfied: scikit-learn in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (1.6.1)\n",
      "Requirement already satisfied: pillow in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (11.1.0)\n",
      "Requirement already satisfied: xgboost in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (3.0.0)\n",
      "Requirement already satisfied: imbalanced-learn in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (0.13.0)\n",
      "Requirement already satisfied: matplotlib in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (3.10.1)\n",
      "Requirement already satisfied: seaborn in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (0.13.2)\n",
      "Requirement already satisfied: filelock in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from torch) (3.18.0)\n",
      "Requirement already satisfied: typing-extensions>=4.10.0 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from torch) (4.13.0)\n",
      "Requirement already satisfied: networkx in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from torch) (3.4.2)\n",
      "Requirement already satisfied: jinja2 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from torch) (3.1.6)\n",
      "Requirement already satisfied: fsspec in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from torch) (2025.3.0)\n",
      "Requirement already satisfied: setuptools in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from torch) (78.1.0)\n",
      "Requirement already satisfied: sympy==1.13.1 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from torch) (1.13.1)\n",
      "Requirement already satisfied: mpmath<1.4,>=1.1.0 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from sympy==1.13.1->torch) (1.3.0)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from pandas) (2.9.0.post0)\n",
      "Requirement already satisfied: pytz>=2020.1 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from pandas) (2025.2)\n",
      "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from pandas) (2025.2)\n",
      "Requirement already satisfied: scipy>=1.6.0 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from scikit-learn) (1.15.2)\n",
      "Requirement already satisfied: joblib>=1.2.0 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from scikit-learn) (1.4.2)\n",
      "Requirement already satisfied: threadpoolctl>=3.1.0 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from scikit-learn) (3.6.0)\n",
      "Requirement already satisfied: sklearn-compat<1,>=0.1 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from imbalanced-learn) (0.1.3)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from matplotlib) (1.3.1)\n",
      "Requirement already satisfied: cycler>=0.10 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from matplotlib) (0.12.1)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from matplotlib) (4.56.0)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from matplotlib) (1.4.8)\n",
      "Requirement already satisfied: packaging>=20.0 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from matplotlib) (24.2)\n",
      "Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from matplotlib) (3.2.3)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n",
      "Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\rec_i\\appdata\\roaming\\python\\python313\\site-packages (from jinja2->torch) (3.0.2)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "[notice] A new release of pip is available: 24.3.1 -> 25.0.1\n",
      "[notice] To update, run: python.exe -m pip install --upgrade pip\n"
     ]
    }
   ],
   "source": [
    "!pip install torch torchvision numpy pandas scikit-learn pillow xgboost imbalanced-learn matplotlib seaborn"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "GjFSNYTqJh0y"
   },
   "source": [
    "### Set File Paths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "id": "fgey_WI_LR_A"
   },
   "outputs": [],
   "source": [
    "image_folder = \"/Users/REC_I/Desktop/Abdullah Project/Images\"\n",
    "csv_path = \"/Users/REC_I/Desktop/Abdullah Project/G1020.csv\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Ra8lXlUsJnyv"
   },
   "source": [
    "### Import Libaries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "id": "xCo5A9lNp1bt"
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import pickle\n",
    "import torch\n",
    "import torchvision.transforms as transforms\n",
    "from torchvision import models\n",
    "from torchvision.models import ResNet50_Weights, VGG16_Weights\n",
    "from PIL import Image\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import accuracy_score, classification_report\n",
    "import xgboost as xgb\n",
    "from imblearn.over_sampling import SMOTE\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "CRHcDH7NJ1TQ"
   },
   "source": [
    "### Load & Check Dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "_rUKterep1Pq",
    "outputId": "b4aef9aa-4067-480f-a7e6-2afb0fb9ad03"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " Checking Dataset Format:\n",
      "       imageID  binaryLabels\n",
      "0  image_0.jpg             0\n",
      "1  image_1.jpg             0\n",
      "2  image_3.jpg             0\n",
      "3  image_4.jpg             0\n",
      "4  image_5.jpg             0\n",
      "\n",
      " Available images in folder:\n",
      "['.ipynb_checkpoints', 'image_0.jpg', 'image_0.json', 'image_1.jpg', 'image_1.json', 'image_10.jpg', 'image_10.json', 'image_1000.jpg', 'image_1000.json', 'image_1001.jpg']\n"
     ]
    }
   ],
   "source": [
    "# Load dataset\n",
    "df = pd.read_csv(csv_path)\n",
    "df[\"binaryLabels\"] = df[\"binaryLabels\"].astype(int)  # Convert labels to integers\n",
    "\n",
    "# Print first few rows\n",
    "print(\"\\n Checking Dataset Format:\")\n",
    "print(df.head())\n",
    "\n",
    "# Check available image files\n",
    "print(\"\\n Available images in folder:\")\n",
    "print(os.listdir(image_folder)[:10])  # Print first 10 image names"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "D0q4-wrsJ-lo"
   },
   "source": [
    "### Image processing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "id": "q2KyKChaqUKf"
   },
   "outputs": [],
   "source": [
    "def preprocess_image(image_path):\n",
    "    \"\"\"Loads and preprocesses an image for CNN feature extraction.\"\"\"\n",
    "    try:\n",
    "        if not os.path.exists(image_path):\n",
    "            print(f\" Image not found: {image_path}\")\n",
    "            return None\n",
    "\n",
    "        image = Image.open(image_path).convert(\"RGB\")\n",
    "        transform = transforms.Compose([\n",
    "            transforms.Resize((224, 224)),\n",
    "            transforms.ToTensor(),\n",
    "            transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])\n",
    "        ])\n",
    "        return transform(image).unsqueeze(0)\n",
    "    except Exception as e:\n",
    "        print(f\"⚠ Error preprocessing image {image_path}: {e}\")\n",
    "        return None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "rE4C9q_oKHhe"
   },
   "source": [
    "### Load CNN pretrained models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "7Aw_QlTBp1DD",
    "outputId": "f9408cd2-3fe2-40a4-9bfa-11b49b4566d9"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Downloading: \"https://download.pytorch.org/models/resnet50-0676ba61.pth\" to C:\\Users\\REC_I/.cache\\torch\\hub\\checkpoints\\resnet50-0676ba61.pth\n",
      "100.0%\n",
      "Downloading: \"https://download.pytorch.org/models/vgg16-397923af.pth\" to C:\\Users\\REC_I/.cache\\torch\\hub\\checkpoints\\vgg16-397923af.pth\n",
      "100.0%\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Sequential(\n",
       "  (0): Sequential(\n",
       "    (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (1): ReLU(inplace=True)\n",
       "    (2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (3): ReLU(inplace=True)\n",
       "    (4): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n",
       "    (5): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (6): ReLU(inplace=True)\n",
       "    (7): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (8): ReLU(inplace=True)\n",
       "    (9): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n",
       "    (10): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (11): ReLU(inplace=True)\n",
       "    (12): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (13): ReLU(inplace=True)\n",
       "    (14): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (15): ReLU(inplace=True)\n",
       "    (16): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n",
       "    (17): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (18): ReLU(inplace=True)\n",
       "    (19): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (20): ReLU(inplace=True)\n",
       "    (21): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (22): ReLU(inplace=True)\n",
       "    (23): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n",
       "    (24): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (25): ReLU(inplace=True)\n",
       "    (26): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (27): ReLU(inplace=True)\n",
       "    (28): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "    (29): ReLU(inplace=True)\n",
       "    (30): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n",
       "  )\n",
       "  (1): AdaptiveAvgPool2d(output_size=(7, 7))\n",
       ")"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load pretrained models\n",
    "resnet50_model = models.resnet50(weights=ResNet50_Weights.IMAGENET1K_V1)\n",
    "vgg16_model = models.vgg16(weights=VGG16_Weights.IMAGENET1K_V1)\n",
    "\n",
    "# Remove classification layers\n",
    "resnet50_model = torch.nn.Sequential(*list(resnet50_model.children())[:-1])\n",
    "vgg16_model = torch.nn.Sequential(*list(vgg16_model.children())[:-1])\n",
    "\n",
    "# Set to evaluation mode\n",
    "resnet50_model.eval()\n",
    "vgg16_model.eval()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Pges7Qr0KTYp"
   },
   "source": [
    "### Extract Features & Apply PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 574
    },
    "id": "Y34JF5yUp01D",
    "outputId": "18419230-9f34-44d5-e8a9-a014b3715aef"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Applying PCA to VGG-16 features...\n",
      "\n",
      "Extracted and reduced features from 1020 images.\n",
      "Final feature vector size: 2560 dimensions.\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAskAAAHWCAYAAACFXRQ+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUcdJREFUeJzt3Qm8TWX////PMR1T5swSmWVIIkODiKRJuiPuSNGt2ZCiZGig4a4oIg2km25UGoSSIQmRKQq3ilCGkiHztP6P9/X9rf3fe519OIcz7OO8no/H4uy1r7P2tdfZe+3Puvbn+qw4z/M8AwAAABCS5f//EQAAAIAQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAUkRcXJwNHDgwzR937ty57rH1/9ngyiuvdAuA9EWQDGRAN9xwg+XOndv+/vvvRNt06NDBcuTIYTt37gytO3z4sL366qvWuHFjK1iwoLu/ZMmSbnvvvfeeHT9+PMF29u7da88884zVrVvX8ufPb/Hx8Va2bFlr27atffbZZ0nq7759+2zAgAF2zTXXWKFChVxAM3bs2ETbnzhxwkaOHGm1a9e2XLlyWeHChe2qq66ylStXnvKxtO1oS/HixS01HDhwwAWGsRqgBfdDvnz57Iorrkjy3y6WvPbaayd93aSH888/36677rqo93333XenfK3HGj2f8NdL0aJF7bLLLrMpU6ZEba/1LVu2tCJFioSOJ7feeqvNnj07avtp06a57aqd3udALMuW3h0AkHwKgD/99FP3AdWxY8eogdvHH3/sglIFmPLHH3+4D7OlS5daixYtrF+/fi5g3bZtm3355ZfWvn17++mnn+yJJ54IbUe31fbXX3+11q1bu8fKmzevbd682X3YKTgYN26c3X777Sft759//mlPPvmknXfeeVarVq1TBpR33nmnjR8/3j3e/fffb/v377fly5fbjh07krR/rr766gT7RcF2atC+HjRokPs5Vkf//P3heZ77W+oE5Prrr7fp06e7v29GCpIVjN1xxx0R6y+//HI7ePCgC9LOBl988UW6Pr5OTnv16uV+/v333+3111+3m2++2b1uunXr5tbrtaT3qU4ALrroIuvZs6c7Ed26das7LjVt2tS++eYba9iwYcS29b5WIL5x40YX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DAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAAABBMkAAABAAEEyAAAAEECQDAAAAAQQJAMAAACxFCQPGTLELrnkEjvnnHOsaNGidtNNN9m6desi2hw6dMjuu+8+K1y4sOXNm9fatGlj27dvj2izadMma9WqleXOndttp3fv3nbs2LGINnPnzrU6depYfHy8VahQwcaOHZugPyNGjLDzzz/fcubMafXr17fFixen0jMHAABALEvXIPmrr75yAfCiRYts5syZdvToUWvevLnt378/1KZHjx726aef2uTJk13733//3W6++ebQ/cePH3cB8pEjR2zBggX2zjvvuAC4f//+oTYbNmxwbZo0aWIrVqyw7t27W5cuXezzzz8PtZk4caL17NnTBgwYYMuWLbNatWpZixYtbMeOHWm4RwAAABATvBiyY8cOT1366quv3O3du3d72bNn9yZPnhxqs2bNGtdm4cKF7va0adO8LFmyeNu2bQu1GTlypJcvXz7v8OHD7vYjjzziVa9ePeKx2rZt67Vo0SJ0u169et59990Xun38+HGvZMmS3pAhQ6L29dChQ96ePXtCy+bNm12/9HNa0V+PhYXl7F8AAClDcVpS47WYyknes2eP+79QoULu/6VLl7rR5WbNmoXaVKlSxc477zxbuHChu63/a9SoYcWKFQu10Qjw3r177Ycffgi1Cd+G38bfhkah9VjhbbJkyeJu+22ipYrkz58/tJQpUyYF9wQAAADSU8wEySdOnHBpEI0aNbILL7zQrdu2bZvlyJHDChQoENFWAbHu89uEB8j+/f59J2ujQPrgwYP2559/urSNaG38bQT17dvXBfX+snnz5jPeBwAAAIgN2SxGKDd59erVNn/+fMsINAFQCwAAAM4+MTGSfP/999vUqVNtzpw5Vrp06dD64sWLu1SI3bt3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gmQAAAAggCAZAAAASIkg+d1337VGjRpZyZIl7ddff3Xrhg4dah9//PHpbA4AAADI2EHyyJEjrWfPnnbttdfa7t273ZX4pECBAi5QBgAAADJdkPzqq6/aG2+8YY8//ri7FLWvbt26tmrVqpTuHwAAABD7QfKGDRvsoosuSrBel6vev39/SvULAAAAyDhBcrly5WzFihUJ1s+YMcOqVq2aUv0CAAAAYv+y1D7lI99333126NAh8zzPFi9ebO+9954NGTLE3nzzzdTpJQAAABDLQXKXLl0sV65c1q9fPztw4IC1b9/eVbkYNmyYtWvXLnV6CQAAAMRqkHzs2DGbMGGCtWjRwjp06OCC5H379lnRokVTr4cAAABALOckZ8uWzbp16+ZSLSR37twEyAAAADjrJHviXr169Wz58uWp0xsAAAAgI+Yk33vvvdarVy/bsmWLXXzxxZYnT56I+2vWrJmS/QMAAADSXJynEhXJkCVLwsHnuLg4V+lC//tX4Mts9u7da/nz57c9e/ZYvnz50uQx4+LS5GEApLPkHaUBACkRr2U7nYuJAAAAAGezZAfJZcuWTZ2eAAAAABk1SB43btxJ7+/YseOZ9AcAAADIeDnJBQsWjLh99OhRVy85R44criTcX3/9ZZkROckAUgs5yQCQ9vFaskvA7dq1K2LRxUTWrVtnjRs3dpenBgAAADK6ZAfJ0VSsWNGeffZZe+ihh1JicwAAAEDGD5L9q/H9/vvvKbU5AAAAIONM3Pvkk08ibiuleevWrTZ8+HBr1KhRSvYNAAAAyBhB8k033RRxWxcQOffcc+2qq66yF198MSX7BgAAAGSMIPnEiROp0xMAAAAgo+YkP/nkk67kW9DBgwfdfQAAAECmq5OcNWtWl4NctGjRiPU7d+50644fP26ZEXWSAaQW6iQDQAaok6yYWnnIQStXrrRChQola1vz5s2z66+/3kqWLOm2+dFHHyV4rP79+1uJEiUsV65c1qxZM1u/fn1EG128pEOHDu6JFihQwO666y5Xuznc999/b5dddpnlzJnTypQpY88//3yCvkyePNmqVKni2tSoUcOmTZuWrOcCAACAs0eW5FxpT0GwgtlKlSq5n/1FEfnVV19tt956a7IefP/+/VarVi0bMWJE1PsVzL7yyis2atQo+/bbby1PnjzWokULO3ToUKiNAuQffvjBZs6caVOnTnWB99133x1xxtC8eXMrW7asLV261F544QUbOHCgjR49OtRmwYIFdtttt7kAe/ny5W5yopbVq1cn6/kAAAAgk6VbvPPOO25k984777ShQ4e6wNinS1Kff/751qBBg9PvSFycTZkyJVQ9Q4+lEeZevXrZww8/7NZpaLxYsWI2duxYa9euna1Zs8aqVatmS5Yssbp167o2M2bMsGuvvda2bNnifn/kyJH2+OOP27Zt21w/pU+fPm7Ueu3ate5227ZtXcCuINt36aWXWu3atV2AnhSkWwBILaRbAEDKSE68luTqFp06dXL/lytXzho2bGjZs2e31LRhwwYX2CrFwqcnVb9+fVu4cKELkvW/Uiz8AFnUPkuWLG7kuXXr1q7N5ZdfHgqQRaPRzz33nLustkbI1aZnz54Rj682wfSPcIcPH3ZL+E4HAADA2SHZOclXXHFFKEBW2oOCw/AlpShAFo0ch9Nt/z79H5xAqCv/KQUkvE20bYQ/RmJt/PujGTJkiAva/UW5zgAAAMikQbLKv91///0uOFWOsEZiw5fMom/fvm6o3l82b96c3l0CAABAegXJvXv3ttmzZ7tc3/j4eHvzzTdt0KBBLv933LhxKdUvK168uPt/+/btEet1279P/+/YsSPi/mPHjrmKF+Ftom0j/DESa+PfH42eu3JZwhcAAABk0iD5008/tddee83atGnjUhtUWq1fv342ePBgGz9+fIp1TLnPClJnzZoVWqd0DuUa+xME9f/u3btd1QqfAnhdFVC5y34bVbw4evRoqI0qYVSuXDk08q024Y/jtzmTiYgAAADIREGyRmnLly/vftboqW5L48aNXTCaHKpnvGLFCrf4k/X086ZNm1y1i+7du9vTTz9tn3zyia1atco6duzoRqz9ChhVq1a1a665xrp27WqLFy+2b775xqWCaFKf2kn79u3dpD2Vd1OpuIkTJ9qwYcMiJuo99NBDrirGiy++6CpeqETcd99957YFAACATMhLpho1anhz5851Pzdt2tTr1auX+3nYsGFeqVKlkrWtOXPmqLBRgqVTp07u/hMnTnhPPPGEV6xYMS8+Pt493rp16yK2sXPnTu+2227z8ubN6+XLl8/r3Lmz9/fff0e0Wblypde4cWO3DfXx2WefTdCXSZMmeZUqVfJy5MjhVa9e3fvss8+S9Vz27Nnj+q7/08r/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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "# Apply first PCA (reduce VGG-16 features)\n",
    "pca = PCA(n_components=512)\n",
    "vgg16_features_list = []\n",
    "resnet50_features_list = []\n",
    "labels = []\n",
    "\n",
    "for _, row in df.iterrows():\n",
    "    image_filename = row[\"imageID\"].strip()\n",
    "    label = row[\"binaryLabels\"]\n",
    "    image_path = os.path.join(image_folder, image_filename)\n",
    "\n",
    "    if not os.path.exists(image_path):\n",
    "        print(f\"Image file missing: {image_path}\")\n",
    "        continue\n",
    "\n",
    "    image_tensor = preprocess_image(image_path)\n",
    "    if image_tensor is None:\n",
    "        continue\n",
    "\n",
    "    with torch.no_grad():\n",
    "        resnet_features = resnet50_model(image_tensor).squeeze().detach().cpu().numpy()\n",
    "        vgg_features = vgg16_model(image_tensor).squeeze().detach().cpu().numpy()\n",
    "\n",
    "    resnet_features = resnet_features.flatten()\n",
    "    vgg_features = vgg_features.flatten()\n",
    "\n",
    "    vgg16_features_list.append(vgg_features)\n",
    "    resnet50_features_list.append(resnet_features)\n",
    "    labels.append(label)\n",
    "\n",
    "# Convert lists to NumPy arrays\n",
    "vgg16_features_array = np.array(vgg16_features_list)\n",
    "resnet50_features_array = np.array(resnet50_features_list)\n",
    "\n",
    "# Apply PCA to reduce VGG-16 features\n",
    "print(\"\\nApplying PCA to VGG-16 features...\")\n",
    "pca.fit(vgg16_features_array)\n",
    "vgg16_features_reduced = pca.transform(vgg16_features_array)\n",
    "\n",
    "# Combine ResNet50 & PCA-reduced VGG-16 features\n",
    "features = np.array([np.concatenate((resnet, vgg))\n",
    "                     for resnet, vgg in zip(resnet50_features_array, vgg16_features_reduced)])\n",
    "\n",
    "labels = np.array(labels)\n",
    "\n",
    "print(f\"\\nExtracted and reduced features from {len(features)} images.\")\n",
    "print(f\"Final feature vector size: {features.shape[1]} dimensions.\")\n",
    "\n",
    "# First PCA reduction graph (VGG-16)\n",
    "plt.figure(figsize=(8, 5))\n",
    "plt.bar([\"VGG-16 Original (25088)\", \"After PCA (512)\"], [25088, 512], color=['blue', 'green'])\n",
    "plt.xlabel(\"Feature Stage\")\n",
    "plt.ylabel(\"Feature Dimensions\")\n",
    "plt.title(\"VGG-16 Feature Reduction Using PCA\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "aEXJpLJyKd_4"
   },
   "source": [
    "### Apply SMOTE to Handle Class Imbalance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 539
    },
    "id": "1iDZvGKqfXUf",
    "outputId": "700823b4-1eb1-4d37-b82f-6288a2c91cae"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Applying SMOTE to balance class distribution...\n",
      "After SMOTE class distribution: [724 724]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+0AAAHWCAYAAAACZWhUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVJRJREFUeJzt3QncVHP///HP1b6XdmmVSItQlsgSLVpoQyhCd9zdRQtFPwlZolCihDuVndwVXW6RpCylpCyliChSoT1ar/k/3t/7f8bMXHOtzVxz5ur1fDymqznnzJnvzJyZz/l8z3dJCQQCAQMAAAAAAL5TINEFAAAAAAAA0ZG0AwAAAADgUyTtAAAAAAD4FEk7AAAAAAA+RdIOAAAAAIBPkbQDAAAAAOBTJO0AAAAAAPgUSTsAAAAAAD5F0g4AAAAAgE+RtCPP1K5d26699lpLdnfffbelpKTkyXOdf/757ub54IMP3HO//vrrefL8+rz0ueUnc+bMsZNPPtmKFSvm3svt27cnukgAcMTgXCDnOBfInqVLl9pZZ51lJUuWdO/PihUrEl0kIGZI2nHYvv/+e7vxxhvt2GOPdYlQmTJl7Oyzz7bHHnvM/vrrL/OzqVOnuh9276byV6tWzdq2bWvjx4+3Xbt2xeR5Nm7c6AK8HwOIH8v2448/hn0uuum4UrL9xBNP2KFDh3K13z/++MMuv/xyK168uE2YMMGef/55F9z94KOPPrJ27drZMccc447DmjVr2sUXX2wvvfRS2Hbe+/GPf/wj6n7uuOOO4Da///57uvWpqal20UUXWYUKFdzzHH/88Xbrrbe69ybyhDA7t2jfo8jb4sWLY/5+AfAXzgWSM94mQ9nkm2++CX420SrbDxw4YJdddplt3brVxo4d6+J7rVq1bOLEie7zzUv79+93x/0pp5zivgflypWzhg0b2g033GCrV6+OetzpHCBSIBCwGjVquPUdO3ZMt37Pnj1277332kknnWQlSpSwsmXL2jnnnGPPPfece2xopUt24rlXmaYKooy2qV+/ftzeN2SuUBbrgUy99dZb7keyaNGids0111ijRo3cj5V+fIYMGWIrV660p59+2vxu5MiRVqdOHfejv2nTJpe0DBw40B599FF788033Q+iZ/jw4Xb77bfnOBjec889rqZaiWd2vfvuuxZvmZXtmWeesbS0NEuUK6+80tq3b+/+v2PHDvvvf/9rN910k/300082ZsyYXNXC6+RLQa5Vq1bmF9OnT7fu3bu793/AgAF21FFH2bp162zhwoXuM7jqqqvCttdJy3/+8x93MlKkSJGwdS+//LJbv3fv3nTPo+T8kUcesSZNmthtt91m5cuXt88//9xVhLzyyis2b948O+GEE+zEE090Jzyhhg0bZqVKlXKVAll9jyIdd9xxuXhXACQLzgWyh3OB3HvhhResatWqtm3bNtfCILLiWpVGOjdQWUPXKU5WrFgxT1t3dOvWzd5++213DtOnTx93PClZV6W5WgJEJr6K2aqgb9GiRdjyBQsW2M8//+y+V5E2b95sF154oavMuOKKK6x///4u7uvcoFevXu586cUXX7SCBQu6yrTQcx6dX4wYMcJVIijJ99StWzf4/+rVq9uoUaPSPa8qBpAgASCXfvjhh0CpUqUC9evXD2zcuDHd+u+++y4wbty44P1atWoFevXqFfCTKVOmqCoysHTp0nTr5s2bFyhevLgr959//nlYz6P963n0fNmxZ8+eqMvnz5/v9jN9+vTDKs/hlC0vrFu3zpVpzJgxYcvT0tICp512WqBatWq52u+0adMy/Lxza/fu3Ye9jwYNGgQaNmwY2LdvX7p1mzdvDruv8nfu3DlQoECBwKxZs8LWffzxx259t27d3N/ffvstuO6ll15yy7p37x44ePBg2OM+/fTTQIkSJQKNGzcOHDhwIGoZVb7zzjsvx98jAPkb5wLZx7lA7ij2165dOzB48OBAly5dAueff366bRYsWBD1PcksduWW4mS0eC1Llixx5bj//vvTrVPs/f3339Mdd127dg1UrFgxXfzt06dPoGnTpu7Y69ChQ9i6tm3buvOAN954I93z3HrrrW6/Dz74YK4+a71fet/gLzSPR66NHj3adu/ebZMnT7ajjz466tU1XTXMiJow6cpf48aN3RU8NSFS8+Avvvgi3baPP/64a1qk5j+6CtmsWbOwZsO6eqracNUQq0aycuXK1rp1a3cVMbcuuOACu/POO13NrWp4M+vHNnfuXFdDqiZQei26Wvl///d/bp1q6k877TT3/+uuuy7YxMhrrqVmSLoqsWzZMjv33HPda/QeG9mPzaPm4dpGtc5q3n3JJZfYhg0bstVvMHSfWZUtWj82Nce65ZZbXJMtvdd6rQ8//HBYUyzRflTzO2vWLPf6tK0+Q/Upzy3ts0qVKlaoUPpGQqrVVo2x3o/SpUtbhw4d3NWd0Net2mfRaw5tCuZd7W7atKlrOq9a+Z49e9ovv/wS9hzaXp+vavTVAkDP06NHD7dOVyHGjRvnXqNqzVVO1W7rqkBWtD+VKfKquehYjqQm9DpWIpvOq1Zd3ye935F0BUXfHV3tUs17qNNPP91def/qq6/yrI8kgPyBc4G/cS4Qn3OBjz/+2HWb0xVl3dQKTVegPSrfeeed5/6vFh96Tr02lVnnAbpi7b2m0PdRzex1vHivQcfqQw89FNaqwOuup9emGK+r0dp21apVGcZzUdeQSIq96poWSVfk1UVNx49HLVUUjyNb2om6nL3zzjvudeszj6Qr5PXq1XOvxe9dU5B9NI9Hrs2ePdv1XVNTn9z44Ycf3I+4fmDVHE1NfZ566in3w6sfQ/UnEzV1uvnmm+3SSy91gV/Nf7788kv79NNPgz9m//znP92PmwJDgwYN3I+fmuWp2dCpp56a69d49dVXu4Copmlq4hSNAoL6GqnZnJrW6cd87dq1LsiImhpreWRTpND3TeXVSYqCkZJFJXyZuf/++10QUaK1ZcsWF0jU9El90ZR0Zld2yhZKwVgBYv78+da7d2/XhE6BQ80fleCqH1kofQYzZsywf/3rXy7BVd9ANRtbv3591MAV6c8//wz2y965c6dLzBXo1VQ7lJpyKyFX/0MFKT3uySefdCdPy5cvd4Fbzbp1UqGk1WsC6TUF04mJTlR00qJgp2NR/dH0GerxOgHzHDx40D2P9q0grhMrUYLu7UfHq5qfqdm5Hq/9FC5cOMPXqX53apqukxA1ScsOHfv6PuhkWSeHKpcqHgYPHpyuafx3331na9ascQFeJ8TRqEnrXXfd5Zrv6TjMDXVhiOxHr+M0O581gOTEucD/cC4Qv3MBVUgrXitGK/FX3FVXMD2fF39Vmf3AAw+4Y0Tb6b1TxYK61IV27fLeU50n6BhTefV4jSPzySefuPOLX3/91b2XoaZMmeKOOb0/+mzVvSyjeO6VWYl7tIsMkXSO0rx5c/ea9PmLzncUU3Us6P2K/M55cTsaPae+E6qs1/GXm+6AqhCKNi6Ojiu/jAV0xEn0pX4kpx07drimNZ06dcr2YyKbxO3duzdw6NChdM2iixYtGhg5cmRwmZ4jq2Y6ZcuWDfTr1y+QU9lp1qt9n3LKKcH7d911l3uMZ+zYsemaIuekKZKaIWndpEmToq4LbdblNYk75phjAjt37gwuf+2119zyxx57LMsmiJH7zKxserz241FzbG173333hW136aWXBlJSUgJr164NLtN2RYoUCVv2xRdfuOWPP/54IDvN46Pd+vbt65rKeXbt2hUoV66ca0YWatOmTe6zC10e7fPev39/oHLlyoFGjRoF/vrrr+Dy1NRUt+2IESPC3g8tu/3228Oe68MPP3TLX3zxxbDlc+bMibo80uTJk4PvV8uWLQN33nmn22fk90O0nY71rVu3uu2ff/55t/ytt95yn8GPP/4YPEa9Y9L73HSsZqZMmTKBU089NdfN46Pd9H0GkD9xLsC5QDzPBbwYXaFChcAdd9wRXHbVVVcFmjRpkq0uAxnFrnvvvTdQsmTJwLfffhu2XPG9YMGCgfXr14edjyg+btmyJcvy6vzE+yyrVKkSuPLKKwMTJkwI/PTTT5ked0888USgdOnSwS4Yl112mTsfkMjm8eoip8dt27Ytw3LMmDHDbTN+/PhcNY/PKKbfeOONWb4HiA+axyNXdNVTVGOaW6qpLFCgQLBGTzXMXnOy0KZsusqpK5AaRCwj2ka17RpIJdZUpsxGjvWuwr7xxhu5HqhF74Wu0GaXaldD33tdeVCzRA08Ek/av5p3qSY7lJrIKTarZjiUandDBzbRFQhd6dWVlexQjbaai+mmwVX69evnrsDoarJH69TETc3LVCvs3VTOM844w10JyMxnn33mrlDoCoCatXvUvF6DxWiApUh9+/YNu68r3BqcRc0wQ8ug5vY6frIqw/XXX+9aEKjZnq5IaKA8XelQ8zbV/EejpqEaBV4186Imoroq4tXyh/KO36y+r1rvfbdzQyPye5+Xd4s8JgDkH5wLhD+3cC4Q23MB7UvHhGK8R/9X94nQLnA5pbitOKtYGhq3VVYdh2qCH0otAypVqpTlftXyQa0O7rvvPrdvxWiduyg2a8DZjKaZ1cw2asqu1m46zvQ3WtP47MZ0b11uY7qu/kfGc93UnQCJQfN45IrXxPZwpkFRUFMTZI3sqabEodN4hTaXUrOv9957z/W7VX+jNm3auB+y0P5C6lOn5tHql6RESf2NFczUZO9wqflxtH7FHv0I//vf/3ajlWokWY3m2bVrVxc8vRORrKhZV7T+zBlRMhcZJPTeqO9VPKlPn5oqRgYKNa3z1odSc7NICmLZ6eftvc7QZl16X/Va1WxNia76QKrpt9fvMJqMmoOHvibRCWIkJe2R07Co2VlkE3aVQc3YMjpOVCmQFTW5101N9tSn8dVXX7VJkya55pYadTbavvU9ULNNNTFU81J9D6LxPq+svq9an9mxnhV9R9XHFMCRgXOBv3EuEJ9zAY0joG4TXncDUQWAmsirCbqaxOeG4ra6V2SUiEfG7Wgzo2REZVVzfN3U1F596nWMv/baa66rXOjYCB6VQ+c7qoDXeYC+Bzp2sorpod33clNZnxE1gffTLDtgnnYcRqDWD/bXX3+d633oh1ZXTDXgin7AVDOpWjwNUBJaS60goP64mpJK/Yh1xVV/1f82tIZSNbYapEbl0nRg2s/hXuVTrb6SscymrFL/HtXI6mRCCZSCgIK3rrpmdz7xnPQ9y67IAXI8uZ3jPDciBzzzRA5UkxM6ERKvFtw7VtSvPVqtsK56xFLoVSGPyqCTuWjPr5v6CmaXTkRU+6/+8JpSSCc1GR3H6lOo8ugkdd++fe57EI13IqVjMyM6yVKNvPqBAkB2cC7wN84FYn8uoJik/tuqzFEFhXdTnFJiqwQ3t+cTOrb02WQUt3VlPRafjVo+eIPnqexK3DUGTTSqhNKxqgp79W3PKCHPTkz31hHT8w+SduSargBqlMxFixbl6vEaLKZly5ZuxFn9oKnWXLV60ZoOqcZPwU8DgeiqopouawCW0AG39MOoJs664qgfeNXQa5vD4c1VrSugmVESp2RSc7lq4Bw97/vvvx9sFp1R0Mwt7+qyR0FLNdCho7uqFjvaexlZA56Tsql5l5odRl5V0ZVgb328ecFOVz3Ea3KnpFnHT+Qt2oi7obwy62QwkpZl5zWpDGq+pys+0cqgedFzw7tqrZr6aHQS0blzZzfyr04+NOp9NMcff7y76buR0RWx5557Lvi9BoDs4lzgb5wLxPZcQIPX6bPVwLJqzh56U/NzvQZvoL+MZPS6FLd1HhEtZusWrXXA4dAVdnUL0Jzt0QZ4ky5durhjSKPDZ9Q0PjROe3E7WoWMKjT02UcbxR7JiaQduTZ06FAXQNUUTKO9RlIQV3OgzGpeI2tI9UMcOc2WkqFQajqmmkM9Vj9++nFSDXgoJXCqZdfVx9xSoFXfYjWJ8qb1ymi6mkgaSVW85/dG2syoL1NO6Yc6NFjqpEeJnTfqqBeQ9MOvaUM86iMVOR1MTsqmpoZ6v3UVOJRGilVgDH3+ePFGTfUSYZ1E6WqPrtboeIj022+/ZZkY63hRzXbo8aLabo04rJPCrOjqjt4XHS/RKhmyem81cnw0Xr/EaE33PZoqSVeaNCVRZjQqsK7aa3TlyCssao6vUfc1Km/k1QUAyAznAv/DuUDszwXU8kJdGxS31FQ89KbYp3EG1EQ+M3pd0V6T4rYqmtSyI5K2z+hqeHYqUlShFG2fej4l0hk1ydfrUQWFphO8+OKLM3wOjV+jigVVXumzjKRm+d9++637bsaj9QYSgz7tyDUFAtXkqdZbTXXUb0wn/QoMGjxLQTfa3KChNYVqNqxBV/QDpDmi9eMb2fdMte6ag1S1hZqqQ4mUAoWSKfXV0Q+h+hjrR1yJnH701DxNg9U88sgj2XotStBUQ6wfaZ10KEireZRqi998882wAcoi6TWo2ZPKo+3VD0p981QmNd3z3is1c1JiqDIriGiQtJz0kQqlqUa0b713Kq/6eKvZXuhUNDqBUgDXYGUKTjpxUgAMHQwmp2VTENEVEQUE9ZnT+60pcNQEXYOTRO77cGkQIq/vl05MlNyqSaSOFx0XooRdQU7NETWlj67UKCAqaGoQOR03kScWkbXfSlj1Xmr6Fw1w4035pqsVgwYNyrKcepymjNF0cZpqR2XTfhW89T3QvjLqmyadOnVy77feX72HmqZGx7AqKDR1TWbBW59Bdq7k62RT3wmVRVeAdF8nD3qPn332WXc1SsdLZlPTZfd7FEmfVyz6lALwH84F/odzgdieC+hKvlooRA5251HXMFXa6/iKnBItlMY20DmCrszrvVFFjsbA0XRx+kx1/On41HaKvTr+9H7pdWXUei0zGiBPV8lVcaGubvqMVAE1bdo095r0GWXUXUDU3S27FTZq1aHzBz2fnkuVQ2qdoNZ3+j56U+LlhirAovW9F01HiASI06j0OIJougxNq1W7dm03rYemrDj77LPdVB6ayiWzaV5uueWWwNFHHx0oXry4e8yiRYvSTUPy1FNPBc4991w35YemgKlbt25gyJAhbqoZ2bdvn7uv6T/03JrCQ/+fOHFilmWPnKpK5a9atWqgdevWbsqU0KlUMprmZd68eW4qmmrVqrnH66+m+IicRuSNN94INGjQIFCoUKGwqTb0WjOaxiajaV5efvnlwLBhw9xUZXrvNBVItOlEHnnkETcljN43vb+fffZZun1mVrbIaV68KdYGDRrkXmfhwoUD9erVC4wZMyZsGrbQqckiZTT9TFZTvqlsxx57rPusVYZIem/atm3rpuUpVqyYO06uvfZa95qzM63Pq6++6qbz0XtVvnz5QI8ePQI///xz2DYqt46vjDz99NOBpk2bus9Ex2Ljxo0DQ4cODWzcuDHT16vP84orrnBl1mNVfn0emuIm8hjM6H0NFTnlWyhN1aPj+6ijjnKv9bjjjnPfw8ymKTqcKd8ym1YGQP7BuQDnArE8F1CZ9Vi9rxmZOnWq20blzmjKN03/qvdFx4TWh75mvQa9f4qD+swqVqwYOOusswIPP/ywm2ou9HxEry07Nm/eHHjwwQfd8+iY1nupeHvBBRcEXn/99RxPNRhtyrfQ8t99993uuPHOO/T56n2J/BxiNeUbqWPipOifRFQWAAAAAACAzNGnHQAAAAAAnyJpBwAAAADAp0jaAQAAAADwKZJ2AAAAAAB8iqQdAAAAAACfImkHAAAAAMCnCiW6AH6QlpZmGzdutNKlS1tKSkqiiwMAOMJpNtZdu3ZZtWrVrEAB6tdjgVgPAEjWeE/SbuaCeI0aNRJdDAAAwmzYsMGqV6+e6GLkC8R6AECyxnuSdjNX6+69WWXKlEl0cQAAR7idO3e6BNOLTzh8xHoAQLLGe5J2s2AzOQVxAjkAwC9oxh07xHoAQLLGezrKAQAAAADgUyTtAAAAAAD4FEk7AAAAAAA+RdIOAAAAAIBPkbQDAAAAAOBTJO0AAAAAAPgUSTsAAAAAAD5F0g4AAAAAgE+RtAMAAAAA4FMk7QAAAAAA+BRJOwAAAAAAPkXSDgAAAACAT5G0AwAAAADgUyTtAAAAAAD4FEk7AAAAAAA+VSjRBcjPUpevS3QRgEx1PKVOoosAAEktdfXMRBcByFTH+l0sGbR+omeiiwBkaW7/FywRuNIOAAAAAIBPkbQDAAAAAOBTJO0AAAAAAPgUSTsAAAAAAD5F0g4AAAAAgE+RtAMAAAAA4FMk7QAAAAAA+FRCk/batWtbSkpKulu/fv3c+r1797r/V6hQwUqVKmXdunWzzZs3h+1j/fr11qFDBytRooRVrlzZhgwZYgcPHkzQKwIAAKGI9QAAJHHSvnTpUvv111+Dt7lz57rll112mfs7aNAgmz17tk2fPt0WLFhgGzdutK5duwYff+jQIRfE9+/fb5988olNmzbNpk6daiNGjEjYawIAAH8j1gMAkMRJe6VKlaxq1arBW2pqqtWtW9fOO+8827Fjh02ePNkeffRRu+CCC6xp06Y2ZcoUF7AXL17sHv/uu+/aqlWr7IUXXrCTTz7Z2rVrZ/fee69NmDDBBXcAAJBYxHoAAPJJn3YFXgXk66+/3jWbW7ZsmR04cMBatWoV3KZ+/fpWs2ZNW7Rokbuvv40bN7YqVaoEt2nbtq3t3LnTVq5cmeFz7du3z20TegMAAPFFrAcAIImT9lmzZtn27dvt2muvdfc3bdpkRYoUsXLlyoVtp6Ctdd42oUHcW++ty8ioUaOsbNmywVuNGjXi8IoAAEAoYj0AAEmctKt5nJq8VatWLe7PNWzYMNckz7tt2LAh7s8JAMCRjlgPAEDOFTIf+Omnn+y9996zGTNmBJep35ua0alGPrQGXiPKap23zZIlS8L25Y04620TTdGiRd0NAADkDWI9AABJfKVdg85oCheNDuvRYDSFCxe2efPmBZetWbPGTfvSvHlzd19/v/rqK9uyZUtwG41KW6ZMGWvQoEEevwoAAJARYj0AAEl6pT0tLc0F8l69elmhQn8XR/3PevfubYMHD7by5cu74HzTTTe54H3mmWe6bdq0aeMC9tVXX22jR492fduGDx/u5nuldh0AAH8g1gMAkMRJu5rKqUZdI8lGGjt2rBUoUMC6devmRoHVaLETJ04Mri9YsKCbOqZv374uwJcsWdKdEIwcOTKPXwUAAMgIsR4AgNxLCQQCATvCaRoY1fZroBrV8sdK6vJ1MdsXEA8dT6mT6CIAyMO4dCSLW6xfPTNm+wLioWP9LpYMWj/RM9FFALI0t/8LlojY5Is+7QAAAAAAID2SdgAAAAAAfIqkHQAAAAAAnyJpBwAAAADAp0jaAQAAAADwKZJ2AAAAAAB8iqQdAAAAAACfImkHAAAAAMCnSNoBAAAAAPApknYAAAAAAHyKpB0AAAAAAJ8iaQcAAAAAwKdI2gEAAAAA8CmSdgAAAAAAfIqkHQAAAAAAnyJpBwAAAADAp0jaAQAAAADwKZJ2AAAAAAB8iqQdAAAAAACfImkHAAAAAMCnSNoBAAAAAPApknYAAAAAAHyKpB0AAAAAAJ8iaQcAAAAAwKdI2gEAAAAA8CmSdgAAAAAAfIqkHQAAAAAAnyJpBwAAAADAp0jaAQAAAADwKZJ2AAAAAAB8iqQdAAAAAACfImkHAAAAAMCnSNoBAAAAAPApknYAAAAAAHyKpB0AAAAAAJ8iaQcAAAAAwKdI2gEAAAAA8CmSdgAAAAAAfIqkHQAAAAAAnyJpBwAAAADApxKetP/yyy/Ws2dPq1ChghUvXtwaN25sn332WXB9IBCwESNG2NFHH+3Wt2rVyr777ruwfWzdutV69OhhZcqUsXLlylnv3r1t9+7dCXg1AAAgErEeAIAkTdq3bdtmZ599thUuXNjefvttW7VqlT3yyCN21FFHBbcZPXq0jR8/3iZNmmSffvqplSxZ0tq2bWt79+4NbqMgvnLlSps7d66lpqbawoUL7YYbbkjQqwIAAB5iPQAAh6eQJdBDDz1kNWrUsClTpgSX1alTJ6zmfdy4cTZ8+HDr1KmTW/bcc89ZlSpVbNasWXbFFVfYN998Y3PmzLGlS5das2bN3DaPP/64tW/f3h5++GGrVq1aAl4ZAAAQYj0AAEl8pf3NN990wfeyyy6zypUr2ymnnGLPPPNMcP26dets06ZNrpmcp2zZsnbGGWfYokWL3H39VTM5L4iLti9QoICrrY9m3759tnPnzrAbAACIPWI9AABJnLT/8MMP9uSTT1q9evXsnXfesb59+9rNN99s06ZNc+sVxEW17aF031unvzoJCFWoUCErX758cJtIo0aNcicE3k1XAAAAQOwR6wEASOKkPS0tzU499VR74IEHXM27+qb16dPH9WmLp2HDhtmOHTuCtw0bNsT1+QAAOFIR6wEASOKkXaPENmjQIGzZiSeeaOvXr3f/r1q1qvu7efPmsG1031unv1u2bAlbf/DgQTfKrLdNpKJFi7rRZ0NvAAAg9oj1AAAkcdKu0WTXrFkTtuzbb7+1WrVqBQeqUTCeN29ecL36pKn/WvPmzd19/d2+fbstW7YsuM3777/vavbVHw4AACQOsR4AgCQePX7QoEF21llnuSZzl19+uS1ZssSefvppd5OUlBQbOHCg3Xfffa4vnAL7nXfe6UaJ7dy5c7C2/qKLLgo2tTtw4ID179/fjTbLaLIAACQWsR4AgCRO2k877TSbOXOm63c2cuRIF6g17YvmYvUMHTrU9uzZ4/rAqZa9RYsWbtqXYsWKBbd58cUXXfC+8MIL3Uiy3bp1c/O9AgCAxCLWAwBweFICmiD1CKdmeBpZVgPVxLLPW+rydTHbFxAPHU/5e65kAPk/Lh3J4hbrV8+M2b6AeOhYv4slg9ZP9Ex0EYAsze3/giUiNiW0TzsAAAAAAMgYSTsAAAAAAD5F0g4AAAAAgE+RtAMAAAAA4FMk7QAAAAAA+BRJOwAAAAAAPkXSDgAAAACAT5G0AwAAAADgUyTtAAAAAAD4FEk7AAAAAAA+RdIOAAAAAIBPkbQDAAAAAOBTJO0AAAAAAPgUSTsAAAAAAD5F0g4AAAAAgE+RtAMAAAAA4FMk7QAAAAAA+BRJOwAAAAAAPkXSDgAAAACAT5G0AwAAAADgUyTtAAAAAAD4FEk7AAAAAAA+RdIOAAAAAIBPkbQDAAAAAOBTJO0AAAAAAPgUSTsAAAAAAD5F0g4AAAAAgE+RtAMAAAAA4FMk7QAAAAAA+BRJOwAAAAAAPkXSDgAAAACAT5G0AwAAAADgUyTtAAAAAAD4FEk7AAAAAAA+RdIOAAAAAIBPkbQDAAAAAOBTJO0AAAAAAOSXpH3Dhg32888/B+8vWbLEBg4caE8//XSsywYAABKAWA8AQBIn7VdddZXNnz/f/X/Tpk3WunVrF8zvuOMOGzlyZDzKCAAA8hCxHgCAJE7av/76azv99NPd/1977TVr1KiRffLJJ/biiy/a1KlT41FGAACQh4j1AAAkcdJ+4MABK1q0qPv/e++9Z5dccon7f/369e3XX3/N0b7uvvtuS0lJCbtpP569e/dav379rEKFClaqVCnr1q2bbd68OWwf69evtw4dOliJEiWscuXKNmTIEDt48GBOXxYAAPj/iPUAACRx0t6wYUObNGmSffjhhzZ37ly76KKL3PKNGze6gJub/ekEwLt99NFHwXWDBg2y2bNn2/Tp023BggXuObp27Rpcf+jQIRfE9+/f764ATJs2zV0BGDFiRI7LAQAA/odYDwCAfxTK6QMeeugh69Kli40ZM8Z69eplTZo0ccvffPPNYFO6HBWgUCGrWrVquuU7duywyZMn20svvWQXXHCBWzZlyhQ78cQTbfHixXbmmWfau+++a6tWrXJXAapUqWInn3yy3XvvvXbbbbe5mv0iRYpEfc59+/a5m2fnzp05LjcAAPkVsR4AgCS+0n7++efb77//7m7PPvtscPkNN9zgauVz6rvvvrNq1arZscceaz169HBN4GTZsmWueV6rVq2C26o5Xc2aNW3RokXuvv42btzYBXFP27ZtXWBeuXJlhs85atQoK1u2bPBWo0aNHJcbAID8ilgPAECSz9MeCARcoH3qqads165dbplqutXXLCfOOOMM18Rtzpw59uSTT9q6devsnHPOcfvUaLXaZ7ly5cIeo6CtdaK/oUHcW++ty8iwYcNc7b5309Q2AADgb8R6AACStHn8Tz/95Pq2qZZczc40DUzp0qVdUzrdz0kNfLt27YL/P+mkk1xgr1Wrlhuptnjx4hYvGlzHG2AHAACEI9YDAJDEV9oHDBhgzZo1s23btoUFW/V9mzdv3mEVRjXtxx9/vK1du9b1fdOgM9u3bw/bRiPKev3i9DdyhFnvfrS+cwAAIGvEegAAkjhp10iyw4cPTzfwS+3ate2XX345rMLs3r3bvv/+ezv66KOtadOmVrhw4bCTgzVr1rha/+bNm7v7+vvVV1/Zli1bgttolNsyZcpYgwYNDqssAAAcqYj1AAAkcfP4tLQ0N/1KpJ9//tk1ncuJW2+91S6++GLXTE5TvNx1111WsGBBu/LKK92gMb1797bBgwdb+fLlXXC+6aabXPDWaLLSpk0bF7CvvvpqGz16tOvbppMMzfdKkzgAAHKHWA8AQBJfaVfwHDduXPB+SkqKqzVXEG7fvn2O9qXgr6B9wgkn2OWXX+7mftUUL5UqVXLrx44dax07drRu3brZueee65rBzZgxI/h4Bf3U1FT3VwG+Z8+eds0119jIkSNz+rIAAMD/R6wHAMA/UgIaHjaHwVdTrehhmsJFfd70t2LFirZw4UKrXLmyJRtNG6Pafo0uq1r+WEldvi5m+wLioeMpdRJdBAB5GJeyi1iffamrZ8ZsX0A8dKzfxZJB6yd6JroIQJbm9n/BEhGbctw8vnr16vbFF1/YK6+8Yl9++aWreVfTNs27Gs9RYAEAQN4g1gMA4B+FcvWgQoVc8zQAAJA/EesBAEiipP3NN9/M9g4vueSSwykPAABIAGI9AABJnLR37tw5WzvTQDXRRpsFAAD+RqwHACCJk3ZN/QIAAPIvYj0AAPlkyjcAAAAAAODjpH3evHluTtW6deu6m/7/3nvvxb50AAAgIYj1AAAkadI+ceJEu+iii6x06dI2YMAAd9Occu3bt7cJEybEp5QAACDPEOsBAEjiKd8eeOABGzt2rPXv3z+47Oabb7azzz7brevXr1+sywgAAPIQsR4AgCS+0r59+3ZX+x6pTZs2tmPHjliVCwAAJAixHgCAJE7aNTfrzJkz0y1/4403XH83AACQ3Ij1AAAkcfP4Bg0a2P33328ffPCBNW/e3C1bvHixffzxx3bLLbfY+PHjw5rSAQCA5EKsBwDAP1ICgUAgJw+oU6dO9nackmI//PCDJYOdO3da2bJlXZM/DbQTK6nL18VsX0A8dDwle99nAPkjLmUXsT77Ulenb5EA+EnH+l0sGbR+omeiiwBkaW7/FywRsSnHV9rXrSMRBQAgPyPWAwCQ5PO0AwAAAACA+MvxlXa1pn/99ddt/vz5tmXLFktLSwtbP2PGjFiWDwAA5DFiPQAASZy0Dxw40J566ilr2bKlValSxfVnAwAA+QexHgCAJE7an3/+eVfD3r59+/iUCAAAJBSxHgCAJO7TrtHtjj322PiUBgAAJByxHgCAJE7a7777brvnnnvsr7/+ik+JAABAQhHrAQBI4ubxl19+ub388stWuXJlq127thUuXDhs/eeffx7L8gEAgDxGrAcAIImT9l69etmyZcusZ8+eDE4DAEA+RKwHACCJk/a33nrL3nnnHWvRokV8SgQAABKKWA8AQBL3aa9Ro4aVKVMmPqUBAAAJR6wHACCJk/ZHHnnEhg4daj/++GN8SgQAABKKWA8AQBI3j1f/tj///NPq1q1rJUqUSDc4zdatW2NZPgAAkMeI9QAAJHHSPm7cuPiUBAAA+AKxHgCAJB89HgAA5F/EegAAkjhpD7V3717bv39/2DIGrgEAIP8g1gMAkGQD0e3Zs8f69+9vlStXtpIlS9pRRx0VdgMAAMmNWA8AQBIn7RpN9v3337cnn3zSihYtav/+97/tnnvusWrVqtlzzz0Xn1ICAIA8Q6wHACCJm8fPnj3bBezzzz/frrvuOjvnnHPsuOOOs1q1atmLL75oPXr0iE9JAQBAniDWAwCQxFfaNc3LscceG+zT5k370qJFC1u4cGHsSwgAAPIUsR4AgCRO2hXE161b5/5fv359e+2114K18uXKlYt9CQEAQJ4i1gMAkMRJu5rJffHFF+7/t99+u02YMMGKFStmgwYNsiFDhsSjjAAAIA8R6wEASOI+7QrYnlatWtk333xjn3/+uevrdtJJJ8W6fAAAII8R6wEAyCfztEvt2rXdDQAA5E/EegAAkqB5/KJFiyw1NTVsmUaWrVOnjpvH9YYbbrB9+/bFo4wAACAPEOsBAEjipH3kyJG2cuXK4P2vvvrKevfu7ZrNqb+bBqcZNWpUvMoJAADijFgPAEASJ+0rVqywCy+8MHj/lVdesTPOOMOeeeYZGzx4sI0fPz44umxuPPjgg5aSkmIDBw4MLtu7d6/169fPKlSoYKVKlbJu3brZ5s2bwx63fv1669Chg5UoUcJdBdAAOQcPHsx1OQAAOFLFO9YL8R4AgDgl7du2bbMqVaoE7y9YsMDatWsXvH/aaafZhg0bLDeWLl1qTz31VLrBbTQQjmr1p0+f7p5v48aN1rVr1+D6Q4cOuQC+f/9+++STT2zatGk2depUGzFiRK7KAQDAkSyesV6I9wAAxDFpVxD35mxV0NQosmeeeWZw/a5du6xw4cI5LsDu3butR48erhb/qKOOCi7fsWOHTZ482R599FG74IILrGnTpjZlyhQXrBcvXuy2effdd23VqlX2wgsv2Mknn+xOLO699143NY3KCAAAsi9esV6I9wAAxDlpb9++vevP9uGHH9qwYcNc87RzzjknuP7LL7+0unXr5rgAag6n2nP1lwu1bNkyO3DgQNjy+vXrW82aNd1AOaK/jRs3Drsq0LZtW9u5c2dYn7xIGkRH24TeAAA40sUr1ici3hPrAQBH3JRvqtFWU7XzzjvP9TdT07QiRYoE1z/77LPWpk2bHD25+sqpFl/N5SJt2rTJ7b9cuXJhyxWwtc7bJjSAe+u9dRnRIDr33HNPjsoKAEB+F49Yn6h4T6wHABxxSXvFihVt4cKFrhmbAnnBggXD1qsfmpZnl/rEDRgwwObOnWvFihWzvKSrBxpQx6Pa9xo1auRpGQAA8JtYx/pExntiPQDgiGse7ylbtmy6IC7ly5cPq43PiprDbdmyxU499VQrVKiQu2nwGY1Mq/+rBl391LZv3x72OI0mW7VqVfd//Y0cXda7720TTdGiRa1MmTJhNwAAENtYn8h4T6wHAByxSXusaEoZzf+q6WW8W7NmzdwgNd7/NdjNvHnzgo9Zs2aNm/KlefPm7r7+ah86GfCoJl+BuUGDBgl5XQAA4G/EewAA8qh5fKyVLl3aGjVqFLasZMmSbo5Wb3nv3r1d0zbV7Csw33TTTS5weyPZql+dgvXVV19to0ePdv3ahg8f7ga7UQ07AABILOI9AABJmrRnx9ixY61AgQLWrVs3NwqsRoqdOHFicL2a7qWmplrfvn1dcNdJQK9evWzkyJEJLTcAAMg+4j0AABlLCQQCgaw2Uj80NVvTvKoKkLfeequbBia/0OA06r+ngXdi2ectdfn/5roF/KrjKXUSXQQAeRiXMkOsz53U1TNjti8gHjrW72LJoPUTPRNdBCBLc/u/YImITdnq0/7NN9/Ynj173P81fcru3btjV1IAAJBwxHoAAJK4efzJJ59s1113nbVo0cJ0Yf7hhx/OcMqXESNGxLqMAAAgzoj1AAAkcdI+depUu+uuu1x/spSUFHv77bfdNC2RtI5ADgBA8iHWAwCQxEn7CSecYK+88or7vwaKUZ+3ypUrx7tsAAAgjxDrAQDIJ6PHp6WlxackAADAF4j1AAAk+ZRv33//vY0bN84NWiOaO3XAgAFWt27dWJcPAAAkALEeAAB/yNbo8aHeeecdF7iXLFliJ510krt9+umn1rBhQ5s7d258SgkAAPIMsR4AgCS+0n777bfboEGD7MEHH0y3/LbbbrPWrVvHsnwAACCPEesBAEjiK+1qJte7d+90y6+//npbtWpVrMoFAAAShFgPAEASJ+2VKlWyFStWpFuuZYwyCwBA8iPWAwCQxM3j+/TpYzfccIP98MMPdtZZZ7llH3/8sT300EM2ePDgeJQRAADkIWI9AABJnLTfeeedVrp0aXvkkUds2LBhblm1atXs7rvvtptvvjkeZQQAAHmIWA8AQBIn7SkpKW5wGt127drllimwAwCA/IFYDwBAks/T7iGAAwCQvxHrAQBIsoHoAAAAAABA3iBpBwAAAADAp0jaAQAAAADID0n7gQMH7MILL7TvvvsufiUCAAAJQ6wHACCJk/bChQvbl19+Gb/SAACAhCLWAwCQ5M3je/bsaZMnT45PaQAAQMIR6wEASOIp3w4ePGjPPvusvffee9a0aVMrWbJk2PpHH300luUDAAB5jFgPAEASJ+1ff/21nXrqqe7/3377bdi6lJSU2JUMAAAkBLEeAIAkTtrnz58fn5IAAABfINYDAJAPpnxbu3atvfPOO/bXX3+5+4FAIJblAgAACUasBwAgCZP2P/74w00Fc/zxx1v79u3t119/dct79+5tt9xySzzKCAAA8hCxHgCAJE7aBw0a5KaDWb9+vZUoUSK4vHv37jZnzpxYlw8AAOQxYj0AAEncp/3dd991TeWqV68etrxevXr2008/xbJsAAAgAYj1AAAk8ZX2PXv2hNW6e7Zu3WpFixaNVbkAAECCEOsBAEjipP2cc86x5557Lmzql7S0NBs9erS1bNky1uUDAAB5jFgPAEASN49XwNbgNJ999pnt37/fhg4daitXrnS17x9//HF8SgkAAPIMsR4AgCS+0t6oUSP79ttvrUWLFtapUyfXhK5r1662fPlyq1u3bnxKCQAA8gyxHgCAJL7SLmXLlrU77rgj9qUBAAC+QKwHACCJk/Zt27bZ5MmT7ZtvvnH3GzRoYNddd52VL18+1uUDAAAJQKwHACBJm8cvXLjQateubePHj3cBXTf9v06dOm4dAABIbsR6AACS+Ep7v379rHv37vbkk09awYIF3bJDhw7Zv/71L7fuq6++ikc5AQBAHiHWAwCQxFfa165da7fcckswiIv+P3jwYLcOAAAkN2I9AABJnLSfeuqpwf5tobSsSZMmsSoXAABIEGI9AABJ1jz+yy+/DP7/5ptvtgEDBria9jPPPNMtW7x4sU2YMMEefPDB+JUUAADEDbEeAAB/SgkEAoGsNipQoIClpKRYVptqG/V5SzY7d+50U9vs2LHDypQpE7P9pi5fF7N9AfHQ8ZQ6iS4CgDyMS5kh1udO6uqZMdsXEA8d63exZND6iZ6JLgKQpbn9X7BExKZsXWlft47kEwCA/IxYDwBAEvdpr1WrVrZvOaFRaU866SRXq6Bb8+bN7e233w6u37t3rxultkKFClaqVCnr1q2bbd68OWwf69evtw4dOliJEiWscuXKNmTIEDt48GCOygEAwJGOWA8AQD6Z8k02btxoH330kW3ZssXS0tLC1qkfXHZVr17d9Y2rV6+ea443bdo069Spky1fvtwaNmxogwYNsrfeesumT5/umg3079/funbtah9//LF7vJrnKYhXrVrVPvnkE/v111/tmmuuscKFC9sDDzyQm5cGAACI9QAAJFef9lBTp061G2+80YoUKeJqxdW3LbizlBT74YcfDqtA5cuXtzFjxtill15qlSpVspdeesn9X1avXm0nnniiLVq0yA2Mo5r6jh07uhOLKlWquG0mTZpkt912m/3222+ujNlBn3YcqejTDvhT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",
      "text/plain": [
       "<Figure size 1200x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Original class distribution before SMOTE\n",
    "unique, counts = np.unique(labels, return_counts=True)\n",
    "original_dist = dict(zip(unique, counts))\n",
    "\n",
    "# Apply SMOTE to balance the dataset\n",
    "print(\"\\nApplying SMOTE to balance class distribution...\")\n",
    "smote = SMOTE(random_state=42)\n",
    "X_resampled, y_resampled = smote.fit_resample(features, labels)\n",
    "\n",
    "# Class distribution after SMOTE\n",
    "unique_smote, counts_smote = np.unique(y_resampled, return_counts=True)\n",
    "balanced_dist = dict(zip(unique_smote, counts_smote))\n",
    "\n",
    "print(f\"After SMOTE class distribution: {np.bincount(y_resampled)}\")\n",
    "\n",
    "# Plot Before & After SMOTE\n",
    "plt.figure(figsize=(12, 5))\n",
    "\n",
    "plt.subplot(1, 2, 1)\n",
    "sns.barplot(x=list(original_dist.keys()), y=list(original_dist.values()), hue=list(original_dist.keys()), palette=\"Blues\", legend=False)\n",
    "plt.title(\"Class Distribution Before SMOTE\")\n",
    "plt.xlabel(\"Class (0 = No Glaucoma, 1 = Glaucoma)\")\n",
    "plt.ylabel(\"Number of Samples\")\n",
    "\n",
    "plt.subplot(1, 2, 2)\n",
    "sns.barplot(x=list(balanced_dist.keys()), y=list(balanced_dist.values()), hue=list(balanced_dist.keys()), palette=\"Greens\", legend=False)\n",
    "plt.title(\"Class Distribution After SMOTE\")\n",
    "plt.xlabel(\"Class (0 = No Glaucoma, 1 = Glaucoma)\")\n",
    "plt.ylabel(\"Number of Samples\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "f_3a9yg2Kt-a"
   },
   "source": [
    "### Apply Final PCA to Reduce Features to 1024"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 539
    },
    "id": "t3yNx78iflnN",
    "outputId": "1efcbee3-fc26-42ef-ba4c-5896e731a622"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Applying final PCA to reduce overall feature size...\n",
      "Features reduced to 1024 dimensions.\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsAAAAHWCAYAAAB5SD/0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUkZJREFUeJzt3Qm8lOP///HPad+00kYSpYUWRFL4lpSsJb5SVJZ8W1FJotVSCslWEUpUylKIIi2EsoSkTdKqjVbt2/1/vK//457fzJw5dU7NnHOc+/V8PKbTuec+91z3PTPXfOZzf67rTvI8zzMAAAAgILJldAMAAACA9EQADAAAgEAhAAYAAECgEAADAAAgUAiAAQAAECgEwAAAAAgUAmAAAAAECgEwAAAAAoUAGAAAAIFCAAxEWbVqlSUlJdno0aMT+jhnnHGGtWnTJqGPgROj10G/fv3S/XFnz57tHls/M7Ndu3bZ3XffbSVLlnTtvf/++zO6SYiT//znP+4GZFUEwAgcBbb6sI51e+ihhyyzSamtCjoSYc+ePS7oy6zBV/RxKFiwoF1++eX28ccf27/NsGHDEv5F60RcdNFF7hgPHz485v0DBgxw7W/fvr29+eabdvvtt9s333zjXj/bt29P17Z+9dVX1rhxYzv11FMtT548dvrpp9t1111n48aNi1jPf90ocI/lkUceCa3z999/J7t/ypQpdtVVV1mxYsXc45x99tn2wAMP2JYtW5J9gUnN7Vh9km7z5s075pfpa6+9NuZ9P/zwQ7p8oY8n7U/4/hcvXtwuvfRSmzRpUsz1tVzP/cknn2y5cuWy0qVL23//+1+bOXNmzPU/+eQTt12td+TIkQTvDTKrHBndACCjPProo1auXLmIZeeee66VLVvW9u7dazlz5rTM4sorr7RWrVpFLMubN2/CAuD+/fu7/2fWDJB/PDzPs9WrV7sATcHO1KlTrVGjRvZvCoD1oR19JuCyyy5zr0F9mGeU5cuX2/fff++CkbFjx7ogN5oCjIsvvtj69u0bWvb000+714/2qXDhwunS1nfeecduueUWq1Gjht13331WpEgRW7lypX355Zc2cuRIa9GiRcT6Clzfe+89d/yjj/H48ePd/fv27Uv2OAp0n3nmGatevbr16NHDihYtaj/++KO9+OKL9vbbb9uMGTOsYsWKVrlyZfeFIFzPnj2tQIECLsBOS58k5cuXt/T22WefWUbSc9mtWzf3//Xr19vLL79sN954o3uvt2vXzi3X+//OO+90wf15551nXbt2dYmBDRs2uKD4iiuusK+//touueSSiG3r9azXtc726TXcoEGDDNlHZDAPCJhRo0Z5eul///33GdqOsmXLeq1btz7memprx44dvfTy119/ucfs27dvXLd78OBBb//+/Se8nVjHY/HixW5548aNT3j70Y8V7+MQ7pxzzvEuv/xyLzPq06ePV7x4ce+9997zkpKSvJUrVyZbp1y5ct4111wTseypp55yxy3W+idi9+7dKd5XpUoVdyxjvb42bdoU8bva1qRJEy9btmze5MmTI+77+uuv3f3NmjVzP/Ve8I0bN84tu+WWW7xDhw5F/N23337r5cuXz6tatap7naf1uT7RPkl9SfTz4NM2tW09xr9FrP3ZsGGDlz9/fu/ss89O9lq7//77vSNHjiTbzpgxY9xzE27Xrl1uO88//7x33nnneW3atEngniAzowQCSEUNsLJZyt78+eef1qRJE/f/U045xWWEDh8+HPH3yoAp46BTpMrSXnDBBfbuu+8mtM1qlzIhJUqUsNy5c9s555xjr7/+esQ6Bw4csD59+rj2FCpUyPLnz+9OK86aNSti37VfoiyefwrSr4NNqS5Qx0cZlfDt6O90LIYOHWpnnXWWa9fixYvd/UuXLrWbbrrJZdCUbatZs6Z9+OGHx73/yrgpk7pixYqI5fv373fZSWXQ9PhlypSxBx980C2PXq9Lly5u30866SS7/vrrbd26dcfcT5+Oj386O9xbb73lygjy5cvnspLK7PqZNW1n0aJF9sUXX4SOs39sU6oBVqZTz59eV9rf2267zT330W1M7Wv1aFQ6oOdIp9b1egkvJfDbpyyrSk/89uuxu3fv7tZRJtNfrtdD+DHx90HPf/PmzW3t2rURj63joLMx8+fPd8dMx+/hhx9Osa163i+88MKYGXOdPo+mMgltN7o8QpnBqlWruseOpveDnsNXXnnFsmfPHnGfnmNlhBcuXJjw93o8bNy40e644w477bTT3PuiVKlSdsMNN0Q8T9Hvdf85nzhxoj3xxBPub/XeVZb1999/T/YYL730kp155pnuedbxmTNnzgnVFSuzq/e5XnOiMyQDBw60SpUquX4m1vtPJTl67HDKDOtvb775Zvfa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7ILfAwcO2DfffGNvvPGGC2779OkTWmflypVunXr16tnPP/9s999/v91999326aefpvs+AwAAIGMleZ7nWSbx119/uQyuAt3LLrvMduzYYaeccoqNGzfObrrpJrfO0qVLrXLlyjZ37ly7+OKLberUqXbttde6wLhEiRJunREjRliPHj3c9nLlyuX+//HHH9uvv/4aeqzmzZvb9u3bbdq0acds186dO61QoUKuPQULFrT0kpSUbg8FIINknh4YAP7d0hKvZaoaYDVYihYt6n7Onz/fZYUbNGgQWqdSpUp2+umnuwBY9LNq1aqh4FcaNWrkDsKiRYtC64Rvw1/H30a0/fv3u78PvwEAACBryDQB8JEjR1xpQp06dezcc891yzZu3OgyuIULF45YV8Gu7vPXCQ9+/fv9+462jgLbvXv3xqxN1jcI/1amTJk47y0AAAAs6AGwaoFVovD2229ndFOsZ8+eLhvt39auXZvRTQIAAECc5LBMoFOnTjZlyhT78ssv7bTTTgstL1mypBvcplrd8CywZoHQff463333XcT2/FkiwteJnjlCv6s+JG/evMnao5kidAMAAEDWk6EZYI2/U/A7adIkmzlzppUrVy7i/gsuuMBy5sxpM2bMCC3TNGma9qx27drud/1cuHChbd68ObSOZpRQcFulSpXQOuHb8NfxtwEAAIDgyNBZIDp06OBmePjggw+sYsWKoeWqu/Uzs+3bt7dPPvnETW2moLZz585uuaY886dBq1GjhpUuXdoGDx7s6n1vv/12N83ZgAEDQtOgqa5YZRZ33nmnC7bvvfdeNzOEBsMdC7NAAEgUZoEAgPhIS7yWoQFwUgoR3qhRo6xNmzahC2F069bNxo8f72ZnUMA6bNiwUHmDrF692gXKuthF/vz5rXXr1vbkk09ajhz/V+Gh+zSn8OLFi12ZRe/evUOPcSwEwAAShQAYAAIWAP9bEAADSBR6YAAI+DzAAAAAQKIRAAMAACBQCIABAAAQKATAAAAACBQCYAAAAAQKATAAAAAChQAYAAAAgUIADAAAgEAhAAYAAECgEAADAAAgUAiAAQAAECgEwAAAAAgUAmAAAAAECgEwAAAAAoUAGAAAAIFCAAwAAIBAIQAGAABAoBAAAwAAIFAIgAEAABAoBMAAAAAIlLgEwNu3b4/HZgAAAIDMFwAPGjTIJkyYEPr9v//9rxUrVsxOPfVUW7BgQbzbBwAAAGRsADxixAgrU6aM+//06dPdberUqda4cWPr3r17fFsHAAAAxFmOtP7Bxo0bQwHwlClTXAa4YcOGdsYZZ1itWrXi3T4AAAAgYzPARYoUsbVr17r/T5s2zRo0aOD+73meHT58OL6tAwAAADI6A3zjjTdaixYtrEKFCrZlyxZX+iA//fSTlS9fPt7tAwAAADI2AH722WdduYOywIMHD7YCBQq45Rs2bLAOHTrEt3UAAABAnCV5ql3AUe3cudMKFSpkO3bssIIFC6bb4yYlpdtDAcgg9MAAkP7xWpozwLJ8+XKbNWuWbd682Y4cORJxX58+fY5nkwAAAEC6SHMAPHLkSGvfvr2dfPLJVrJkSUsKS1Pq/wTAAAAAyFIB8OOPP25PPPGE9ejRIzEtAgAAADLTNGjbtm2zm2++OTGtAQAAADJbAKzg97PPPktMawAAAIDMVgKhuX579+5t8+bNs6pVq1rOnDkj7r/33nvj2T4AAAAgY6dBK1euXMobS0qyP/74w7IapkEDkChMgwYA/4Jp0FauXHkibQMAAAD+XTXA4ZQ85joaAAAAyPIB8JgxY1z9b968ed2tWrVq9uabb8a/dQAAAECcpbkEYsiQIW4QXKdOnaxOnTpu2VdffWXt2rWzv//+27p06RLvNgIAAAAZOwiuf//+1qpVq4jlb7zxhvXr1y9L1ggzCA5AolBFBgDpH6+luQRiw4YNdskllyRbrmW6DwAAAMjMsh3PPMATJ05MtnzChAlWoUKFeLULAAAAyBw1wCp/uOWWW+zLL78M1QB//fXXNmPGjJiBMQAAAPCvzgA3a9bMvv32Wzv55JNt8uTJ7qb/f/fdd9a0adPEtBIAAADIqEFwQcQgOACJQg8MAJn0SnDaoL8h/f9o0jNABAAAANIqVQFwkSJF3AwPxYsXt8KFC1tSjNSkEslafvjw4TQ3AgAAAMhUAfDMmTOtaNGi7v+zZs1KdJsAAACAhKEGOBWoAQaQKPTAAPAvuBDGtGnT3KWPfS+99JLVqFHDWrRoYdu2bTu+FgMAAADpJM0BcPfu3UMD4RYuXGhdu3a1q6++2l0CWf8HAAAAstSFMBToVqlSxf3/vffes+uuu84GDBhgP/74owuEAQAAgCyVAc6VK5ft2bPH/f/zzz+3hg0buv9rkNyxpkgDAAAA/nUZ4Lp167pSB10GWVd/mzBhglv+22+/2WmnnZaINgIAAAAZlwF+8cUXLUeOHPbuu+/a8OHD7dRTT3XLp06daldddVX8WgYAAAAkANOgpQLToAFIFHpgAMikl0KOduTIEfv9999t8+bN7v/hLrvssuPZJAAAAJAu0hwAz5s3z835u3r1anf543BcChkAAABZLgBu166d1axZ0z7++GMrVaqUC3oBAACALBsAL1++3A2AK1++fGJaBAAAAGSmWSBq1arl6n8BAACAQATAnTt3tm7dutno0aNt/vz59ssvv0Tc0uLLL790V5IrXbq0K6WYPHlyxP1t2rRxy8Nv0VOtbd261Vq2bOlG+xUuXNjuuusu27VrV8Q6atell15qefLksTJlytjgwYPTutsAAAAIaglEs2bN3M8777wztEyBqQbEpXUQ3O7du6169epuWzfeeGPMdRTwjho1KvR77ty5I+5X8LthwwabPn26HTx40O644w675557bNy4caEpMXS1ugYNGtiIESNs4cKF7vEULGs9AAAABEuaA+CVK1fG7cEbN27sbkejgLdkyZIx71uyZIlNmzbNvv/+ezcwT1544QW7+uqr7emnn3aZ5bFjx9qBAwfs9ddfd5dxPuecc+znn3+2IUOGEAADAAAEUJoD4LJly1p6mj17thUvXtyKFCli9evXt8cff9yKFSvm7ps7d67L5PrBryjTmy1bNvv222+tadOmbh3NTazg19eoUSMbNGiQbdu2zW032v79+93NpywyAAAAAloDLG+++abVqVPHZVg1H7AMHTrUPvjgg7g2TuUPY8aMsRkzZriA9YsvvnAZY7/MYuPGjS44DqfLNBctWtTd569TokSJiHX83/11og0cONBdScS/qW4YAAAAAQ2Ahw8fbl27dnVlBtu3bw8Fo8rEKgiOp+bNm9v1119vVatWtSZNmtiUKVNcuYOywonUs2dPdxk9/7Z27dqEPh4AAAAycQCsGtuRI0faI488YtmzZw8tVxmCBpgl0plnnmknn3xyaBo21QbrcszhDh065GaG8OuG9XPTpk0R6/i/p1RbrLpjzSoRfgMAAEBAA2ANgjvvvPNiBo2a1SGR1q1bZ1u2bHFXoJPatWu7LLSmY/PNnDnTjhw54uYr9tfRdGuaIcKnGSMqVqwYs/4XAAAAWVuaA+By5cq5WRSiaTaGypUrp2lb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ml6BAgW8U045xbvhhhu8pUuXRvzd5Zdfnuw4/u9//0u2/VGjRnlVq1b1cufO7bbVoUOHiPv1Gqpbt667/7TTTvMGDRoUcf9ff/3l2rdixYpU7Q+QCN988417X1199dXJ7vvkk0+8nDlzel9//bV7Px08eDDUzyVKrPefbnrszZs3e7t3745736l+ICWzZs2KaEfx4sW9G2+8Mdn7Vn3bTTfd5O7Xe758+fLe3Xff7S1btizZNhs2bOiO+XfffZeqNv7888+uD/3nn39Cy9577z3Xp2q52vXTTz8l+7u9e/e6fknr5M+f37V748aNEdtVf6v+KU+ePF6lSpW8oUOHptiOr776ysuePXuyvn/hwoVekSJFvO3bt6dqf3D8yAAjrq666irbsGGDu+lKezly5LBrr702TdtYsWKF+3nDDTe4S1Uf75yRBw8etHjsh38rV66cy96cdNJJx73dE/H555+7dnz66ae2a9cua9y4sW3fvt3d98MPP7irHf7222/28ssv2+LFi23SpElWqVIl69atW8R29uzZY2+//bY9+OCD9vrrr6fqsV999VW75JJLrGzZsqFlX3zxhXXs2NHmzZtn06dPd8e7YcOG7gIz4dq2bRtxHAcPHhxx/5AhQ+yRRx5xWdxFixa5/WzUqFHo/p07d7rt6rHnz59vTz31lMuav/LKKxGXO9ffDB8+PI1HFYif1157zZ2J+PLLL239+vXJ+rVSpUq595H6NfWN8XK0vi76/aebHvuUU06xfPnyWUZYtmyZOz7vvPOOe89fd911dvjwYXfflClT7OKLL7b9+/fb2LFjbcmSJfbWW2+5y9vqLFS4NWvW2DfffGOdOnVKdV/2wgsv2M0332wFChQILVOfVbduXRs0aFCKf9elSxf76KOPXJvV96n9N954Y+h+9U3Fixd3bdU+qU/r2bOnvfjii8m2pX67VatWdsUVVyS779xzz7WzzjrLbQcJdgLBM3DMb/9z5sxx36iVbfCtWbPGu/nmm71ChQq5b7rXX3+9y3L62dDobIUcPnzY69+/fyi7qW/NU6dOTZYlffvtt73LLrvMZQ2UVZSRI0e6b+NaVrFiRe+ll15K836EZ1Tuu+++0O9ly5b1nnjiCe+OO+5wmdAyZcp4L7/8csTfPPjgg16FChW8vHnzeuXKlfN69erlHThwIM0Z4PCshLJIWjZt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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Final PCA reduction after SMOTE\n",
    "print(\"\\nApplying final PCA to reduce overall feature size...\")\n",
    "\n",
    "pca_final = PCA(n_components=1024)\n",
    "X_resampled = pca_final.fit_transform(X_resampled)\n",
    "\n",
    "print(f\"Features reduced to {X_resampled.shape[1]} dimensions.\")\n",
    "\n",
    "# Final PCA reduction graph (After SMOTE)\n",
    "plt.figure(figsize=(8, 5))\n",
    "plt.bar([\"Before Final PCA (2560)\", \"After Final PCA (1024)\"], [2560, 1024], color=['blue', 'orange'])\n",
    "plt.xlabel(\"Feature Stage\")\n",
    "plt.ylabel(\"Feature Dimensions\")\n",
    "plt.title(\"Final Feature Reduction After SMOTE Using PCA\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "HhoPVY0jK6SV"
   },
   "source": [
    "### XGBoost Training & Visualization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "id": "qahHBRY4lhsO",
    "outputId": "6c2dd838-58dc-4296-93e9-0cf82e8ab79a"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Training XGBoost Classifier...\n",
      "[0]\tvalidation_0-logloss:0.45560\tvalidation_0-error:0.01554\tvalidation_1-logloss:0.46802\tvalidation_1-error:0.04138\n",
      "[1]\tvalidation_0-logloss:0.32191\tvalidation_0-error:0.01641\tvalidation_1-logloss:0.34446\tvalidation_1-error:0.03448\n",
      "[2]\tvalidation_0-logloss:0.23532\tvalidation_0-error:0.01468\tvalidation_1-logloss:0.26723\tvalidation_1-error:0.03103\n",
      "[3]\tvalidation_0-logloss:0.17653\tvalidation_0-error:0.01382\tvalidation_1-logloss:0.21762\tvalidation_1-error:0.02759\n",
      "[4]\tvalidation_0-logloss:0.13486\tvalidation_0-error:0.01036\tvalidation_1-logloss:0.18597\tvalidation_1-error:0.02759\n",
      "[5]\tvalidation_0-logloss:0.10631\tvalidation_0-error:0.01036\tvalidation_1-logloss:0.16276\tvalidation_1-error:0.02759\n",
      "[6]\tvalidation_0-logloss:0.08254\tvalidation_0-error:0.00691\tvalidation_1-logloss:0.14893\tvalidation_1-error:0.02759\n",
      "[7]\tvalidation_0-logloss:0.06532\tvalidation_0-error:0.00691\tvalidation_1-logloss:0.14048\tvalidation_1-error:0.02759\n",
      "[8]\tvalidation_0-logloss:0.05232\tvalidation_0-error:0.00518\tvalidation_1-logloss:0.13495\tvalidation_1-error:0.02759\n",
      "[9]\tvalidation_0-logloss:0.04225\tvalidation_0-error:0.00259\tvalidation_1-logloss:0.13105\tvalidation_1-error:0.02759\n",
      "[10]\tvalidation_0-logloss:0.03403\tvalidation_0-error:0.00000\tvalidation_1-logloss:0.13092\tvalidation_1-error:0.02759\n",
      "[11]\tvalidation_0-logloss:0.02806\tvalidation_0-error:0.00000\tvalidation_1-logloss:0.13070\tvalidation_1-error:0.02759\n",
      "[12]\tvalidation_0-logloss:0.02345\tvalidation_0-error:0.00000\tvalidation_1-logloss:0.13129\tvalidation_1-error:0.02759\n",
      "\n",
      "XGBoost training complete!\n",
      "\n",
      "Model Accuracy: 97.24%\n",
      "\n",
      "Classification Report:\n",
      "               precision    recall  f1-score   support\n",
      "\n",
      "           0       0.95      1.00      0.97       139\n",
      "           1       1.00      0.95      0.97       151\n",
      "\n",
      "    accuracy                           0.97       290\n",
      "   macro avg       0.97      0.97      0.97       290\n",
      "weighted avg       0.97      0.97      0.97       290\n",
      "\n",
      "\n",
      "Available keys in evals_result: dict_keys(['validation_0', 'validation_1'])\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAHWCAYAAABACtmGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAc59JREFUeJzt3Qmc1PMfx/F3bfd96U5FqEjRpSJHKaRESOhwixIVOnRJB/m7KlLocJWQW44UIkoHRbrvdB+r+5r/4/P7md3ZbXZ2tz1+Mzuv5+PxszO/+c3Md2Z29XvP9/v9fLP5fD6fAAAAAABJyp70TQAAAAAAQ3ACAAAAgGQQnAAAAAAgGQQnAAAAAEgGwQkAAAAAkkFwAgAAAIBkEJwAAAAAIBkEJwAAAABIBsEJAAAAAJJBcAKAdNSpUydVqlTplO47cOBAZcuWLd3bFMlmzZrlvCf2M7Xv8dq1a537TpgwIV3bZM9tbQAARBeCE4CoYCfQKdkCT9CjzYkTJ/Tss8/qrLPOUt68eXXmmWeqc+fO2rdvX4ruf/755+v000+Xz+dL8phGjRqpVKlSOnbsmMLZzz//7ATZPXv2KFxYALTf0d9++02RYNGiRbr99ttVoUIF5c6dW8WKFVPTpk01fvx4HT9+3OvmAUCq5Uj9XQAg8rz55psJrk+aNEnffPPNSfurVauWpucZN26cE0BOxRNPPKFevXrJKy+++KIeffRRtW7d2vm5bt06vfvuu3r88cdVoECBZO9/2223Oe3/8ccf1bhx46A9QHPmzFGXLl2UI0cOT97j1ASnQYMGOT1LRYoUSXDbsmXLlD073zuG8tprr+n+++93QnL79u2dMP7vv/9qxowZuuuuu/TPP/+oT58+XjcTAFKF4AQgKtg334F++eUXJzgl3p/YgQMHlC9fvhQ/T86cOU+5jRYm0hIo0mry5Mk699xz9eGHH8YNGRw8eHCKQ8qtt96q3r1765133gkanCyEWW+UBay0SMt7nB6s9wRJs78tC00NGjTQF198oYIFC8bd9vDDDzs9ZkuWLEmX59q/f7/y58+fLo8FAMnhKzMA+M9ll12m8847T/Pnz3dO/C0w+b8V//jjj9WiRQuVLVvWOXG2YWwWKhIPOUo8/8Y/z8aGwI0dO9a5n92/bt26mjdvXrJznOy69dB89NFHTtvsvhZupk+fflL7bZhhnTp1lCdPHud5Xn311VTNm7JeFAtJgcfbvpSGORuSZe/b+++/r6NHj550uwUqa1f9+vWd3qwHHnhA55xzjjMssHjx4rrpppuc9ys5weY42ZA621+4cGGnh6hjx45Bh9n98ccfznFnnHGG8z6VLl1ad955p3bu3Bl3jL1n1uNmKleuHDeM09+2YHOcVq9e7bTfhqPZ781FF12kzz//POh8rffee09DhgxR+fLlnTY0adJEK1euVHpZuHChrr76ahUqVMjpKbTHtzATyD4f61GzniBrg73/F198sfNlgt+WLVt0xx13OO2037syZcrouuuuS/Yzsse11/n2228nCE1+9jvqf/+CzWFLan6a3cdez6pVq3TNNdc4j20h3P4+bL99yZFYu3btnM848O/0yy+/1CWXXOIELnsM+7v+888/U/TeAohu9DgBQAA7gbaTzltuucXpjbKhRsZO4OzkrHv37s7P7777Tv3791dsbKxGjBiR7ONaaLChSvfdd59zQvjMM8/ohhtucE64k+tBmT17ttMLZEHDTvReeukltWnTRuvXr3dOeP0ny1dddZVzcmsnrnai+OSTT+q0005L8Wu3k2RrnwUu+3kq7ET23nvv1VdffaVrr702bv/ixYudXgZ7z4yFRhsOZ++znZjbifIrr7zihNe//vorVb181otlJ/T2PllPhw23nDZtmhOeErNgYO+5vVY7obYTZgu09tPChX029rksX77c6SF7/vnnVaJECee+Sb2XW7duVcOGDZ0T94ceesj5TCZOnKhWrVo5IfL6669PcPzw4cOdQNqzZ0/t3bvX+V2w9+3XX39VWtnrsFBgoemxxx5zfrfs87T39fvvv3dCqz8cDhs2THfffbfq1avn/B5bT9CCBQt05ZVXOsfY75g9XteuXZ2wuG3bNuf9s9+7pIpz2Htgw/EsQNt8t/Rmc+OaN2/uhDz7MsJ+T6wto0ePdoKqhdfAtnz66adO4IqJiXH22dBc+72wx3j66aedY+z3zh7P/oZOtbALgCjhA4Ao9OCDD1oFgwT7Lr30UmffmDFjTjr+wIEDJ+277777fPny5fMdOnQobl/Hjh19FStWjLu+Zs0a5zGLFy/u27VrV9z+jz/+2Nn/6aefxu0bMGDASW2y67ly5fKtXLkybt/vv//u7B85cmTcvpYtWzpt2bRpU9y+FStW+HLkyHHS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Fn4oX768ChQokKbHITgBAADAMydOnNCaNWucHgFbhDRXrlwpqnAGpLQnc/v27dq4caPOOuusNPU8EZwAAADgaW+ThSdbSydfvnxeNwdZ0Gmnnaa1a9fq6NGjaQpOFIcAAACA57Jn57QUGSO9ejD5DQUAAACAZBCcAAAAACAZBCcAAAAgDFSqVEkvvPBCio+fNWuWMwxtz549GdouuAhOAAAAQCpYWAm1DRw48JQed968ebr33ntTfHzDhg2dMu6FCxdWRiKguaiq57V9+6T8+e0v0OuWAAAAIAUsrPhNmTJF/fv317Jly+L2Ba4XZOWwbVHfHDlypKj6W2pY6fbSpUun6j44dfQ4eem116TKlaXPP/e6JQAAAGHB55P27/dms+dOCQsr/s16e6w3xn/977//VsGCBfXll1+qdu3ayp07t2bPnq1Vq1bpuuuuU6lSpZxgVbduXX377bchh+rZ47722mu6/vrrnVLttg7RJ598kmRP0IQJE1SkSBF99dVXqlatmvM8V111VYKgd+zYMT300EPOccWLF9fjjz+ujh07qnXr1qf8me3evVsdOnRQ0aJFnXZeffXVWrFiRdzt69atU8uWLZ3b8+fPr3PPPVdffPFF3H1vu+02JzTmzZvXeY3jx49XOCI4eWn5cmnHDunRR6WjR71uDQAAgOcOHLAeG282e+700qtXLw0fPlxLly7V+eefr3379umaa67RjBkztHDhQifQWJhYv359yMcZNGiQbr75Zv3xxx/O/S1k7Nq1K8T7d0DPPvus3nzzTf3www/O4/fs2TPu9qefflpvv/22E05++uknxcbG6qOPPkrTa+3UqZN+++03J9TNmTPH6WWzttq6SebBBx/U4cOHnfYsXrzYaYO/V65fv37666+/nKBp79Urr7yiEiVKKBwxVM9LffpIlqj//lsaO9Z+q7xuEQAAANLBk08+qSuvvDLuerFixVSzZs2464MHD9a0adOcsNGlS5eQoaRdu3bO5aFDh+qll17S3LlzneAVjIWVMWPG6Mwzz3Su22NbW/xGjhyp3r17O71YZtSoUXG9P6dixYoVzmuwEGZzrowFM1vQ2ALZTTfd5IS3Nm3aqEaNGs7tZ5xxRtz97bYLLrhAderUiet1C1cEJy8VKSLZ5EH7Y7Gft93m7gMAAIhS+fK5U8C9eu704g8CftbjZEUjPv/8c2fonA2ZO3jwYLI9TtZb5WfD3AoVKqRt27YlebwNlfOHJlOmTJm44/fu3autW7eqXr16cbfHxMQ4QwpPnDhxSq9z6dKlzvyt+vXrx+2zIYDnnHOOc5uxoYGdO3fW119/raZNmzohyv+6bL9dX7BggZo1a+YMGfQHsHDDUD2vWeWUqlXdIXtDh3rdGgAAAE9ZvSyrm+XFlp61uizkBLLhctbDZL1GP/74oxYtWuT0wBw5ciTk4+TMmTPR+5MtZMgJdrwNnfPS3XffrdWrV6t9+/bOUD0LldbzZWw+lM2BeuSRR7R582Y1adIkwdDCcEJw8pr9co8Y4V5+8UVpzRqvWwQAAIB0ZkPZbNidDZGzwGSFJNauXZupbbBCFlacwsqe+1nFP+vtOVXVqlVzes9+/fXXuH07d+50qgxWr149bp8N3bv//vv14YcfqkePHho3blzcbVYYwgpUvPXWW05xjLE2hSUMMVQvHLRoITVpIs2YYTMJra6l1y0CAABAOrJqcRYarCCE9QJZUYRTHR6XFl27dtWwYcNUpUoVVa1a1en5scp21qbkLF682KkY6Gf3sXlbVi3wnnvu0auvvurcboUxypUr5+w3Dz/8sNOzdPbZZzvPNXPmTCdwGSvlbkMFrdKeFZD47LPP4m4LNwSncGC/qP/7n3TBBdJ779lvl9SggdetAgAAQDp57rnndOeddzrzd6xqnJUBt4p2mc2ed8uWLU75cJvfZAvuNm/e3LmcnMaNGye4bvex3iar0NetWzdde+21ztBDO84KTviHDVqvllXW27hxozNHywpbPP/883FrUVmxCut9s3Lkl1xyiSZPnqxwlM3n9aDHTGa/oNZNaZPj7IMLK3fdJb3xhnTRRdLPP7MoLgAAyPIOHTqkNWvWqHLlysqTJ4/XzYk61utlPTxW8twq/UXb71hsKrIBc5w8Nnt2wJoB9stq5Vx++cXteQIAAADSkRVisPlFy5cvd4beWVU7CxW33nqr100LewQnD91zj3TJJdIrr/y3o2xZ6z91L9vPQ4e8bB4AAACymOzZs2vChAmqW7euGjVq5ISnb7/9NmznFYUTgpOH/CXqhw+X/v33v509ergBat066aWXvGweAAAAshirbmcV/mxomg1T+/nnn0+au4TgCE4eat9eOuccdwmnF174b6fV/Pev5zRkiLR9u5dNBAAAAEBw8laOHNKgQe7lZ5+Vdu0KSFRWYc8qrQwc6GUTAQAAABCcvHfTTdL557sZycKTI3t2tzy5efVVaelSL5sIAAAARD2Ck8csI/krP774orRt2383XH651KqVFb6XHn3UyyYCAAAAUY/gFAZatpTq1XPLkg8bFnDDM8+44/k+/1z69lsPWwgAAABEN4JTGLB1bp96yr1spck3bvzvBqsc0blzfLU9630CAAAAkOkITmGiaVPp0kulw4fjQ5RjwACpSBHpjz+kCRM8bCEAAADS02WXXaaHH3447nqlSpX0Qlyp5eCyZcumjz76KM3PnV6PE00ITmHY6/T669Lq1f/dULy49MQT7mX7uW+fZ20EAACATbNoqauuuirobT/++KMTSv6wL71Tad68ebr33nuVngYOHKhatWqdtP+ff/7R1VdfrYw0YcIEFbEOgCyC4BRGLr5Ysr/BY8fiy5Q7unSRzjhD2rLFnfcEAAAAz9x111365ptvtDFufkW88ePHq06dOjrfyian0mmnnaZ8+fIpM5QuXVq5c+fOlOfKKghOYcbf6/TWWwFVyO2X+umn3ctWszzIHykAAECW4PNJ+/d7s9lzp8C1117rhBzrUQm0b98+TZ061QlWO3fuVLt27VSuXDknDNWoUUPvvvtuyMdNPFRvxYoVaty4sfLkyaPq1as7YS2xxx9/XGeffbbzHGeccYb69euno0ePOrdZ+wYNGqTff//d6QWzzd/mxEP1Fi9erCuuuEJ58+ZV8eLFnZ4vez1+nTp1UuvWrfXss8+qTJkyzjEPPvhg3HOdivXr1+u6665TgQIFVKhQId18883aunVr3O3W7ssvv1wFCxZ0bq9du7Z+++0357Z169Y5PX9FixZV/vz5de655+qLL75QRsqRoY+OVKtdW7r+emnaNKl/f2nq1P9uaNNGatRI+uknd8ge850AAEBWZGWGCxTw5rktKOTPn+xhOXLkUIcOHZwQ0rdvXyeEGAtNx48fdwKThQ470bdgYyf9n3/+udq3b68zzzxT9ayccjJOnDihG264QaVKldKvv/6qvXv3JpgP5WehwtpRtmxZJ/zcc889zr7HHntMbdu21ZIlSzR9+nR9+1+F5sKFC5/0GPv371fz5s3VoEEDZ7jgtm3bdPfdd6tLly4JwuHMmTOd0GQ/V65c6Ty+DQO050wte33+0PT999/r2LFj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771Xu3btyvDnBgCEF4ITACBJFpT++ecfZ7OgkiNHDl177bVeN0sFChRwglxmOPfcc53Xv379eo0fP17Tp09X586dM+W5AQDhg+AEAEhS7ty5Vbp0aWezoXG9evXShg0btH379rhjFi9erCuuuEJ58+Z1woz1yOzbty/u9hMnTujJJ59U+fLlncezx7Hw4XfkyBF16dJFZcqUUZ48eVSxYkUNGzbMua1SpUrOz+uvv97p9fFfTzxUzz9k7dlnn3Uex9rx4IMP6ujRo3HHWPhp0aKF087KlSvrnXfecR7vhRdeCPkeWFi011+uXDk1bdpUN910k7755psUv75Zs2Y5bd+zZ0/cvkWLFjn71q5d61yfMGGCihQpoq+++krVqlVzgqE/tPodP35c3bt3d46z1/fYY4/J5/MlaOv777+vGjVqxH0W1t79+/cn+zkDAJJHcAIApIiFobfeektVqlSJ6+2xk/LmzZuraNGimjdvnqZOnapvv/3WCUJ+L774ov73v/85ocaG+dnxrVq10ooVK5zbX3rpJX3yySd67733tGzZMr399ttxAcke01hPj4UI//VgZs6cqVWrVjk/J06c6IQR2/w6dOigzZs3O0Hmgw8+0NixY7Vt27ZUvQcWdCzc5MqVK8WvL6UOHDjgPMabb76pH374wenhsiGJfvYc9nreeOMNzZ492xkuOG3atLjb7f1p166d7rzzTi1dutR5nTfccMNJ4QoAcIp8AAAE0bFjR19MTIwvf/78zmb/ZJQpU8Y3f/78uGPGjh3rK1q0qG/fvn1x+z7//HNf9uzZfVu2bHGuly1b1jdkyJAEj123bl3fAw884Fzu2rWr74orrvCdOHEiaDvseadNm5Zg34ABA3w1a9ZM0NaKFSv6jh07Frfvpptu8rVt29a5vHTpUudx5s2bF3f7ihUrnH3PP/98ku+BPY+9Fnv9efLkcY637bnnnos7JrnXN3PmTOc+u3fvjrt94cKFzr41a9Y418ePH+9cX7lyZdwxo0eP9pUqVSruur33zzzzTNz1o0eP+sqXL++77rrrnOv2udhjrF27NsnXAwA4dfQ4AQCSdPnllzvDymybO3eu05ty9dVXa926dc7t1rNRs2ZN5c+fP+4+jRo1coavWe9RbGys08tj+wLZdbuvf5idPf4555yjhx56SF9//fUpz0WyAg5+NmTP36NkbbEhdxdeeGHc7dZzZj1lybF2Wfust+vxxx933oOuXbs6t6Xk9aVUvnz5dOaZZwZt/969e50epfr168fdbq+nTp06cdftc2jSpIkzVM+GE44bN067d+9OVRsAAEkjOAEAkmSByAKGbXXr1tVrr73mDM+zk/L0YmFmzZo1Gjx4sA4ePKibb75ZN954Y6ofJ2fOnAmu2xwiC3BpZcPy7PWfd955Gj58uBPOBg0alOL7Z8/u/lMbOGQucO5VqPanZpidtcvmXn355ZeqXr26Ro4c6YQ+e28BAGlHcAIApJidzFsQsIBjrJDB77//nqAAwU8//eQcYyfthQoVUtmyZZ19gey6ndz72XFt27Z1AtmUKVOcOUj+kt8WKKwwQlpYW44dO6aFCxfG7Vu5cuUp9cg88cQTzlwk62lKyes77bTTnJ+BhR6sBys1Chcu7PRA/frrr3H77PXMnz//pM/Herss2NlrtdAXOA8KAHDqcqThvgCALO7w4cPasmWLc9lCxqhRo5wiES1btnT23XbbbRowYIA6duzoVLqzans2jK19+/YqVaqUc8yjjz7qHGPD0KzinBV6sOBgRSDMc88954SCCy64wAlcVmDCqthZ9ThjhSKsFLoFAqtal5LhdYlVrVrVqTBnFf9eeeUVJ4z16NHDqT5nYSM1GjRooPPPP19Dhw513o/kXp/1Vtn6T/b+DBkyRMuXL3cKPaRWt27dnB6vs846y3k99r4FVuqzUGXvU7NmzVSyZEnnun0eFm4BAGlHcAIAJMnKaluoMQULFnRO2C3YXHbZZXHzcqzKnJ3U21A+u96mTRvnpN7P5i3ZHB0LKjZnx3pirIqeBQD/4z7zzDNOFTobbmaP88UXX8QNcbOQYWW4rTfKSoL7S3in1qRJk3TXXXepcePGTjCzkud//vmnUwI9tR555BFnbpbNeUru9VlIe/fdd521nyxw2et76qmnnHlIqWGPb71WFlLtvbHqeVam3Z7bWO+XVeOz8uo298rKutt7Z3PSAABpl80qRKTD4wAAEFE2btzo9ARZ+XQrqgAAQCgEJwBAVPjuu++cYYZWdc56bmwB2U2bNjlD5xIXZgAAIDGG6gEAooJVsuvTp49Wr17tDA9s2LChMw+J0AQASAl6nAAAAAAgGZQjBwAAAIBkEJwAAAAAIBkEJwAAAABIBsEJAAAAAJJBcAIAAACAZBCcAAAAACAZBCcAAAAASAbBCQAAAAAU2v8BcM8KaWebwBsAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1cAAAHWCAYAAACbsXOkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAan1JREFUeJzt3QWYlNX7xvFn6Q7pkhIFFUEaVFBCREVFpERB9KcYIIgFkoKEqAgCBqiIYGAQFiIiCijSYtDSHdId87/uM/8ZdpfdZRcG3p3Z7+e6xt15p87EynvPc87zRvl8Pp8BAAAAAM5LqvO7OQAAAABACFcAAAAAEAKEKwAAAAAIAcIVAAAAAIQA4QoAAAAAQoBwBQAAAAAhQLgCAAAAgBAgXAEAAABACBCuAAAAACAECFcAkAgPPPCAFStW7Jxu26tXL4uKigr5mMLZzz//7F4T/Uzqa7x27Vp32w8++CCkY9JjawwAAJwrwhWAsKad7MScou/EpzSnTp2yV1991UqVKmUZM2a0kiVL2mOPPWYHDhxI1O2vueYau/TSS83n88V7neuuu87y5ctnJ06csOTst99+c2F3z549lhy9+eab7vNatWpVr4cSlrZt22bPPPOMlS5d2jJlymSZM2e2ihUr2ksvvZRs33MAkSWN1wMAgPMxZsyYGOc//PBDmzp16hnby5Qpc16PM3LkSBdSzkW3bt2sc+fO5pUhQ4bYs88+a3fddZf7uW7dOvvkk0/s+eeftyxZspz19i1btnTjnzlzptWsWTPOStLs2bOtXbt2liZNGk9e46SEqxdffNFVqHLkyBHjsuXLl1uqVN5+5/jRRx+5CtrcuXNt1apVdtlll3k6nnAyb948u/XWW92XBvfdd58LVTJ//nwbMGCAzZgxw3744QevhwkgwhGuAIQ17URF9/vvv7twFXt7bIcOHXLfbCdW2rRpz3mMChznEzrO16effmpXXXWVjR8/Pjg9sU+fPokOMvfee6916dLFPv744zjDlYKaqloKYefjfF7jUEifPr2nj79mzRoX/vQ+tW3b1gWtnj17WnJ08OBBVxVKLlSVatSokaVOndoWLVrkKlfR9e3b14X3SHzuAJIXpgUCiHg33nijXX311bZgwQIXDhSqXnjhBXfZpEmT7LbbbrOCBQu6nWtNmVPwOHnyZIz7iL0eKLDuR9PtRowY4W6n21euXNl9g362NVc6r0rPxIkT3dh0WwWg77///ozxa0pjpUqVLEOGDO5x3nnnnSSt41I1RkEq+vW1LbGBr0iRIu51++KLL+z48eNnXK7QpXFpKpuqYo8//rhdccUVbgpirly5rEmTJu71Opu41lxpp1nbs2fP7ipNrVu3jnN6159//umuV6JECfc65c+f3x588EHbtWtX8Dp6zVS5k+LFiwenjAbGFteaq9WrV7vxX3LJJe5zU61aNfv222/jXD/22WefuZ34woULuzHUqVPHVZ8SS2EqZ86c7vN4zz33uPNx0fN/6qmn3Hj1udHjtWrVynbu3Bm8zpEjR9zzvfzyy91YChQoYHfffbf9+++/McYce7psXOvZ9JqowqnbqjKUNWvWYJBWNVOvj6aNaiz6rGhshw8fPmPcy5Yts6ZNm1qePHncZ0Ofka5du7rLpk+f7h53woQJcX6+dJmqo/HR38SmTZts0KBBZwQr0ZRVVZADdH96fWKL/RnQ66Dr/vLLL+5znTdvXvd6628hsD2useiyv//+O8Zz13uqz5HeD/09f/XVV/E+HwDhi8oVgBRBO9kNGjSw5s2bu6qWdrYCO0/acezUqZP7+dNPP1mPHj1s37599sorr5z1frXjt3//fldp0A7VwIED3U6sdsrPVomZNWuWq1Jop007rG+88YY1btzY1q9f70KJ6Fv4W265xe0cazqbQl/v3r3dDmpitWnTxo1PO336eS60M/3II4/YlClT7Pbbbw9u/+uvv9xOpF4zUbBU9UWvs3ZCtbP+1ltvuYC7ZMmSJFULVQ2788473ev06KOPuqmd2vlWwIpN1Uq95nquClb//POPC736qWqm3hu9LytWrHCVttdff91y587tbhvfa6n1OzVq1HBVzieffNK9J6NHj7Y77rjD7VyrUhKdpp4ptGrNz969e91nQa/bnDlzEvV8FaY0xnTp0lmLFi3c66bXU4E9QFPebrjhBlu6dKkLjxUqVHChSjvqGzdudM9JnxG9R9OmTXPvQ4cOHdxnVK+R3isF4aTSWrr69evb9ddf775QCLyPn3/+uXt9tIZPr4+mMw4dOtSNRZdFD78at/4m9DlSiFFY+/rrr10g1edDwUyvQezXVds05urVq8c7Pj1/BTYFmAtBf6P6nOhzrsqVArD+f6FAXatWrRjXHTdunPuiRF+aiD6DWpNY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AONNmzZZ+vTpL8rjAgDC25Il/iqVWqnv2ePfliaNWaNG/rVUN91kloqvtoGIRbhKIR566CFr3Lixbdy40QoXLhzjslGjRlmlSpWSHKwkT548drHkz5//oj3Wl19+aVdddZU7WK+CXrNmzcwrGsPJkyctjf51BgAkO0eP+g/yq7VUM2ee3l6smNkjj5i1aaN/w7wcIYCLhe9OQrTze/DYwYt+0uMm1u233+6C0AcffBBj+4EDB+zzzz934WvXrl3WokULV7HJlCmTlS1b1j7RytsExJ4WuHLlSlcFy5Ahg1155ZU2derUM27z/PPP2+WXX+4eo0SJEta9e3dXVRON78UXX3RVNE0D1Ckw5tjTAv/66y+rXbu2ZcyY0XLlymWPPPKIez4BDzzwgN1111326quvWoECBdx1nnjiieBjJeS9996z++67z530e2z//POPe02zZctmWbNmtRtuuMH+/fff4OXvv/++C2eqeOmx27Vr57avXbvWPY/oVbk9e/a4bT///LM7r586P3nyZKtYsaK7j1mzZrn7v/POOy1fvnyWJUsWq1y5sv34448xxnX06FH3+hYpUsTd7rLLLnPj12dFv+u1iE7j0GOtWrXqrK8JACCmlSvNnn3WrFAhf8t0BStVpe6802zyZDP9s9ClC8EKSEn4KjwEDh0/ZFn6Z7noj3ugywHLnC5xU/JU9WjVqpULKl27dnU71KJgpaqIQpWCiXbmtXOu0PDtt9/a/fffbyVLlrQqVaqc9TFOnTpld999t9v5nzNnju3duzfG+qwAhRGNo2DBgi4gPfzww27bc8895ypEf//9t5u+GAgO2bNnP+M+Dh48aPXr17fq1au7qYnbt2+3//3vfy7ERA+Q06dPd+FGPxUgdP/ly5d3jxkfhZjZs2fb+PHjXSh56qmnbN26dVa0aFF3uaYJKkBq/dlPP/3kXqtff/3VTpw44S5/6623rFOnTjZgwABr0KCBex10eVJ17tzZhSEFUE2H3LBhg916663Wt29fF5w+/PBDN91z+fLldumll7rb6D3W2N944w0rV66crVmzxnbu3One7wcffNBVKZ955pngY+i8nouCFwDg7PT93KRJ/irVtGmnt2tSyP/+p5ki/t8BpEyEqxREO9evvPKK/fLLLy4YBHauNV1QAUan6Dve7du3tylTpthnn32WqHClMLRs2TJ3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DbOlS5e68wMHDnS3AQAAAIALJcqXxJLODTfcYE8//bTddddddu+999ru3btd6BkxYoQtWLDA/v7770TflypVlStXdkFITp06ZUWKFLH27dtb586dz7h+wYIFrWvXrvbEE08EtzVu3NhVqMaOHevO33777e6YW++9916814nt6NGj7hSwb98+Nw4dKDlbtmyJfj4AAAAAIouyQfbs2ROVDZJcuVKQUggSTdFbs2aNC1zfffedvfHGG4m+H3UZVBirW7fu6cGkSuXOa+phXBSANB0wOoWmWbNmBc/XqFHDpk2bZitWrHDndSwuXd6gQYN4x6IpjXrBAicFKwAAAAC4oN0CNW0v4LLLLrNly5bZf//9Zzlz5gx2DEyMnTt3uimGqjJFp/O6z/gee9CgQVazZk23lkohavz48TE6FKripXRZunRpS506tbusb9++1rJly3jH0qVLFzc9MXblCgAAAAASK0mVKzWUSJMmzRlT/y655JIkBatzNWTIECtVqpQLTunSpbN27dpZmzZtXMUr4LPPPrOPPvrIPv74Y7eOa/To0fbqq6+6n/FJnz69K/FFPwEAAADABatcpU2b1i699NKQHMtKzTBUWdq2bVuM7TqfP3/+OG+TJ08emzhxoh05csR27drl1mCpUlWiRIngdZ599lm3rXnz5u582bJlbd26dW7qX+vWrc973AAAAAAQkjVXaijxwgsvuKmA50OVp4oVK7qpfQFay6Xz1atXT/C2WndVqFAhO3HihH355Zd25513Bi87dOhQjEqWKMQF1okBAAAAQLJYc6XOfqtWrXJVI7Vfz5w5c4zLNRUvsbTOSdUkHYC4SpUqNnjwYDt48KCb6ietWrVyIUpVJ5kzZ45t2rTJypcv73726tXLhabnnnsueJ8NGzZ0a6xUYbvqqqtcm3at03rwwQeT+lQBAAAA4MKFK7VgD5VmzZrZjh07rEePHrZ161YXmnRQ4ECTi/Xr18eoQmk6oLoVrl692rJkyWK33nqrjRkzxnLkyBG8jo5npYMIP/744+54WQqBbdu2dY8BAAAAAMnmOFcpQVJ62QMAAACIXBf0OFcAAAAAgBBMC9Q0vYTaroeikyAAAAAARHy4mjBhwhnHvlLTCB1H6sUXXwzl2AAAAAAg5a250kF7x40bZ5MmTbJwx5orAAAAAJ6tuapWrVqMY1YBAAAAQEoS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PTT8f7fUVatWxWhioS+X1IhJ75mmcKqLaqlSpVzYUptvTelMqEMdvHm/VNm/55573DpizZ7R7IvAfogu1xf2uIjUih3J19ChQ32XXnqpL126dL4qVar4fv/9d6+HhDjoTymu06hRo7weGhKpVq1avg4dOng9DCTg66+/9l199dW+9OnT+0qXLu0bMWKE10NCAvbt2+f+pvRvWIYMGXwlSpTwde3a1Xf06FGvhwafzzd9+vQ4/91q3bq1u/zUqVO+7t27+/Lly+f+5urUqeNbvny518NOsRJ6v9asWRPvfohuh4uL41wBAAAAQAiw5goAAAAAQoBwBQAAAAAhQLgCAAAAgBAgXAEAAABACBCuAAAAACAECFcAAAAAEAKEKwAAAAAIAcIVAAAAAIQA4QoAEJF69epl5cuXt5TugQcesLvuusvrYQBAikC4AgCc1457VFRU8JQrVy675ZZb7M8//7yo49BjT5w4Mca2Z555xqZNm3ZRQlzg+adOndqKFClijzzyiP33338X/LEBAMkL4QoAcF4UprZs2eJOCjNp0qSx22+/3ethWZYsWVzYuxiuuuoq9/zXr19vo0aNsu+//94ee+yxi/LYAIDkg3AFADgv6dOnt/z587uTpuF17tzZNmzYYDt27Ahe56+//rLatWtbxowZXeBRZefAgQPBy0+dOmW9e/e2woULu/vT/SigBBw7dszatWtnBQoUsAwZMljRokWtf//+7rJixYq5n40aNXLVo8D52NMCA9PjXn31VXc/GscTTzxhx48fD15HAem2225z4yxevLh9/PHH7v4GDx6c4GugQKnnX6hQIatbt641adLEpk6dmujn9/PPP7ux79mzJ7jtjz/+cNvWrl3rzn/wwQeWI0cOmzJlipUpU8aFx0CwDTh58qR16tTJXU/P77nnnjOfzxdjrF988YWVLVs2+F5ovAcPHjzr+wwAODvCFQAgZBSYxo4da5dddlmwaqQd9/r161vOnDlt3rx59vnnn9uPP/7owlLAkCFD7LXXXnPBR1MKdf077rjDVq5c6S5/44037KuvvrLPPvvMli9fbh999FEwROk+RRUjBY3A+bhMnz7d/v33X/dz9OjRLrDoFNCqVSvbvHmzCztffvmljRgxwrZv356k10BhSAEoXbp0iX5+iXXo0CF3H2PGjLEZM2a4SpmmPwboMfR83n//fZs1a5abmjhhwoTg5Xp9WrRoYQ8++KAtXbrUPc+77777jAAGADhHPgAAzlHr1q19qVOn9mXOnNmd9M9KgQIFfAsWLAheZ8SIEb6cOXP6Dhw4ENz27bff+lKlSuXbunWrO1+wYEFf3759Y9x35cqVfY8//rj7vX379r7atWv7Tp06Fec49LgTJkyIsa1nz56+cuXKxRhr0aJFfSdOnAhua9Kkia9Zs2bu96VLl7r7mTdvXvDylStXum2vv/56vK+BHkfPRc8/Q4YM7vo6DRo0KHidsz2/6dOnu9vs3r07ePmiRYvctjVr1rjzo0aNcudXrVoVvM7w4cN9+fLlC57Xaz9w4MDg+ePHj/sKFy7su/POO915vS+6j7Vr18b7fAAA547KFQDgvNx0001uCptOc+fOdVWZBg0a2Lp169zlqpCUK1fOMmfOHLzNdddd56bKqQq1b98+Vy3Stuh0XrcNTOnT/V9xxRX25JNP2g8//HDOa6PUdCJA0wMDlSmNRdP7KlSoELxcFThV3M5G49L4VDV7/vnn3WvQvn17d1linl9iZcqUyUqWLBnn+Pfu3esqU1WrVg1erudTqVKl4Hm9D3Xq1HHTAjV1ceTIkbZ79+4kjQEAED/CFQDgvCg0KYToVLlyZXv33XfdVEDtuIeKAs+aNWusT58+dvjwYWvatKndc889Sb6ftGnTxjivNU0KeedLUwD1/K+++mobMGCAC3Avvvhiom+fKpX/n+Po0/OirwVLaPxJmdKncWkt2OTJk+3KK6+0oUOHumCo1xYAcP4IVwCAkNIOv8KCQpCo+cLixYtjNE349ddf3XW0Y58tWzYrWLCg2xadzisABOh6zZo1c6Ft3Lhxbk1UoN25QoeaOZwPjeXEiRO2aNGi4LZVq1adU2WnW7dubm2UKlaJeX558uRxP6M3p1AlLCmyZ8/uKllz5swJbtPzWbBgwRnvj6pmCn96rgqG0ddlAQDOXZrzuC0AAHb06FHbunWr+11BZNiwYa6xRcOGDd22li1bWs+ePa1169aug5+6CGrK3P3332/58uVz13n22WfddTTlTZ301JxC4UKNK2TQoEEuOFx77bUulKkphrrzqSueqLmF2sArNKgbX2Km8sVWunRp1zlPnQzfeustF9iefvpp11VPgSQpqlevbtdcc43169fPvR5ne36qeun4WHp9+vbtaytWrHDNKZKqQ4cOrnJWqlQp93z0ukXvQKjgpdfp5ptvtrx587rzej8UgAEA549wBQA4L2opruAjWbNmdTv1Cj833nhjcJ2Quudpx1/TBnW+cePGbsc/QOuotGZIYUZriFTRUXdAhYTA/Q4cONB119PUNt3Pd999F5xOpyCiFuSqaqkdeqB9eVJ9+OGH9tBDD1nNmjVdeFO793/++ce1f0+qp556yq0V0xqssz0/BblPPvnEHRtLoUzP76WXXnLropJC96/ql4KsXht1BVSLej22qIqmLoNqLa+1YGppr9dOa+QAAOcvSl0tQnA/AABEnI0bN7qKklrHqxEEAAAJIVwBAPD/fvrpJzelUd30VAHSQXg3bdrkpunFbiYBAEBsTAsEACBah74XXnjBVq9e7aYi1qhRw62LIlgBABKDyhUAAAAAhACt2AEAAAAgBAhXAAAAABAChCsAAAAACAHCFQAAAACEAOEKAAAAAEKAcAUAAAAAIUC4AgAAAIAQIFwBAAAAgJ2//wMNUEYYWSi+/wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import xgboost as xgb\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import accuracy_score, classification_report\n",
    "\n",
    "# Split dataset into training and testing sets\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_resampled, y_resampled, test_size=0.2, random_state=42)\n",
    "\n",
    "print(\"\\nTraining XGBoost Classifier...\")\n",
    "\n",
    "# Initialize the XGBoost Classifier without `use_label_encoder`\n",
    "xgb_classifier = xgb.XGBClassifier(\n",
    "    objective=\"binary:logistic\",\n",
    "    eval_metric=[\"logloss\", \"error\"],  # Tracking both loss and accuracy\n",
    "    n_estimators=200,  # Number of boosting rounds\n",
    "    early_stopping_rounds=10  # Activate early stopping\n",
    ")\n",
    "\n",
    "# Train with evaluation set for tracking loss and accuracy\n",
    "xgb_classifier.fit(\n",
    "    X_train, y_train,\n",
    "    eval_set=[(X_train, y_train), (X_test, y_test)],  # Ensure both are included with correct labels\n",
    "    verbose=True\n",
    ")\n",
    "\n",
    "print(\"\\nXGBoost training complete!\")\n",
    "\n",
    "# Make predictions\n",
    "y_pred = xgb_classifier.predict(X_test)\n",
    "\n",
    "# Evaluate the model\n",
    "accuracy = accuracy_score(y_test, y_pred)\n",
    "print(f\"\\nModel Accuracy: {accuracy * 100:.2f}%\")\n",
    "print(\"\\nClassification Report:\\n\", classification_report(y_test, y_pred))\n",
    "\n",
    "# Retrieve evaluation results\n",
    "results = xgb_classifier.evals_result()\n",
    "\n",
    "# Print available keys in evals_result to verify both losses are recorded\n",
    "print(\"\\nAvailable keys in evals_result:\", results.keys())\n",
    "\n",
    "# Plot Training & Validation Loss Curve\n",
    "plt.figure(figsize=(10, 5))\n",
    "\n",
    "# Training Loss (if stored)\n",
    "if \"validation_0\" in results:\n",
    "    plt.plot(results[\"validation_0\"][\"logloss\"], label=\"Training Loss\", color='blue')\n",
    "\n",
    "# Validation Loss (if stored)\n",
    "if \"validation_1\" in results:\n",
    "    plt.plot(results[\"validation_1\"][\"logloss\"], label=\"Validation Loss\", color='red')\n",
    "\n",
    "plt.xlabel(\"Boosting Rounds\")\n",
    "plt.ylabel(\"Log Loss\")\n",
    "plt.title(\"Training & Validation Loss Curve\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "# Plot Training & Validation Accuracy Curve\n",
    "plt.figure(figsize=(10, 5))\n",
    "\n",
    "# Training Accuracy (if stored)\n",
    "if \"validation_0\" in results:\n",
    "    train_acc = [1 - x for x in results[\"validation_0\"][\"error\"]]\n",
    "    plt.plot(train_acc, label=\"Training Accuracy\", color='blue')\n",
    "\n",
    "# Validation Accuracy (if stored)\n",
    "if \"validation_1\" in results:\n",
    "    val_acc = [1 - x for x in results[\"validation_1\"][\"error\"]]\n",
    "    plt.plot(val_acc, label=\"Validation Accuracy\", color='green')\n",
    "\n",
    "plt.xlabel(\"Boosting Rounds\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.title(\"Training & Validation Accuracy Curve\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 487
    },
    "id": "ImTQNgiancK-",
    "outputId": "83012bc6-4496-45df-c5d7-5cae2e5e13ad"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "from sklearn.metrics import confusion_matrix\n",
    "\n",
    "# Generate the confusion matrix\n",
    "cm = confusion_matrix(y_test, y_pred)\n",
    "\n",
    "# Plot Confusion Matrix\n",
    "plt.figure(figsize=(6, 5))\n",
    "sns.heatmap(cm, annot=True, fmt=\"d\", cmap=\"Blues\", xticklabels=[\"No Glaucoma (0)\", \"Glaucoma (1)\"], yticklabels=[\"No Glaucoma (0)\", \"Glaucoma (1)\"])\n",
    "plt.xlabel(\"Predicted Label\")\n",
    "plt.ylabel(\"True Label\")\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 564
    },
    "id": "L5sxmIs1nmgn",
    "outputId": "0da78507-fb86-47ad-dc00-91fb15438fe2"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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/5kDILAAxUM3DACI3EFg+/YRZgEAAGDpILC9e8uJGxFmAQAAcNzKrFv7zBJmEbEWLVokTZs2ZTqtEvT3v/9d3nzzzXDvBgAgDJXZPwizKE033nij6a+oJ52FoVGjRjJmzBgzX65asmRJ7u160oE63bp1k1WrVhVqlPrUqVOlbdu2ZkR/1apV5ZxzzpGnn366xKYwKw3Dhg2TBx54oMBApCNHjkj16tWlZs2akp6eXuBxenzeeeedAttvuukmueqqq/y2bdiwwWzX6agSExPllFNOkRtuuEG+/fZbKU0TJ06UBg0amEFp2i5ff/31Me+vA7L05+HUU081j2nZsqXMnz/f7z4a+h988EHzHsqVK2fuO3bsWNP+Pno8hw8fbgbFAQCiqzK7lwFg0WfrVpHFi0O3nvHFF19s5shdv3693HXXXfLQQw/JE0884XefdevWmft89NFHJshdeumlZqT+sfTu3VvuvPNOufLKK2Xx4sXy/fffm9Dz7rvvyoIFC4q9v8d73ROxdOlS+fXXX+Waa64pcJtWFs844ww5/fTTA4bWwtLA2rp1a/nll19kypQpsnr1ann77bfN8+rxLy2zZ8+WoUOHyqhRo2TlypUmmHbt2lV261DTIDSE6j4+++yzZj8HDhwoV199tXz33Xe593nsscdk0qRJ8txzz8maNWvM9ccff9w8xueSSy6RAwcOyIcfflhq7w8A4M7K7O7d5U22cR0nyvz5559aZjLn+R05csRZvXq1OffJyXGcgweLfpo40XFiY7Wkpec5znPPZRf5OfS1C6tPnz7OlVde6betc+fOzt///ndzefHixeZ979u3L/f29957z2z74Ycfgj7v7NmzzX3eeeedArfl5OQ4+/fvN5cvuOAC54477vC7XfdH98vn5JNPdsaMGeP07t3bqVSpkrmtXbt2zrBhw/wet3v3bqdMmTLOp59+aq4fPXrUueuuu5zk5GSnfPnyTps2bcz7OZZBgwY5//rXvwLeduGFFzqTJ092Jk2aZI5Rfvp+33777dzr2dnZ5rilpKTkHmN972eccYbTunVrc3t+eY9zSdP3r+8v7/7psRk3blzQx9StW9d57rnn/Lb985//dHr27Jl7/dJLL3VuvvnmY95H3XTTTU6vXr0Cvk6g3yE3yMjIMD/Deg470YZ2o/3sNmGCN8/4Ms1//xvevJYfldnj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AAAAsBZhFgAAANYizAIAAMBahFkAiGIxMTHyzjvvmMu//fabuf7999+He7cAoNAIswAQJjfeeKMJj3qKj4+XU045RYYNGyZHjx4N964BgDXKhHsHACCaXXzxxfLiiy9KZmamrFixQvr06WPC7WOPPRbuXQMAK1CZBYAwSkxMlDp16kj9+vXlqquukk6dOsnChQvNbTk5OTJu3DhTsS1Xrpy0bNlS5syZ4/f4n3/+WS677DKpXLmyVKpUSc4//3z59ddfzW3ffPONdO7cWWrWrClVqlSRCy64QFauXBmW9wkApYUwCwAu8dNPP8myZcskISHBXNcg+7///U8mT55sQuuQIUOkV69e8umnn5rbt23bJh06dDCB+JNPPjGV3ZtvvlmysrLM7QcOHDCV3qVLl8qXX34pjRs3lm7dupntABAp6GYAAGH0wQcfSMWKFU0ATU9Pl9jYWHnuuefM5UceeUQ+/vhjadeunblvw4YNTTCdMmWKqbJOnDjRVFxnzZpl+tyqJk2a5D53x44d/V5r6tSpUrVqVROGtZoLAJGAMAsAYXTRRRfJpEmT5NChQzJhwgQpU6aMXHPNNaYSe/jwYdNNIK+MjAw566yzzGWddUC7FfiCbH67du2SBx54QJYsWSK7d++W7Oxs85ybN28OyXsDgFAgzAJAGFWoUEEaNWpkLk+fPt30i502bZqceeaZZtvcuXPF4/H4PUa7FSjtR3ss2sVg79698swzz8jJJ59sHqdVXg3EABApCLMA4BLaxeC+++6ToUOHyi+//GLCp1ZRtUtBIC1atJAZM2aYmRACVWe/+OILef75500/WbVlyxbZs2dPqb8PAAglBoABgItce+21EhcXZ/rF3n333WbQlwZWnaFAZyJ49tlnzXU1ePBgSUtLk+uvv16+/fZbWb9+vbz88suybt06c7sO+NLra9aska+++kp69ux53GouANiGyiwAuIj2mdWQ+vjjj8umTZukVq1aZlaDjRs3msFbZ599tqneqho1aphZDO655x5TvdUQ3KpVK2nfvr25Xbsr9O/f3zxGp/7SAWUakAEgksQ4juOEeycAAACA4qCbAQAAAKxFmAUAAIC1CLMAAACwFmEWAAAA1iLMAgAAwFqEWQAAAFiLMAsAAABrEWYBAABgLcIsAAAArEWYBQAAgLUIswAAABBb/T8pfeZ6RYIK9wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.metrics import precision_recall_curve, auc\n",
    "\n",
    "# Get probability predictions\n",
    "y_prob = xgb_classifier.predict_proba(X_test)[:, 1]  # Probability of being class 1 (Glaucoma)\n",
    "\n",
    "# Compute Precision-Recall curve\n",
    "precision, recall, _ = precision_recall_curve(y_test, y_prob)\n",
    "\n",
    "# Compute Area Under Curve (AUC-PR)\n",
    "auc_pr = auc(recall, precision)\n",
    "\n",
    "# Plot the Precision-Recall Curve\n",
    "plt.figure(figsize=(8, 6))\n",
    "plt.plot(recall, precision, marker='.', label=f\"PR Curve (AUC = {auc_pr:.2f})\", color='blue')\n",
    "plt.xlabel(\"Recall\")\n",
    "plt.ylabel(\"Precision\")\n",
    "plt.title(\"Precision-Recall Curve\")\n",
    "plt.legend()\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Fv8cSItqLH71"
   },
   "source": [
    "### Random Forest Classifier Training & Visualization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "id": "jEgYC22GHbya",
    "outputId": "a2c89f6d-cdaa-4ece-ff5d-93a9760ecafc"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Training Random Forest Classifier...\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend ThreadingBackend with 16 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  18 tasks      | elapsed:    0.0s\n",
      "[Parallel(n_jobs=-1)]: Done 168 tasks      | elapsed:    0.5s\n",
      "[Parallel(n_jobs=-1)]: Done 250 out of 250 | elapsed:    0.7s finished\n",
      "[Parallel(n_jobs=16)]: Using backend ThreadingBackend with 16 concurrent workers.\n",
      "[Parallel(n_jobs=16)]: Done  18 tasks      | elapsed:    0.0s\n",
      "[Parallel(n_jobs=16)]: Done 168 tasks      | elapsed:    0.0s\n",
      "[Parallel(n_jobs=16)]: Done 250 out of 250 | elapsed:    0.0s finished\n",
      "[Parallel(n_jobs=16)]: Using backend ThreadingBackend with 16 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Random Forest training complete!\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=16)]: Done  18 tasks      | elapsed:    0.0s\n",
      "[Parallel(n_jobs=16)]: Done 168 tasks      | elapsed:    0.0s\n",
      "[Parallel(n_jobs=16)]: Done 250 out of 250 | elapsed:    0.0s finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Model Accuracy: 96.21%\n",
      "\n",
      "Classification Report:\n",
      "               precision    recall  f1-score   support\n",
      "\n",
      "           0       0.93      0.99      0.96       139\n",
      "           1       0.99      0.93      0.96       151\n",
      "\n",
      "    accuracy                           0.96       290\n",
      "   macro avg       0.96      0.96      0.96       290\n",
      "weighted avg       0.96      0.96      0.96       290\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1000x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAHWCAYAAABACtmGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWgZJREFUeJzt3Qm81PP+x/HP6bTvJdq1UkoLbbJlSVnTdZFulLguF1nCpYtCl1J2Ite9sl7iEi4KpRARJRJFtEorlUrb6fd/vL/n/xtzpjnnN3POnDPLeT0fj18z85vfzPzmN78z/d7z/X4/vyzP8zwDAAAAAOSrTP53AQAAAACE4AQAAAAAAQhOAAAAABCA4AQAAAAAAQhOAAAAABCA4AQAAAAAAQhOAAAAABCA4AQAAAAAAQhOAAAAABCA4AQA/+/888+3pk2bFuqxt9xyi2VlZSV8ndLZjBkz3DbRZbzbeOnSpe6xTzzxRELXSa+tdQAAIF4EJwApTwfQsUzhB+ilzZ49e+yuu+6yAw44wCpVqmQtWrSwv/71r7Zly5aYHt++fXvbf//9zfO8fJc54ogjrG7durZ7925LZR999JELshs3brRUoQCoffSzzz5L9qqEQv769estHejv+owzzrB69epZ+fLlbb/99rPTTjvNXn755WSvGoBSpmyyVwAAgjz99NN5bj/11FP2zjvv7DX/oIMOKtLrPPbYYy6AFMZNN91kN9xwgyXL/fffb9ddd5317dvXXS5btsyee+45u/76661q1aqBjx8wYIBb/w8++MCOPvroqC1As2bNsssvv9zKli2blG0cT3C69dZbXctSzZo189y3aNEiK1OG3wzTxYgRI+y2225zPwhcfPHF1qRJE9uwYYO9+eab9sc//tGeffZZ+9Of/pTs1QRQShCcAKS8c889N8/tjz/+2AWnyPmRtm3bZpUrV475dcqVK1fodVSYKEqgKKrnn3/e2rZt636F97sMjhw5MuaQooPPYcOG2X/+85+owUkhTK1RClhFUZRtnAgVKlRI6usjdv/9739daDrzzDPdfhm+7+jHgbfeest27dqVkNeK97sCQOnEz24AMsIxxxxjBx98sM2ZM8cd+Osg6O9//7u779VXX7VTTjnFGjRo4A6c1Y1NoSInJyfPc0SOv/HH2agL3D//+U/3OD2+S5cu9umnnwaOcdJttdC88sorbt30WIWbKVOmRO2O1LlzZ6tYsaJ7nUcffTSucVNqRVFICl9e82INc40bN3bbTQer0Q5GdeCq9erWrZtrzbr00kutVatWrlvgPvvsY2eddZbbXkGijXFSlzrNr1GjhmshGjRoUNRudl9++aVbrnnz5m47qevWBRdc4FogfNpmOqiWZs2ahbpx+usWbYzTDz/84Na/du3abr857LDD7I033og6XuuFF16w22+/3Ro1auTW4fjjj7fFixdbonz++ed20kknWfXq1V1LoZ5fPxRE2xY9evRw21/r8o9//MMmTJiQ570W1bvvvmtHHXWUValSxX0up59+un3zzTd5lvn111/tqquucttV+7e60Z1wwgk2d+7c0DLfffedax3S56VtpvU955xzbNOmTQW+/s033+w+k8cffzxq4O7du7edeuqpebpCRr73aOPs8vuu0HNp34qme/fu7u8z3DPPPGOdOnVyn4HWU+9pxYoVBb4nAOmNFicAGUMH0Dro1AGMWqM0Hsc/qNJB6NChQ92lDgiHDx9umzdvtrFjxwY+r0KDDhDVVUgHYWPGjHFjLnTAHdSCMnPmTNcKpKBRrVo1e+CBB9xB5PLly13g8A+WTzzxRKtfv77rYqZAp1/a991335jf++DBg936KXDpsjDUmvSXv/zF/ZLvH5DK/Pnz7auvvnLbTBQa1R1O21kHwTpYfeSRR9wB6ddffx3XL/dqxdIBubbTJZdc4rpbTpo0yYWnSGpl1DbXe9VB+IIFC1yg1aXChT4bfS7ffvutayG79957rU6dOu6x+W3LNWvW2OGHH+5aHK644gr3mTz55JPWp08fFyL/8Ic/5Fl+9OjRLpBee+217sBf+4K22yeffGJFpfehoKLQ9Le//c3tW/o8tV3fe+89F1rlxx9/tGOPPda9X7USKtj861//Smhr2tSpU93fkoKEwuhvv/1mDz74oBvnplDkh199ZtpO+oGgTZs27m9Qn6UC1qGHHmo7d+50AWfHjh02ZMgQ97lp/V9//XUXjhWWo1HYWrhwoQvG+rspie8KhaCBAwe6/Vs/jvj0Q4H2r/DvCoVnBbuzzz7b/vznP9u6devc9lEQ099zZBdRABnCA4A0c9lll6mCQZ55PXr0cPPGjx+/1/Lbtm3ba97FF1/sVa5c2du+fXto3qBBg7wmTZqEbi9ZssQ95z777OP9/PPPofmvvvqqm/+///0vNG/EiBF7rZNuly9f3lu8eHFo3hdffOHmP/jgg6F5p512mluXH3/8MTTvu+++88qWLbvXc+bnhhtucK+VnZ3tvfzyy15h6D1WqFDB69+//17PrfVYtGhRvttz1qxZbpmnnnoqNG/69Oluni7z28avvPKKW2bMmDGhebt37/aOOuooN3/ChAmh+dFe97nnnnPLvf/++6F5Y8eOdfP0+UXSa2sdfFdddZVb9oMPPgjN+/XXX71mzZp5TZs29XJycvK8l4MOOsjbsWNHaNn777/fzZ8/f75XEL0PLffpp5/mu0zfvn3dZ/j999+H5q1atcqrVq2ad/TRR4fmDRkyxMvKyvI+//zz0LwNGzZ4tWvXzvd9h/P31XXr1uW7TMeOHb399tvPPW/4vlumTBlv4MCBoXk1atRwf4/50TrqtV588UUvHv7f2L333hvT8v72jXzv0fbB/L4rNm3a5Pb/a665Js987Zva3suWLXO3ly5d6v7Obr/99jzLaR/Q32zkfACZg656ADKGfnFXa0QkdaXxqeVI1cT0y75aGfSrdpB+/fpZrVq1Qrf1WFHrR5CePXu6Lm7h1evUouA/Vq1L+nVfRR3UldDXsmVL94t4LNSKdc8999iHH35o/fv3d7+iv/3223ttG/1CXhC9x5NPPtlee+0127p1q5un/KfxU+qmdOCBB+61PdWtT7/ea331K3t4F61YaJC/uhOqAqAvOzvbtU5ECn/d7du3u89R3eok3tcNf/2uXbvakUceGZqnVkm1vKklTS1o4bR/qbJbYfaFgmg/0Gem/SC8u5haITX+TK04aiEVdfVU17GOHTuGllNXsaKOP/P99NNPNm/ePNelUc8bvu+qG562mU+fuVrbVq1aFfW5/BYltWLq7y1W/nstjtam/L4r9Hepvzl1xwyvLjlx4kS3n6nqpKgFWd1i1dqkfdCf1JqmIhbTp08vlnUGkHwEJwAZo2HDhnkOasO7QKnLlQ7idHCkblt+YYmgcRbiHzD5/BD1yy+/xP1Y//H+Y9euXeu6QSl4RIo2L5Ieq8pj6i6kcKNxLscdd5x7vzrY9rs9qcuU39WrIDr4VmjSuDBRlzwFiPCDcr2muu1pXJQOQNUdTttUXa9i2Z7h1A1K4SCy8p/GT0X6+eef7corr3TdqhSi9JoaxyTxvm7460d7Lb9Co+5P1L5QEHX1UrDIb110oO6Pn9E6FXZ/iYX/nvNbF4UEP1irq6K6cWpfUABVt77wEKnPR11k1ZVQ+4m67Y0bNy7w89Lfqf9DR0l+V+hHEm1nVZCU77//3o2F0nyf/p4UrBSStA+GT+qiqL9pAJmJMU4AMkZ4i4RPB/MaRK8DMY0bUuuPBqirhUKlumOpOqcWkGgKOudRIh4bCx2o6T36LS9qvdGYE4UnFcTQr98a7+MP2g+isU0KmBrXpZYOXeo9qBXLp9YgBTQVBVDLh5bXeBstU5ylxvULv4Kcij+otUVhS6+n8WHFXeK8pD7PdKPPRK1uGpemFjONA7rzzjtdq4zfYnr33Xe71iuFcS2jsWSjRo1y44Y0Ri6a1q1bh8bXxSK/IiqRBWAK+q4QnR9KY/TU6qSxb7rUmDYVD/H5RVgmT54cdX+Ipfw/gPREcAKQ0VRNS13JdCAXXmZ7yZIllgoUaBTkolVmi6Vam3/AGF7NS8UC1J1K3c/0C7+6tanqWizFA7SMyj/rXFkqnPDiiy+6EKZuSD4FMxVv0AGxT69RmBPO6rw806ZNcyfqDT/g1PmWwqlFR8upeIZfpML/9T9SrJUI/dePfC3xu3Dq/pKg1godsOe3Ljp4V6uOv06F3V9i4b/n/NZFLUfax3xqMVTxE01qbVFRCBVPCO9q2q5dOzfpfGcKvyoyMX78eLdfRqNuoWrxUtjSOcqCwojf8he5D0a2GAbR+9KPB9rv1f1V3fQUDMO70erHFwVltab53VcBlA501QOQ0fxfhMNbBNRt7eGHH7ZUWT+Ng1LJ8vBxIjoI1i/aQXQwqq5rDz30UJ4uQqoOp1YhdatS1zr9kh4rdcvT2CVV51MXssixM1rnyBYWVRTL79f9gmhM1e7du11VPp+eR88X+ZoS+br33XffXs/pH9THEuT0+rNnzw51zRJ1Q1O1PlWOU6W4kqD316tXLxcUwktqK7yq1U8h2O++pjCs9dU4pPBujDoZbCIoCKlFT9UFw7ehuuSpxUjbzP+cIrvc6YcAhQxV0fPHKunzjdxnFQT9ZfKjkKwfPdQNNfI5ROui6nzijyN8//33Q/dr/fQ5xkvd8vS3qO6FX3zxRZ5ueqLKjfq8tH6R+6Nuh5fHB5BZaHECkNHU3Ua/RquFRF2E1Brx9NNPp1TXKo0L0UGgfoVXkQQd8CkI6Vwz4QfH0ahrnpbVwZ0OSBV21GKgLnw6/43mrVy50pX8VvEI/+C7IOraqC5UOohXlyYdKIbTL/Lahuqip2Chg3gVuPDLq8dDgU7v+4YbbnCBQc+n1sHIA3Ktt1oMNaZGoU5jVLTNorUcqqy03Hjjja77oMp663XCW0l8el11ZVTriPYPFUNQYNDzvvTSS+4AP5H0mUQ7j5fGbqn1RSXXFZLUeqPPVuXIFTD0vn0qVa5zCKnrpbpN+uXINf5KASrWFje1qESWjtf71TmN1OVO20RdMS+88MJQOXJ95tpf/fFH2k/UQtmhQwfXKqT9QOW8/dZIlf5XqXJ1dVPrjAKQ9h0FD5XlL4j2aXXVU+uVSnyr8In2bQUTbUO1QCpUis6Ppu6qKs+ubaDPUUVNogWuIAqGKkqhkvPR1lMhTZ+VXkv7rAp6aHntM+qyqMIieiyADJTssn4AkKhy5G3bto26/IcffugddthhXqVKlbwGDRp4f/vb37y33norsFS2X45c5a0jab7KOgeVI49WqjmyJLZMmzbNO+SQQ1w56hYtWnj/+te/XFnkihUrxrRNVI67d+/eXvXq1V1J5YMPPtgbNWqUK+E9efJkV0a6V69e3q5du2J6vuuuu86t/9lnn73Xfb/88os3ePBgr06dOl7VqlXd6y5cuHCv9xVLOXJRyevzzjvPrbvKW+u6X8Y6vBz5ypUrvT/84Q9ezZo13XJnnXWWK9cd+VnIyJEjvYYNG7r3HV6mOtq2V/nvM8880z2vtnfXrl29119/Pc8y/nuJLKvt7yPh61lQuez8phUrVrjl5s6d67antqtK1B977LHeRx99tNfzafuoZLs+60aNGrnP+oEHHnDPtXr16gLXxd9Xo00qs+2bOnWqd8QRR7i/G302Kpv/9ddfh+5XWXbtJx06dHAl06tUqeKuP/zww6FlfvjhB++CCy5w+7S2rUqm6z3puWOlv43TTz/dlUdXue99993XrYtKlkd+jj179nTbpG7dut7f//5375133olajjy/7wrfgAED3OP0fPl56aWXvCOPPNK9b02tW7d2f+9+2X4AmSdL/yQ7vAEA9qZfslURMNo4HiCSinWohUrjxfIrYgEAKDzGOAFAClBXqHAKSyrwcMwxxyRtnZA++4u6r6kLnLr5EZoAoHjQ4gQAKUAD8lWyWSc/VSUwFUvQ2BaN7dD5YoBwKt6gUK3zKqmAxL///W9X0EDjfsKrRwIAEofiEACQAnQuIhUpWL16tSsJrkH5d9xxB6EJ+RYwUFl4VY1TMQiVAFd4IjQBQPGhxQkAAAAAAjDGCQAAAAACEJwAAAAAIECpG+O0Z88eN4BWJ6uL9SSBAAAAADKPRi3phN4NGjQIPOl5qQtOCk2NGzdO9moAAAAASBErVqywRo0aFbhMqQtOamnyN0716tWTvToAAAAAkmTz5s2uUcXPCAUpdcHJ756n0ERwAgAAAJAVwxAeikMAAAAAQACCEwAAAAAEIDgBAAAAQIBSN8YJAAAABcvJybFdu3YlezWAhChXrpxlZ2cX+XkITgAAAAjZsmWLrVy50p3fBsiUwg+NGjWyqlWrFul5CE4AAAAItTQpNFWuXNn23XffmCqNAalMPwCsW7fO7dcHHHBAkVqeCE4AAABw1D1PB5oKTZUqVUr26gAJof156dKlbv8uSnCiOAQAAADyoKUJmSQrQfszwQkAAAAAAhCcAAAAACAAwQkAAACI0LRpU7vvvvtiXn7GjBmuS9jGjRuLdb2QPAQnAAAApC2FlYKmW265pVDP++mnn9pf/vKXmJc//PDD7aeffrIaNWpYcUpWQMvKyrJXXnnFSjOq6gEAACBtKaz4Jk6caMOHD7dFixaF5oWfu0cVA1VyvWzZsjFVYotH+fLlrV69enE9BuklJVqcxo0b55pDK1asaN26dbPZs2fnu+wTTzyx1y8JelxauvtuszZttAGSvSYAAAB70Tlwt25NzhTr+XcVVvxJrT06NvRvL1y40KpVq2aTJ0+2Tp06WYUKFWzmzJn2/fff2+mnn25169Z1wapLly42derUArvq6Xn/9a9/2R/+8Ad3niudE+i1117LtyVIx6w1a9a0t956yw466CD3OieeeGKeoLd792674oor3HL77LOPXX/99TZo0CDr27dvoT+zX375xQYOHGi1atVy63nSSSfZd999l2eZxx57zBo3buzu1/u555573DoU1p49e+y2225zJ5nVNu7YsaNNmTIldP/OnTvt8ssvt/r167vj9iZNmtioUaNCYVatgvvvv797bIMGDdw2SUVJD076ZWDo0KE2YsQImzt3rnXo0MF69+5ta9euzfcx1atXdzudPy1btszS0qZNZt98YzZnTrLXBAAAYC/btqnFJjmTXjtRbrjhBhs9erR988031r59e9uyZYudfPLJNm3aNPv8889doDnttNNs+fLlBT7PrbfeameffbZ9+eWX7vEDBgywn3/+uYDtt83uuusue/rpp+399993z3/ttdeG7r/zzjvt2WeftQkTJtiHH35omzdvLnJ3uPPPP98+++wzF+pmzZrlgonWVecwEr3OJZdcYldeeaXNmzfPTjjhBLv99tuL9Jr333+/3X333e69atvoWL5Pnz6hwPbAAw+49XnhhRdca6Des4KpvPTSS3bvvffao48+6pbX+2/Xrp2lJC/Junbt6l122WWh2zk5OV6DBg28UaNGRV1+woQJXo0aNQr9eps2bdLvF+4y6V56ST+meN6hhyZ7TQAAALzffvvN+/rrr92lbNmSe6iSjEmvHa/I48Tp06e7475XXnkl8LFt27b1HnzwwdDtJk2aePfee2/otp7npptuCt3esmWLmzd58uQ8r/XLL7+E1kW3Fy9eHHrMuHHjvLp164Zu6/rYsWNDt3fv3u3tv//+3umnn57veka+Trhvv/3W3ffhhx+G5q1fv96rVKmS98ILL7jb/fr180455ZQ8jxswYEDg8bWZeZMmTYp6n47db7/99jzzunTp4l166aXu+pAhQ7zjjjvO27Nnz16Pvfvuu70DDzzQ27lzp1dS+3Vhs0FSW5zUbDdnzhzr2bNnaF6ZMmXcbSXk/OhXAjXxqYlRzawLFizId9kdO3a49B4+pYwOHXIvv/pKp+pO9toAAADkUbmyjruSM+m1E6Vz5857HUuq5Udd6NRFTd3o1BoV1OKk1ipflSpVXC+ognpJqStcixYtQrfVVc1fftOmTbZmzRrr2rVr6P7s7GzXpbCw9B40fktDX3zqAtiqVSt3n6jFJ/w1JfJ2PDZv3myrVq2yI444Is983fZfU61gat3Seqgb3ttvvx1a7qyzzrLffvvNmjdvbhdddJFNmjTJdWFMRUkNTuvXr3cD9NS/NJxur169OupjtMEff/xxe/XVV+2ZZ55xfSpVxWTlypVRl1f/SfV39SeFrZTRrJlZtWpKkGYLFyZ7bQAAAPLIylJASM6k104UhZxwCk06QL/jjjvsgw8+cAf16h6mH/ULUq5cuYjtk+WOReNZPrfxpnQ59NBDbcmSJTZy5EgXktTd8cwzz3T36dhcYe7hhx+2SpUq2aWXXmpHH310qGthKkn6GKd4de/e3Q1406CzHj162Msvv+yqnqhfZDTDhg1zid6fVqxYYSmjTJnfW52++CLZawMAAFAqaJyPWkFUGEGBSYUkli5dWqLroB/01Vigsuc+NShozH9hqQVNrTWffPJJaN6GDRtcMGmjgmT/3wgR/poSeTse1atXdwUdtE3D6bb/mv5y/fr1c4UpVONAY5v88WEKTBpjprFQKrKhnmfz58+3VJPUcuR16tRxTZJqpgyn27GWc1SSP+SQQ2zx4sVR71d1Dk0pS8Fp5kyzefPMzj032WsDAACQ8VQRTz++62BdrUA333xzgS1HxWXIkCGud1TLli2tdevW9uCDD7qqeFqnIAoWqhjo02NUZE3DWNTlTY0Kul+FMRo2bOjm+6+pFh1V0tP7f/fdd13VwVhec8mSJa51LnJbXnfdda7Qm7olqnFDxS60nIpAiF5L3RR1zK5hOS+++KI71lc3SVUfVGBU90J1bVSPMgUpDctJNUkNTqp3r36cqmjil13UTqvbKlkYC21o7TiqFpKWOnbMvYzYCQEAAFA8dCB/wQUXuOEe+iFfZcCTMQ5er6vhKepNpcYEnXBXFel0PYjCTzg9Rq1NCi2qmHfqqae6roda7s033wx1G9TYo/Hjx7sKgTfddJN7vauvvtoeeuihwNccOnToXvPU1VHjltSz65prrnFjuNTSpCp6ClWiADdmzBhXNU/rqfLvWieFKIUnVTzUc+u4Xi2A//vf/9zYrFSTpQoRyVwBNdWpXr1SsQamqV6+ShWq7r6aL7UjKSX7td5VI/6www5zyVx18seOHevKFqrIRHhzYH70R6GmUX24ajJMus8+M+vSRc1vZhosmMgOvQAAAHHYvn27a1Vo1qxZ+p4nM42pAUHd7TQGSOOBSopaqHTsrRBU2vbrzXFkg6S2OIn6Oq5bt86d5VmJ2z9hll8wQtVNlEZ9ar7Uh6tldWIvtVh99NFHMYWmlNS2be5Yp/XrzVatMmvYMNlrBAAAgBKgc5GqwpzG7asStFp9dID/pz/9qVhfV+db0vmbVDRD3fSefPJJV5wBKd7iVNJSrsXJD09ff232xhtm6drlEAAApD1anEqWipadc8459tVXX7lqewcffLDrthbZDS/R1KKlIgy//vqrKwOucU86KW6m2p4pLU74/3FOCk4a50RwAgAAKBVUijuyGl1J0LAYlIJy5BnJL0lOgQgAAAAgJRGcUqmyHudyAgAAAFISwSmVWpy++85sy5Zkrw0AAACACASnVKAKgjrhr+p0pOBZkgEAAIDSjuCUKuiuBwAAAKQsglOqoEAEAAAAkLIITqmCFicAAICkOeaYY+yqq64K3W7atKndd999BT4mKyvLXnnllSK/dqKeB8WL4JRqwenLL81ycpK9NgAAAGnhtNNOsxNPPDHqfR988IELJV/q+CpOn376qf3lL3+xRLrllluso3/MF+ann36yk046yYrTE088YTVr1rSStHTpUrf952VIjyqCU6o44ACzSpXMtm0zW7w42WsDAACQFi688EJ75513bOXKlXvdN2HCBOvcubO1b98+7ufdd999rXLlylYS6tWrZxUqVCiR10LhEZxSRXa2Wbt2udfprgcAAFKBKv5u3ZqcSa8dg1NPPdWFHLWohNuyZYu9+OKLLlht2LDB+vfvbw0bNnRhqF27dvbcc88V+LyRXfW+++47O/roo61ixYrWpk0bF9YiXX/99XbggQe612jevLndfPPNtmvXLnef1u/WW2+1L774wrXCaPLXObKr3vz58+24446zSpUq2T777ONavvR+fOeff7717dvX7rrrLqtfv75b5rLLLgu9VmEsX77cTj/9dKtatapVr17dzj77bFuzZk2eZf7xj3/YfvvtZ9WqVbM///nPdsMNN0RtQYvVjh077IorrnDPqe165JFHupY+3y+//GIDBgxwn6+2xQEHHODCsOzcudMuv/xy9/712CZNmtioUaOsOJUt1mdHfLTjzZ6dWyDi7LOTvTYAAKC0U0+YqlWT89oKClWqBC5WtmxZGzhwoAshN954owshotCUk5PjApNCR6dOnVywUSh444037LzzzrMWLVpY165dA19jz549dsYZZ1jdunXtk08+sU2bNuUZD+VToNB6NGjQwIWfiy66yM3729/+Zv369bOvvvrKpkyZYlOnTnXL16hRY6/n2Lp1q/Xu3du6d+/uQsTatWtdSFFICA+H06dPd6FBl4sXL3bPrxCj14yX3p8fmt577z3bvXu3C2J6zhkzZrhlnn32Wbv99tvt4YcftiOOOMKef/55u/vuu61Zs2ZWWNouL730kj355JMu+IwZM8a9d72f2rVru+D59ddf2+TJk61OnTpu/m+//eYe+8ADD9hrr71mL7zwgu2///62YsUKNxUrr5TZtGmTfr5wlyln3Dj9tuJ5J52U7DUBAACl0G+//eZ9/fXX7tLZsiX32CQZk147Rt988407vps+fXpo3lFHHeWde+65+T7mlFNO8a655prQ7R49enhXXnll6HaTJk28e++9111/6623vLJly3o//vhj6P7Jkye715w0aVK+rzF27FivU6dOodsjRozwOnTosNdy4c/zz3/+06tVq5a3Jez9v/HGG16ZMmW81atXu9uDBg1y67d79+7QMmeddZbXr1+/fNdlwoQJXo0aNaLe9/bbb3vZ2dne8uXLQ/MWLFjg1mv27Nnudrdu3bzLLrssz+OOOOKIqO/Ht2TJEvccn3/++V736f2VK1fOe/bZZ0Pzdu7c6TVo0MAbM2aMu33aaad5gwcPjvrcQ4YM8Y477jhvz549Xtz7dSGzAV31UgmV9QAAQCrRGB+1/CRjimN8UevWre3www+3xx9/3N1Wy4QKQ6ibnqjlaeTIka6Lnloy1LLy1ltvue5psfjmm2+scePGriXJpxahSBMnTnStMRqzpNe46aabYn6N8Nfq0KGDVQlrbdNzqlVo0aJFoXlt27a1bA31+H9qfVLrVGH470+TT90RVUxC98miRYv2ap2LpbUuP99//73rWqj35itXrpx7Tv81//rXv7qWLbWkqXXqo48+ytNdUUUnWrVq5br7vf3221bcCE6pxB/jtGqVWSF3fAAAgIRRtzcdwCdj+v8ud7FSSFK3r19//dWNg1E3vB49erj7xo4da/fff7/rqqeubTrgVpcwjZNJlFmzZrnxOCeffLK9/vrr9vnnn7uug4l8jXAKGeHURVHhKpOcdNJJtmzZMrv66qtt1apVdvzxx9u1117r7jv00ENtyZIlLhCr+57GZJ155pnFuj4Ep1RSrZpZy5a512l1AgAAiJkOnMuUKWP/+c9/7KmnnrILLrggNN7pww8/dGN4zj33XNeao8IN3377bczPfdBBB7nxMyob7vv444/zLKPWEI3TUVhSJT8VMtBBf7jy5cu71q+g11IBCY118mn99d7UulIc/PcXPkZIY4s2btzoWp6kVatWeQo3SOTteCjYanvovfnUAqXn9F9TVBhi0KBB9swzz7hiHf/85z9D92m8msZhPfbYY661T8H5559/tuJCcYhU7K6ncuQKTieckOy1AQAASAvqGqeD6GHDhtnmzZtdVy6fQsx///tfF25q1apl99xzj6sYF36AXpCePXu6ank6gFfrlZ5fASmcXkPd8tS1rEuXLq4AxaRJk/aq1KdWErV4NWrUyBWOiCxDrlarESNGuNfSeZ/WrVtnQ4YMccUsVJyiKBTaIs+ppNfX+1M3Rr22womKQ1x66aWuxU4hUIYMGeIKT+i2ukUqqOj8WAqhQcK7GIZ3NVRXvOuuu851n1SBBxWH2LZtW6iL5fDhw11RDy2rCnxqyVPIE32G6p54yCGHuFCpYiDqIlmc56qixSnVdOiQe5khJwoDAAAoKTrgVglrdcMLH4+ksUbq2qX5xxxzjDvAVjnvWOnAXCFIXcI0BkdV7lRhLlyfPn1clzJVv9OYHIU0VYUL98c//tGdrPfYY491LSnRSqKrlLnGX6nlRAFM3c/URe2hhx6yolJ1QQWN8EknEFbL3KuvvupCpUquK0gpECkc+QYMGOBCqbrK+d3kFE5VCjzIOeecs9frKriOHj3abROFQj2nxqbpvWs9RC1Sek2dh0vrpTFdCqai0KmgpSCn7aST7b755pvusyouWaoQYaWIfiFQ6UeVkVTzXsp5/XWdAtvs4INVxD/ZawMAAEqR7du3uwNilZiO5YAYpdsJJ5zgQujTTz9t6bpfx5MN6KqXqpX1VE1k+3YzvrQAAACQZNu2bbPx48e7Vju1/Ki1TOejinYi4ExFV71U07ChWe3a6oRqtmBBstcGAAAAMHXnU1c4dZnTuKP//e9/rhiDuvWVFrQ4pRpVf1Gr07vv5haI6NQp2WsEAACAUq5SpUquhak0o8UplbvrUSACAAAASAkEp1REZT0AAJBEpax2GDKcl6D9meCUyi1O6qrHFxcAACghGvQvO3fuTPaqAAnj78/+/l1YjHFKRa1bm5Urp/qIZkuXmjVrluw1AgAApUDZsmXdeYR00tVy5coV6zlxgJKwZ88etz9rv9b+XRQEp1RUvrxOp5zbVU+tTgQnAABQQpXT6tev7855s2zZsmSvDpAQ+gFg//33d/t3URCcUrm7noKTpjjObA0AAFAU5cuXtwMOOIDuesiofbpMAlpPCU6pigIRAAAgSXSQWbFixWSvBpBS6LiaDgUiAAAAACQVwSnVW5xUHGLjxmSvDQAAAFCqEZxSVa1aZvvvn3udVicAAAAgqQhOqYzuegAAAEBKIDilQ3CiQAQAAACQVASnVEZlPQAAACAlEJzSocVpwQKzXbuSvTYAAABAqUVwSmVNm5pVq2amE9AtXJjstQEAAABKLYJTKtMZjv3uehSIAAAAAJKG4JTqKBABAAAAJB3BKdVRIAIAAABIOoJTOp3LyfOSvTYAAABAqURwSnVt25plZ5utX2+2alWy1wYAAAAolQhOqa5SJbNWrXKv010PAAAASAqCU7p11wMAAABQ4ghO6YDKegAAAEBSEZzSAedyAgAAAJKK4JROwem778y2bEn22gAAAAClDsEpHdSta1avXm458vnzk702AAAAQKlDcEoXFIgAAAAAkobglC4oEAEAAAAkDcEp3cY5EZwAAACAEkdwSrcWJ41xyslJ9toAAAAApQrBKV0ccIBZpUpm27aZLV6c7LUBAAAAShWCU7rIzjZr1y73Ot31AAAAgBJFcEonVNYDAAAAkoLglE6orAcAAAAkBcEpHSvr0eIEAAAAlCiCUzrRGKesLLNVq8zWrk322gAAAAClBsEpnVSrZtaiRe51Wp0AAACAEkNwSjcUiAAAAABKHMEp3VAgAgAAAChxBKd0LRBBcAIAAABKDMEpXVucFi4027492WsDAAAAlAoEp3TTsKHZPvuY5eSYLViQ7LUBAAAASgWCU7pROXLO5wQAAACUKIJTOqJABAAAAFCiCE7piOAEAAAAlCiCUzoK76rnecleGwAAACDjEZzSUevWZuXLm23ebLZ0abLXBgAAAMh4BKd0pNDUpk3udbrrAQAAAKUjOI0bN86aNm1qFStWtG7dutns2bNjetzzzz9vWVlZ1rdvXyu145yorAcAAABkfnCaOHGiDR061EaMGGFz5861Dh06WO/evW3t2rUFPm7p0qV27bXX2lFHHWWlEgUiAAAAgNITnO655x676KKLbPDgwdamTRsbP368Va5c2R5//PF8H5OTk2MDBgywW2+91Zo3b26lukAEwQkAAADI7OC0c+dOmzNnjvXs2fP3FSpTxt2eNWtWvo+77bbbbL/99rMLL7ww8DV27NhhmzdvzjNlVHBatsxs48Zkrw0AAACQ0ZIanNavX+9aj+rWrZtnvm6vXr066mNmzpxp//73v+2xxx6L6TVGjRplNWrUCE2NGze2jFCrllmTJrnXGecEAAAAZHZXvXj8+uuvdt5557nQVKdOnZgeM2zYMNu0aVNoWrFihWXk+ZwAAAAAFJuylkQKP9nZ2bZmzZo883W7Xr16ey3//fffu6IQp512Wmjenj173GXZsmVt0aJF1qJFizyPqVChgpsytkDEa68xzgkAAADI5Ban8uXLW6dOnWzatGl5gpBud+/efa/lW7dubfPnz7d58+aFpj59+tixxx7rrmdMN7xYUVkPAAAAyPwWJ1Ep8kGDBlnnzp2ta9eudt9999nWrVtdlT0ZOHCgNWzY0I1V0nmeDj744DyPr1mzpruMnF8q+F31Fiww27XLrFy5ZK8RAAAAkJGSHpz69etn69ats+HDh7uCEB07drQpU6aECkYsX77cVdpDFE2bmlWvbqZKgQsXmrVrl+w1AgAAADJSlud5npUiKkeu6noqFFFdoSPd6QTAM2eaPfWU2XnnJXttAAAAgIzMBjTlZMo4JyrrAQAAAMWG4JTuKBABAAAAFDuCUyady6l09boEAAAASgzBKd21bWuWnW22fr3ZqlXJXhsAAAAgIxGc0l2lSjrBVe51uusBAAAAxYLglAnCu+sBAAAASDiCUyagQAQAAABQrAhOmYDgBAAAABQrglMmddVbvNhsy5Zkrw0AAACQcQhOmWC//czq188tRz5/frLXBgAAAMg4BKdMa3Wiux4AAACQcASnTBvnRGU9AAAAIOEITpmCAhEAAABAsSE4ZVpXPY1xyslJ9toAAAAAGYXglCkOOMCsUiWzbdtyq+sBAAAASBiCU6bIzjZr3z73Ot31AAAAgIQiOGVidz0KRAAAAAAJRXDKJBSIAAAAAIoFwSmTEJwAAACAYkFwyiTt2pllZZn99JPZ2rXJXhsAAAAgYxCcMknVqmYtW+ZeZ5wTAAAAkDAEp0xDgQgAAAAg4QhOmYZxTgAAAEDCEZwyDcEJAAAASDiCU6Z21Vu40Gz79mSvDQAAAJARCE6ZpmFDs332McvJMVuwINlrAwAAAGQEglOmUTlyuusBAAAACUVwykRU1gMAAAASiuCUiWhxAgAAABKK4JTJwUktTp6X7LUBAAAA0h7BKRO1bm1WvrzZ5s1mS5cme20AAACAtEdwykTlypm1bZt7ne56AAAAQJERnDIVBSIAAACAhCE4ZSoKRAAAAAAJQ3DKVAQnAAAAIGEITpmqffvcy2XLzDZuTPbaAAAAAGmN4JSpatUya9Ik9zrjnAAAAIAiIThlMrrrAQAAAAlBcMpkVNYDAAAAEoLglMlocQIAAAASguBUGoLTggVmu3Yle20AAACAtEVwymRNm5pVr262c6fZwoXJXhsAAAAgbRGcMllW1u/jnOiuBwAAABQawSnTUSACAAAAKDKCU6ajQAQAAABQZASn0hScPC/ZawMAAACkJYJTpmvb1iw722zDBrNVq5K9NgAAAEBaIjhluooVzVq3zr1Odz0AAACgUAhOpQHjnAAAAIAiITiVBlTWAwAAAIqE4FQa0OIEAAAAFAnBqTS1OC1ebLZlS7LXBgAAAEg7BKfSYL/9zOrXzy1HPn9+stcGAAAASDsEp9KC7noAAABAoRGcSgsKRAAAAACFRnAqLWhxAgAAAAqN4FTagtOXX5rl5CR7bQAAAIDMDk5TpkyxmTNnhm6PGzfOOnbsaH/605/sl19+SfT6IVFatjSrVMnst99yq+sBAAAAKL7gdN1119nmzZvd9fnz59s111xjJ598si1ZssSGDh0a79OhpGRnm7Vvn3ud7noAAABA8QYnBaQ2bdq46y+99JKdeuqpdscdd7iWp8mTJ8f7dEhGdz0KRAAAAADFG5zKly9v27Ztc9enTp1qvXr1ctdr164daolCilfWo8UJAAAAiEvZ+BY3O/LII12XvCOOOMJmz55tEydOdPO//fZba9SoUbxPh5JEZT0AAACgZFqcHnroIStbtqz997//tUceecQaNmzo5qub3oknnli4tUDJaNfOLCvL7KefzNauTfbaAAAAAGkjy/M8z0oRdSesUaOGbdq0yapXr26lzoEHmn33ndnbb5udcEKy1wYAAABIi2wQd4vT3LlzXTU936uvvmp9+/a1v//977Zz587CrTFKDt31AAAAgLjFHZwuvvhiN55JfvjhBzvnnHOscuXK9uKLL9rf/va3+NcAySkQQWU9AAAAoPiCk0KTTngrCktHH320/ec//7EnnnjClSdHiqPFCQAAACj+4KQhUXv27AmVI9fJb6Vx48a2fv36+NcAyQlOCxeabd+e7LUBAAAAMjM4de7c2f7xj3/Y008/be+9956dcsopoRPj1q1btzjWEYnUoIHZPvuY5eSYLViQ7LUBAAAAMjM43Xfffa5AxOWXX2433nijtWzZ0s1XefLDDz+8ONYRiaRy5HTXAwAAAIo3OLVv395V1VPJvhEjRoTmjx071p588kkrjHHjxlnTpk2tYsWK1q1bN3di3fy8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CE4AAAAAEIDgBAAAAAABCE4AAAAAEIDgBAAAAAABCE4AAAAAEKCslTKe57nLzZs3J3tVAAAAACSRnwn8jFCQUhecfv31V3fZuHHjZK8KAAAAgBTJCDVq1ChwmSwvlniVQfbs2WOrVq2yatWqWVZWVrJXJ+MTvALqihUrrHr16slenVKBbV7y2OYli+1d8tjmJY9tXrLY3qV7m3ue50JTgwYNrEyZgkcxlboWJ22QRo0aJXs1ShX9QST7j6K0YZuXPLZ5yWJ7lzy2ecljm5cstnfp3eY1AlqafBSHAAAAAIAABCcAAAAACEBwQrGpUKGCjRgxwl2iZLDNSx7bvGSxvUse27zksc1LFtu75FVI021e6opDAAAAAEC8aHECAAAAgAAEJwAAAAAIQHACAAAAgAAEJwAAAAAIQHBCkYwaNcq6dOli1apVs/3228/69u1rixYtyrPMMcccY1lZWXmmSy65JGnrnO5uueWWvbZn69atQ/dv377dLrvsMttnn32satWq9sc//tHWrFmT1HVOd02bNt1rm2vSdhb28aJ7//337bTTTnNnbtf2e+WVV/LcrzpGw4cPt/r161ulSpWsZ8+e9t133+VZ5ueff7YBAwa4kynWrFnTLrzwQtuyZUsJv5P03967du2y66+/3tq1a2dVqlRxywwcONBWrVoV+HcxevToJLybzNjHzz///L2254knnphnGfbxxG7zaN/rmsaOHRtahv08sceE22M4Rlm+fLmdcsopVrlyZfc81113ne3evdtSAcEJRfLee++5P4CPP/7Y3nnnHfcfbq9evWzr1q15lrvooovsp59+Ck1jxoxJ2jpngrZt2+bZnjNnzgzdd/XVV9v//vc/e/HFF93no4OdM844I6nrm+4+/fTTPNtb+7qcddZZoWXYx4tG3xkdOnSwcePGRb1f2/OBBx6w8ePH2yeffOIO6Hv37u3+E/bpgHLBggXu83n99dfdQdNf/vKXEnwXmbG9t23bZnPnzrWbb77ZXb788svu4KdPnz57LXvbbbfl2e+HDBlSQu8g8/ZxUVAK357PPfdcnvvZxxO7zcO3tabHH3/cBSMdzIdjP0/cMeHVAccoOTk5LjTt3LnTPvroI3vyySftiSeecD+cpQSVIwcSZe3atSpv77333nuheT169PCuvPLKpK5XJhkxYoTXoUOHqPdt3LjRK1eunPfiiy+G5n3zzTfuM5k1a1YJrmVm0/7cokULb8+ePe42+3hiaX+dNGlS6La2c7169byxY8fm2dcrVKjgPffcc+72119/7R736aefhpaZPHmyl5WV5f34448l/A7Se3tHM3v2bLfcsmXLQvOaNGni3XvvvSWwhqVjmw8aNMg7/fTT830M+3jx7+fa/scdd1yeeezniTsm3BjDMcqbb77plSlTxlu9enVomUceecSrXr26t2PHDi/ZaHFCQm3atMld1q5dO8/8Z5991urUqWMHH3ywDRs2zP2iicJTFyV1PWjevLn7BVLN2jJnzhz3C4+6MfnUjW///fe3WbNmJXGNM4d+BXvmmWfsggsucL9M+tjHi8+SJUts9erVefbrGjVqWLdu3UL7tS7Vdalz586hZbR8mTJlXAsViv7drv1d2zicuiypy80hhxziujelSneadDVjxgzXNalVq1b217/+1TZs2BC6j328eKm72BtvvOG6P0ZiP0/MMeGcGI5RdKluwnXr1g0to94Fmzdvdq2tyVY22SuAzLFnzx676qqr7IgjjnAHj74//elP1qRJE3eg/+WXX7q+8+r2oe4fiJ8OFtVsrf9Y1WXg1ltvtaOOOsq++uord3BZvnz5vQ5u9AWk+1B06iO/ceNGNx7Bxz5evPx9N/w/Uv+2f58udcAZrmzZsu4/bPb9olF3SO3T/fv3d2NrfFdccYUdeuihbhurS41+MNB30j333JPU9U1X6qanLkvNmjWz77//3v7+97/bSSed5A4ks7Oz2ceLmbqEaWxOZNd29vPEHROujuEYRZfRvuv9+5KN4ISEUb9WHbyHj7eR8P7X+hVBg7uPP/549x9DixYtkrCm6U3/kfrat2/vgpQO2l944QU3aB7F69///rf7DBSSfOzjyFT6dfjss892xTkeeeSRPPcNHTo0z3eRDoguvvhiN0C8QoUKSVjb9HbOOefk+R7RNtX3h1qh9H2C4qXxTerBUbFixTzz2c8Te0yY7uiqh4S4/PLL3UDV6dOnW6NGjQpcVgf6snjx4hJau8ymX24OPPBAtz3r1avnupKpRSSyC4LuQ9EsW7bMpk6dan/+858LXI59PLH8fTey8lL4fq3LtWvX5rlf3WlUhYx9v2ihSfu9BnqHtzblt99rmy9durTE1jGTqSu2uv/63yPs48Xngw8+cL0Egr7bhf288MeEsRyj6DLad71/X7IRnFAk+hVSfyCTJk2yd99913UxCDJv3jx3qV/lUXQqRauWDW3PTp06Wbly5WzatGmh+/WfgcZAde/ePanrmQkmTJjgusqo4k9B2McTS98r+g8zfL9Wf3eN6/D3a13qP2P1offpO0ndRfwgi/hDk8ZT6scCje8Iov1e420iu5OhcFauXOnGOPnfI+zjxduTQP9/qgJfEPbzwh8TxnKMosv58+fn+ZHA/+GmTZs2lnTJrk6B9PbXv/7Vq1Gjhjdjxgzvp59+Ck3btm1z9y9evNi77bbbvM8++8xbsmSJ9+qrr3rNmzf3jj766GSvetq65ppr3PbW9vzwww+9nj17enXq1HHVa+SSSy7x9t9/f+/dd99127179+5uQtHk5OS47Xr99dfnmc8+nhi//vqr9/nnn7tJ/zXdc8897rpfxW306NFezZo13fb98ssvXfWrZs2aeb/99lvoOU488UTvkEMO8T755BNv5syZ3gEHHOD1798/ie8qPbf3zp07vT59+niNGjXy5s2bl+e73a9q9dFHH7lKY7r/+++/95555hlv33339QYOHJjst5aW21z3XXvtta6ymL5Hpk6d6h166KFuH96+fXvoOdjHE/u9Ips2bfIqV67sKrdFYj9P7DFhLMcou3fv9g4++GCvV69ebrtPmTLFbfNhw4Z5qYDghCLRF1G0acKECe7+5cuXuwPI2rVru9LBLVu29K677jr3RYXC6devn1e/fn2vfPnyXsOGDd1tHbz7dCB56aWXerVq1XL/GfzhD39wX1womrfeesvt24sWLcozn308MaZPnx71u0Qlmv2S5DfffLNXt25dt52PP/74vT6LDRs2uIPIqlWrutK1gwcPdgdOiG9768A9v+92PU7mzJnjdevWzR0kVaxY0TvooIO8O+64I89BPmLf5jqw1IGiDhBVrlklsC+66KI8JZmFfTyx3yvy6KOPepUqVXKlsiOxnyf2mDDWY5SlS5d6J510kvtc9MOwfjDetWuXlwqy9E+yW70AAAAAIJUxxgkAAAAAAhCcAAAAACAAwQkAAAAAAhCcAAAAACAAwQkAAAAAAhCcAAAAACAAwQkAAAAAAhCcAAAAACAAwQkAkLKWLl1qWVlZNm/ePEsVCxcutMMOO8wqVqxoHTt2TPbqAABKCMEJAJCv888/3wWX0aNH55n/yiuvuPml0YgRI6xKlSq2aNEimzZt2l73a7sUNN1yyy1JWW8AQNEQnAAABVLLyp133mm//PKLZYqdO3cW+rHff/+9HXnkkdakSRPbZ5999rr/p59+Ck333XefVa9ePc+8a6+9NrSs53m2e/fuQq8LAKDkEJwAAAXq2bOn1atXz0aNGpXvMmpFiey2ptDQtGnTPK1Xffv2tTvuuMPq1q1rNWvWtNtuu80Fh+uuu85q165tjRo1sgkTJkTtHnf44Ye7EHfwwQfbe++9l+f+r776yk466SSrWrWqe+7zzjvP1q9fH7r/mGOOscsvv9yuuuoqq1OnjvXu3Tvq+9izZ49bJ61HhQoV3HuaMmVK6H61GM2ZM8ctk1/rkbaVP9WoUcMt59/W+6hWrZpNnjzZOnXq5F5j5syZ7nW1fZs1a2aVKlWyDh062H//+9+43qOWb9eunXu8Ap0+t61bt+b7mQEA4kNwAgAUKDs724WdBx980FauXFmk53r33Xdt1apV9v7779s999zjur2deuqpVqtWLfvkk0/skksusYsvvniv11Gwuuaaa+zzzz+37t2722mnnWYbNmxw923cuNGOO+44O+SQQ+yzzz5zQWfNmjV29tln53mOJ5980sqXL28ffvihjR8/Pur63X///Xb33XfbXXfdZV9++aULWH369LHvvvvO3a8Wo7Zt27p1iWw9iscNN9zguj9+88031r59exeannrqKbdeCxYssKuvvtrOPffcUEAMeo9al/79+9sFF1zgnnPGjBl2xhlnuBYtAECCeAAA5GPQoEHe6aef7q4fdthh3gUXXOCuT5o0SUfkoeVGjBjhdejQIc9j7733Xq9JkyZ5nku3c3JyQvNatWrlHXXUUaHbu3fv9qpUqeI999xz7vaSJUvc64wePTq0zK5du7xGjRp5d955p7s9cuRIr1evXnlee8WKFe5xixYtcrd79OjhHXLIIYHvt0GDBt7tt9+eZ16XLl28Sy+9NHRb71PvNxYTJkzwatSoEbo9ffp0t16vvPJKaN727du9ypUrex999FGex1544YVe//79Y3qPc+bMcdeXLl0a03oBAOJXNlEBDACQ2TTOSa0ehW1lEbXWlCnze2cHdTlT17vw1i11M1u7dm2ex6mVyVe2bFnr3Lmza1mRL774wqZPn+66sEUbj3TggQe66+oaV5DNmze71rAjjjgiz3zd1mskktbft3jxYtu2bZudcMIJe43DUgtTLO+xV69edvzxx7uuemol0+0zzzzTteQBABKD4AQAiMnRRx/tDsqHDRvmxiuFUxiK7Ba2a9euvZ6jXLlyeW5r/E+0eRrzE6stW7a4rnsKdpHq168fuq5KeKkifF20/vLGG29Yw4YN8yynMVCxvEcFznfeecc++ugje/vtt123yhtvvNF1f9S4KQBA0RGcAAAx07gcFUxo1apVnvn77ruvrV692oUnv0x5Is+99PHHH7vgJiomoQINKvYghx56qL300kuuEIVaowpL1e8aNGjgxkD16NEjNF+3u3btasWlTZs2LiAtX748z+uGi+U9arurdUzT8OHDXdW/SZMm2dChQ4tt3QGgNKE4BAAgZuoKNmDAAHvggQfyzFfVunXr1tmYMWNc17Fx48a5ynGJoudTCFBVussuu8yVRlchBNHtn3/+2RVH+PTTT93rv/XWWzZ48GDLycmJ63VUhEKtOhMnTnTnaVIRBwXAK6+80oqLquyp+6MKQqiAhdZ/7ty5rtVIt2N5j2pZUgEPFY5QAHv55Zfd53HQQQcV23oDQGlDcAIAxEWluCO70ukA/eGHH3YBR6W0Z8+eXaSxUNFaujTpuVW++7XXXnNlxcVvJVKA0NgehTuVHVe58/DxVLG44oorXAuNqubpeVS9Tq91wAEHWHEaOXKk3Xzzza66nrbliSee6Lru+d3sgt6jWstUqfDkk092Y7puuukmVx1Q5csBAImRpQoRCXouAAAAAMhItDgBAAAAQACCEwAAAAAEIDgBAAAAQACCEwAAAAAEIDgBAAAAQACCEwAAAAAEIDgBAAAAQACCEwAAAAAEIDgBAAAAQACCEwAAAAAEIDgBAAAAgBXs/wAfTM3fwWJizQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import accuracy_score, classification_report, confusion_matrix, precision_recall_curve, auc, log_loss\n",
    "\n",
    "# Split dataset into training and testing sets\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_resampled, y_resampled, test_size=0.2, random_state=42)\n",
    "\n",
    "print(\"\\nTraining Random Forest Classifier...\")\n",
    "\n",
    "# Initialize the Random Forest Classifier\n",
    "rf_classifier = RandomForestClassifier(\n",
    "    n_estimators=250,  # Number of trees\n",
    "    random_state=42,\n",
    "    n_jobs=-1,  # Use all available CPU cores\n",
    "    verbose=1\n",
    ")\n",
    "\n",
    "# Train the model\n",
    "rf_classifier.fit(X_train, y_train)\n",
    "\n",
    "print(\"\\nRandom Forest training complete!\")\n",
    "\n",
    "# Make predictions\n",
    "y_pred = rf_classifier.predict(X_test)\n",
    "y_pred_proba = rf_classifier.predict_proba(X_test)[:, 1]  # Probabilities for precision-recall curve\n",
    "\n",
    "# Evaluate the model\n",
    "accuracy = accuracy_score(y_test, y_pred)\n",
    "print(f\"\\nModel Accuracy: {accuracy * 100:.2f}%\")\n",
    "print(\"\\nClassification Report:\\n\", classification_report(y_test, y_pred))\n",
    "\n",
    "# Plot Training & Validation Accuracy Curve\n",
    "train_acc = []\n",
    "val_acc = []\n",
    "n_estimators_range = range(10, 210, 10)  # Checking for different numbers of trees\n",
    "\n",
    "for n in n_estimators_range:\n",
    "    rf = RandomForestClassifier(n_estimators=n, random_state=42, n_jobs=-1)\n",
    "    rf.fit(X_train, y_train)\n",
    "    train_acc.append(accuracy_score(y_train, rf.predict(X_train)))\n",
    "    val_acc.append(accuracy_score(y_test, rf.predict(X_test)))\n",
    "\n",
    "plt.figure(figsize=(10, 5))\n",
    "plt.plot(n_estimators_range, train_acc, label=\"Training Accuracy\", color='blue')\n",
    "plt.plot(n_estimators_range, val_acc, label=\"Validation Accuracy\", color='green')\n",
    "plt.xlabel(\"Number of Trees\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.title(\"Training & Validation Accuracy Curve\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "\n",
    "# Plot Training & Validation Log Loss Curve\n",
    "train_log_loss = []\n",
    "val_log_loss = []\n",
    "n_estimators_range = range(10, 210, 10)  # Checking for different numbers of trees\n",
    "\n",
    "for n in n_estimators_range:\n",
    "    rf = RandomForestClassifier(n_estimators=n, random_state=42, n_jobs=-1)\n",
    "    rf.fit(X_train, y_train)\n",
    "\n",
    "    train_probs = rf.predict_proba(X_train)\n",
    "    val_probs = rf.predict_proba(X_test)\n",
    "\n",
    "    train_log_loss.append(log_loss(y_train, train_probs))\n",
    "    val_log_loss.append(log_loss(y_test, val_probs))\n",
    "\n",
    "plt.figure(figsize=(10, 5))\n",
    "plt.plot(n_estimators_range, train_log_loss, label=\"Training Log Loss\", color='blue')\n",
    "plt.plot(n_estimators_range, val_log_loss, label=\"Validation Log Loss\", color='red')\n",
    "plt.xlabel(\"Number of Trees\")\n",
    "plt.ylabel(\"Log Loss\")\n",
    "plt.title(\"Training & Validation Log Loss Curve\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 487
    },
    "id": "KGgk8yS5I66X",
    "outputId": "eef09e8c-6fd7-4b15-a964-d4fdcc4d8b34"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgEAAAHWCAYAAADuNVprAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQplJREFUeJzt3QmcTfX7wPHnDIOxMxlL2VJhQrbIkiVKyJJKtkwRkX1LfqUkIRVC0eKvFEW2kEiIZBcSY8uWXdYsY73/1/PtdW8zY2iGe+fOvd/P+/c6v3vvOeee+z3Xbc5znu/muFwulwAAAOuE+LsAAADAPwgCAACwFEEAAACWIggAAMBSBAEAAFiKIAAAAEsRBAAAYCmCAAAALEUQAACApQgCgETavn27PPLII5IlSxZxHEdmzJjh1ePv3r3bHPezzz7z6nEDWbVq1cwCwDcIAhBQ/vjjD3nhhRfkzjvvlHTp0knmzJmlUqVK8v7778v58+d9+tlRUVGyceNGeeutt+SLL76QsmXLSrB49tlnTQCi32dC36MGQLpdl3fffTfJxz9w4ID069dP1q9f76USA/CG1F45CpAMvvvuO3nqqackbdq00rJlSylWrJhcvHhRli5dKr169ZJNmzbJxx9/7JPP1gvj8uXL5ZVXXpGOHTv65DPy589vPic0NFT8IXXq1HLu3DmZNWuWNG7cOM62CRMmmKArJibmpo6tQcAbb7whBQoUkJIlSyb6fT/88MNNfR6AxCEIQEDYtWuXNGnSxFwoFy5cKLlz5/Zs69Chg+zYscMECb5y9OhR85g1a1affYbeZeuF1l80uNKsyldffXVNEDBx4kSpW7euTJ06NVnKosFI+vTpJU2aNMnyeYCtqA5AQBgyZIicOXNGxo4dGycAcLvrrrukS5cunteXL1+WN998UwoVKmQubnoH+r///U8uXLgQ5326/rHHHjPZhHLlypmLsFY1jB8/3rOPprE1+FCacdCLtb7PnUZ3P49N36P7xTZ//nypXLmyCSQyZswohQsXNmX6rzYBGvQ8+OCDkiFDBvPeBg0aSHR0dIKfp8GQlkn307YLzz33nLmgJlazZs3k+++/l5MnT3rWrV692lQH6Lb4jh8/Lj179pTixYubc9LqhNq1a8uGDRs8+/z0009y//33m+daHne1gvs8tc5fszpr166VKlWqmIu/+3uJ3yZAq2T03yj++deqVUuyZctmMg4AEo8gAAFBU9R6ca5YsWKi9n/++efltddek9KlS8uwYcOkatWqMmjQIJNNiE8vnE8++aQ8/PDD8t5775mLiV5ItXpBNWrUyBxDNW3a1LQHGD58eJLKr8fSYEODkP79+5vPqV+/vvzyyy83fN+PP/5oLnBHjhwxF/ru3bvLsmXLzB27Bg3x6R3833//bc5Vn+uFVtPwiaXnqhfoadOmxckCFClSxHyX8e3cudM0kNRzGzp0qAmStN2Eft/uC3LRokXNOau2bdua708XveC7HTt2zAQPWlWg32316tUTLJ+2/ciRI4cJBq5cuWLWffTRR6baYOTIkZInT55EnysAEXEBKdypU6dc+lNt0KBBovZfv3692f/555+Ps75nz55m/cKFCz3r8ufPb9YtWbLEs+7IkSOutGnTunr06OFZt2vXLrPfO++8E+eYUVFR5hjxvf7662Z/t2HDhpnXR48evW653Z8xbtw4z7qSJUu6IiIiXMeOHfOs27BhgyskJMTVsmXLaz6vVatWcY75+OOPu8LDw6/7mbHPI0OGDOb5k08+6apRo4Z5fuXKFVeuXLlcb7zxRoLfQUxMjNkn/nno99e/f3/PutWrV19zbm5Vq1Y128aMGZPgNl1imzdvntl/wIABrp07d7oyZszoatiw4X+eI4BrkQlAinf69GnzmClTpkTtP2fOHPOod82x9ejRwzzGbzsQGRlp0u1ueqepqXq9y/UWd1uCb7/9Vq5evZqo9xw8eNC0ptesRPbs2T3rS5QoYbIW7vOMrV27dnFe63npXbb7O0wMTftrCv/QoUOmKkIfE6oKUFrVEhLyz58RvTPXz3JXdfz666+J/kw9jlYVJIZ209QeIppd0MyFVg9oNgBA0hEEIMXTemalae7E2LNnj7kwaTuB2HLlymUuxro9tnz58l1zDK0SOHHihHjL008/bVL4Wk2RM2dOUy0xefLkGwYE7nLqBTU+TbH/9ddfcvbs2Ruei56HSsq51KlTxwRckyZNMr0CtD4//nfppuXXqpK7777bXMhvu+02E0T99ttvcurUqUR/5u23356kRoDaTVEDIw2SRowYIREREYl+L4B/EQQgIIIArev9/fffk/S++A3zridVqlQJrne5XDf9Ge76arewsDBZsmSJqeN/5plnzEVSAwO9o4+/7624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aKicPn3aW+UCAMDnQgL1Ft5fmYDixYvLpEmTrln/9ddfS2RkpLfKBQBAslwEQ7y0WJEJ6Nu3rzRq1Ej++OMPeeihh8y6BQsWyMSJE81MggAAIEiDgHr16smMGTNk4MCB5qIfFhYm9913nyxcuJCphAEAAcWxuzYg6UGAqlu3rlmUtgP46quvpGfPnrJ27VozeiAAAIEgxPIo4KarMbQnQFRUlOTJk0fee+89UzWwYsUK75YOAACkjEzAoUOH5LPPPpOxY8eaDEDjxo3NxEFaPUCjQABAoHHsTgQkPhOgbQEKFy4sv/32mwwfPlwOHDggI0eO9G3pAADwoRDLpxJOdCbg+++/l86dO0v79u3l7rvv9m2pAABAyskELF26VP7++28pU6aMlC9fXkaNGiV//fWXb0sHAICPGwaGeGkJ6iDggQcekE8++UQOHjwoL7zwghkcSBsFXr16VebPn28CBAAAAonD3AFJkyFDBmnVqpXJDGzcuFF69OghgwcPloiICKlfv75vSgkAALzulkY61IaCOnvgvn37zFgBAAAEkhAaBt66VKlSScOGDc0CAECgcCRAr95eEqhzHgAAgJSQCQAAIBCF2J0IIBMAALBXiB/bBOzfv19atGgh4eHhZjK+4sWLy5o1azzbXS6XvPbaa5I7d26zvWbNmrJ9+3bvnr9XjwYAAP7TiRMnpFKlShIaGmoG49u8ebOZhydbtmyefbTh/YgRI2TMmDGycuVK0zuvVq1aEhMTI95CdQAAwFqOFzv461w6usSWNm1as8T39ttvS968eWXcuHGedQULFoyTBdAh+l999VVp0KCBWTd+/HjJmTOnma+nSZMmXikzmQAAgLVCvFgdMGjQIMmSJUucRdclZObMmVK2bFl56qmnzDg7pUqVMgPyue3atctM2qdVAG56PB2xd/ny5d47f68dCQAAi/Xp00dOnToVZ9F1Cdm5c6eMHj3azMUzb948My+Pzs/z+eefm+0aACi9849NX7u3eQPVAQAAazle7B1wvdR/QnTIfc0EDBw40LzWTMDvv/9u6v+joqIkuZAJAABYK8RPEwhpi//IyMg464oWLSp79+41z3PlymUeDx8+HGcffe3e5g0EAQAAJDPtGbB169Y467Zt2yb58+f3NBLUi/2CBQs820+fPm16CVSoUMFr5aA6AABgrRA/DRbUrVs3qVix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7xqBiCAgCNWsWdP80dLJTq5n6dKl8uCDD0pYWJjkzZtXOnfuLGfPnvVs1z+kdevWNdsLFiwoEydOvCbdOXToUClevLhkyJDBHOPFF1+UM2fOeFKozz33nBln3X13pn+QVezjNGvWTJ5++uk4Zbt06ZLcdtttMn78ePP66tWr5ly0HFqe++67T6ZMmeLlbw3BQPvw628/f/780r59e/PfwsyZM01A3LJlS8mWLZu5UNeuXdsECm579uyRevXqme36e7733ntlzpw511QH8LtGsCEICEKpUqWSgQMHysiRI2Xfvn3XbP/jjz/MHdMTTzwhv/32m0yaNMkEBR07dvTso38wDxw4YP7oTZ06VT7++GM5cuRInOOEhITIiBEjZNOmTfL555/LwoUL5aWXXvKkUPUPok60ogGFLj179rymLM2bN5dZs2Z5ggc1b948OXfunDz++OPmtf6h1D+cY8aMMZ/VrVs3adGihSxevNir3xuCj15cL168aKoK1qxZYwKC5cuXiw6PUqdOHXNhVh06dDCzBC5ZskQ2btxoMmkZM2a85nj8rhF0dLAgBI+oqChXgwYNzPMHHnjA1apVK/N8+vTpOiiUed66dWtX27Zt47zv559/doWEhLjOnz/vio6ONvuuXr3as3379u1m3bBhw6772d98840rPDzc83rcuHGuLFmyXLNf/vz5Pce5dOmS67bbbnONHz/es71p06aup59+2jyPiYlxpU+f3rVs2bI4x9Bz0P2AhH77V69edc2fP9+VNm1aV8OGDc1v95dffvHs+9dff7nCwsJckydPNq+LFy/u6tevX4LHXbRokXn/iRMnzGt+1wgmqf0dhMB39G7moYceuuZOZcOGDSYDMGHCBM86vTPS9OSuXbtk27Ztkjp1aildurRnuzay0lRpbD/++KO5m9myZYuZZlUbYMXExJi7ncTWjernNG7c2JTlmWeeMVUS3377rXz99ddm+44dO8zxHn744Tjv07u7UqVK3dT3guA1e/Zscwevd/j6e9a0fKNGjcz68uXLe/YLDw+XwoULS3R0tHmt1WFaffDDDz+YKgTNkpUoUeKmy8HvGoGCICCIValSRWrVqiV9+vQx6VA3TVG+8MIL5g9ffPny5TNBwH/ZvXu3PPbYY+YP51tvvSXZs2c3VQqtW7c2f8iS0kBKU6dVq1Y11Q3z5883KVytrnCXVX333Xdy++23x3kfY7gjvurVq8vo0aNNY748efKYi7FWAfyX559/3vy3or8zDQQ0uH3vvfekU6dON10WftcIBAQBQU67CpYsWdLc9bjpHf7mzZvN3X1CdF+9q1+3bp2UKVPGc+cSu7fB2rVrzZ2W/qHUtgFq8uTJcY6jf4ivXLnyn2XUelZtWKhtE77//nt56qmnJDQ01GyLjIw0fxT37t1r/qACN6KN+uL/rosWLWp+zytXrjS/NXXs2DHZunWr+X256W+wXbt2ZtHA+ZNPPkkwCOB3jWBCEBDktPW+3pFoAz633r17ywMPPGAaAuodkP7h1KBA71ZGjRolRYoUMSlR7fOsd1X6h0u7W+mdjLublP6h1ZSrNj7UVtW//PKLaeAUm7aW1jueBQsWmJbPmh24XoZA07b6fs1CLFq0yLM+U6ZMpjpDG01p0FG5cmXTMls/TxtnRUVF+ey7Q3C4++67pUGDBtKmTRv56KOPzG/q5ZdfNnfgul517drV9Bi45557TLCrv0ENHhLC7xpBxd+NEuC7xlFuu3btcqVJk8bTMFCtWrXK9fDDD7syZszoypAhg6tEiRKut956y7P9wIEDrtq1a5uGVdrgaeLEia6IiAjXmDFjPPsMHTrUlTt3btPAqlatWqYRVOwGVKpdu3amsaCuf/31169pQOW2efNms49u00Zdsenr4cOHuwoXLuwKDQ115ciRw3ze4sWLvfjNIRh/+27Hjx93PfPMM6ZBn/v3um3bNs/2jh07ugoVKmR+7/r70n218WBCDQMVv2sEC6YSRqJoV0NNbWpjwBo1avi7OAAALyAIQIK0z7+mPLU6QftCa////fv3m7Smu14TABDYaBOABGl9///+9z/ZuXOnqb/URk7a3YkAAACCB5kAAAAsxbDBAABYiiAAAABLEQQAAGApggAAACxFEAAAgKUIAoAAoBNANWzY0PO6WrVqZqjb5PbTTz+ZoaNPnjyZ7J8NwPsIAoBbvDjrRVEXnVhG51To37+/mbDGl6ZNmyZvvvlmovblwg3gehgsCLhFOj3suHHj5MKFCzJnzhzp0KGDGVRJZ6KLTadY1kDBG3TqZgC4VWQCgFukU8LmypVL8ufPL+3btzczMOoc9u4U/ltvvWXmtndP5/znn39K48aNJWvWrOZirjPZ7d6923M8naa2e/fuZnt4eLgZsjn+mF7xqwM0ANHZIXV+By2PZiTGjh1rjlu9enWzT7Zs2UxGQMuldPa6QYMGScGCBc0MkToj3pQpU+J8jgY1OrOebtfjxC4ngMBHEAB4mV4w9a5f6XSzOm+9TtM8e/ZsMxxzrVq1zFDMP//8s5k6NmPGjCab4H7Pe++9J5999pn83//9nyxdulSOHz8u06dPv+FntmzZUr766iszZXR0dLSZMlePq0HB1KlTzT5aDp0H4v333zevNQAYP368mep206ZNZlrbFi1ayOLFiz3BSqNGjcxU0evXrzfTTusUvACCiL+nMQSCZfpanRp2/vz5Zjranj17mm05c+Z0XbhwwbP/F198YaaOjT2trG7X6W3nzZtnXuv0zEOGDPFsv3TpkuuOO+6IM01u1apVXV26dDHPt27daqar1c9OSEJT4cbExLjSp0/vWrZsWZx9W7du7WratKl53qdPH1dkZGSc7b17977mWAACF20CgFukd/h61613+Zpib9asmfTr18+0DdBZGGO3A9iwYYPs2LHDZAJii4mJkT/++ENOnTpl7tbLly/v2ZY6dWopW7bsNVUCbnqXnipVKqlatWqiy6xlOHfunDz88MNx1ms2olSpUua5ZhRil0NVqFAh0Z8BIOUjCABukdaVjx492lzste5fL9puGTJkiLOvTs9cpkwZMyNjfDly5Ljp6oek0nKo7777Tm6//fY427RNAQA7EAQAt0gv9NoQLzFKly4tkyZNkoiICMmcOXOC++TOnVtWrlwpVapUMa+1u+HatWvNexOi2QbNQGhdvjZKjM+didAGh26RkZHmYr93797rZhCKFi1qGjjGtmLFikSdJ4DAQMNAIBk1b95cbrvtNtMjQBsG7tq1y/Tj79y5s+zbt8/s06VLFxk8eLDMmDFDtmzZIi+++OIN+/gXKFBAoqKipFWrVuY97mNOnjzZbNdeC9orQKstjh49arIAWh3Rs2dP0xjw888/N1URv/76q4wcOdK8Vu3atZPt27dLr169TKPCiRMnmgaLAIIHQQCQjNKnTy9LliyRfPnymZb3erfdunVr0ybAnRno0aOHPPPMM+bCrnXwesF+/PHHb3hcrY548sknTcBQpEgRadOmjZw9e9Zs03T/G2+8YVr258yZUzp27GjW62BDffv2Nb0EtBzaQ0GrB7TLoNIyas8CDSy0+6D2Ihg4cKDPvyMAycfR1oHJ+HkAACCFIBMAAIClCAIAALAUQQAAAJYiCAAAwFIEAQAAWIogAAAASxEEAABgKYIAAAAsRRAAAIClCAIAALAUQQAAAGKn/wd0d5XztADIDQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 600x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Confusion Matrix\n",
    "conf_matrix = confusion_matrix(y_test, y_pred)\n",
    "plt.figure(figsize=(6, 5))\n",
    "sns.heatmap(conf_matrix, annot=True, fmt='d', cmap='Blues', xticklabels=[\"Negative\", \"Positive\"], yticklabels=[\"Negative\", \"Positive\"])\n",
    "plt.xlabel(\"Predicted\")\n",
    "plt.ylabel(\"Actual\")\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 487
    },
    "id": "ztBSnbaiI9Wm",
    "outputId": "20551794-af4f-498c-c6db-129017468d72"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHWCAYAAABkNgFvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAASAJJREFUeJzt3Ql8U1X2wPGTFgplaREKtFSQXcSyySagIA6KgjqAo1VUEAU3+KswimwCoixuiAuKG7iMIx2h4AKCLKIiKMgyA4osUihiWarQYtnb9/+cC4lN6ZY2bfKS3/fzicl7ee/l5r0UT27OPddhWZYlAAAAgA2F+LoBAAAAQFERzAIAAMC2CGYBAABgWwSzAAAAsC2CWQAAANgWwSwAAABsi2AWAAAAtkUwCwAAANsimAUAAIBtEcwCCBp33nmn1K1b16N9VqxYIQ6Hw9zjXFdccYW5Oe3atcucr3feecen7QIQPAhmAZQYDWg0sHHeypcvL40bN5YhQ4bI/v37fd08v+cMDJ23kJAQqVq1qlx77bWyevVqCQT6OXjkkUekSZMmUqFCBalYsaK0bt1annrqKTl8+LCvmwfABsr4ugEAAt+ECROkXr16cvz4cVm5cqW89tprsnDhQtm8ebMJYErLm2++KVlZWR7t07lzZzl27JiEhYWJr9x6663So0cPyczMlG3btsmrr74qXbt2lbVr10qzZs3ErrT9+r7+/PNPuf32200Qq3744QeZMmWKfP311/LFF1/4upkA/BzBLIASpz2Jbdq0MY8HDhwo1apVk6lTp8rHH39sArXcZGRkmF46bypbtqzH+2hvqPYo+9Ill1xigj2nyy+/3JxT/VKgga0daa9r7969JTQ0VDZs2GB6ZrObOHGi+fLhDSXxWQLgP0gzAFDqrrzySnOflJTkymWtVKmS/PLLL6anrnLlynLbbbeZ57Qnddq0aXLxxReboLJmzZpy7733yqFDh8457ueffy5dunQx+0dEREjbtm3l3//+d745s7NnzzY9gs59tKfzxRdfLDBn9qOPPjL7hYeHS1RUlAk29+7d67aN833p+l69epnH1atXNz+ray9rUWkwq/R85QwQH374Yaldu7aUK1dOGjZsKE8//fQ5vdG6rO9R36ueU23TNddcY3pEnWbNmmWuU40aNcyxmjZtaoJnb3n99dfNedEvNTkDWaXXecyYMa5lvQbjx48/Zzu9nnqec6a2fPXVV/LAAw+Y9p9//vkyZ84c1/rc2qLP6S8FTj///LP84x//MGkdeo70y9gnn3zipXcPwJvomQVQ6pxBmPbQOp0+fVq6d+8ul112mTz33HOu9AMNXDVAGTBggDz44IMmAH7llVdMb963337r6m3Vbe666y4T9I4cOVKqVKlitlm0aJH07ds313YsWbLE9Az/7W9/M0Gf2rJliznuQw89lGf7ne3RYHny5Mkm71ODQ91PX1Nf20mDVn1f7du3N+9r6dKl8vzzz0uDBg3k/vvvL3IurTrvvPNc644ePWoCeQ0Q9ZzVqVNHVq1aZc5FSkqK+ULgdPfdd5v3oL272lOu5/6bb76R7777ztWDroGrnssbbrhBypQpI59++qkJDjUQHjx4sBSXBob6RUADxpKgbdUgfezYsaZntmfPnubLxH/+8x9znrJLSEgw7zUuLs4s//jjj9KpUyeJjY2VESNGmF5d3U+/kMydO9f0KAPwIxYAlJBZs2ZZ+s/M0qVLrYMHD1p79uyxZs+ebVWrVs0KDw+3fv31V7Nd//79zXYjRoxw2/+bb74x6z/44AO39YsWLXJbf/jwYaty5cpW+/btrWPHjrltm5WV5Xqsr3PBBRe4lh966CErIiLCOn36dJ7v4csvvzSvpffq5MmTVo0aNay4uDi31/rss8/MdmPHjnV7PV03YcIEt2O2atXKat26dYHnLykpyez/xBNPmPO3b98+c07atm1r1n/00UeubZ988kmrYsWK1rZt29yOoec0NDTUSk5ONsvLly83+z744IPnvF72c3X06NFznu/evbtVv359t3VdunQxt5xt1mufn/POO89q0aKFVVh6zHHjxp2zXq+nnuecn7nLLrvsnOt66623mmuXfX1KSooVEhLido3+9re/Wc2aNbOOHz/udm46duxoNWrUqNBtBlA6SDMAUOK6detmesn05+9bbrnF9JDNmzfP9Hxll7OnUn/Kj4yMlKuuukpSU1NdN/15X4/x5ZdfunpYjxw5YnrRcua36s/HedEeVO210/0LS3+KP3DggOn5y/5a2vOnP5cvWLDgnH3uu+++c9IEdu7cWejXHDdunDl/0dHRZl/tPdbe3ey9mnqu9Dntrc1+rvTca++wDqZS2rOo50SPmVP2c6W9pk5paWnmWNqjqe3W5eJK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KlWqZALQEydOSEhIiLzyyivm8aRJk2Tp0qXSoUMHs239+vVNYPr666+bXtbp06ebHtfZs2ebnFvVuHFj17GvvPJKt9d64403pEqVKiYY1t5cAAgEBLMA4ENdu3aV1157TTIyMuSFF16QMmXKyI033mh6Yo8ePWrSBLI7efKktGrVyjzWqgOaVuAMZHPav3+/jBkzRlasWCEHDhyQzMxMc8zk5ORSeW8AUBoIZgHAhypWrCgNGzY0j2fOnGnyYt9++22Ji4sz6xYsWCCxsbFu+2hagdI82vxoisHvv/8uL774olxwwQVmP+3l1YAYAAIFwSwA+AlNMRg1apQMGzZMtm3bZoJP7UXVlILcNG/eXN59911TCSG33tlvv/1WXn31VZMnq/bs2SOpqakl/j4AoDQxAAwA/MhNN90koaGhJi/2kUceMYO+NGDVCgVaieDll182y2rIkCGSnp4ut9xyi/zwww+yfft2ef/992Xr1q3meR3wpctbtmyR77//Xm677bYCe3MBwG7omQUAP6I5sxqkPvPMM5KUlCTVq1c3VQ127txpBm9dcsklpvdWVatWzVQxePTRR03vrQbBLVu2lE6dOpnnNV3hnnvuMfto6S8dUKYBMgAEEodlWZavGwEAAAAUBWkGAAAAsC2CWQAAANgWwSwAAABsi2AWAAAAtkUwCwAAANsimAUAAIBtEcwCAADAtghmAQAAYFsEswAAALAtglkAAADYFsEsAAAAxK7+HxIvn4MnxLYEAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "# Precision-Recall Curve\n",
    "precision, recall, _ = precision_recall_curve(y_test, y_pred_proba)\n",
    "pr_auc = auc(recall, precision)\n",
    "\n",
    "plt.figure(figsize=(8, 5))\n",
    "plt.plot(recall, precision, marker='.', label=f\"PR AUC = {pr_auc:.2f}\")\n",
    "plt.xlabel(\"Recall\")\n",
    "plt.ylabel(\"Precision\")\n",
    "plt.title(\"Precision-Recall Curve\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "KEvAkVoKiOgu",
    "outputId": "79f47179-0740-4113-f4e9-0b08b7d7f21a"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Downloading: \"https://download.pytorch.org/models/mobilenet_v2-b0353104.pth\" to C:\\Users\\REC_I/.cache\\torch\\hub\\checkpoints\\mobilenet_v2-b0353104.pth\n",
      "100.0%\n",
      "Downloading: \"https://download.pytorch.org/models/inception_v3_google-0cc3c7bd.pth\" to C:\\Users\\REC_I/.cache\\torch\\hub\\checkpoints\\inception_v3_google-0cc3c7bd.pth\n",
      "100.0%\n",
      "Downloading: \"https://download.pytorch.org/models/efficientnet_b0_rwightman-7f5810bc.pth\" to C:\\Users\\REC_I/.cache\\torch\\hub\\checkpoints\\efficientnet_b0_rwightman-7f5810bc.pth\n",
      "100.0%\n",
      "Downloading: \"https://download.pytorch.org/models/vit_b_16-c867db91.pth\" to C:\\Users\\REC_I/.cache\\torch\\hub\\checkpoints\\vit_b_16-c867db91.pth\n",
      "100.0%\n",
      "Downloading: \"https://download.pytorch.org/models/swin_t-704ceda3.pth\" to C:\\Users\\REC_I/.cache\\torch\\hub\\checkpoints\\swin_t-704ceda3.pth\n",
      "100.0%\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "=== دقة النماذج ===\n",
      "              Accuracy    AUC-PR\n",
      "ResNet50      0.810345  0.927938\n",
      "MobileNet     0.651961  0.339454\n",
      "InceptionV3   0.656863  0.281382\n",
      "EfficientNet  0.637255  0.369924\n",
      "ViT           0.642157  0.313636\n",
      "Swin          0.647059  0.298376\n",
      "\n",
      "=== Classification Report لـ ResNet50 ===\n",
      "              precision    recall  f1-score     support\n",
      "0              0.813433  0.784173  0.798535  139.000000\n",
      "1              0.807692  0.834437  0.820847  151.000000\n",
      "accuracy       0.810345  0.810345  0.810345    0.810345\n",
      "macro avg      0.810563  0.809305  0.809691  290.000000\n",
      "weighted avg   0.810444  0.810345  0.810152  290.000000\n",
      "\n",
      "=== Classification Report لـ MobileNet ===\n",
      "              precision    recall  f1-score     support\n",
      "0              0.673575  0.942029  0.785498  138.000000\n",
      "1              0.272727  0.045455  0.077922   66.000000\n",
      "accuracy       0.651961  0.651961  0.651961    0.651961\n",
      "macro avg      0.473151  0.493742  0.431710  204.000000\n",
      "weighted avg   0.543889  0.651961  0.556577  204.000000\n",
      "\n",
      "=== Classification Report لـ InceptionV3 ===\n",
      "              precision    recall  f1-score     support\n",
      "0              0.673469  0.956522  0.790419  138.000000\n",
      "1              0.250000  0.030303  0.054054   66.000000\n",
      "accuracy       0.656863  0.656863  0.656863    0.656863\n",
      "macro avg      0.461735  0.493412  0.422237  204.000000\n",
      "weighted avg   0.536465  0.656863  0.552183  204.000000\n",
      "\n",
      "=== Classification Report لـ EfficientNet ===\n",
      "              precision    recall  f1-score     support\n",
      "0              0.672043  0.905797  0.771605  138.000000\n",
      "1              0.277778  0.075758  0.119048   66.000000\n",
      "accuracy       0.637255  0.637255  0.637255    0.637255\n",
      "macro avg      0.474910  0.490777  0.445326  204.000000\n",
      "weighted avg   0.544487  0.637255  0.560483  204.000000\n",
      "\n",
      "=== Classification Report لـ ViT ===\n",
      "              precision    recall  f1-score     support\n",
      "0              0.673797  0.913043  0.775385  138.000000\n",
      "1              0.294118  0.075758  0.120482   66.000000\n",
      "accuracy       0.642157  0.642157  0.642157    0.642157\n",
      "macro avg      0.483957  0.494401  0.447933  204.000000\n",
      "weighted avg   0.550959  0.642157  0.563504  204.000000\n",
      "\n",
      "=== Classification Report لـ Swin ===\n",
      "              precision    recall  f1-score     support\n",
      "0              0.679348  0.905797  0.776398  138.000000\n",
      "1              0.350000  0.106061  0.162791   66.000000\n",
      "accuracy       0.647059  0.647059  0.647059    0.647059\n",
      "macro avg      0.514674  0.505929  0.469594  204.000000\n",
      "weighted avg   0.572794  0.647059  0.577878  204.000000\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "from torchvision import models, transforms\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import os\n",
    "from PIL import Image\n",
    "from sklearn.decomposition import PCA\n",
    "from imblearn.over_sampling import SMOTE\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import classification_report, accuracy_score, precision_recall_curve, auc\n",
    "import xgboost as xgb\n",
    "\n",
    "# ==================== تحميل النماذج المسبقة التدريب ====================\n",
    "def load_models():\n",
    "    models_dict = {\n",
    "        \"ResNet50\": models.resnet50(weights=models.ResNet50_Weights.IMAGENET1K_V1),\n",
    "        \"MobileNet\": models.mobilenet_v2(weights=models.MobileNet_V2_Weights.IMAGENET1K_V1),\n",
    "        \"InceptionV3\": models.inception_v3(weights=models.Inception_V3_Weights.IMAGENET1K_V1),\n",
    "        \"EfficientNet\": models.efficientnet_b0(weights=models.EfficientNet_B0_Weights.IMAGENET1K_V1),\n",
    "        \"ViT\": models.vit_b_16(weights=models.ViT_B_16_Weights.IMAGENET1K_V1),\n",
    "        \"Swin\": models.swin_t(weights=models.Swin_T_Weights.IMAGENET1K_V1),\n",
    "    }\n",
    "    for model in models_dict.values():\n",
    "        model.eval()  # ضبط النماذج في وضع التقييم\n",
    "    return models_dict\n",
    "\n",
    "# ==================== معالجة الصور ====================\n",
    "def preprocess_image(image_path):\n",
    "    \"\"\"تحميل وتحويل الصورة لاستخراج الميزات.\"\"\"\n",
    "    try:\n",
    "        if not os.path.exists(image_path):\n",
    "            print(f\" الصورة غير موجودة: {image_path}\")\n",
    "            return None\n",
    "        image = Image.open(image_path).convert(\"RGB\")\n",
    "        transform = transforms.Compose([\n",
    "            transforms.Resize((224, 224)),\n",
    "            transforms.ToTensor(),\n",
    "            transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])\n",
    "        ])\n",
    "        return transform(image).unsqueeze(0)\n",
    "    except Exception as e:\n",
    "        print(f\" خطأ في معالجة الصورة {image_path}: {e}\")\n",
    "        return None\n",
    "\n",
    "# ==================== استخراج الميزات من النماذج ====================\n",
    "def extract_features(model, image_path):\n",
    "    image_tensor = preprocess_image(image_path)\n",
    "    if image_tensor is None:\n",
    "        return None\n",
    "    with torch.no_grad():\n",
    "        features = model(image_tensor).squeeze().detach().cpu().numpy()\n",
    "    return features\n",
    "\n",
    "# ==================== استخراج الميزات لجميع الصور ====================\n",
    "def extract_all_features(df, image_folder, models_dict):\n",
    "    features_dict = {model_name: [] for model_name in models_dict.keys()}\n",
    "    labels = []\n",
    "    for _, row in df.iterrows():\n",
    "        image_filename = row[\"imageID\"].strip()\n",
    "        label = row[\"binaryLabels\"]\n",
    "        image_path = os.path.join(image_folder, image_filename)\n",
    "        for model_name, model in models_dict.items():\n",
    "            features = extract_features(model, image_path)\n",
    "            if features is not None:\n",
    "                features_dict[model_name].append(features)\n",
    "        labels.append(label)\n",
    "    return {model_name: np.array(features) for model_name, features in features_dict.items()}, np.array(labels)\n",
    "\n",
    "# ==================== تطبيق PCA وSMOTE ====================\n",
    "def apply_pca_and_smote(features, labels, n_components=512):\n",
    "    pca = PCA(n_components=n_components)\n",
    "    features_reduced = pca.fit_transform(features)\n",
    "    smote = SMOTE(random_state=42)\n",
    "    features_resampled, labels_resampled = smote.fit_resample(features_reduced, labels)\n",
    "    return features_resampled, labels_resampled\n",
    "\n",
    "# ==================== تدريب وتقييم نموذج XGBoost ====================\n",
    "def train_and_evaluate_classifier(features, labels):\n",
    "    X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2, random_state=42)\n",
    "\n",
    "    # تدريب نموذج XGBoost\n",
    "    model = xgb.XGBClassifier(objective=\"binary:logistic\", eval_metric=\"logloss\")\n",
    "    model.fit(X_train, y_train)\n",
    "\n",
    "    # التنبؤات\n",
    "    y_pred = model.predict(X_test)\n",
    "\n",
    "    # حساب المقاييس\n",
    "    accuracy = accuracy_score(y_test, y_pred)\n",
    "    precision, recall, _ = precision_recall_curve(y_test, model.predict_proba(X_test)[:, 1])\n",
    "    auc_pr = auc(recall, precision)\n",
    "\n",
    "    # طباعة Classification Report\n",
    "    class_report = classification_report(y_test, y_pred, output_dict=True)\n",
    "\n",
    "    return accuracy, precision, recall, auc_pr, y_pred, y_test, class_report\n",
    "\n",
    "# ==================== تنفيذ التحليل الكامل ====================\n",
    "def main(csv_path, image_folder):\n",
    "    # تحميل البيانات\n",
    "    df = pd.read_csv(csv_path)\n",
    "    df[\"binaryLabels\"] = df[\"binaryLabels\"].astype(int)\n",
    "\n",
    "    # تحميل النماذج المسبقة التدريب\n",
    "    models_dict = load_models()\n",
    "\n",
    "    # استخراج الميزات\n",
    "    features_dict, labels = extract_all_features(df, image_folder, models_dict)\n",
    "\n",
    "    # نتائج التقييم\n",
    "    results = {}\n",
    "    reports = {}\n",
    "\n",
    "    # تدريب وتقييم النماذج\n",
    "    for model_name, features in features_dict.items():\n",
    "        if model_name == \"ResNet50\":\n",
    "            features, labels_resampled = apply_pca_and_smote(features, labels)\n",
    "        else:\n",
    "            labels_resampled = labels\n",
    "\n",
    "        acc, prec, rec, auc_pr, y_pred, y_test, class_report = train_and_evaluate_classifier(features, labels_resampled)\n",
    "\n",
    "        results[model_name] = {\"Accuracy\": acc, \"AUC-PR\": auc_pr}\n",
    "        reports[model_name] = class_report  # حفظ التقرير لكل نموذج\n",
    "\n",
    "    # عرض النتائج العامة\n",
    "    results_df = pd.DataFrame(results).T\n",
    "    print(\"\\n=== دقة النماذج ===\")\n",
    "    print(results_df)\n",
    "\n",
    "    # طباعة Classification Reports لكل نموذج\n",
    "    for model_name, report in reports.items():\n",
    "        print(f\"\\n=== Classification Report لـ {model_name} ===\")\n",
    "        print(pd.DataFrame(report).T)  # تنسيق التقرير ليكون أوضح\n",
    "\n",
    "# استدعاء الدالة الرئيسية\n",
    "\n",
    "main(csv_path, image_folder)"
   ]
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "colab": {
   "gpuType": "T4",
   "provenance": []
  },
  "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.13.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
