{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "ee521553",
   "metadata": {},
   "source": [
    "### Setup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d2df57d5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Imports completed\n"
     ]
    }
   ],
   "source": [
    "# Imports\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import time\n",
    "\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.model_selection import train_test_split, GridSearchCV, cross_val_score\n",
    "from sklearn import metrics\n",
    "from sklearn import neighbors\n",
    "\n",
    "# Define label names for the Fashion-MNIST dataset\n",
    "label_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', \n",
    "               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']\n",
    "\n",
    "print(\"Imports completed\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54658644",
   "metadata": {},
   "source": [
    "### Load Datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "338828ec",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train loaded\n",
      "Test loaded\n"
     ]
    }
   ],
   "source": [
    "# Load the train dataset from the CSV file\n",
    "trainDataSet = pd.read_csv('C:/Users/James/Documents/Assignment/fashion-mnist_train.csv')\n",
    "print(\"Train loaded\")\n",
    "\n",
    "# Load the test dataset from the CSV file\n",
    "testDataSet = pd.read_csv('C:/Users/James/Documents/Assignment/fashion-mnist_test.csv')\n",
    "print(\"Test loaded\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b062b53",
   "metadata": {},
   "source": [
    "### Normalisation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "74c1d79e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Dataset Shape: (60000, 785)\n",
      "Test Dataset Shape: (10000, 785)\n",
      "   label  pixel1  pixel2  pixel3  pixel4  pixel5  pixel6  pixel7  pixel8  \\\n",
      "0      2       0       0       0       0       0       0       0       0   \n",
      "1      9       0       0       0       0       0       0       0       0   \n",
      "2      6       0       0       0       0       0       0       0       5   \n",
      "3      0       0       0       0       1       2       0       0       0   \n",
      "4      3       0       0       0       0       0       0       0       0   \n",
      "\n",
      "   pixel9  ...  pixel775  pixel776  pixel777  pixel778  pixel779  pixel780  \\\n",
      "0       0  ...         0         0         0         0         0         0   \n",
      "1       0  ...         0         0         0         0         0         0   \n",
      "2       0  ...         0         0         0        30        43         0   \n",
      "3       0  ...         3         0         0         0         0         1   \n",
      "4       0  ...         0         0         0         0         0         0   \n",
      "\n",
      "   pixel781  pixel782  pixel783  pixel784  \n",
      "0         0         0         0         0  \n",
      "1         0         0         0         0  \n",
      "2         0         0         0         0  \n",
      "3         0         0         0         0  \n",
      "4         0         0         0         0  \n",
      "\n",
      "[5 rows x 785 columns]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAGxCAYAAADLfglZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkbUlEQVR4nO3de3BU9f3/8deGJJuAyVYuuaxAjBSsAqKgclERvKTEiiBqQXvBWhXl0kGgVqp+jVqNo9XxD0SsaIRRlDpFpELVWCDgIBoRq0WlUIOEgRiJuBsgF0PO7w+G/TUmBD4fdvPJ5fmYOTNkc17ZT05O8uIku+/1eZ7nCQAAB+JcLwAA0HFRQgAAZyghAIAzlBAAwBlKCADgDCUEAHCGEgIAOEMJAQCcoYQAAM5QQuiQXnjhBfl8Pn344YdR+Xg+n0/Tp0+Pysf634+Zl5dnld20aZOmTZumgQMHKiUlRenp6brsssu0evXqqK4ROFGUENAOvfzyy/rggw9000036fXXX9fChQvl9/t16aWXavHixa6XB0TEu14AgOi788479ec//7nBbVdccYUGDx6sBx54QL/+9a8drQxoiCsh4Ciqq6s1e/ZsnX322QoEAuratauGDx+u119//aiZZ555Rv369ZPf79eZZ56pV155pdE+ZWVlmjJlinr27KnExERlZ2fr/vvvV11dXdTWnpaW1ui2Tp06aciQISotLY3a/QAniish4Chqamr07bffas6cOTrllFNUW1urd955RxMmTFBBQUGjq4kVK1ZozZo1euCBB9SlSxfNnz9f119/veLj43XttddKOlxA559/vuLi4vR///d/6tOnj9577z396U9/0o4dO1RQUNDsmk499VRJ0o4dO4w/n7q6Oq1fv179+/c3zgKxQgkBRxEIBBqUwqFDh3TppZdq3759evLJJxuV0N69e1VcXKz09HRJh3/9NWDAAM2dOzdSQnl5edq3b5+2bNmi3r17S5IuvfRSJScna86cOfr973+vM88886hrio+3/5bNy8vT9u3btXz5cuuPAUQbv44DmvHqq6/qggsu0EknnaT4+HglJCToueee0+eff95o30svvTRSQNLhX39NnDhR27dv165duyRJb7zxhkaPHq1gMKi6urrIlpubK0kqKipqdj3bt2/X9u3bjT+PhQsX6qGHHtLs2bM1btw44zwQK5QQcBTLli3Tz3/+c51yyil68cUX9d5776m4uFg33XSTqqurG+2fkZFx1NsqKiokSV9//bX+/ve/KyEhocF25Fdke/fujfrnUVBQoClTpujWW2/VY489FvWPD5wIfh0HHMWLL76o7OxsLV26VD6fL3J7TU1Nk/uXlZUd9bZu3bpJkrp3766zzjpLDz30UJMfIxgMnuiyGygoKNDNN9+syZMna8GCBQ0+D6A1oISAo/D5fEpMTGzwg7usrOyoj4775z//qa+//jryK7lDhw5p6dKl6tOnj3r27ClJuvLKK7Vq1Sr16dNHJ598ckzX/8ILL+jmm2/WL3/5Sy1cuJACQqtECaFDW716dZOPNLviiit05ZVXatmyZZo6daquvfZalZaW6sEHH1RmZqa2bdvWKNO9e3ddcskluvfeeyOPjvviiy8aPEz7gQceUGFhoUaMGKHf/e53Ov3001VdXa0dO3Zo1apVWrBgQaSwmvLjH/9Yko75d6FXX31Vv/3tb3X22WdrypQp+uCDDxq8/5xzzpHf72/2YwAtgRJCh/aHP/yhydtLSkr0m9/8RuXl5VqwYIGef/55nXbaabrrrru0a9cu3X///Y0yV111lfr376977rlHO3fuVJ8+ffTSSy9p4sSJkX0yMzP14Ycf6sEHH9Rjjz2mXbt2KSUlRdnZ2RozZswxr46O97lEK1euVH19vT766CNdcMEFTX5+Rx7uDbjk8zzPc70IAEDHxKPjAADOUEIAAGcoIQCAM5QQAMAZSggA4AwlBABwptU9T6i+vl67d+9WSkoKz/AGgDbI8zxVVlYqGAwqLq75a51WV0K7d+9Wr169XC8DAHCCSktLm50AIrXCX8elpKS4XgIAIAqO5+d5zEpo/vz5ys7OVlJSkoYMGaL169cfV45fwQFA+3A8P89jUkJLly7VzJkzdffdd2vz5s266KKLlJubq507d8bi7gAAbVRMZscNHTpUgwcP1tNPPx257YwzztD48eOVn5/fbDYcDisQCER7SQCAFhYKhZSamtrsPlG/EqqtrdWmTZuUk5PT4PacnBxt2LCh0f41NTUKh8MNNgBAxxD1Etq7d68OHToUeWGvI9LT05t85cn8/HwFAoHIxiPjAKDjiNkDE374BynP85r8I9XcuXMVCoUiW2lpaayWBABoZaL+PKHu3burU6dOja56ysvLG10d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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Basic Exploration\n",
    "print(\"Training Dataset Shape:\", trainDataSet.shape)\n",
    "print(\"Test Dataset Shape:\", testDataSet.shape)\n",
    "\n",
    "# Display the first few rows of the dataset\n",
    "print(trainDataSet.head())\n",
    "\n",
    "# Normalize the feature data\n",
    "trainFeatures = trainDataSet.drop(trainDataSet.columns[0], axis=1) / 255.0\n",
    "testFeatures = testDataSet.drop(testDataSet.columns[0], axis=1) / 255.0\n",
    "trainLabels = trainDataSet.iloc[:, 0]\n",
    "testLabels = testDataSet.iloc[:, 0]\n",
    "\n",
    "# Visualize the first image in the dataset\n",
    "import matplotlib.pyplot as plt\n",
    "plt.imshow(trainFeatures.iloc[0].values.reshape(28,28), cmap='gray')\n",
    "plt.title(f\"Label: {trainLabels[0]}\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d69f202",
   "metadata": {},
   "source": [
    "### Split The Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e125c736",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Split complete\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Separate the train dataset into features and labels\n",
    "trainLabels = trainDataSet.iloc[:, 0].to_numpy()\n",
    "trainFeatures = trainDataSet.drop(trainDataSet.columns[0], axis=1).to_numpy()\n",
    "\n",
    "# Separate the test dataset into features and labels\n",
    "testLabels = testDataSet.iloc[:, 0].to_numpy()\n",
    "testFeatures = testDataSet.drop(testDataSet.columns[0], axis=1).to_numpy()\n",
    "\n",
    "# Split the data into training, testing, and validation sets\n",
    "(trainData, testData, trainLabels, testLabelsFromSplit) = train_test_split(trainFeatures, trainLabels, test_size=0.25, random_state=42)\n",
    "(trainData, valData, trainLabels, valLabels) = train_test_split(trainData, trainLabels, test_size=0.1, random_state=84)\n",
    "\n",
    "print(\"Split complete\\n\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "78a14a26",
   "metadata": {},
   "source": [
    "## Random Forest Parameter Selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "08135b7b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Starting Forest Parameter Selection...\n",
      "\n",
      "Starting GridSearchCV...\n",
      "Fitting 2 folds for each of 8 candidates, totalling 16 fits\n",
      "GridSearchCV completed.\n",
      "Best parameters found:  {'max_depth': None, 'min_samples_split': 2, 'n_estimators': 200}\n",
      "Evaluating the model on the validation set...\n",
      "Evaluation completed.\n",
      "Confusion Matrix for Random Forest on Validation Set:\n",
      "[[375   0   4  15   2   0  37   0   2   0]\n",
      " [  0 418   2   9   0   0   4   0   0   0]\n",
      " [  2   0 360   1  59   0  18   0   3   0]\n",
      " [ 12   2   3 453  10   0   8   0   1   0]\n",
      " [  0   0  28  19 368   0  19   0   1   0]\n",
      " [  0   0   0   0   0 427   0  14   3   4]\n",
      " [ 71   0  42  11  35   0 257   0   4   0]\n",
      " [  0   0   0   0   0   4   0 475   0  23]\n",
      " [  1   0   2   2   2   1   5   2 449   0]\n",
      " [  0   0   0   0   0   3   0  18   1 409]]\n",
      "Classification Report for Random Forest on Validation Set:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      " T-shirt/top      0.813     0.862     0.837       435\n",
      "     Trouser      0.995     0.965     0.980       433\n",
      "    Pullover      0.816     0.813     0.814       443\n",
      "       Dress      0.888     0.926     0.907       489\n",
      "        Coat      0.773     0.846     0.808       435\n",
      "      Sandal      0.982     0.953     0.967       448\n",
      "       Shirt      0.739     0.612     0.669       420\n",
      "     Sneaker      0.933     0.946     0.940       502\n",
      "         Bag      0.968     0.968     0.968       464\n",
      "  Ankle boot      0.938     0.949     0.943       431\n",
      "\n",
      "    accuracy                          0.887      4500\n",
      "   macro avg      0.885     0.884     0.883      4500\n",
      "weighted avg      0.886     0.887     0.886      4500\n",
      "\n",
      "Total time for the grid search process: 182.41 seconds\n"
     ]
    }
   ],
   "source": [
    "print(\"Starting Forest Parameter Selection...\\n\")\n",
    "forest_param_time_total = time.time()\n",
    "\n",
    "# Define the parameter grid\n",
    "param_grid = {\n",
    "    'n_estimators': [100, 200],\n",
    "    'max_depth': [10, None],\n",
    "    'min_samples_split': [2, 5]\n",
    "}\n",
    "\n",
    "# Initialize the Random Forest Classifier\n",
    "rnd_clf = RandomForestClassifier(random_state=42)\n",
    "\n",
    "# GridSearch\n",
    "print(\"Starting GridSearchCV...\")\n",
    "grid_search = GridSearchCV(estimator=rnd_clf, param_grid=param_grid, cv=2, n_jobs=-1, verbose=2)\n",
    "grid_search.fit(trainData, trainLabels)\n",
    "print(\"GridSearchCV completed.\")\n",
    "\n",
    "# Best parameters\n",
    "best_params = grid_search.best_params_\n",
    "print(\"Best parameters found: \", best_params)\n",
    "\n",
    "# Store the best parameters in variables\n",
    "best_n_estimators = best_params['n_estimators']\n",
    "best_max_depth = best_params['max_depth']\n",
    "best_min_samples_split = best_params['min_samples_split']\n",
    "\n",
    "# Evaluate the model on the validation set\n",
    "print(\"Evaluating the model on the validation set...\")\n",
    "y_pred_val_rf = grid_search.predict(valData)\n",
    "print(\"Evaluation completed.\")\n",
    "\n",
    "# Print the confusion matrix and classification report\n",
    "print(\"Confusion Matrix for Random Forest on Validation Set:\")\n",
    "print(metrics.confusion_matrix(valLabels, y_pred_val_rf))\n",
    "print(\"Classification Report for Random Forest on Validation Set:\")\n",
    "print(metrics.classification_report(valLabels, y_pred_val_rf, target_names=label_names, digits=3))\n",
    "\n",
    "# Calculate the total runtime\n",
    "total_time = time.time() - forest_param_time_total\n",
    "print(f\"Total time for the grid search process: {total_time:.2f} seconds\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5c1ee900",
   "metadata": {},
   "source": [
    "# Random Forest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "037d2078",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Starting the process...\n",
      "Initializing the Random Forest Classifier with the optimized parameters...\n",
      "\n",
      "Training the Random Forest model...\n",
      "Model training completed.\n",
      "\n",
      "Evaluating the model on the validation set...\n",
      "Validation set evaluation completed.\n",
      "\n",
      "Confusion Matrix for Random Forest on Validation Set:\n",
      "[[375   0   4  15   2   0  37   0   2   0]\n",
      " [  0 418   2   9   0   0   4   0   0   0]\n",
      " [  2   0 360   1  59   0  18   0   3   0]\n",
      " [ 12   2   3 453  10   0   8   0   1   0]\n",
      " [  0   0  28  19 368   0  19   0   1   0]\n",
      " [  0   0   0   0   0 427   0  14   3   4]\n",
      " [ 71   0  42  11  35   0 257   0   4   0]\n",
      " [  0   0   0   0   0   4   0 475   0  23]\n",
      " [  1   0   2   2   2   1   5   2 449   0]\n",
      " [  0   0   0   0   0   3   0  18   1 409]]\n",
      "\n",
      "Classification Report for Random Forest on Validation Set:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      " T-shirt/top      0.813     0.862     0.837       435\n",
      "     Trouser      0.995     0.965     0.980       433\n",
      "    Pullover      0.816     0.813     0.814       443\n",
      "       Dress      0.888     0.926     0.907       489\n",
      "        Coat      0.773     0.846     0.808       435\n",
      "      Sandal      0.982     0.953     0.967       448\n",
      "       Shirt      0.739     0.612     0.669       420\n",
      "     Sneaker      0.933     0.946     0.940       502\n",
      "         Bag      0.968     0.968     0.968       464\n",
      "  Ankle boot      0.938     0.949     0.943       431\n",
      "\n",
      "    accuracy                          0.887      4500\n",
      "   macro avg      0.885     0.884     0.883      4500\n",
      "weighted avg      0.886     0.887     0.886      4500\n",
      "\n",
      "\n",
      "Evaluating the model on the test set...\n",
      "Test set evaluation completed.\n",
      "\n",
      "Confusion Matrix for Random Forest on Test Set:\n",
      "[[856   0  12  30   1   1  86   0  14   0]\n",
      " [  2 971   6  13   1   1   5   0   1   0]\n",
      " [  7   1 803  10 113   0  56   0  10   0]\n",
      " [ 24  10   9 918  22   0  17   0   0   0]\n",
      " [  0   0  67  33 857   0  40   0   3   0]\n",
      " [  0   0   0   0   0 941   0  42   4  13]\n",
      " [179   1 109  29  79   0 586   0  17   0]\n",
      " [  0   0   0   0   0  20   0 926   0  54]\n",
      " [  1   1   8   0   3   1   8   2 976   0]\n",
      " [  0   0   1   0   0   8   0  37   3 951]]\n",
      "\n",
      "Classification Report for Random Forest on Test Set:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      " T-shirt/top      0.801     0.856     0.827      1000\n",
      "     Trouser      0.987     0.971     0.979      1000\n",
      "    Pullover      0.791     0.803     0.797      1000\n",
      "       Dress      0.889     0.918     0.903      1000\n",
      "        Coat      0.796     0.857     0.826      1000\n",
      "      Sandal      0.968     0.941     0.954      1000\n",
      "       Shirt      0.734     0.586     0.652      1000\n",
      "     Sneaker      0.920     0.926     0.923      1000\n",
      "         Bag      0.949     0.976     0.963      1000\n",
      "  Ankle boot      0.934     0.951     0.943      1000\n",
      "\n",
      "    accuracy                          0.878     10000\n",
      "   macro avg      0.877     0.879     0.877     10000\n",
      "weighted avg      0.877     0.878     0.877     10000\n",
      "\n",
      "\n",
      "Total time for the random forest process: 112.80 seconds\n"
     ]
    }
   ],
   "source": [
    "print(\"Starting the process...\")\n",
    "\n",
    "# Initialize the Random Forest Classifier with the best parameters\n",
    "print(\"Initializing the Random Forest Classifier with the optimized parameters...\")\n",
    "start_time_forest = time.time()\n",
    "rnd_clf = RandomForestClassifier(n_estimators=best_n_estimators, \n",
    "                                 max_depth=best_max_depth, \n",
    "                                 min_samples_split=best_min_samples_split, \n",
    "                                 random_state=42)\n",
    "\n",
    "# Train the Random Forest Classifier on the training data\n",
    "print(\"\\nTraining the Random Forest model...\")\n",
    "rnd_clf.fit(trainData, trainLabels)\n",
    "print(\"Model training completed.\\n\")\n",
    "\n",
    "# Evaluate the model on the validation set\n",
    "print(\"Evaluating the model on the validation set...\")\n",
    "y_pred_val_rf = rnd_clf.predict(valData)\n",
    "print(\"Validation set evaluation completed.\\n\")\n",
    "\n",
    "# Print the confusion matrix and classification report for the validation set\n",
    "print(\"Confusion Matrix for Random Forest on Validation Set:\")\n",
    "print(metrics.confusion_matrix(valLabels, y_pred_val_rf))\n",
    "print(\"\\nClassification Report for Random Forest on Validation Set:\")\n",
    "print(metrics.classification_report(valLabels, y_pred_val_rf, target_names=label_names, digits=3))\n",
    "\n",
    "\n",
    "# Predict on the test data from testDataSet\n",
    "print(\"\\nEvaluating the model on the test set...\")\n",
    "y_pred_rf = rnd_clf.predict(testFeatures)\n",
    "print(\"Test set evaluation completed.\\n\")\n",
    "\n",
    "# Print the confusion matrix and classification report for the test set from testDataSet\n",
    "print(\"Confusion Matrix for Random Forest on Test Set:\")\n",
    "print(metrics.confusion_matrix(testLabels, y_pred_rf))\n",
    "print(\"\\nClassification Report for Random Forest on Test Set:\")\n",
    "print(metrics.classification_report(testLabels, y_pred_rf, target_names=label_names, digits=3))\n",
    "\n",
    "# Print the total runtime\n",
    "forest_time = time.time() - start_time_forest\n",
    "print(f\"\\nTotal time for the random forest process: {forest_time:.2f} seconds\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce7fd890",
   "metadata": {},
   "source": [
    "### Finding Best K"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "c47f640a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cross-validation to find the best k value for KNN:\n",
      "New best k found: k=1 with average accuracy: 0.841\n",
      "New best k found: k=3 with average accuracy: 0.845\n",
      "New best k found: k=4 with average accuracy: 0.848\n",
      "\n",
      "Best k value found: 4 with an average accuracy of 0.848\n",
      "\n",
      "Cross-validation time: 200.36 seconds\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Finding the best 'k' value for KNN using cross-validation\n",
    "print(\"Cross-validation to find the best k value for KNN:\")\n",
    "start_time_cv = time.time()\n",
    "best_k = 1\n",
    "best_score = 0\n",
    "\n",
    "# Loop over a range of k values to determine the best one\n",
    "for k in range(1, 10):\n",
    "    # Initialize a new KNN model with the current k value\n",
    "    model = neighbors.KNeighborsClassifier(n_neighbors=k)\n",
    "    \n",
    "    # Perform cross-validation and calculate the mean score\n",
    "    scores = cross_val_score(model, trainData, trainLabels, cv=5, scoring='accuracy')\n",
    "    average_accuracy = np.mean(scores)\n",
    "    \n",
    "    # Update the best k value if the current k is better\n",
    "    if average_accuracy > best_score:\n",
    "        best_k = k\n",
    "        best_score = average_accuracy\n",
    "        print(f\"New best k found: k={k} with average accuracy: {average_accuracy:.3f}\")\n",
    "\n",
    "# Print the best k value after cross-validation\n",
    "print(f\"\\nBest k value found: {best_k} with an average accuracy of {best_score:.3f}\\n\")\n",
    "print(f\"Cross-validation time: {time.time() - start_time_cv:.2f} seconds\\n\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "66a30b83",
   "metadata": {},
   "source": [
    "# KNN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "dec1023e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training K-Neighbors Classifier with k=4...\n",
      "Training completed.\n",
      "\n",
      "Evaluating the model on the validation set...\n",
      "Validation set evaluation completed.\n",
      "\n",
      "Confusion Matrix for KNN on Validation Set:\n",
      "[[394   0   6   7   3   0  24   0   1   0]\n",
      " [  1 419   3   6   0   0   4   0   0   0]\n",
      " [  4   0 366   2  42   0  28   0   1   0]\n",
      " [ 38   6   1 416  14   0  13   0   1   0]\n",
      " [  1   0  54  18 327   0  35   0   0   0]\n",
      " [  1   0   0   0   0 381   0  33   1  32]\n",
      " [ 92   0  59   6  30   0 230   0   3   0]\n",
      " [  0   0   0   0   0   2   0 484   0  16]\n",
      " [  4   0   9   2   3   0   3   3 438   2]\n",
      " [  0   0   0   0   0   1   0  26   0 404]]\n",
      "Classification Report for KNN on Validation Set:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      " T-shirt/top      0.736     0.906     0.812       435\n",
      "     Trouser      0.986     0.968     0.977       433\n",
      "    Pullover      0.735     0.826     0.778       443\n",
      "       Dress      0.910     0.851     0.879       489\n",
      "        Coat      0.780     0.752     0.766       435\n",
      "      Sandal      0.992     0.850     0.916       448\n",
      "       Shirt      0.682     0.548     0.608       420\n",
      "     Sneaker      0.886     0.964     0.924       502\n",
      "         Bag      0.984     0.944     0.964       464\n",
      "  Ankle boot      0.890     0.937     0.913       431\n",
      "\n",
      "    accuracy                          0.858      4500\n",
      "   macro avg      0.858     0.855     0.854      4500\n",
      "weighted avg      0.861     0.858     0.856      4500\n",
      "\n",
      "Evaluating the model on the test set...\n",
      "Test set evaluation completed.\n",
      "\n",
      "Confusion Matrix for KNN on Test Set:\n",
      "[[883   2  19  13   5   0  69   2   7   0]\n",
      " [  5 971   7  10   2   0   5   0   0   0]\n",
      " [ 21   2 815  11  83   0  66   1   1   0]\n",
      " [ 48  11  16 879  25   0  21   0   0   0]\n",
      " [  5   0 121  30 777   0  65   0   2   0]\n",
      " [  0   0   2   2   0 836   6  89   3  62]\n",
      " [232   1 127  19  73   0 540   0   8   0]\n",
      " [  0   0   0   0   0   6   0 955   0  39]\n",
      " [  5   1  18   2   5   2  11   6 947   3]\n",
      " [  0   0   0   0   0   3   0  41   0 956]]\n",
      "Classification Report for KNN on Test Set:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      " T-shirt/top      0.736     0.883     0.803      1000\n",
      "     Trouser      0.983     0.971     0.977      1000\n",
      "    Pullover      0.724     0.815     0.767      1000\n",
      "       Dress      0.910     0.879     0.894      1000\n",
      "        Coat      0.801     0.777     0.789      1000\n",
      "      Sandal      0.987     0.836     0.905      1000\n",
      "       Shirt      0.690     0.540     0.606      1000\n",
      "     Sneaker      0.873     0.955     0.912      1000\n",
      "         Bag      0.978     0.947     0.962      1000\n",
      "  Ankle boot      0.902     0.956     0.928      1000\n",
      "\n",
      "    accuracy                          0.856     10000\n",
      "   macro avg      0.858     0.856     0.854     10000\n",
      "weighted avg      0.858     0.856     0.854     10000\n",
      "\n",
      "\n",
      "Total time for training and testing KNN: 10.84 seconds\n"
     ]
    }
   ],
   "source": [
    "# Start timing the training process\n",
    "k_time_training = time.time()\n",
    "\n",
    "# Training the KNN classifier\n",
    "print(f\"Training K-Neighbors Classifier with k={best_k}...\")\n",
    "model = neighbors.KNeighborsClassifier(n_neighbors=best_k)\n",
    "model.fit(trainData, trainLabels)\n",
    "print(\"Training completed.\\n\")\n",
    "\n",
    "# Evaluating the model on the validation set\n",
    "print(\"Evaluating the model on the validation set...\")\n",
    "y_pred_val = model.predict(valData)\n",
    "print(\"Validation set evaluation completed.\\n\")\n",
    "\n",
    "# Printing confusion matrix and classification report for the validation set\n",
    "print(\"Confusion Matrix for KNN on Validation Set:\")\n",
    "print(metrics.confusion_matrix(valLabels, y_pred_val))\n",
    "print(\"Classification Report for KNN on Validation Set:\")\n",
    "print(metrics.classification_report(valLabels, y_pred_val, target_names=label_names, digits=3))\n",
    "\n",
    "# Evaluating the model on the test set (using testData and testLabelsFromSplit)\n",
    "print(\"Evaluating the model on the test set...\")\n",
    "y_pred_knn = model.predict(testFeatures)\n",
    "print(\"Test set evaluation completed.\\n\")\n",
    "\n",
    "# Printing confusion matrix and classification report for the test set\n",
    "print(\"Confusion Matrix for KNN on Test Set:\")\n",
    "print(metrics.confusion_matrix(testLabels, y_pred_knn))\n",
    "print(\"Classification Report for KNN on Test Set:\")\n",
    "print(metrics.classification_report(testLabels, y_pred_knn, target_names=label_names, digits=3))\n",
    "\n",
    "# End timing after evaluation\n",
    "k_time_testing = time.time() - k_time_training\n",
    "\n",
    "# Print the total time for training and testing\n",
    "print(f\"\\nTotal time for training and testing KNN: {k_time_testing:.2f} seconds\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d81e01e5",
   "metadata": {},
   "source": [
    "# Analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "0d292f23",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Random Forest Accuracy: 0.878\n",
      "KNN Accuracy: 0.856\n"
     ]
    },
    {
     "data": {
      "image/png": "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RGHixImCvb29oK2tLdjY2AhDhw4VYmJisr3Gp6vg5BbT8+fPBQDCokWLvvgeCcJ/Vxnat2/fV+v9/vvvQqNGjQQDAwOhSJEiQt26dYVffvlFps7X3nNByLxiVMOGDQUjIyNBV1dXsLe3Fzp37iycPXtWEARBePv2rdCvXz+hQoUKgoGBgVC0aFGhWrVqwrJly6T9JAiC8OLFC6FZs2aCoaGhAECwt7f/auyCkPker1ixQnB1dRWMjIwELS0twdbWVujYsaNw7Ngxmbr37t0T2rRpIxgbGws6OjpC9erVhc2bN+fpffv0vmet/6WrMyUnJwsTJkwQ7OzshCJFigienp7C7du3s/0tTZo0SXBxcRFMTU0FXV1doXTp0sLo0aOFyMjIbK+RVXp6urBgwQKhXLlygra2tmBhYSH06tVLePXqlUw9T09PoXLlytnes759++bpvf3S32VWOV1hKTQ0VOjUqZNgamoqGBoaCi1atBDu37+f42dp+fLlQqlSpQRNTU2Z9/dLsX/a9+nqTGlpaYKnp6dgZWUlhIWFydRbtGiRAEA4dOhQrm0lIlI0iSAIguqHLkREREREpK64JoKIiIiIiOTCQQQREREREcmFgwgiIiIiIpILBxFERERERCQXDiKIiIiIiEguHEQQEREREZFcOIggIiIiIiK5FMg7Vhfp4C92CKKI2TdQ7BBEkZFROG91kl5I262txXMfhUlMfIrYIYjC1EBH7BBEUVi/zzU0JGKHIAq9fPwrtIjTTyp7rcRbq1T2WorEf42JiIiIiEgu+XgMSEREREQkAgnPs+eG7xAREREREcmFmQgiIiIioqwkhXOdijyYiSAiIiIiIrkwE0FERERElBXXROSK7xAREREREcmFmQgiIiIioqy4JiJXzEQQEREREZFcmIkgIiIiIsqKayJyxXeIiIiIiIjkwkwEEREREVFWXBORK2YiiIiIiIhILsxEEBERERFlxTURueI7REREREREcuEggoiIiIiI5MLpTEREREREWXFhda6YiSAiIiIiIrkwE0FERERElBUXVueK7xAREREREcmFg4hcaGpIMKOHM4LX/YDoPf3wcG1X+HR1kpkqt2FEfSQeGiizXZrfNtux6pQvhhOzWyJyd1+E7eiNU3NaQU9HU4WtUY7A3Tvh1awRajlVRbcuHXEz6IbYISlU0I3rGPnTEDRt5AGnqhVw4dxZ6b7U1FT8b+lidOnQBq61ndC0kQemTp6Id+/eihjx99u/dze6dW4HTzcXeLq5oH/vbvjj8m/S/YIgYP3aVWjRpD7ca9fAjwP64J+/n4oYsfIE3biOEcOGoEmDeqheuTzOZ+n/gqwwtDstLQ3+a1egW7sWaObhgu7tW2Cr/1pkZGTI1Hv5/Bkmjx2BVg1d4dWgDoZ698Tb8DCRolauwvx9/rm5s6bDqWoF7Ny+VYURqlZB7+/vIpGoblNTHETkYmzH6hjYvCJGb7yCGiP2Y8q2vzC6fVUMa1VZpt6pm6/g0H+ndGs/95TM/jrli+HItBY4dzsUHhOOoN74I1h3/AEyMgRVNkfhTp44joXz/TDox6EI3H8YNWs6Y9jgQQh780bs0BQmMTER5cpVwKTJ07LtS0pKQnDwQwwaPAy7Aw9gybKVCHn5AqNGDBMhUsUpVswaP40cg2279mHbrn1wqV0XY0f+JB0obN3sj13bt2DCpKnYunMvzM0tMHzIAMTHx4scueIlJiagfPnymDRlutihqFRhaPfubZtw9OA+jBw/GVsDj2DwiDHYs2MLDu7dJa3zOvQVRgzqg5L2pbB83SYE7NyPPt6DoaOjI2LkylHYv8+zunDuLO7duwvLYsVUFJnqFYb+JuXimohc1ClfDL/+9RIng14BAEIi4tDVowxqlrGQqZeSmo637xO/eJyF/etizbEHWHzwrrTsn7CPyglahbZv3YwOnTqhY+cuAIAJPlNw5cpl7A3cjZGjx4ocnWLU86iPeh71c9xnaGiIdRs3yZRN9JmKXt27ICzsDWxsbFURosLVb9BQ5vHwEaNwYO8e3Lt7B6XLlMXundvQf+BgNGrSDAAwa+58NGtUDyeP/4pOXX4QI2SlqefhiXoenmKHoXKFod0P7t1BvfoN4Vov8/NtY1sc50+fwOPgB9I6/mtXoI67B4b8PEZaZlvcTuWxqkJh/z7/5N3bt5jvOwdr1vtjxPDBKopM9QpDf38XronIFd+hXFwNDkfDarYoa2sEAKjqYAbXitY49e+g4hOPKjZ4uaUn7q7ugtXD6sHSWE+6z9JYD7XLF0PEh0Rc8GuDF5t74vTcVnCraKXStihaakoKgh8+gKtbPZlyVzd33Ll9S6SoxBcbGwuJRAJDQyOxQ1GI9PR0nDpxDImJCahWvQZevw5FVGQk6rq6S+vo6OigpnMt3L1TePud1E/VGk4IuvEnXr18AQD4+8lj3LtzE3XdPAAAGRkZuPbHb7AraY/xIwajfXNPDO3fA79fPCdi1MrB7/NMGRkZmDp5Avr2H4AyZR3FDkdp2N+kCKJmIkJDQ7F27VpcuXIF4eHhkEgksLKygpubG4YMGQI7O/HP9iw+eBdG+jq4s7IL0jOEzDUSO29g7+Vn0jqnb4bi4JXnCImIg0MxQ0zv4YwTs1vCbexhpKRloJSVIQBgSrea8NnyJ+4+j0bPBmVxfFZLOI88oLYZiZj3MUhPT4e5ublMubm5BSIjI0SKSlzJyclYsXwJvFq2RtGiRcUO57v8/fQJ+vfujpSUZBTR18eiZStRukxZ6T8w5uay2Thzc3OmwUmt9OgzAPFxcejTtS00NDSRkZGOgUN/RuPmLQEAMdHRSExIwK6tmzBgyE/4ccRo/HX1MqZPHI1lawNQo2YtkVugOPw+z7R500Zoamqie8/eYoeiVOzvPFDjtQqqItog4vLly/Dy8oKdnR2aNWuGZs2aQRAEvHv3DocPH8bKlStx4sQJuLu7f/U4ycnJSE5OlikT0lMh0dRWSJxd6pVGd8+y6LfsAh6GxKBaKXMsGlAXYTEJ2Hkhc374/j/+G1A8DInBzX8i8Hh9N3i5lMSRay+g8e8fYsCpR9h+PvM5d55HoUG14ujbuBym71DvhUySzz5ogiBkKysMUlNTMWn8GAiCAJ+pM8QO57vZOzhg196DiI2NxfmzpzFzmg82BGyT7v+8iwtrv5P6On/mJM6c+BVT5yxAqdJl8PeTx1i1dAHMLSzRonU7CELmAmv3+g3QpUcfAIBjuQp4cPcOjh7cV6AGEZ8U5u/zhw/uY/eO7di190ChaXNh7m/6fqINIkaPHo2BAwdi2bJlX9w/atQoXL9+/avH8fPzw6xZs2TKNMu3gXbF7FdH+ha+fWtj8cE72Pdv5uFBSAxKWhbF+I7VpYOIz4XHJCIkIg5lbTKns4TFJAAAgkPfy9R7HPoedhbqe7ba1MQUmpqaiIyMlCmPjo7Kdpa6oEtNTcXEcaPx+nUoNgRsUfssBABoa+vArqQ9AKBS5Sp4+OAedu/cjr7eAwEAkZGRsLD8b9FhdHQ0zD47q0WUn61bsQQ9+g5A42ZeAIDSZcshPOwNdm71R4vW7WBsYgpNTS3Ylyoj8zx7h1K4V8Cm7vH7HLh1MwjR0VFo2ayRtCw9PR1LFy/Azh1bcfzUeRGjUyz2dx5wTUSuRHuH7t+/jyFDhnxx/+DBg3H//v1cj+Pj44MPHz7IbFrlvBQWZxFdLXx2tT+kZwjQ0PjySN3MUBclLAykg4eX7+LwJioe5WyNZeqVtTVCSEScwmJVNW0dHVSsVBnXrvwhU37tyhVUr+EkUlSq92kAERLyEus2boaJianYISmFIACpqSkoXrwEzC0s8Oe1K9J9qakpuBl0HdWqF55+J/WXnJQEjc9+KGhqakL496p52traqFCpMl6FvJCp8yrkJaysbVQVpkrw+xxo1aYt9h44gj37Dkk3y2LF0KffAKxZ5y92eArF/iZFEC0TYWNjgytXrqB8+fI57r969SpsbHL/ktbV1YWurq5MmaKmMgHA8eshmNi5Bl5FxuFhSAxqlDbHz22rYNu5JwAAAz0tTP2hJg5fe4Gw6ATYFzPE7F4uiPqYjKPXXkqPs+zwXUzt5ox7L6Jw53k0ejV0RPniJuixSL0X6PXu2x9TJk1ApSpVUL26Ew7sC0RYWBi6/NBN7NAUJiEhHq9CQqSPX78OxeNHwTAyNoalZTGMHzMSj4If4n+r1yEjI106n9TY2Bja2up5GcjVK5bBrZ4HrKxskJAQj1MnjyPoxl9YsWYDJBIJuvfsg80BG1CypD3sStpjc8AG6OnpoUXL1mKHrnAJ8fEIydr/oaF4FBwMY2Nj2Niq59W38qIwtNvVwxPbt2xAMWsbOJQug78fP8LeXdvQsk17aZ1uvfpj1pRxqO7kjBrOtfHX1cu4cvkSlq/d9OUDq6nC/n1uY2Ob7SSQlpYWLCws4FCqtKpDVbrC0N/fhZmIXEkEQRDlRgVr1qzB6NGjMWjQIDRt2hRWVlaQSCQIDw/HmTNn4O/vj+XLl381W/ElRToo7oxBUT1tzOjhjLZ17GFpXARhMQnY+/s/8N17C6lpGdDT0cTeSU1RvbQ5TPR1EB6TgEv3wzB7VxBCo2SvmT+uYzUM9qoE06K6uPciGlO2/YUrwYq7KVnMvoEKO5Y8AnfvxJZNAYiIeIeyjuUwfqIPnF1UN1dY2ffauHH9Twzy7putvE3b9hgy7Ce0atEkx+dt3LQVLrXqKC2udCW2e/aMKbj+1zVERkSgaFFDOJYrhz79B0qvyCQIAjasW42D+wMR+/EjqlSthgk+01DWsZzSYvpEW0u1X+zX//oTA/v3yVbetl0HzPGdr9JYVCm/tDsmPkVpx06Ij0fA+lW4fPEcYmKiYWFhiUbNvNB34FBoa/93Mur40UPYudUfEe/ewq6kA/r/OAz1PBt95cjfz9RAnBMQhfn7fPa87H/XLZs3Qs9efdGzd/bnKNLXZjcok9j9rZePbzRQxHO2yl4r8ZJ63o9HtEEEAAQGBmLZsmUICgpCeno6gMxUsrOzM8aMGYOuXbt+03EVOYhQJ2INIsSm7jfs+1bKHETkZ6oeRJC4lDmIyM/EGkSIrbB+n4s1iBBbvh5ENJyjstdKvPD1mx/mV6J23w8//IAffvgBqamp0sU9FhYWMmeAiIiIiIgof8kXY0Btbe08rX8gIiIiIlI6ronIFd8hIiIiIiKSCwcRREREREQkl3wxnYmIiIiIKN/gnbtzxUwEERERERHJhZkIIiIiIqKsuLA6V3yHiIiIiIhILsxEEBERERFlxTURuWImgoiIiIiI5MJMBBERERFRVlwTkSu+Q0REREREJBdmIoiIiIiIsuKaiFwxE0FERERERHJhJoKIiIiIKCuuicgV3yEiIiIiIpILMxFERERERFlxTUSumIkgIiIiIiK5MBNBRERERJQV10Tkiu8QERERERHJhZkIIiIiIqKsuCYiV8xEEBERERGRXApkJiJm30CxQxCFae2fxQ5BFNF/rhA7BFFo8hQAFQIm+jpih0AqpKHBs7+UT3BNRK74DhERERERkVw4iCAiIiIiIrkUyOlMRERERETfjNOZcsV3iIiIiIiI5MJMBBERERFRVrzEa66YiSAiIiIiIrkwE0FERERElBXXROSK7xAREREREcmFmQgiIiIioqy4JiJXzEQQEREREZFcmIkgIiIiIsqKayJyxXeIiIiIiIjkwkwEEREREVFWXBORK2YiiIiIiIhILsxEEBERERFlIWEmIlfMRBARERERkVyYiSAiIiIiyoKZiNwxE0FERERERHJhJoKIiIiIKCsmInLFTAQREREREcmFgwgFCNi4Hj26doJrLSc08HDFqBHD8OL5M7HD+m5F9XWxaFxHPD42E9FXFuPC5tFwrlRSuj/x5ooct9F9GknreHd0w6kNI/D2t4VIvLkCxkWLiNEUhXv79i0mTxwHT/c6qOtSHV07tcPDB/fFDkuhgm5cx8ifhqBpIw84Va2AC+fOyuxft2YlOrTxgmttJ9R3q43BA/vj3t07IkWrPEE3rmPEsCFo0qAeqlcuj/OfvQ8FVWFt99rVK1GjSnmZrbGnu9hhqUzg7p3watYItZyqoluXjrgZdEPskJSqsP6df1LY+psUi4MIBbhx/S/80L0ntu/ei/UbNyMtPR1DBg1AQkKC2KF9l7XTu6NRnfLwnrYdLj/Mx9lrj3Bs7XDYWhoDAByaTpHZfpy5ExkZGTh07r8fkvp6OjhzJRiLNp0WqxkK9/HDB/Tr3R1a2tpYtW4jDhw5hrHjJ8HQ0Ejs0BQqMTER5cpVwKTJ03Lcb2/vgImTp2HfgaPYvG0nbIsXx7DBAxAdHa3iSJUrMTEB5cuXx6Qp08UORaUKa7sBoExZR5y9eFm67Tv0i9ghqcTJE8excL4fBv04FIH7D6NmTWcMGzwIYW/eiB2a0hTmv/PC2N/ykEgkKtvUFddEKMDaDQEyj2fP9UNDD1cEP3wAZ5daIkX1ffR0tdG+UXV0GbMRf9z8BwAwb/0JtGlQFYO61MOsNcfwNipW5jltPKvi0o2nePE6Slq2atdFAICHc1mVxa5smzdthLW1NWbP9ZOWFS9eQsSIlKOeR33U86j/xf1erdrIPB47fhIOH9yPp08eo05dV2WHpzL1PDxRz8NT7DBUrrC2GwA0NTVhYWEpdhgqt33rZnTo1AkdO3cBAEzwmYIrVy5jb+BujBw9VuTolKMw/50Xxv4mxWImQgniYjN/XBsZG4scybfT0tSAlpYmklLSZMqTklPhVqN0tvrFzAzRol5lbD18TVUhiubShfOoVLkKxo35GQ3ru+KHzu1xYP9escMSVWpqCg7uD0RRQ0OUK19B7HCIvktIyEs0bVgPLZs3wsRxoxH66pXYISldakoKgh8+gKtbPZlyVzd33Ll9S6SoSFnY37ljJiJ3zEQomCAIWLzQD041neHoWE7scL5ZXEIyrt15Dp+BzfH4WTjeRseiawtn1Kpij79DIrLV79WmNmITknD4fMGbE/+50NBX2Be4G7369MfAQUNw/95dLPSbCx1tHbRp117s8FTqt0sXMGn8WCQlJcLC0hLrNmyCqamp2GERfbOq1aphru8C2Ns7ICoqChvXr0XfXt1w4MivMDEpuH/bMe9jkJ6eDnNzc5lyc3MLREZm/84n9cb+JkXI15mIV69ewdvb+6t1kpOT8fHjR5ktOTlZRRFm5zd3Np4+eYIFi5aKFoOieE/bDolEgmen5+LDtaUY3s0TgSeDkJ4hZKvbp21dBJ64geTPMhcFUUaGgAoVK+PnUWNQoWIldO7aDR07dcW+vbvFDk3latWqgz37D2HL9t1wc/fAhHGjEB0VlfsTifKpeh6eaNK0ORzLlUddVzesWrMeAPDLkcPiBqYin58VFQRBrc+U0texv7+MmYjc5etBRHR0NLZu3frVOn5+fjA2NpbZFi3w++pzlMVv3hxcvHgeGzdvhZW1tSgxKNLz0Eg0G7QC5m7j4NhyBjz6LIG2lqbMmgcAcHcqjfKlrLD50FWRIlUtS0tLlClTRqasVOnSCAsrfIvRiujro2RJe1SrXgMzZ8+DpqYWDh3aL3ZYRApTRF8fZR3LIeTlC7FDUSpTE1NoamoiMjJSpjw6Ogrm5hYiRUXKwv4mRRB1OtPRo0e/uv/Zs9wvk+rj44MxY8bIlAmaut8Vl7wEQYDfvDk4f+4MArZsR4kSdip9fWVLSEpBQlIKTAyLoIlrBUz5n2y/9W3niqCHIbj3tHD8iK7uVBMvXjyXKXv58gVsbIqLFFE+IghITUkROwoihUlJScHz5/+gprOz2KEolbaODipWqoxrV/5A4yZNpeXXrlxBg0aNRYyMlIH9nTt1zhCoiqiDiPbt20MikUAQsk+P+SS3TtTV1YWuruygIUnFM2p858zCieO/YvnKNTDQN0BkROZ8wqKGhtDT01NtMArUxLUCJBIJnrx4izJ2lvAd1Q5PX7zDtqP/LZ42NNBDx6Y1MGnp4RyPYWVuCCtzI5Sxy7zSSRVHG8TGJ+NVeAxiPqrnJXB79e6Lfr27w3/DOjRr4YX79+7iwP69mDZjttihKVRCQjxehYRIH79+HYrHj4JhZGwME2MT+G9cB88GjWBhaYkP799jb+BuvH0bjqbNWogYteIlxMcjJOv7EBqKR8HBMDY2ho2trYiRKVdhbffSRQtQv0FD2NjYIDo6GhvXr0V8XBzatOsgdmhK17tvf0yZNAGVqlRB9epOOLAvEGFhYejyQzexQ1Oawvp3DhTO/ibFkghf+wWvZMWLF8fq1avRvn37HPffvn0bzs7OSE9Pl+u4qh5EVK9cPsfy2XP90K5DR5XFYVr7Z4Uer1NTJ8z+qQ2KW5kg+kM8jpy/gxmrf8XHuCRpHe+Oblg0tiNKNZ8qU/7JlMFemDrYK1v5oBk7sOOXvxQSZ/SfKxRyHHn8dvECVvxvKUJevkDx4iXQq29/dOrcVaUxKPuje+P6nxjk3TdbeZu27TFl+ixMnjgO9+7dwfuYGBibmKBy5aoYNHgoKlepqtS4NDRUe3bo+l9/YmD/PtnK27brgDm+81Uaiyrll3ar+l+oieNG42bQdcTEvIepmSmqVauBYSNGokwZ1V6mWqyToIG7d2LLpgBERLxDWcdyGD/RR20vVZ4X+eXvXCxi97dePr68j3GP7Sp7rQ+7eqvstRRJ1EFE27ZtUaNGDcyenfMZ3Dt37sDJyQkZGRlyHVfVg4j8QtGDCHUhxiAiPxDxoysqVQ8iSFyF9M9ctEEEkSpxEJFJXQcRonbf+PHjER8f/8X9ZcuWxYULF1QYEREREREVdlwTkTtRBxEeHh5f3W9gYABPz8J5J0kiIiIiovwqHyeSiIiIiIhUj5mI3OXr+0QQEREREVH+w0wEEREREVEWzETkjpkIIiIiIiKSCzMRRERERERZMBORO2YiiIiIiIjUQFpaGqZOnYpSpUqhSJEiKF26NGbPni1zTzVBEDBz5kzY2tqiSJEiaNCgAR48eCBznOTkZIwYMQIWFhYwMDBA27ZtERoaKlcsHEQQEREREWUlUeEmhwULFmDdunVYtWoVgoODsXDhQixatAgrV66U1lm4cCGWLl2KVatW4fr167C2tkbTpk0RGxsrrTNq1CgcOnQIe/bsweXLlxEXF4fWrVsjPT09z7FwOhMRERERkRq4evUq2rVrh1atWgEAHBwcsHv3bty4cQNAZhZi+fLlmDJlCjp27AgA2Lp1K6ysrLBr1y4MHjwYHz58QEBAALZv344mTZoAAHbs2AE7OzucPXsWzZs3z1MszEQQEREREYkkOTkZHz9+lNmSk5NzrFuvXj2cO3cOT548AQDcuXMHly9fRsuWLQEAz58/R3h4OJo1ayZ9jq6uLjw9PXHlyhUAQFBQEFJTU2Xq2NraokqVKtI6ecFBBBERERFRFhKJRGWbn58fjI2NZTY/P78c45o4cSK6d++OChUqQFtbG05OThg1ahS6d+8OAAgPDwcAWFlZyTzPyspKui88PBw6OjowNTX9Yp284HQmIiIiIiKR+Pj4YMyYMTJlurq6OdYNDAzEjh07sGvXLlSuXBm3b9/GqFGjYGtri759+0rrfX51KUEQcr3iVF7qZMVBBBERERFRFqq8xKuuru4XBw2fGz9+PCZNmoRu3boBAKpWrYqXL1/Cz88Pffv2hbW1NYDMbIONjY30ee/evZNmJ6ytrZGSkoKYmBiZbMS7d+/g5uaW57g5nYmIiIiISA0kJCRAQ0P257umpqb0Eq+lSpWCtbU1zpw5I92fkpKCS5cuSQcIzs7O0NbWlqkTFhaG+/fvyzWIYCaCiIiIiCiL/HqzuTZt2mDevHkoWbIkKleujFu3bmHp0qXw9vYGkBn3qFGj4OvrC0dHRzg6OsLX1xf6+vro0aMHAMDY2BgDBgzA2LFjYW5uDjMzM4wbNw5Vq1aVXq0pLziIICIiIiJSAytXrsS0adMwbNgwvHv3Dra2thg8eDCmT58urTNhwgQkJiZi2LBhiImJQZ06dXD69GkYGhpK6yxbtgxaWlro2rUrEhMT0bhxY2zZsgWampp5jkUiCIKg0NblA0lpYkcgDtPaP4sdgiii/1whdgiiKIAf3TzR0MifZ4dIOQrpnzny6UlQIoXSy8ensosN2Kuy13oX0FVlr6VIXBNBRERERERyycdjQCIiIiIi1cuvayLyE2YiiIiIiIhILsxEEBERERFlwUxE7grkIKKwLsSL+atwLjAuPmC32CGI4pV/N7FDEMXbD8lihyAKK+O83YiooElIKZxXyjDQLZD/POcqo5D+A67BH6ykhgrntxQRERER0RcwE5E7rokgIiIiIiK5MBNBRERERJQFMxG5YyaCiIiIiIjkwkwEEREREVFWTETkipkIIiIiIiKSCwcRREREREQkF05nIiIiIiLKggurc8dMBBERERERyYWZCCIiIiKiLJiJyB0zEUREREREJBdmIoiIiIiIsmAmInfMRBARERERkVyYiSAiIiIiyoqJiFwxE0FERERERHJhJoKIiIiIKAuuicgdMxFERERERCQXZiKIiIiIiLJgJiJ3zEQQEREREZFcmIkgIiIiIsqCmYjccRChAF7NGiHszets5V279cDkqTNEiEg1gm5cx5ZNAQh+eB8RERFYtmI1GjVuInZY30VTQ4KJHaqgs6sDihnr4e37JOy+/AxLjj6AIPxXb0L7KujboAyMDXQQ9E8UJmy/gcevP0r3L+lXC56VrWBtUgTxSWm4/nckZu29jadhsSK06tsE3biObZsD8PDhA0RGRGDp/1ahYZb+FQQB69eswoH9exH78SOqVK0Gn6nTUaaso4hRy+/urRvYt2sLnj4ORnRkBGb4LYe7ZyPp/ssXz+LY4f14+vghPn54j7Vb9qJMuQoyx1i+YDZuXb+GqMgIFNHXR6Uq1TFg2GiUdCil6uYoXODundiyOQCREREoU9YREyZNRk1nF7HDUgj/dauxacMamTIzc3P8euY36eMXz/7BmhVLcevmDQgZGShVuizmLFgCaxtbVYerEgW5v4HC872WVwW9v0m5OJ1JAXbu2Y+zFy9Lt3UbNwMAmjZrIXJkypWYmIDy5ctj0pTpYoeiMCNbVUS/ho6YuD0Irj7HMTPwNkZ4VcSgJuWkdX5uWRHDWlTAxO1BaDLzNN59SMLB8Q1RVO+/MfmdF9EY4f8nXH2Oo8vii4AE2D++ITTU6MxGYmIiypWvgEmTp+W4f8smf+zYtgWTJk/Djj37YG5hiSGDvBEfH6fiSL9PUlIiSpctj5/G+OS8PzERlavVwIChI794DMfylTB2ymz47z4M32VrIUCAz+jBSE9PV1bYKnHyxHEsnO+HQT8OReD+w6hZ0xnDBg9C2Js3YoemMKXKlMUvpy9Kt+17D0v3hb4KwZABvWHvUAqrNmzB1j0H0W/QEOjo6ooXsBIVhv4uLN9reVEY+vt7SCQSlW3qipkIBTAzM5N5vMl/A+zsSsKlVm2RIlKNeh6eqOfhKXYYCuVS1gInbobizJ3ML9FXkfHoVNceTqX+6+PBzctj6dEH+DUoFAAwfOM1PFrRAZ3q2mPrxX8AANv+/e+nY/geuIff53qhpKUBXrxTj3+M6nnURz2P+jnuEwQBu7Zvw4Afh6Bx02YAgDm+89HY0x0njv2Kzl27qTLU71Lb1QO1XT2+uL+JVxsAQHhY9mzjJ63ad5b+v7VNcfT7cQSG9OmMt2FvYFvCTnHBqtj2rZvRoVMndOzcBQAwwWcKrly5jL2BuzFy9FiRo1MMLU1NmFtY5rhv/eoVcHWvj+GjxknLiqtxf+amMPR3Yfley4vC0N+kXMxEKFhqagqO/3oU7Tp0UuvRZWH155MI1K9khTJWhgCAynYmqFPOEmfuhgEA7C0NYG1SBBfuh0ufk5KWgSuP36G2Y84/RPR1NNHDoxRevIvD66gE5TdCBV6HhiIyMgKubu7SMh0dHTi71MKd27dEjEx8iYkJOHXsMKxti8PSylrscL5ZakoKgh8+gKtbPZlyVzf3AtXHr0JC0LZZA3Rq3QzTJo3D69BXAICMjAxcvXwJJe3tMWrYILRs7IGBfbrh0oVzIkesHIWlv7+mMH2vsb/zQKLCTU2pfSYiOTkZycnJMmUZGrrQFSndfP7cWcTGxqJt+w6ivD59n/8dC4aRvg6uzW+F9AwBmhoSzDtwFwevvQQAFDMuAgCI+Jgk87x3H5NgZ24gU+bdqCxm/FADRfW08eTNB3RadAGp6RmqaYiSRUZGAMicP56Vubl5oU2FHz2wB/5rliEpMRF29qUwf/kGaGtrix3WN4t5H4P09HSYZ+tjC2n/q7vKVath2hxflCzpgOjoKGzxX4/B/Xti576jSEtLRUJCArZvDsCPw0Zg2MgxuHblMiaPG4lVGzbDybmW2OErVGHo79wUpu819jcpguiZiMTERFy+fBkPHz7Mti8pKQnbtm376vP9/PxgbGwssy1a4KescHN1+OABuNerj2LFrESLgb5dhzol0cXVHj+uu4KGM05i+MZrGO5VAd3cZRfICllXWSPzRMJnRdh39SUaTj+J1r5n8c/bWAQMd4eutugfOYX6PNsmCIX3ihaNm7fC2i17sXj1JhS3K4m508Yh5bMTHOooex8LBaaPXd090LBxM5RxLIdadVyxeEXmIuvjvx5Gxr8faI8GDdGtV1+UK18RffoPgruHJw7tDxQzbKUqyP2dV4Xpe439/WVcE5E7UX/RPHnyBBUrVkT9+vVRtWpVNGjQAGFhYdL9Hz58QP/+/b96DB8fH3z48EFmGz8x5wWSyvbmzWv8ee0KOnTqnHtlypdm/VAD/zsWjEN/hiA49AP2XnmBdaceY1TrSgCAdx8SAfyXkfjE0kgvW3YiNjEVz97G4erjCPRf+QccbYzQyrlgzKe2+HcOeVRkpEx5dHRUtrN4hYVBUUMUt7NHNScXTJu3FK9ePscfl9R36oupiSk0NTURmUMfm5tbiBSVchUpoo8yZcshNCQEJiYm0NTSgkPpMjJ17EuVxtvwsC8cQX0Vxv7+XGH6XmN/kyKIOoiYOHEiqlatinfv3uHx48cwMjKCu7s7QkJC8nwMXV1dGBkZyWxiTWU6cuggzMzM4VG/gSivT9+viK6W9AzkJ+kZAiT/flJeRsQj/H0iGlT5b667tqYG3MoXw19Pv54ClgDQ1SoYmYjiJUrAwsIS165ekZalpqYg6MZ1VK/hJGJk+YgApKamih3FN9PW0UHFSpVx7cofMuXXrlwpsH2ckpKCF8+fwdzCAtraOqhYqQpCXryQqfMq5GWBvLxrYezvzxWm7zX2NymCqGsirly5grNnz8LCwgIWFhY4evQohg8fDg8PD1y4cAEGBga5HySfyMjIwNHDB9GmXXtoaan9UpM8SYiPlxnwvQ4NxaPgYBgbG8PGVj3/kT116zXGtKmM0KgEPHr9AdXsTTG0eXns+v2ZtM76U48xunUlPHsbi3/CYzG6TSUkpqThwL/rJuwtDdChjj0u3A9D5Mdk2JgWwchWlZCUmi696pM6SEiIx6us/fs6FI8fBcPI2Bg2Nrbo0bsPAjauR8mS9ihpb4+Ajeuhp6cHr1atRYxafokJCXgT+l87w8Ne458nj2BoZIxi1jb4+PEDIsLDEPXvPOFXIS8AAKbmFjAzt0DY61BcPHcSzrXdYGJiisiIdwjcsQk6urqo5Vovp5dUG7379seUSRNQqUoVVK/uhAP7AhEWFoYuPxSMq9SsXLYI9eo3gJW1DWKio7HFfx3i4+Pg1bo9AKBnn/6YNmksatR0hrNLbVy7chl//HYRqzZsFjdwJSno/Q0Unu+1vCgM/f091HmakaqI+ms3MTEx2w/u1atXQ0NDA56enti1a5dIkcnv2tUrCAt7g/YdOokdiso8eHAfA/v3kT5evDBzLUrbdh0wx3e+WGF9l0k7guDTsRoW9XGBhZEuwt8nYuvFv7Ho8ANpnRXHg6Gno4mFfVxgoq+DoGdR6LToIuKS0gAAyakZqFvOEoOblYeJgTYiPiThyuMIeM05g8hY9Zkj//D+fQzy7it9vGRhZp+2adces+fNRz/vgUhOSoLf3Nn4+PEDqlSrhrUbAmBgUFSskL/Jk0cPMP6nAdLH61csAgA0bdkW46fOxbXfL2LxvP+uKe87fQIAoJf3EPQZOAw6Ojq4f+cmDgXuQFzsR5iYmaNqDWcsX78NpmbqPQWihVdLfHgfgw1r1yAi4h3KOpbD6nUbYGtbXOzQFOLd27eY4TMe79/HwMTUDFWqVsPGrbukJ0E8GzXBhMkzsG3zRixb5Ad7ewfMW7Qc1Z2cRY5cOQp6fwOF53stLwpDf5NySYTPV4iqUO3atTFixAj07t07276ffvoJO3fuxMePH+W+YVOi+s4g+C6FddBcfMBusUMQxSv/wnm2KOJjitghiMLKuGDe4Cw38clpYocgCgPdwpHR/tzn00kLC3W6Eaki6eXjP/Oy406o7LX+XuylstdSJFEnaHfo0AG7d+f8A3DVqlXo3r17tqvgEBERERGRuEQdRPj4+OD48eNf3L9mzRpkZBSM6+oTERERkXrgJV5zVzAuFUNERERERCqTj2ejERERERGpnhonCFSGmQgiIiIiIpILMxFERERERFmo81oFVWEmgoiIiIiI5MJMBBERERFRFkxE5I6ZCCIiIiIikgszEUREREREWWhoMBWRG2YiiIiIiIhILsxEEBERERFlwTURuWMmgoiIiIiI5MJMBBERERFRFrxPRO6YiSAiIiIiIrlwEEFERERERHLhdCYiIiIioiw4myl3zEQQEREREZFcmIkgIiIiIsqCC6tzx0wEERERERHJhZkIIiIiIqIsmInIXYEcRKRlZIgdgig0NQrnH/wr/25ihyAK82ZzxQ5BFBEnp4odAqmQnram2CGQCmnwhxuR2iiQgwgiIiIiom/F8WzuuCaCiIiIiIjkwkwEEREREVEWXBORO2YiiIiIiIhILsxEEBERERFlwURE7piJICIiIiIiuTATQURERESUBddE5I6ZCCIiIiIikgszEUREREREWTARkTtmIoiIiIiISC7MRBARERERZcE1EbljJoKIiIiIiOTCTAQRERERURZMROSOmQgiIiIiIpILBxFERERERCQXTmciIiIiIsqCC6tzx0wEERERERHJhZkIIiIiIqIsmIjIHTMRREREREQkF2YiiIiIiIiy4JqI3DETQUREREREcuEgQk6b/TegT/cuqF/XGU093TF25E948fz5F+vPmz0DLtUqYtf2rSqMUjmCblzHyOFD0LShB5yqVMCFc2dl9guCgHWrV6JpQw/Uda6Ogf1645+/n4oUrXLFx8dh0XxfeDVthLrO1dG3Zzc8uHdP7LC+S9EiOlg0vBke7x6B6JOTcGFlPziXt5Hub+dRAUcX9sCrw2OReGEaqpWxynYMK1MDBPi0w/MDoxF5fCKurB+IDvUrqrIZ32WT/3r07t4ZHnVroomnG8aMHI4Xz59J96empmLFssXo2rEN3Gs7oXljD0yfPBER796KGLVyBe7eCa9mjVDLqSq6demIm0E3xA5JoYJuXMfIn4agWSMP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tNC1a1ckJiaicePG2LJlCzQ1NfMci0QQBEGhrcsHYpMzxA5BFJry5sRIrZk3myt2CKKIODlV7BBEoaVZOD/f6RkF7p+oPOH3ORUGevn4VHbLdX+p7LWOD6mtstdSpHzcfUREREREqpdPExH5SoEcRGhrcr14YRKbmCZ2CKJ4e2KK2CGIwrJbgNghiCJm30CxQxBFanphzSznfUoBEZEY+GubiIiIiIjkUiAzEURERERE30oCzmfKDTMRREREREQkF2YiiIiIiIiy4AXScsdMBBERERERyYWZCCIiIiKiLPLrzebyE2YiiIiIiIhILsxEEBERERFlwURE7hSSiXj//r0iDkNERERERGpA7kHEggULEBgYKH3ctWtXmJubo3jx4rhz545CgyMiIiIiUjUNiURlm7qSexCxfv162NnZAQDOnDmDM2fO4MSJE/Dy8sL48eMVHiAREREREeUvcq+JCAsLkw4ifv31V3Tt2hXNmjWDg4MD6tSpo/AAiYiIiIhUSY0TBCojdybC1NQUr169AgCcPHkSTZo0AQAIgoD09HTFRkdERERERPmO3JmIjh07okePHnB0dERUVBS8vLwAALdv30bZsmUVHiARERERkSrxPhG5k3sQsWzZMjg4OODVq1dYuHAhihYtCiBzmtOwYcMUHiAREREREeUvcg8itLW1MW7cuGzlo0aNUkQ8RERERESiYiIid3kaRBw9ejTPB2zbtu03B0NERERERPlfngYR7du3z9PBJBIJF1cTERERkVpT5/s3qEqeBhEZGRnKjoOIiIiIiNSE3Jd4zSopKUlRcRARERERkZqQexCRnp6OOXPmoHjx4ihatCiePXsGAJg2bRoCAgIUHiARERERkSpJVLipK7kHEfPmzcOWLVuwcOFC6OjoSMurVq0Kf39/hQanbgJ374RXs0ao5VQV3bp0xM2gG2KHpBIFvd0R795i9rSJaNnYDY3dndGvR0c8Cn4g3V/PpXKO265tm0SM+vvs37sb3Tu3QwM3FzRwc4F372744/Jv0v0b1q5C53Yt4VGnJhrVq4NhP/bH/bt3RIz422hqSDCjhzOC1/2A6D398HBtV/h0dZK5KseGEfWReGigzHZp/n8XkChpWTTb/k9bR7dSIrRKsQr65zurLQEbUKdGJSxd6CctEwQBG9euQqumnqhfxwlDB/TFs7+fihilchWm/gaAvXt2oXOHNnCrXRNutWuid48fcPn3S2KHpTKFrb9JseS+xOu2bduwYcMGNG7cGEOGDJGWV6tWDY8ePVJocOrk5InjWDjfD1OmzUANp5rYv3cPhg0ehENHj8HG1lbs8JSmoLf748cPGDqgF2q61Mbi/62DqZk5Xoe+gqGhobTOkZMXZZ5z7cplzJ8zDZ6Nmqo4WsUpVswaP40cgxJ2JQEAx345gnEjf8KOwAMoU9YRJe0dMN5nKoqXsENyUhJ279iKn4YOxKFfTsHUzEzk6PNubMfqGNi8IgatuISHITFwLmuB9SPq42NCClb/+t9A8dTNVxi88r9BVEraf+vEQqPi4dB/p8xxvZtVwJj21XDq5ivlN0KJCvrnO6uH9+/h8IF9KFuuvEz59i0B2LVjK6bP9kVJewds2rgOI4YOxN7Dx2FgYCBStMpRmPr7k2JW1hg5ehzsSmZ+1/1y5DBG/jQcgQcOoWxZR5GjU67C2N/y4M3mcid3JuL169c53pk6IyMDqamp3x2QIAjffQwxbN+6GR06dULHzl1QukwZTPCZAmsba+wN3C12aEpV0Nu9c2sAillZY/KMeahUpRpsbIvDpXZdFC9RUlrH3MJSZrt86TxqutRG8RJ2Ikb+feo3aAh3D0/YO5SCvUMpDBsxCvr6+tJsQ4uWrVGnrhtKlLBDmbKOGDVuEuLj4vD06WORI5dPnfLF8OtfL3Ey6BVCIuJw6OoLnLv9GjXLWMjUS0lNx9v3idItJi5Zui8jQ5DZ9/Z9ItrWscf+P54hPilN1U1SqIL++f4kISEe0ydPwOTps2BkaCQtFwQBe3ZuQ/+Bg9GwcVOUKeuIGXP8kJSYhFMnfhUxYuUoLP2dVYOGjeBR3xMODqXg4FAKI0aOhr6+Pu7euS12aEpXGPubFEvuQUTlypXx+++/Zyvft28fnJycvjsgXV1dBAcHf/dxVCk1JQXBDx/A1a2eTLmrmzvu3L4lUlTKVxja/cdvF1ChYmVMnTgarZt6oH+PTjh6aN8X60dHReLK5d/Qql1HFUapXOnp6Th94hgSExNQtXqNbPtTU1Nw6MBeFDU0RLlyFVQf4He4GhyOhtVsUdY284djVQczuFa0xqkg2QyCRxUbvNzSE3dXd8HqYfVgaaz3xWM6lTZHjdIW2HpWvQZUnysMn+9PFvnOhbuHJ2rXdZMpf/M6FFGRkajj+l+5jo4OnFxccO/2bRVHqVyFqb+/JD09HSeOZ37XVa/+/b9n8jP2d+40JKrb1JXc05lmzJiB3r174/Xr18jIyMDBgwfx+PFjbNu2Db/+mvczM2PGjMmxPD09HfPnz4e5uTkAYOnSpV89TnJyMpKTk2XKBE1d6Orq5jmW7xXzPgbp6enSmD8xN7dAZGSEyuJQtcLQ7jevQ3H4QCB+6NkXffr/iIcP7mH5Yj9oa+vAq3W7bPVP/HoE+gb68GyovlOZPvn76RN49+6OlJRkFNHXx6JlK1G6zH9ZyN8vXcCUieOQlJQICwtLrFoXABNTUxEjlt/ig3dhpK+DOyu7ID1DyFwjsfMG9l5+Jq1z+mYoDl55jpCIODgUM8T0Hs44Mbsl3MYelpnW9EnfJuUR/CoG1x6/U2VTFK4wfL4B4PTJ43j86CE279ybbV9UZCQAwMxMNjNlZmaB8LA3KolPVQpLf+fk6ZPH6N2jG1JSkqGvr49lK1ajTA4zLgqSwtzfpDhyDyLatGmDwMBA+Pr6QiKRYPr06ahZsyZ++eUXNG2a9x9Oy5cvR/Xq1WFiYiJTLggCgoODYWBgkKf5aH5+fpg1a5ZM2ZRpMzB1+sw8x6Ion8crCEKhmFNXkNudkZGBCpWqYPDwUQCAchUq4sWzv3H4QGCOg4hjRw+hWYvWKh3EKou9gwN27j2I2NhYnD97GjOn+WB9wDbpQMKlVh3s3HsQ79/H4PCBfZg8fjQ27wiE2Wf/KOVnXeqVRnfPsui37AIehsSgWilzLBpQF2ExCdh5IXPx7P4//htQPAyJwc1/IvB4fTd4uZTEkWsvZI6np6OJH+qXwfy9t1XYCuUqyJ/vt+FhWLrQDyvWbvzqZzZbewvQe/C5gtzfX+LgUAp7DxxGbOxHnD1zGtMmT0TAlh0FfiABFM7+ziu+D7mTexABAM2bN0fz5s2/64XnzZuHjRs3YsmSJWjUqJG0XFtbG1u2bEGlSpXydBwfH59sWQ1BU7U/4ExNTKGpqYnIf89afRIdHQVzc4svPEv9FYZ2m1tYwqFUGZky+1KlcfH8mWx179wKQsjL55jlt1hV4SmVtrYO7EraAwAqVa6Chw/uYc/O7Zg8PXPQXkRfH3Yl7WFX0h5Vq9VAxzbNceTwAfQf8KOYYcvFt29tLD54B/v+zTw8CIlBScuiGN+xunQQ8bnwmESERMShrI1Rtn0dXEtBX0cLOy+q/9V7CsPn+9HDB4iJjkK/Hl2kZenp6bh18wb2B+7C3sPHAABRURGwsLSU1omOiYKZmfoMlvOiMPT3l2jr6KCkfeZ3XeUqVfHg/j3s3LEN02fOFjky5SnM/U2K8803m7tx4wa2b9+OHTt2ICgoSO7n+/j4IDAwEEOHDsW4ceO+eVG2rq4ujIyMZDZVnwXW1tFBxUqVce3KHzLl165cQfUaBXdeZWFod9XqTgh5+Vym7NXLF7C2yX7lil+PHED5ipXhqGbrAvJKEICU1JSv7k9N+fL+/KiIrhYyPpuRlJ4hQOMrk1TNDHVRwsIAYTEJ2fb1a1Iex66HIPKj+t+IszB8vl3quGLX/iPYHnhQulWsVAXNW7bG9sCDKF7CDuYWFvjr6lXpc1JTU3Drxg1UrVFDvMCVoDD0d14JgqB232XyYn/nTiJR3aau5M5EhIaGonv37vjjjz+kU5Hev38PNzc37N69G3Z2eb8iTa1atRAUFIThw4fDxcUFO3bsUNv0Ue++/TFl0gRUqlIF1as74cC+QISFhaHLD93EDk2pCnq7f+jRB0O8e2Hbpg1o1LQ5Hj64h6OH9mPClJky9eLj4nDh7Gn8NGq8OIEq2OoVy+BWzwNWVjZISIjH6ZPHcfPGX1ixZgMSExKwyX896jdoCAsLS3z48B77A3fj3dtwNG76fRlKVTt+PQQTO9fAq8g4PAyJQY3S5vi5bRVsO/cEAGCgp4WpP9TE4WsvEBadAPtihpjdywVRH5Nx9NpLmWOVtjZCvUrWaD/3lBhNUYqC/vk2MDBAmc8u41mkSBEYG5tIy7v17IMtARtgZ5+ZddvivwF6RfTQ3Ku1GCErVUHv75ysWL4U9Tzqw8raGgnx8Th54jhuXP8La9YX/PteFcb+JsWSexDh7e2N1NRUBAcHo3z5zOtpP378GN7e3hgwYABOnz4t1/GKFi2KrVu3Ys+ePWjatCnS09PlDSlfaOHVEh/ex2DD2jWIiHiHso7lsHrdBtjaFhc7NKUq6O2uWLkqfBf/D+tXLccW/7WwsS2Bn8dORLPPfkCcPX0cgiCgSYuWIkWqWNFRkZgxZSIiIyJQtKghypYrhxVrNqCOqzuSk5Px4vkzHDt6GO/fx8DYxASVKlfFhs07sv0gy+/GbLyKGT2c8b8f3WBpXARhMQkIOP0Ivnszr06SniGgsr0ZejR0hIm+DsJjEnDpfhh6Lz6PuCTZ7GnfxuXwJjoeZ2+HitEUpSjon++86N1vAJKTkrDQdzZiP35E5arVsGKtf4G7RwRQOPs7KioSUyZNQETEu3+vMFcea9b7w9XNXezQlK4w9rc81PWktipJBDlvzFCkSBFcuXIl2+Vcb968CXd3dyQmJn5zMKGhoQgKCkKTJk2+6wtazS/NTnKKTSycHa6r/c2zEdWaVXf1vRP494jZN1DsEESRlKqeJ5a+l562ptghECmd3jetzFWNPrvuquy1tvWoprLXUiS5u69kyZI5rl9IS0tD8eLfN3otUaIESpQo8V3HICIiIiL6Hup8/wZVkftU5sKFCzFixAjcuHFDenfpGzduYOTIkVi8uGBclYaIiIiIiL4sT5kIU1NTmblh8fHxqFOnDrS0Mp+elpYGLS0teHt7o3379koJlIiIiIhIFbgmInd5GkQsX75cyWEQEREREZG6yNMgom/fvsqOg4iIiIgoX2AeInfftS4+MTEx2yJrI6Psd3ElIiIiIqKCQ+5BRHx8PCZOnIi9e/ciKioq2351vc8DEREREREAaHBNRK7kvjrThAkTcP78eaxZswa6urrw9/fHrFmzYGtri23btikjRiIiIiIiykfkzkT88ssv2LZtGxo0aABvb294eHigbNmysLe3x86dO9GzZ09lxElERERERPmE3JmI6OholCpVCkDm+ofo6GgAQL169fDbb78pNjoiIiIiIhWTSFS3qSu5BxGlS5fGixcvAACVKlXC3r17AWRmKExMTBQZGxERERER5UNyT2fq378/7ty5A09PT/j4+KBVq1ZYuXIl0tLSsHTpUmXESERERESkMrzZXO7kHkSMHj1a+v8NGzbEo0ePcOPGDZQpUwbVq1dXaHBERERERJT/yD2d6XMlS5ZEx44dYWZmBm9vb0XEREREREQkGq6JyN13DyI+iY6OxtatWxV1OCIiIiIiyqe+647VREREREQFDW82lzuFZSKIiIiIiKhwYCaCiIiIiCgLJiJyl+dBRMeOHb+6//37998bCxERERERqYE8DyKMjY1z3d+nT5/vDoiIiIiISEy8T0Tu8jyI2Lx5szLjICIiIiIiNcE1EaT2DIvwz7gwidk3UOwQRGFaf7LYIYgi5jdfsUMQRWJKutghiEJPW1PsEEQhCILYIYgk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",
      "text/plain": [
       "<Figure size 1000x700 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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+f4aEUDB6+/cmDx1OtasXAHf+XMREx0FK6si6NipCwYNHSZ0aCpXGPublEskkQj71ffx40csXLgQx44dw8uXL5GRkQFbW1t4e3tj7Nix8PJS/MqJ1/+LVUGkeZ+7Q86nnS3o3scofw1MflDEuHBOiYtP/vY5/gsyE30t+ZUKoL677wodgiC2dK8odAiCyOnif4WBRiE96q2bh5eG7rv7Xm3P1bli/jyYLHj3mZqaYuHChVi4MP8euSYiIiKigqNwDusUw8XnRERERESkEMEzEUREREREeQkXVsvHTAQRERERESmEmQgiIiIioix4lF0+vkZERERERKQQZiKIiIiIiLLgmgj5mIkgIiIiIiKFMBNBRERERJQF8xDyMRNBREREREQKYSaCiIiIiCgLLomQj5kIIiIiIiJSCDMRRERERERZaHBVhFzMRBARERERkUKYiSAiIiIiyoJrIuRjJoKIiIiIiBTCTAQRERERURYiromQi5kIIiIiIiJSCDMRRERERERZcE2EfMxEEBERERGRQjiIICIiIiIihYgkEolE6CCULSlN6AiIiJSr4H1T505hnVJgVn2c0CEIIubqUqFDEERSarrQIQjCVE8sdAjfdPphhNqeq6mrldqeS5mYiSAiIiIiIoVwYTURERERURaFNQuqCGYiiIiIiIhIIcxEEBERERFlwUyEfMxEEBERERGRQpiJICIiIiLKQgSmIuRhJoKIiIiIiBTCTAQRERERURYaTETIxUwEEREREREphJkIIiIiIqIsuCZCPmYiiIiIiIhIIcxEEBERERFlwetEyMdMBBERERERKYSZCCIiIiKiLLgmQj5mIoiIiIiISCHMRBARERERZcHrRMjHTAQRERERESmEgwgiIiIiIlIIpzMREREREWXBhdXyMRNBREREREQKYSaCiIiIiCgLXmxOPmYilChwzy40a1wflT3c0LVTe9y+dVPokNSC7Wa7C4PC2O4PHz5g6uQJqONdFdW83NG5Qxs8evhA6LDUoqD1t6G+DhaPa4unR6cj+q9FuLh5JDzL2Uu3b5jVFYk3lsrcLgeMltnHH+uGZauzfUEvdTdFJQpaf2d1cN9e9OjUFvW8K6Oed2X0790NQVf+lG6PiorE3BlT0aJRHdSuVgmjhw1C8JvXwgVM+QYHEUpy+tRJ+C/0w8BBQxF44AgqVfLEsMEDEfr+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",
      "text/plain": [
       "<Figure size 1000x700 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from sklearn.metrics import accuracy_score, confusion_matrix\n",
    "\n",
    "# Accuracy Analysis\n",
    "accuracy_rf = accuracy_score(testLabels, y_pred_rf)\n",
    "accuracy_knn = accuracy_score(testLabels, y_pred_knn)\n",
    "\n",
    "print(f\"Random Forest Accuracy: {accuracy_rf:.3f}\")\n",
    "print(f\"KNN Accuracy: {accuracy_knn:.3f}\")\n",
    "\n",
    "# Confusion Matrix Visualization\n",
    "def plot_confusion_matrix(cm, title):\n",
    "    plt.figure(figsize=(10, 7))\n",
    "    sns.heatmap(cm, annot=True, fmt='d', cmap='Blues')\n",
    "    plt.title(title)\n",
    "    plt.ylabel('Actual Labels')\n",
    "    plt.xlabel('Predicted Labels')\n",
    "    plt.show()\n",
    "\n",
    "cm_rf = confusion_matrix(testLabels, y_pred_rf)\n",
    "cm_knn = confusion_matrix(testLabels, y_pred_knn)\n",
    "\n",
    "plot_confusion_matrix(cm_rf, \"Random Forest Confusion Matrix\")\n",
    "plot_confusion_matrix(cm_knn, \"KNN Confusion Matrix\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e061fa9",
   "metadata": {},
   "source": [
    "### Accuracy Comparison"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "28d5d1c9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANOye5idO3eugoKC5OrqqtDQUG3evPmK/XNzczVhwgQFBgbKxcVFt912mxYuXHiDqgUAAEBF4mTPiyclJWnMmDGaO3euOnTooP/85z/q2bOn9uzZo4CAgGKPefjhh3XixAklJCSoQYMGOnnypPLy8m5w5QAAAKgI7Bpmp0+frqFDh2rYsGGSpBkzZmj16tWaN2+e4uPji/RftWqVNm7cqJ9//lnVq1eXJNWrV+9GlgwAAIAKxG7LDC5evKiUlBRFRETYtEdERGjr1q3FHrNixQq1atVK06ZNU506ddSoUSM9++yzOn/+fInXyc3NVXZ2ts0LAAAANwe7zcyeOnVK+fn58vPzs2n38/PT8ePHiz3m559/1pYtW+Tq6qpPPvlEp06d0ogRI3T69OkS183Gx8dr8uTJZV4/AAAA7M/uN4BZLBab94ZhFGkrVFBQIIvFoiVLlqhNmzbq1auXpk+frsTExBJnZ8ePH6+srCzr6+jRo2U+BgAAANiH3WZmfXx85OjoWGQW9uTJk0VmawvVqlVLderUkZeXl7UtODhYhmHol19+UcOGDYsc4+LiIhcXl7ItHgAAABWC3WZmnZ2dFRoaquTkZJv25ORkhYWFFXtMhw4d9Ouvv+rs2bPWtv3798vBwUF169Yt13oBAABQ8dh1mcHYsWO1YMECLVy4UHv37tXTTz+t9PR0xcTESLq8RCAqKsraf8CAAfL29taQIUO0Z88ebdq0Sc8995yio6Pl5uZmr2EAAADATuy6NVdkZKQyMzMVFxenjIwMNW3aVCtXrlRgYKAkKSMjQ+np6db+lStXVnJyskaPHq1WrVrJ29tbDz/8sKZMmWKvIQAAAMCO7BpmJWnEiBEaMWJEsZ8lJiYWaWvSpEmRpQkAAAC4Ndl9NwMAAADgehFmAQAAYFqEWQAAAJhWqcNsvXr1FBcXZ3NjFgAAAGAPpQ6zzzzzjP7v//5P9evXV7du3fT+++8rNze3PGoDAAAArqjUYXb06NFKSUlRSkqKQkJCFBsbq1q1amnUqFHatWtXedQIAAAAFOu618w2b95cb731lo4dO6ZJkyZpwYIFat26tZo3b66FCxfKMIyyrBMAAAAo4rr3mb106ZI++eQTLVq0SMnJyWrXrp2GDh2qX3/9VRMmTNCXX36ppUuXlmWtAAAAgI1Sh9ldu3Zp0aJFWrZsmRwdHTVw4EC9+eabatKkibVPRESE7rrrrjItFAAAAPirUofZ1q1bq1u3bpo3b5769u2rSpUqFekTEhKi/v37l0mBAAAAQElKHWZ//vlnBQYGXrGPh4eHFi1adN1FAQAAANei1DeAnTx5Ul9//XWR9q+//lo7d+4sk6IAAACAa1HqMDty5EgdPXq0SPuxY8c0cuTIMikKAAAAuBalDrN79uxRy5Yti7S3aNFCe/bsKZOiAAAAgGtR6jDr4uKiEydOFGnPyMiQk9N17/QFAAAAlFqpw2y3bt00fvx4ZWVlWdvOnDmjF198Ud26dSvT4gAAAIArKfVU6r///W/dddddCgwMVIsWLSRJaWlp8vPz03//+98yLxAAAAAoSanDbJ06dfTdd99pyZIl+vbbb+Xm5qYhQ4bokUceKXbPWQAAAKC8XNciVw8PDz3xxBNlXQsAAABQKtd9x9aePXuUnp6uixcv2rTfd999f7soAAAA4Fpc1xPA/vGPf2j37t2yWCwyDEOSZLFYJEn5+fllWyEAAABQglLvZvDUU08pKChIJ06ckLu7u3744Qdt2rRJrVq10oYNG8qhRAAAAKB4pZ6Z3bZtm9atW6caNWrIwcFBDg4O6tixo+Lj4xUbG6vU1NTyqBMAAAAootQzs/n5+apcubIkycfHR7/++qskKTAwUPv27Svb6gAAAIArKPXMbNOmTfXdd9+pfv36atu2raZNmyZnZ2e9/fbbql+/fnnUCAAAABSr1GH2n//8p86dOydJmjJliu6991516tRJ3t7eSkpKKvMCAQAAgJKUOsx2797d+r/r16+vPXv26PTp06pWrZp1RwMAAADgRijVmtm8vDw5OTnp+++/t2mvXr06QRYAAAA3XKnCrJOTkwIDA9lLFgAAABVCqXcz+Oc//6nx48fr9OnT5VEPAAAAcM1KvWZ25syZOnDggGrXrq3AwEB5eHjYfL5r164yKw4AAAC4klKH2b59+5ZDGQAAAEDplTrMTpo0qTzqAAAAAEqt1GtmAQAAgIqi1DOzDg4OV9yGi50OAAAAcKOUOsx+8sknNu8vXbqk1NRUvfvuu5o8eXKZFQYAAABcTanD7P3331+k7cEHH9Ttt9+upKQkDR06tEwKAwAAAK6mzNbMtm3bVl9++WVZnQ4AAAC4qjIJs+fPn9esWbNUt27dsjgdAAAAcE1KvcygWrVqNjeAGYahnJwcubu767333ivT4gAAAIArKXWYffPNN23CrIODg2rUqKG2bduqWrVqZVocAAAAcCWlDrODBw8uhzIAAACA0iv1mtlFixbpww8/LNL+4Ycf6t133y2TogAAAIBrUeow++qrr8rHx6dIu6+vr6ZOnVomRQEAAADXotRh9siRIwoKCirSHhgYqPT09DIpCgAAALgWpQ6zvr6++u6774q0f/vtt/L29i6TogAAAIBrUeow279/f8XGxmr9+vXKz89Xfn6+1q1bp6eeekr9+/cvjxoBAACAYpV6N4MpU6boyJEj6tq1q5ycLh9eUFCgqKgo1swCAADghip1mHV2dlZSUpKmTJmitLQ0ubm56Y477lBgYGB51AcAAACUqNRhtlDDhg3VsGHDsqwFAAAAKJVSr5l98MEH9eqrrxZpf/311/XQQw+VSVEAAADAtSh1mN24caN69+5dpL1Hjx7atGlTmRQFAAAAXItSh9mzZ8/K2dm5SHulSpWUnZ1dJkUBAAAA16LUYbZp06ZKSkoq0v7+++8rJCSkTIoCAAAArkWpbwB76aWX1K9fPx08eFBdunSRJK1du1ZLly7VRx99VOYFAgAAACUpdZi977779Omnn2rq1Kn66KOP5ObmpubNm2vdunXy9PQsjxoBAACAYl3X1ly9e/e23gR25swZLVmyRGPGjNG3336r/Pz8Mi0QAAAAKEmp18wWWrdunR577DHVrl1bs2fPVq9evbRz586yrA0AAAC4olLNzP7yyy9KTEzUwoULde7cOT388MO6dOmSli9fzs1fAAAAuOGueWa2V69eCgkJ0Z49ezRr1iz9+uuvmjVrVnnWBgAAAFzRNc/MrlmzRrGxsXryySd5jC0AAAAqhGuemd28ebNycnLUqlUrtW3bVrNnz9Zvv/1WnrUBAAAAV3TNYbZ9+/Z65513lJGRoeHDh+v9999XnTp1VFBQoOTkZOXk5JRnnQAAAEARpd7NwN3dXdHR0dqyZYt2796tZ555Rq+++qp8fX113333lUeNAAAAQLGue2suSWrcuLGmTZumX375RcuWLSurmgAAAIBr8rfCbCFHR0f17dtXK1asKIvTAQAAANekTMLs3zF37lwFBQXJ1dVVoaGh2rx58zUd99VXX8nJyUl33nln+RYIAACACsuuYTYpKUljxozRhAkTlJqaqk6dOqlnz55KT0+/4nFZWVmKiopS165db1ClAAAAqIjsGmanT5+uoUOHatiwYQoODtaMGTPk7++vefPmXfG44cOHa8CAAWrfvv0NqhQAAAAVkd3C7MWLF5WSkqKIiAib9oiICG3durXE4xYtWqSDBw9q0qRJ13Sd3NxcZWdn27wAAABwc7BbmD116pTy8/Pl5+dn0+7n56fjx48Xe8xPP/2kcePGacmSJXJyuraHl8XHx8vLy8v68vf3/9u1AwAAoGKw+w1gFovF5r1hGEXaJCk/P18DBgzQ5MmT1ahRo2s+//jx45WVlWV9HT169G/XDAAAgIrh2qY3y4GPj48cHR2LzMKePHmyyGytJOXk5Gjnzp1KTU3VqFGjJEkFBQUyDENOTk5as2aNunTpUuQ4FxcXubi4lM8gAAAAYFd2m5l1dnZWaGiokpOTbdqTk5MVFhZWpL+np6d2796ttLQ06ysmJkaNGzdWWlqa2rZte6NKBwAAQAVht5lZSRo7dqwGDhyoVq1aqX379nr77beVnp6umJgYSZeXCBw7dkyLFy+Wg4ODmjZtanO8r6+vXF1di7QDAADg1mDXMBsZGanMzEzFxcUpIyNDTZs21cqVKxUYGChJysjIuOqeswAAALh1WQzDMOxdxI2UnZ0tLy8vZWVlydPT84ZfP/S5xTf8mgBujJTXo+xdgl2kx91h7xIAlJOAibvtct3S5DW772YAAAAAXC/CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEzL7mF27ty5CgoKkqurq0JDQ7V58+YS+3788cfq1q2batSoIU9PT7Vv316rV6++gdUCAACgIrFrmE1KStKYMWM0YcIEpaamqlOnTurZs6fS09OL7b9p0yZ169ZNK1euVEpKisLDw9WnTx+lpqbe4MoBAABQEVgMwzDsdfG2bduqZcuWmjdvnrUtODhYffv2VXx8/DWd4/bbb1dkZKQmTpx4Tf2zs7Pl5eWlrKwseXp6Xlfdf0foc4tv+DUB3Bgpr0fZuwS7SI+7w94lACgnARN32+W6pclrdpuZvXjxolJSUhQREWHTHhERoa1bt17TOQoKCpSTk6Pq1auX2Cc3N1fZ2dk2LwAAANwc7BZmT506pfz8fPn5+dm0+/n56fjx49d0jn//+986d+6cHn744RL7xMfHy8vLy/ry9/f/W3UDAACg4rD7DWAWi8XmvWEYRdqKs2zZMr388stKSkqSr69vif3Gjx+vrKws6+vo0aN/u2YAAABUDE72urCPj48cHR2LzMKePHmyyGztXyUlJWno0KH68MMPdc8991yxr4uLi1xcXP52vQAAAKh47DYz6+zsrNDQ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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Raw accuracy difference: 0.023\n",
      "Percentage accuracy difference: 2.606%\n"
     ]
    }
   ],
   "source": [
    "accuracies = {'Random Forest': accuracy_rf, 'KNN': accuracy_knn}\n",
    "\n",
    "# Create bar chart\n",
    "plt.figure(figsize=(8, 5))\n",
    "bar_plot = sns.barplot(x=list(accuracies.keys()), y=list(accuracies.values()))\n",
    "\n",
    "plt.title('Model Accuracy Comparison')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.xlabel('Model')\n",
    "plt.ylim(0, 1)  # Set y-axis range to be between 0 and 1\n",
    "\n",
    "# Add the text labels for each bar\n",
    "for p in bar_plot.patches:\n",
    "    bar_plot.annotate(format(p.get_height(), '.3f'), \n",
    "                      (p.get_x() + p.get_width() / 2., p.get_height()), \n",
    "                      ha = 'center', va = 'center', \n",
    "                      xytext = (0, 10), \n",
    "                      textcoords = 'offset points')\n",
    "\n",
    "plt.show()\n",
    "\n",
    "# Calculating the difference\n",
    "bigger_accuracy = max(accuracy_rf, accuracy_knn)\n",
    "smaller_accuracy = min(accuracy_rf, accuracy_knn)\n",
    "\n",
    "accuracy_difference = round(bigger_accuracy - smaller_accuracy, 3)\n",
    "accuracy_percentage_difference = abs(bigger_accuracy - smaller_accuracy) / ((bigger_accuracy + smaller_accuracy) / 2) * 100\n",
    "\n",
    "np.round(accuracy_percentage_difference, 3)\n",
    "\n",
    "print(\"Raw accuracy difference:\", accuracy_difference)\n",
    "print(f\"Percentage accuracy difference: {np.round(accuracy_percentage_difference, 3)}%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d5f02345",
   "metadata": {},
   "source": [
    "### Time Comparison"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "a76b851a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArcAAAHUCAYAAAAgFQAeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABGIUlEQVR4nO3deVxV1f7/8feR4QAKqCggBmmJ85BT5lCKMw5p1s3pKqaV5si1NM0U8yaUds2Kym9lojne7y392eSQmkNqIUqpmdPFoZQoB0BFFFm/P3x4vp0QBwIPbl/Px2M/Hu211t77sw+D7xbr7GMzxhgBAAAAFlDC1QUAAAAAhYVwCwAAAMsg3AIAAMAyCLcAAACwDMItAAAALINwCwAAAMsg3AIAAMAyCLcAAACwDMItAAAALINwC0CSlJCQIJvNJpvNpq+//jpPvzFGVapUkc1mU6tWrQr12jabTZMnT77p4w4dOiSbzaaEhIQbPmbnzp2y2Wzy8PDQ8ePHb/qad7rs7GzFx8erRYsWKlOmjDw9PVWxYkU9/vjjWr9+vavLK3IF+Z4DcGsRbgE48fX11ezZs/O0r1+/XgcPHpSvr68Lqio8H3zwgSQpJydH8+bNc3E1t5fff/9dzZs31+jRo1W7dm0lJCRozZo1+te//iU3Nze1adNG33//vavLLFIVKlTQli1b1LlzZ1eXAiAf7q4uAEDx0rNnTy1YsEBvv/22/Pz8HO2zZ89W06ZNlZGR4cLq/prs7GwtWLBA9erV0++//64PP/xQzz//vKvLuqqsrCx5eXnJZrO5uhSH/v376/vvv9fKlSvVunVrp75evXpp9OjRKlOmjIuqK1qXLl1STk6O7Ha7HnjgAVeXA+AamLkF4KR3796SpEWLFjna0tPT9fHHH2vgwIFXPebkyZMaOnSoKlasKE9PT91zzz2aMGGCsrOzncZlZGToqaeeUkBAgEqVKqWOHTtq3759Vz3n/v371adPHwUGBsput6tGjRp6++23/9K9LVu2TCdOnNCTTz6pqKgo7du3T5s2bcozLjs7W1OmTFGNGjXk5eWlgIAARUREaPPmzY4xubm5euutt3TffffJ29tbpUuX1gMPPKDly5c7xuS33KJSpUoaMGCAY//KkpBVq1Zp4MCBKl++vHx8fJSdna0DBw7oiSeeUHh4uHx8fFSxYkV17dpVO3fuzHPe06dP69lnn9U999wju92uwMBAderUST/99JOMMQoPD1eHDh3yHHfmzBn5+/tr2LBh+b52SUlJ+vLLLzVo0KA8wfaKxo0bKywszLG/a9cudevWTWXKlJGXl5fuu+8+zZ071+mYr7/+WjabTQsXLtTzzz+vChUqqFSpUuratat+/fVXZWZm6umnn1a5cuVUrlw5PfHEEzpz5ozTOWw2m4YPH67/+Z//UdWqVWW321WzZk0tXrzYadxvv/2moUOHqmbNmipVqpQCAwPVunVrbdy40WnclaUH06ZN08svv6zKlSvLbrdr3bp1V12W8Ntvv+npp59WaGio7Ha7ypcvr+bNm+urr75yOu+HH36oevXqycvLS2XLltUjjzyiPXv2OI0ZMGCASpUqpQMHDqhTp04qVaqUQkND9eyzz+b5eQJwdczcAnDi5+enxx57TB9++KEGDx4s6XLQLVGihHr27KmZM2c6jT9//rwiIiJ08OBBvfTSS6pbt642btyouLg4JScn6/PPP5d0ec1u9+7dtXnzZk2aNEmNGzfWN998o8jIyDw1/Pjjj2rWrJnCwsL0r3/9S8HBwVq5cqVGjhyp33//XTExMQW6t9mzZ8tut6tv3746efKk4uLiNHv2bLVo0cIxJicnR5GRkdq4caOio6PVunVr5eTkaOvWrTpy5IiaNWsm6XIImT9/vgYNGqQpU6bI09NT27dv16FDhwpUmyQNHDhQnTt31kcffaSzZ8/Kw8NDx44dU0BAgF555RWVL19eJ0+e1Ny5c9WkSRPt2LFD1apVkyRlZmaqRYsWOnTokJ5//nk1adJEZ86c0YYNG3T8+HFVr15dI0aMUHR0tPbv36/w8HDHdefNm6eMjIxrhttVq1ZJkrp3735D97J37141a9ZMgYGBevPNNxUQEKD58+drwIAB+vXXXzV27Fin8S+88IIiIiKUkJCgQ4cO6bnnnlPv3r3l7u6uevXqadGiRdqxY4deeOEF+fr66s0333Q6fvny5Vq3bp2mTJmikiVL6p133nEc/9hjj0m6/D9hkhQTE6Pg4GCdOXNGS5cuVatWrbRmzZo8a8nffPNNVa1aVa+99pr8/PycXrM/6tevn7Zv366pU6eqatWqOn36tLZv364TJ044xsTFxemFF15Q7969FRcXpxMnTmjy5Mlq2rSpEhMTnc598eJFPfzwwxo0aJCeffZZbdiwQf/85z/l7++vSZMm3dDrD9zRDAAYY+bMmWMkmcTERLNu3TojyezatcsYY0zjxo3NgAEDjDHG1KpVy7Rs2dJx3KxZs4wk8+9//9vpfK+++qqRZFatWmWMMebLL780kswbb7zhNG7q1KlGkomJiXG0dejQwdx1110mPT3daezw4cONl5eXOXnypDHGmJSUFCPJzJkz57r3d+jQIVOiRAnTq1cvR1vLli1NyZIlTUZGhqNt3rx5RpJ5//338z3Xhg0bjCQzYcKEa17zz/d1xd13322ioqIc+1de+/79+1/3PnJycsyFCxdMeHi4+cc//uFonzJlipFkVq9ene+xGRkZxtfX14waNcqpvWbNmiYiIuKa1x0yZIiRZH766afr1miMMb169TJ2u90cOXLEqT0yMtL4+PiY06dPG2OM43uta9euTuOio6ONJDNy5Ein9u7du5uyZcs6tUky3t7eJjU11dGWk5NjqlevbqpUqZJvjTk5OebixYumTZs25pFHHnG0X/m+uvfee82FCxecjrna91ypUqVMdHR0vtc5deqU8fb2Np06dXJqP3LkiLHb7aZPnz6OtqioqKv+PHXq1MlUq1Yt32sA+D8sSwCQR8uWLXXvvffqww8/1M6dO5WYmJjvkoS1a9eqZMmSjtmxK6782X3NmjWSpHXr1kmS+vbt6zSuT58+Tvvnz5/XmjVr9Mgjj8jHx0c5OTmOrVOnTjp//ry2bt160/c0Z84c5ebmOt3HwIEDdfbsWS1ZssTR9uWXX8rLyyvf+70yRtI1ZzoL4tFHH83TlpOTo9jYWNWsWVOenp5yd3eXp6en9u/f7/Qn7S+//FJVq1ZV27Zt8z2/r6+vnnjiCSUkJOjs2bOSLn/9fvzxRw0fPrxQ72Xt2rVq06aNQkNDndoHDBigc+fOacuWLU7tXbp0cdqvUaOGJOV541aNGjV08uTJPEsT2rRpo6CgIMe+m5ubevbsqQMHDujnn392tM+aNUsNGjSQl5eX3N3d5eHhoTVr1uRZHiBJDz/8sDw8PK57r/fff78SEhL08ssva+vWrbp48aJT/5YtW5SVleW0FEWSQkND1bp1a8fPyBU2m01du3Z1aqtbt64OHz583VoAsOYWwFXYbDY98cQTmj9/vmbNmqWqVavqwQcfvOrYEydOKDg4OM8bnwIDA+Xu7u740+yJEyfk7u6ugIAAp3HBwcF5zpeTk6O33npLHh4eTlunTp0kXX7X/s3Izc1VQkKCQkJC1LBhQ50+fVqnT59W27ZtVbJkSaenQ/z2228KCQlRiRL5/3r87bff5Obmlqf2v6pChQp52kaPHq2JEyeqe/fu+vTTT/Xtt98qMTFR9erVU1ZWllNNd91113WvMWLECGVmZmrBggWSpPj4eN11113q1q3bNY+7spY2JSXlhu7lxIkTV72fkJAQR/8flS1b1mnf09Pzmu3nz593ar/a1+JK25VrzZgxQ88884yaNGmijz/+WFu3blViYqI6duzo9FpecbX6r2bJkiWKiorSBx98oKZNm6ps2bLq37+/UlNTna6f3+vx59fCx8dHXl5eTm12uz3PPQO4OtbcAriqAQMGaNKkSZo1a5amTp2a77iAgAB9++23MsY4Bdy0tDTl5OSoXLlyjnE5OTk6ceKEU8C9EgCuKFOmjNzc3NSvX798Z0YrV658U/fy1VdfOWa9/hyuJWnr1q368ccfVbNmTZUvX16bNm1Sbm5uvgG3fPnyunTpklJTU68ZgOx2+1XfBPTnMHPF1Z6MMH/+fPXv31+xsbFO7b///rtKly7tVNMfZyjzU6VKFUVGRurtt99WZGSkli9frpdeeklubm7XPK5Dhw564YUXtGzZMnXs2PG61wkICLjqc4SPHTsmSY7vi8Ly5++jP7Zd+ZrPnz9frVq10rvvvus0LjMz86rnvNEnVZQrV04zZ87UzJkzdeTIES1fvlzjxo1TWlqaVqxY4bh+fq9HYb8WwJ2OmVsAV1WxYkWNGTNGXbt2VVRUVL7j2rRpozNnzmjZsmVO7VeeIdumTRtJUkREhCQ5ZgyvWLhwodO+j4+PIiIitGPHDtWtW1eNGjXKs10toF7L7NmzVaJECS1btkzr1q1z2j766CNJl9/JLkmRkZE6f/78NR/Sf+VNcH8OSX9WqVIl/fDDD05ta9euzfMn9Wux2Wyy2+1ObZ9//rl++eWXPDXt27dPa9euve45R40apR9++EFRUVFyc3PTU089dd1jGjRooMjISM2ePTvfa2zbtk1HjhyRdPnrvnbtWkeYvWLevHny8fEp9MdprVmzRr/++qtj/9KlS1qyZInuvfdex4z21V7LH374Ic8Sib8iLCxMw4cPV7t27bR9+3ZJUtOmTeXt7a358+c7jf35558dyzcAFB5mbgHk65VXXrnumP79++vtt99WVFSUDh06pDp16mjTpk2KjY1Vp06dHGtA27dvr4ceekhjx47V2bNn1ahRI33zzTeOcPlHb7zxhlq0aKEHH3xQzzzzjCpVqqTMzEwdOHBAn3766Q0FuCtOnDih//f//p86dOiQ75/eX3/9dc2bN09xcXHq3bu35syZoyFDhmjv3r2KiIhQbm6uvv32W9WoUUO9evXSgw8+qH79+unll1/Wr7/+qi5dushut2vHjh3y8fHRiBEjJF1+F/3EiRM1adIktWzZUj/++KPi4+Pl7+9/w/V36dJFCQkJql69uurWraukpCRNnz49zxKE6OhoLVmyRN26ddO4ceN0//33KysrS+vXr1eXLl0c/3MhSe3atVPNmjW1bt06/f3vf1dgYOAN1TJv3jx17NhRkZGRGjhwoCIjI1WmTBkdP35cn376qRYtWqSkpCSFhYUpJiZGn332mSIiIjRp0iSVLVtWCxYs0Oeff65p06bd1GtwI8qVK6fWrVtr4sSJjqcl/PTTT06PA+vSpYv++c9/KiYmRi1bttTevXs1ZcoUVa5cWTk5OQW6bnp6uiIiItSnTx9Vr15dvr6+SkxM1IoVK9SjRw9JUunSpTVx4kS98MIL6t+/v3r37q0TJ07opZdekpeXV4Gf/gEgH65+RxuA4uGPT0u4lj8/LcEYY06cOGGGDBliKlSoYNzd3c3dd99txo8fb86fP+807vTp02bgwIGmdOnSxsfHx7Rr18789NNPV32qQEpKihk4cKCpWLGi8fDwMOXLlzfNmjUzL7/8stMYXedpCTNnzjSSzLJly/Idc+WJDx9//LExxpisrCwzadIkEx4ebjw9PU1AQIBp3bq12bx5s+OYS5cumddff93Url3beHp6Gn9/f9O0aVPz6aefOsZkZ2ebsWPHmtDQUOPt7W1atmxpkpOT831awtVe+1OnTplBgwaZwMBA4+PjY1q0aGE2btxoWrZsmefrcOrUKTNq1CgTFhZmPDw8TGBgoOncufNVn3AwefJkI8ls3bo139flarKyssybb75pmjZtavz8/Iy7u7sJCQkxPXr0MJ9//rnT2J07d5quXbsaf39/4+npaerVq5fna3XlaQn/+7//69Se32sSExNjJJnffvvN0SbJDBs2zLzzzjvm3nvvNR4eHqZ69epmwYIF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ri4HAP4yfq/hVjHGKDMzUyEhIdccd9uH23LlysnNzS3PLG1aWlqe2dwr7Ha77Ha7U1vp0qWLqkQgDz8/P/4RAGAp/F7DrXCtGdsrbvs3lHl6eqphw4ZavXq1U/vq1avVrFkzF1UFAAAAV7jtZ24lafTo0erXr58aNWqkpk2b6r333tORI0c0ZAhr3QAAAO4klgi3PXv21IkTJzRlyhQdP35ctWvX1hdffKG7777b1aUBTux2u2JiYvIsiwGA2xW/11Dc2Mz1nqcAAAAA3CZu+zW3AAAAwBWEWwAAAFgG4RYAAACWQbgFbkClSpU0c+ZMV5cBAACug3CL28KAAQNks9lks9nk7u6usLAwPfPMMzp16pSrSytSkydPdtz3H7evvvrKpTXdd999Lrs+gKIzYMAAde/e3antP//5j7y8vDRt2jTH76Q/P2ozOTlZNptNhw4dkiQdOnRINptNgYGByszMdBp73333afLkyUV4F7jTEW5x2+jYsaOOHz+uQ4cO6YMPPtCnn36qoUOHurqsIlerVi0dP37caXvooYcKdK4LFy4UcnUArOyDDz5Q3759FR8fr7Fjx0qSvLy8NHv2bO3bt++6x2dmZuq1114r6jIBJ4Rb3DbsdruCg4N11113qX379urZs6dWrVrl6L906ZIGDRqkypUry9vbW9WqVdMbb7zhdI4rsxKvvfaaKlSooICAAA0bNkwXL150jElLS1PXrl3l7e2typUra8GCBXlqOXLkiLp166ZSpUrJz89Pjz/+uH799VdH/5XZzQ8//FBhYWEqVaqUnnnmGV26dEnTpk1TcHCwAgMDNXXq1Ovet7u7u4KDg502T09PSdLOnTvVunVreXt7KyAgQE8//bTOnDmT537j4uIUEhKiqlWrSpJ++eUX9ezZU2XKlFFAQIC6devmmHGRpK+//lr333+/SpYsqdKlS6t58+Y6fPiwEhIS9NJLL+n77793zCInJCRc9x4A3H6mTZum4cOHa+HChXryyScd7dWqVVNERIRefPHF655jxIgRmjFjhtLS0oqyVMCJJT7EAXee//73v1qxYoU8PDwcbbm5ubrrrrv073//W+XKldPmzZv19NNPq0KFCnr88ccd49atW6cKFSpo3bp1OnDggHr27Kn77rtPTz31lKTLgfDo0aNau3atPD09NXLkSKdfzMYYde/eXSVLltT6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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Raw time difference: 102s\n",
      "Percentage accuracy difference: 165%\n"
     ]
    }
   ],
   "source": [
    "times = {'Random Forest': forest_time, 'KNN': k_time_testing}\n",
    "\n",
    "# Create bar chart\n",
    "plt.figure(figsize=(8, 5))\n",
    "bar_plot = sns.barplot(x=list(times.keys()), y=list(times.values()))\n",
    "\n",
    "plt.title('Model Accuracy Comparison')\n",
    "plt.ylabel('Time (s)')\n",
    "plt.xlabel('Model')\n",
    "plt.ylim(0, 150)  # Set y-axis range to be between 0 and 150\n",
    "\n",
    "# Add the text labels for each bar\n",
    "for p in bar_plot.patches:\n",
    "    bar_plot.annotate(format(p.get_height(), '.2f'), \n",
    "                      (p.get_x() + p.get_width() / 2., p.get_height()), \n",
    "                      ha = 'center', va = 'center', \n",
    "                      xytext = (0, 10), \n",
    "                      textcoords = 'offset points')\n",
    "\n",
    "plt.show()\n",
    "\n",
    "bigger_time = max(k_time_testing, forest_time)\n",
    "smaller_time = min(k_time_testing, forest_time)\n",
    "\n",
    "time_difference = round(bigger_time - smaller_time)\n",
    "time_percentage_difference = abs(bigger_time - smaller_time) / ((bigger_time + smaller_time) / 2) * 100\n",
    "\n",
    "print(f\"Raw time difference: {time_difference}s\")\n",
    "print(f\"Percentage accuracy difference: {int(np.round(time_percentage_difference, 0))}%\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6ae6f58c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
