{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "0xK6jb92ZKPw",
        "outputId": "96a1c77c-d0f0-4c4a-fbbf-b56b0beb0035"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n"
          ]
        }
      ],
      "source": [
        "# Dev Atulbhai Patel\n",
        "\n",
        "# I am mounting my Google Drive so I can read the NSL-KDD CSV files\n",
        "from google.colab import drive\n",
        "drive.mount('/content/drive')"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am importing all Python libraries I will use later\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "from sklearn.preprocessing import LabelEncoder, StandardScaler\n",
        "from sklearn.ensemble import GradientBoostingClassifier, RandomForestClassifier\n",
        "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, classification_report"
      ],
      "metadata": {
        "id": "R16dDqn_ZZPW"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# I am loading the training and test subsets of the NSL-KDD dataset  from google drive and checking their basic structure.\n",
        "train_path = \"/content/drive/MyDrive/kdd_train.csv\"\n",
        "test_path = \"/content/drive/MyDrive/kdd_test.csv\"\n",
        "\n",
        "train_df = pd.read_csv(train_path)\n",
        "test_df = pd.read_csv(test_path)\n",
        "\n",
        "print(\"Train shape:\", train_df.shape)\n",
        "print(\"Test shape:\", test_df.shape)\n",
        "train_df.head()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 290
        },
        "id": "BXIZovsxZgFd",
        "outputId": "9aa5b83c-8dbf-4b0a-c59c-53fc42bc71cf"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Train shape: (125973, 42)\n",
            "Test shape: (22544, 42)\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   duration protocol_type   service flag  src_bytes  dst_bytes  land  \\\n",
              "0         0           tcp  ftp_data   SF        491          0     0   \n",
              "1         0           udp     other   SF        146          0     0   \n",
              "2         0           tcp   private   S0          0          0     0   \n",
              "3         0           tcp      http   SF        232       8153     0   \n",
              "4         0           tcp      http   SF        199        420     0   \n",
              "\n",
              "   wrong_fragment  urgent  hot  ...  dst_host_srv_count  \\\n",
              "0               0       0    0  ...                  25   \n",
              "1               0       0    0  ...                   1   \n",
              "2               0       0    0  ...                  26   \n",
              "3               0       0    0  ...                 255   \n",
              "4               0       0    0  ...                 255   \n",
              "\n",
              "   dst_host_same_srv_rate  dst_host_diff_srv_rate  \\\n",
              "0                    0.17                    0.03   \n",
              "1                    0.00                    0.60   \n",
              "2                    0.10                    0.05   \n",
              "3                    1.00                    0.00   \n",
              "4                    1.00                    0.00   \n",
              "\n",
              "   dst_host_same_src_port_rate  dst_host_srv_diff_host_rate  \\\n",
              "0                         0.17                         0.00   \n",
              "1                         0.88                         0.00   \n",
              "2                         0.00                         0.00   \n",
              "3                         0.03                         0.04   \n",
              "4                         0.00                         0.00   \n",
              "\n",
              "   dst_host_serror_rate  dst_host_srv_serror_rate  dst_host_rerror_rate  \\\n",
              "0                  0.00                      0.00                  0.05   \n",
              "1                  0.00                      0.00                  0.00   \n",
              "2                  1.00                      1.00                  0.00   \n",
              "3                  0.03                      0.01                  0.00   \n",
              "4                  0.00                      0.00                  0.00   \n",
              "\n",
              "   dst_host_srv_rerror_rate   labels  \n",
              "0                      0.00   normal  \n",
              "1                      0.00   normal  \n",
              "2                      0.00  neptune  \n",
              "3                      0.01   normal  \n",
              "4                      0.00   normal  \n",
              "\n",
              "[5 rows x 42 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-a9f156e1-74e2-4769-881f-9b8827a2d1d9\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>duration</th>\n",
              "      <th>protocol_type</th>\n",
              "      <th>service</th>\n",
              "      <th>flag</th>\n",
              "      <th>src_bytes</th>\n",
              "      <th>dst_bytes</th>\n",
              "      <th>land</th>\n",
              "      <th>wrong_fragment</th>\n",
              "      <th>urgent</th>\n",
              "      <th>hot</th>\n",
              "      <th>...</th>\n",
              "      <th>dst_host_srv_count</th>\n",
              "      <th>dst_host_same_srv_rate</th>\n",
              "      <th>dst_host_diff_srv_rate</th>\n",
              "      <th>dst_host_same_src_port_rate</th>\n",
              "      <th>dst_host_srv_diff_host_rate</th>\n",
              "      <th>dst_host_serror_rate</th>\n",
              "      <th>dst_host_srv_serror_rate</th>\n",
              "      <th>dst_host_rerror_rate</th>\n",
              "      <th>dst_host_srv_rerror_rate</th>\n",
              "      <th>labels</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0</td>\n",
              "      <td>tcp</td>\n",
              "      <td>ftp_data</td>\n",
              "      <td>SF</td>\n",
              "      <td>491</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>25</td>\n",
              "      <td>0.17</td>\n",
              "      <td>0.03</td>\n",
              "      <td>0.17</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.05</td>\n",
              "      <td>0.00</td>\n",
              "      <td>normal</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0</td>\n",
              "      <td>udp</td>\n",
              "      <td>other</td>\n",
              "      <td>SF</td>\n",
              "      <td>146</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>1</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.60</td>\n",
              "      <td>0.88</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>normal</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0</td>\n",
              "      <td>tcp</td>\n",
              "      <td>private</td>\n",
              "      <td>S0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>26</td>\n",
              "      <td>0.10</td>\n",
              "      <td>0.05</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>1.00</td>\n",
              "      <td>1.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>neptune</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0</td>\n",
              "      <td>tcp</td>\n",
              "      <td>http</td>\n",
              "      <td>SF</td>\n",
              "      <td>232</td>\n",
              "      <td>8153</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>255</td>\n",
              "      <td>1.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.03</td>\n",
              "      <td>0.04</td>\n",
              "      <td>0.03</td>\n",
              "      <td>0.01</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.01</td>\n",
              "      <td>normal</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0</td>\n",
              "      <td>tcp</td>\n",
              "      <td>http</td>\n",
              "      <td>SF</td>\n",
              "      <td>199</td>\n",
              "      <td>420</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>255</td>\n",
              "      <td>1.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>0.00</td>\n",
              "      <td>normal</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>5 rows × 42 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-a9f156e1-74e2-4769-881f-9b8827a2d1d9')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-a9f156e1-74e2-4769-881f-9b8827a2d1d9 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-a9f156e1-74e2-4769-881f-9b8827a2d1d9');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-0ea73c7f-1d2c-477d-9273-871fdd0f0cc8\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-0ea73c7f-1d2c-477d-9273-871fdd0f0cc8')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-0ea73c7f-1d2c-477d-9273-871fdd0f0cc8 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "train_df"
            }
          },
          "metadata": {},
          "execution_count": 116
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am listing all column names and data types\n",
        "print(\"Columns:\\n\", train_df.columns)\n",
        "print(\"\\nData Types:\\n\", train_df.dtypes)\n",
        "# I am checking the class distribution in the training set\n",
        "print(\"\\nLabel Distribution (Train):\")\n",
        "print(train_df['labels'].value_counts())"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "TBCpOw1QZuMQ",
        "outputId": "2013e151-fb01-4296-b566-1b4ac0090879"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Columns:\n",
            " Index(['duration', 'protocol_type', 'service', 'flag', 'src_bytes',\n",
            "       'dst_bytes', 'land', 'wrong_fragment', 'urgent', 'hot',\n",
            "       'num_failed_logins', 'logged_in', 'num_compromised', 'root_shell',\n",
            "       'su_attempted', 'num_root', 'num_file_creations', 'num_shells',\n",
            "       'num_access_files', 'num_outbound_cmds', 'is_host_login',\n",
            "       'is_guest_login', 'count', 'srv_count', 'serror_rate',\n",
            "       'srv_serror_rate', 'rerror_rate', 'srv_rerror_rate', 'same_srv_rate',\n",
            "       'diff_srv_rate', 'srv_diff_host_rate', 'dst_host_count',\n",
            "       'dst_host_srv_count', 'dst_host_same_srv_rate',\n",
            "       'dst_host_diff_srv_rate', 'dst_host_same_src_port_rate',\n",
            "       'dst_host_srv_diff_host_rate', 'dst_host_serror_rate',\n",
            "       'dst_host_srv_serror_rate', 'dst_host_rerror_rate',\n",
            "       'dst_host_srv_rerror_rate', 'labels'],\n",
            "      dtype='object')\n",
            "\n",
            "Data Types:\n",
            " duration                         int64\n",
            "protocol_type                   object\n",
            "service                         object\n",
            "flag                            object\n",
            "src_bytes                        int64\n",
            "dst_bytes                        int64\n",
            "land                             int64\n",
            "wrong_fragment                   int64\n",
            "urgent                           int64\n",
            "hot                              int64\n",
            "num_failed_logins                int64\n",
            "logged_in                        int64\n",
            "num_compromised                  int64\n",
            "root_shell                       int64\n",
            "su_attempted                     int64\n",
            "num_root                         int64\n",
            "num_file_creations               int64\n",
            "num_shells                       int64\n",
            "num_access_files                 int64\n",
            "num_outbound_cmds                int64\n",
            "is_host_login                    int64\n",
            "is_guest_login                   int64\n",
            "count                            int64\n",
            "srv_count                        int64\n",
            "serror_rate                    float64\n",
            "srv_serror_rate                float64\n",
            "rerror_rate                    float64\n",
            "srv_rerror_rate                float64\n",
            "same_srv_rate                  float64\n",
            "diff_srv_rate                  float64\n",
            "srv_diff_host_rate             float64\n",
            "dst_host_count                   int64\n",
            "dst_host_srv_count               int64\n",
            "dst_host_same_srv_rate         float64\n",
            "dst_host_diff_srv_rate         float64\n",
            "dst_host_same_src_port_rate    float64\n",
            "dst_host_srv_diff_host_rate    float64\n",
            "dst_host_serror_rate           float64\n",
            "dst_host_srv_serror_rate       float64\n",
            "dst_host_rerror_rate           float64\n",
            "dst_host_srv_rerror_rate       float64\n",
            "labels                          object\n",
            "dtype: object\n",
            "\n",
            "Label Distribution (Train):\n",
            "labels\n",
            "normal             67343\n",
            "neptune            41214\n",
            "satan               3633\n",
            "ipsweep             3599\n",
            "portsweep           2931\n",
            "smurf               2646\n",
            "nmap                1493\n",
            "back                 956\n",
            "teardrop             892\n",
            "warezclient          890\n",
            "pod                  201\n",
            "guess_passwd          53\n",
            "buffer_overflow       30\n",
            "warezmaster           20\n",
            "land                  18\n",
            "imap                  11\n",
            "rootkit               10\n",
            "loadmodule             9\n",
            "ftp_write              8\n",
            "multihop               7\n",
            "phf                    4\n",
            "perl                   3\n",
            "spy                    2\n",
            "Name: count, dtype: int64\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am confirming that there are no missing values\n",
        "print(\"Missing values in train:\")\n",
        "print( train_df.isnull().sum())\n",
        "print(\"Missing values in test:\")\n",
        "print(test_df.isnull().sum())"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "roqhuYFeZzSO",
        "outputId": "df9c9093-fdc0-4c60-a2f9-a15d59ff651e"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Missing values in train:\n",
            "duration                       0\n",
            "protocol_type                  0\n",
            "service                        0\n",
            "flag                           0\n",
            "src_bytes                      0\n",
            "dst_bytes                      0\n",
            "land                           0\n",
            "wrong_fragment                 0\n",
            "urgent                         0\n",
            "hot                            0\n",
            "num_failed_logins              0\n",
            "logged_in                      0\n",
            "num_compromised                0\n",
            "root_shell                     0\n",
            "su_attempted                   0\n",
            "num_root                       0\n",
            "num_file_creations             0\n",
            "num_shells                     0\n",
            "num_access_files               0\n",
            "num_outbound_cmds              0\n",
            "is_host_login                  0\n",
            "is_guest_login                 0\n",
            "count                          0\n",
            "srv_count                      0\n",
            "serror_rate                    0\n",
            "srv_serror_rate                0\n",
            "rerror_rate                    0\n",
            "srv_rerror_rate                0\n",
            "same_srv_rate                  0\n",
            "diff_srv_rate                  0\n",
            "srv_diff_host_rate             0\n",
            "dst_host_count                 0\n",
            "dst_host_srv_count             0\n",
            "dst_host_same_srv_rate         0\n",
            "dst_host_diff_srv_rate         0\n",
            "dst_host_same_src_port_rate    0\n",
            "dst_host_srv_diff_host_rate    0\n",
            "dst_host_serror_rate           0\n",
            "dst_host_srv_serror_rate       0\n",
            "dst_host_rerror_rate           0\n",
            "dst_host_srv_rerror_rate       0\n",
            "labels                         0\n",
            "dtype: int64\n",
            "Missing values in test:\n",
            "duration                       0\n",
            "protocol_type                  0\n",
            "service                        0\n",
            "flag                           0\n",
            "src_bytes                      0\n",
            "dst_bytes                      0\n",
            "land                           0\n",
            "wrong_fragment                 0\n",
            "urgent                         0\n",
            "hot                            0\n",
            "num_failed_logins              0\n",
            "logged_in                      0\n",
            "num_compromised                0\n",
            "root_shell                     0\n",
            "su_attempted                   0\n",
            "num_root                       0\n",
            "num_file_creations             0\n",
            "num_shells                     0\n",
            "num_access_files               0\n",
            "num_outbound_cmds              0\n",
            "is_host_login                  0\n",
            "is_guest_login                 0\n",
            "count                          0\n",
            "srv_count                      0\n",
            "serror_rate                    0\n",
            "srv_serror_rate                0\n",
            "rerror_rate                    0\n",
            "srv_rerror_rate                0\n",
            "same_srv_rate                  0\n",
            "diff_srv_rate                  0\n",
            "srv_diff_host_rate             0\n",
            "dst_host_count                 0\n",
            "dst_host_srv_count             0\n",
            "dst_host_same_srv_rate         0\n",
            "dst_host_diff_srv_rate         0\n",
            "dst_host_same_src_port_rate    0\n",
            "dst_host_srv_diff_host_rate    0\n",
            "dst_host_serror_rate           0\n",
            "dst_host_srv_serror_rate       0\n",
            "dst_host_rerror_rate           0\n",
            "dst_host_srv_rerror_rate       0\n",
            "labels                         0\n",
            "dtype: int64\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am plotting a simple bar chart of class frequencies.\n",
        "# This gives me a high-level understanding of the NSL-KDD data.\n",
        "plt.figure(figsize=(10, 4))\n",
        "train_df['labels'].value_counts().plot(kind='bar')\n",
        "plt.title(\"Class Distribution in NSL-KDD Training Set\")\n",
        "plt.xlabel(\"Class label (normal / attack types)\")\n",
        "plt.ylabel(\"Number of samples\")\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 407
        },
        "id": "9kBDlkmGpV9n",
        "outputId": "5a1499e9-5788-4434-eb21-61cf2d9f742f"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x400 with 1 Axes>"
            ],
            "image/png": "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TU1xGa2cx1VRUREMDAyEevXqCZ6ensKtW7cUjpH9e8y+lShRQihVqpTQuHFjYfLkybk+Z77kc0uG5bb03ps3bwR3d3ehdOnSgo6OjuDi4iLcvXtX4XnwqSXDcvs/+/h5+V+fL69evRJ69+4t6OrqCvr6+sKAAQOE8+fPCwCEXbt2ffb3kZ/nSfbP6eLiIujr6wuamppC1apVhQEDBghXr14V90lPTxdGjx4tGBsbCzKZjMuHEVGRkQnCV3ZdISIiIiLKh4MHD6Jr1644d+4c7O3tpY5DRFQkWHQTERERUYFLTU2V67yekZGBNm3a4OrVq4iNjS2U1QWIiJQR53QTERERUYEbPXo0UlNTYWdnh/fv32P//v24cOECZs+ezYKbiL4rvNJNRERERAVux44dWLBgASIjI/Hu3TtUq1YNw4cPx6hRo6SORkRUpFh0ExERERERERUSrtNNREREREREVEhYdBMREREREREVEjZSKyCZmZl49uwZdHV1IZPJpI5DREREREREhUgQBLx9+xampqZQUfn09WwW3QXk2bNnqFixotQxiIiIiIiIqAjFxMSgQoUKn7yfRXcB0dXVBZD1C9fT05M4DRERERERERWmxMREVKxYUawFP4VFdwHJHlKup6fHopuIiIiIiOg78aXpxWykRkRERERERFRIWHQTERERERERFRIW3URERERERESFhEU3ERERERERUSFh0U1ERERERERUSFh0ExERERERERUSFt1EREREREREhYTrdEvAfNLRAjvWo7kdCuxYREREREREVLB4pZuIiIiIiIiokLDoJiIiIiIiIiokLLqJiIiIiIiICgmLbiIiIiIiIqJCwqKbiIiIiIiIqJCw6CYiIiIiIiIqJCy6iYiIiIiIiAoJi24iIiIiIiKiQsKim4iIiIiIiKiQsOgmIiIiIiIiKiQsuomIiIiIiIgKCYtuIiIiIiIiokLCopuIiIiIiIiokLDoJiIiIiIiIiokLLqJiIiIiIiICgmLbiIiIiIiIqJCwqKbiIiIiIiIqJBIXnQ/ffoUffv2hZGREbS0tGBjY4OrV6+K9wuCAB8fH5QrVw5aWlpo1aoV7t+/L3eM169fo0+fPtDT04OBgQEGDRqEpKQkuX3Cw8PRvHlzaGpqomLFivDz81PIsmfPHtSsWROampqwsbHBsWPHCueHJiIiIiIiou+C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9O3bFwkJCYWRkYiIiIiIiKhYynfR7eHhgUuXLuHIkSOIj49HfHw8jhw5gqtXr2Lo0KGFkZGIiIiIiIioWMr38PIjR47gxIkTaNasmbjNxcUFa9euRdu2bQs0HBEREREREVFxlu8r3UZGRrl2M9fX14ehoWGBhCIiIiIiIiL6FuS76J4yZQq8vb0RGxsrbouNjcWECRMwderUAg1HREREREREVJzle3j5qlWrEBkZiUqVKqFSpUoAgOjoaGhoaODVq1f4448/xH2vXbtWcEmJiIiIiIiIipl8F91dunQphBhERERERERE3558F93Tpk0rjBxERERERERE35x8F905JSUlITMzU26bnp7efwpERERERERE9K3IdyO1hw8fokOHDtDW1hY7lhsaGsLAwIDdy4mIiIiIiIhyyPeV7r59+0IQBGzYsAFlypSBTCYrjFxERERERERExV6+i+6wsDCEhITAwsKiMPIQERERERERfTPyPby8YcOGiImJKYwsRERERERERN+UfF/pXrduHYYNG4anT5/C2toaampqcvfXrl27wMIRERERERERFWf5LrpfvXqFqKgouLu7i9tkMhkEQYBMJkNGRkaBBiQiIiIiIiIqrvJddA8cOBD16tXDzp072UiNiIiIiIiI6DPyXXQ/fvwYhw8fRrVq1QojDxEREREREdE3I9+N1Fq2bImwsLDCyEJERERERET0Tcn3le4ffvgBXl5euHHjBmxsbBQaqXXq1KnAwhEREREREREVZ/kuuocNGwYAmDFjhsJ9bKRGRERERERE9D/5LrozMzMLIwcRERERERHRNyffc7qJiIiIiIiIKG/yfaUbAJKTkxEUFITo6Gh8+PBB7r4xY8YUSDAiIiIiIiKi4i7fRXdoaCjat2+PlJQUJCcno1SpUvj3339RsmRJmJiYsOgmIiIiIiIi+n/5Hl7u5eWFH374AW/evIGWlhb++ecfPH78GA0aNMD8+fMLIyMRERERERFRsZTvovv69esYN24cVFRUoKqqivfv36NixYrw8/PDL7/8UhgZiYiIiIiIiIqlfBfdampqUFHJ+jYTExNER0cDAPT19RETE1Ow6YiIiIiIiIiKsXzP6a5Xrx6uXLmC6tWrw9HRET4+Pvj333+xdetWWFtbF0ZGIiIiIiIiomIp31e6Z8+ejXLlygEAZs2aBUNDQwwfPhyvXr3CmjVrvjrI3LlzIZPJMHbsWHHbu3fvMHLkSBgZGUFHRwfdu3fHixcv5L4vOjoaHTp0EBu5TZgwAenp6XL7BAYGon79+tDQ0EC1atWwadMmhcdfsWIFzM3NoampicaNG+Py5ctf/bMQERERERERAV9xpdvW1lb8t4mJCY4fP/6fQ1y5cgV//PEHateuLbfdy8sLR48exZ49e6Cvr49Ro0ahW7duOH/+PAAgIyMDHTp0QNmyZXHhwgU8f/4c/fv3h5qaGmbPng0AePjwITp06IBhw4Zh+/bt8Pf3x+DBg1GuXDm4uLgAAP788094e3tj9erVaNy4MRYvXgwXFxfcu3cPJiYm//nnK07MJx0tsGM9mtuhwI5FRERERERUHOX7SndqaipSUlLErx8/fozFixfj5MmTXxUgKSkJffr0wdq1a2FoaChuT0hIwPr167Fw4UK0bNkSDRo0wMaNG3HhwgX8888/AICTJ0/i9u3b2LZtG+rWrYt27drht99+w4oVK8T1w1evXo3KlStjwYIFsLS0xKhRo9CjRw8sWrRIfKyFCxfCw8MD7u7usLKywurVq1GyZEls2LDhq34mIiIiIiIiIuAriu7OnTtjy5YtAID4+Hg0atQICxYsQOfOnbFq1ap8Bxg5ciQ6dOiAVq1ayW0PCQlBWlqa3PaaNWuiUqVKuHjxIgDg4sWLsLGxQZkyZcR9XFxckJiYiFu3bon7fHxsFxcX8RgfPnxASEiI3D4qKipo1aqVuE9u3r9/j8TERLkbERERERERUU75LrqvXbuG5s2bAwD27t2LsmXL4vHjx9iyZQuWLl2ar2Pt2rUL165dw5w5cxTui42Nhbq6OgwMDOS2lylTBrGxseI+OQvu7Puz7/vcPomJiUhNTcW///6LjIyMXPfJPkZu5syZA319ffFWsWLFvP3QRERERERE9N3Id9GdkpICXV1dAFnDu7t16wYVFRU0adIEjx8/zvNxYmJi4Onpie3bt0NTUzO/MSQ3efJkJCQkiDcul0ZEREREREQfy3fRXa1aNRw8eBAxMTE4ceIE2rRpAwB4+fIl9PT08nyckJAQvHz5EvXr10eJEiVQokQJBAUFYenSpShRogTKlCmDDx8+ID4+Xu77Xrx4gbJlywIAypYtq9DNPPvrL+2jp6cHLS0tlC5dGqqqqrnuk32M3GhoaEBPT0/uRkRERERERJRTvotuHx8fjB8/Hubm5mjcuDHs7OwAZF31rlevXp6P4+zsjBs3buD69evizdbWFn369BH/raamBn9/f/F77t27h+joaPEx7ezscOPGDbx8+VLc59SpU9DT04OVlZW4T85jZO+TfQx1dXU0aNBAbp/MzEz4+/uL+xARERERERF9jXwvGdajRw80a9YMz58/R506dcTtzs7O6Nq1a56Po6urC2tra7lt2traMDIyErcPGjQI3t7eKFWqFPT09DB69GjY2dmhSZMmAIA2bdrAysoK/fr1g5+fH2JjYzFlyhSMHDkSGhoaAIBhw4Zh+fLl+PnnnzFw4EAEBARg9+7dOHr0f0tjeXt7w83NDba2tmjUqBEWL16M5ORkuLu75/fXQ0RERERERCTKd9ENZA3Z/njodaNGjQokUE6LFi2CiooKunfvjvfv38PFxQUrV64U71dVVcWRI0cwfPhw2NnZQVtbG25ubpgxY4a4T+XKlXH06FF4eXlhyZIlqFChAtatWyeu0Q0Arq6uePXqFXx8fBAbG4u6devi+PHjCs3ViIiIiIiIiPJDJgiCIHWIb0FiYiL09fWRkJDwxfnd5pOOfvb+/Hg0t0OBHQtQ7mxERERERETKIq81YL7ndBMRERERERFR3rDoJiIiIiIiIiokeSq669evjzdv3gAAZsyYgZSUlEINRURERERERPQtyFPRfefOHSQnJwMAfH19kZSUVKihiIiIiIiIiL4FeepeXrduXbi7u6NZs2YQBAHz58+Hjo5Orvv6+PgUaEAiIiIiIiKi4ipPRfemTZswbdo0HDlyBDKZDH///TdKlFD8VplMxqKbiIiIiIiI6P/lqei2sLDArl27AAAqKirw9/eHiYlJoQYjIiIiIiIiKu7yVHTnlJmZWRg5iIiIiIiIiL45+S66ASAqKgqLFy/GnTt3AABWVlbw9PRE1apVCzQcERERERERUXGW73W6T5w4ASsrK1y+fBm1a9dG7dq1cenSJdSqVQunTp0qjIxERERERERExVK+r3RPmjQJXl5emDt3rsL2iRMnonXr1gUWjoiIiIiIiKg4y/eV7jt37mDQoEEK2wcOHIjbt28XSCgiIiIiIiKib0G+i25jY2Ncv35dYfv169fZ0ZyIiIiIiIgoh3wPL/fw8MCQIUPw4MEDNG3aFABw/vx5/P777/D29i7wgERE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N2/exK5duwr82IVhzpw50NfXF28VK1aUOhIREREREREpmXxf6b58+TICAgJw5MgR1KpVS6GR2v79+/MdYtSoUThy5AiCg4NRoUIFcXvZsmXx4cMHxMfHy13tfvHiBcqWLSvu83GX8ezu5jn3+bjj+YsXL6CnpwctLS2oqqpCVVU1132yj/GxyZMnw9vbW/w6MTGRhTcRERERERHJyfeVbgMDA3Tr1g2Ojo4oXbq03NVefX39fB1LEASMGjUKBw4cQEBAACpXrix3f4MGDaCmpgZ/f39x27179xAdHQ07OzsAgJ2dHW7cuIGXL1+K+5w6dQp6enqwsrIS98l5jOx9so+hrq6OBg0ayO2TmZkJf39/cZ+PaWhoQE9PT+5GRERERERElFO+r3Rv3LixwB585MiR2LFjBw4dOgRdXV1xDra+vj60tLSgr6+PQYMGwdvbG6VKlYKenh5Gjx4NOzs7NGnSBADQpk0bWFlZoV+/fvDz80NsbCymTJmCkSNHQkNDAwAwbNgwLF++HD///DMGDhyIgIAA7N69G0eP/q9Tt7e3N9zc3GBra4tGjRph8eLFSE5Ohru7e4H9vERERERERPR9yXfRXZBWrVoFAHBycpLbvnHjRgwYMAAAsGjRIqioqKB79+54//49XFxcsHLlSnFfVVVVHDlyBMOHD4ednR20tbXh5uaGGTNmiPtUrlwZR48ehZeXF5YsWYIKFSpg3bp14hrdAODq6opXr17Bx8cHsbGxqFu3Lo4fP67QXI2IiIiIiIgor/K9TnflypXl1ub+2IMHD/5zqOKI63Qr4jrdRERERET0rcprDZjvK91jx46V+zotLQ2hoaE4fvw4JkyYkO+gRERERERERN+qfBfdnp6euW5fsWIFrl69+p8DEREREREREX0r8t29/FPatWuHffv2FdThiIiIiIiIiIq9Aiu69+7di1KlShXU4YiIiIiIiIiKvXwPL69Xr55cIzVBEBAbG4tXr17JdRUnIiIiIiIi+t7lu+ju0qWL3NcqKiowNjaGk5MTatasWVC5iIiIiIiIiIq9fBfd06ZNK4wcRERERERERN+cApvTTURERERERETy8nylW0VFRW4ud25kMhnS09P/cygiIiIiIiKib0Gei+4DBw588r6LFy9i6dKlyMzMLJBQRERERERERN+CPBfdnTt3Vth27949TJo0CX/9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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am preparing the NSL-KDD dataset for multi-class classification\n",
        "# I am setting column names and make working copies\n",
        "\n",
        "#I am specifying which columns are categorical features and which column is the target label.\n",
        "categorical_cols = ['protocol_type', 'service', 'flag']\n",
        "label_col = 'labels'\n",
        "\n",
        "# I also copy the original dataframes so that the raw data remains unchanged.\n",
        "train = train_df.copy()\n",
        "test = test_df.copy()\n",
        "\n",
        "train[categorical_cols].head()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 206
        },
        "id": "wMG4liH4PTSs",
        "outputId": "696e32c4-f982-463f-f971-8cdd7e0149d7"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "  protocol_type   service flag\n",
              "0           tcp  ftp_data   SF\n",
              "1           udp     other   SF\n",
              "2           tcp   private   S0\n",
              "3           tcp      http   SF\n",
              "4           tcp      http   SF"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-b83bf37a-3e8b-4d31-aa7b-a715afa5f123\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>protocol_type</th>\n",
              "      <th>service</th>\n",
              "      <th>flag</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>tcp</td>\n",
              "      <td>ftp_data</td>\n",
              "      <td>SF</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>udp</td>\n",
              "      <td>other</td>\n",
              "      <td>SF</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>tcp</td>\n",
              "      <td>private</td>\n",
              "      <td>S0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>tcp</td>\n",
              "      <td>http</td>\n",
              "      <td>SF</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>tcp</td>\n",
              "      <td>http</td>\n",
              "      <td>SF</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b83bf37a-3e8b-4d31-aa7b-a715afa5f123')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-b83bf37a-3e8b-4d31-aa7b-a715afa5f123 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-b83bf37a-3e8b-4d31-aa7b-a715afa5f123');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-1fcecd04-3f11-46e2-b022-8428b5475054\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-1fcecd04-3f11-46e2-b022-8428b5475054')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-1fcecd04-3f11-46e2-b022-8428b5475054 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"train[categorical_cols]\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": \"protocol_type\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          \"udp\",\n          \"tcp\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"service\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 4,\n        \"samples\": [\n          \"other\",\n          \"http\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"flag\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          \"S0\",\n          \"SF\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 120
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "cat_encoders = {}\n",
        "\n",
        "for col in categorical_cols:\n",
        "    le = LabelEncoder() # I am using LabelEncoder for protocol_type, service and flag.\n",
        "    # To avoid mismatched codes between train and test, I fit each encoder on the combined values from both sets\n",
        "    combined = pd.concat([train[col], test[col]], axis=0)\n",
        "    le.fit(combined)\n",
        "# I am transforming train and test separately.\n",
        "    train[col] = le.transform(train[col])\n",
        "    test[col]  = le.transform(test[col])\n",
        "    cat_encoders[col] = le\n",
        "\n",
        "train[categorical_cols].head()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 206
        },
        "id": "pWPdVlssPiaf",
        "outputId": "8576d8f1-102b-4e98-eaab-ffffc9f85b05"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   protocol_type  service  flag\n",
              "0              1       20     9\n",
              "1              2       44     9\n",
              "2              1       49     5\n",
              "3              1       24     9\n",
              "4              1       24     9"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-d468be92-e6ce-42e6-a1f8-8db06336603e\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>protocol_type</th>\n",
              "      <th>service</th>\n",
              "      <th>flag</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1</td>\n",
              "      <td>20</td>\n",
              "      <td>9</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2</td>\n",
              "      <td>44</td>\n",
              "      <td>9</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1</td>\n",
              "      <td>49</td>\n",
              "      <td>5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1</td>\n",
              "      <td>24</td>\n",
              "      <td>9</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1</td>\n",
              "      <td>24</td>\n",
              "      <td>9</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-d468be92-e6ce-42e6-a1f8-8db06336603e')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-d468be92-e6ce-42e6-a1f8-8db06336603e button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-d468be92-e6ce-42e6-a1f8-8db06336603e');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-90f8765b-5892-42cd-8dd3-e69c16134faa\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-90f8765b-5892-42cd-8dd3-e69c16134faa')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-90f8765b-5892-42cd-8dd3-e69c16134faa button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"train[categorical_cols]\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": \"protocol_type\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 1,\n        \"max\": 2,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          2,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"service\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 13,\n        \"min\": 20,\n        \"max\": 49,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          44,\n          24\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"flag\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1,\n        \"min\": 5,\n        \"max\": 9,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          5,\n          9\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 121
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am creating a LabelEncoder object, which will convert text labels\n",
        "label_encoder = LabelEncoder()\n",
        "\n",
        "# I am combining the label column from both train and test datasets.\n",
        "combined_labels = pd.concat([train[label_col], test[label_col]], axis=0)\n",
        "\n",
        "# I am fitting the encoder on the combined labels so it learns how to map every string class to a number\n",
        "label_encoder.fit(combined_labels)\n",
        "\n",
        "# I am transforming the training and testing labels into numeric form.\n",
        "y_train = label_encoder.transform(train[label_col])\n",
        "y_test  = label_encoder.transform(test[label_col])\n",
        "\n",
        "# I am printing the shape of y_train and y_test\n",
        "print(\"Label classes:\", label_encoder.classes_)\n",
        "print(\"y_train shape:\", y_train.shape)\n",
        "print(\"y_test shape:\", y_test.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "cVfdeoJkPwNc",
        "outputId": "eb094443-e423-4183-d2c5-91a348992f14"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Label classes: ['apache2' 'back' 'buffer_overflow' 'ftp_write' 'guess_passwd'\n",
            " 'httptunnel' 'imap' 'ipsweep' 'land' 'loadmodule' 'mailbomb' 'mscan'\n",
            " 'multihop' 'named' 'neptune' 'nmap' 'normal' 'perl' 'phf' 'pod'\n",
            " 'portsweep' 'processtable' 'ps' 'rootkit' 'saint' 'satan' 'sendmail'\n",
            " 'smurf' 'snmpgetattack' 'snmpguess' 'spy' 'teardrop' 'warezclient'\n",
            " 'warezmaster' 'xlock' 'xsnoop' 'xterm']\n",
            "y_train shape: (125973,)\n",
            "y_test shape: (22544,)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#I am creating feature matrices and standardise them\n",
        "\n",
        "# I am removing the label column to keep only input features\n",
        "X_train = train.drop(columns=[label_col])\n",
        "X_test  = test.drop(columns=[label_col])\n",
        "\n",
        "print(\"X_train shape:\", X_train.shape)\n",
        "print(\"X_test shape:\", X_test.shape)\n",
        "\n",
        "# I am scaling all numeric features for better model performance\n",
        "scaler = StandardScaler()\n",
        "X_train_scaled = scaler.fit_transform(X_train)\n",
        "X_test_scaled  = scaler.transform(X_test)\n",
        "\n",
        "print(\"X_train_scaled shape:\", X_train_scaled.shape)\n",
        "print(\"X_test_scaled shape:\", X_test_scaled.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "OdRu48baQhYR",
        "outputId": "946bfdf9-9979-4a74-bee6-4122d9260b20"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "X_train shape: (125973, 41)\n",
            "X_test shape: (22544, 41)\n",
            "X_train_scaled shape: (125973, 41)\n",
            "X_test_scaled shape: (22544, 41)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#Random Forest – Baseline model\n",
        "\n",
        "# I am creating Random Forest model\n",
        "rf_clf = RandomForestClassifier(\n",
        "    n_estimators=100, # I am using 100 trees as a simple baseline\n",
        "    random_state=42, # I am fixing the seed for reproducible results\n",
        "    n_jobs=-1 # I am using all CPU cores to speed up training\n",
        ")\n",
        "# I am training the baseline Random Forest model\n",
        "rf_clf.fit(X_train_scaled, y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 80
        },
        "id": "9EEPLaN9Qy3T",
        "outputId": "fc120e8d-0ca1-45f5-b0e2-e7ed0d162d6f"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "RandomForestClassifier(n_jobs=-1, random_state=42)"
            ],
            "text/html": [
              "<style>#sk-container-id-9 {\n",
              "  /* Definition of color scheme common for light and dark mode */\n",
              "  --sklearn-color-text: #000;\n",
              "  --sklearn-color-text-muted: #666;\n",
              "  --sklearn-color-line: gray;\n",
              "  /* Definition of color scheme for unfitted estimators */\n",
              "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
              "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
              "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
              "  --sklearn-color-unfitted-level-3: chocolate;\n",
              "  /* Definition of color scheme for fitted estimators */\n",
              "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
              "  --sklearn-color-fitted-level-1: #d4ebff;\n",
              "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
              "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
              "\n",
              "  /* Specific color for light theme */\n",
              "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
              "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
              "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
              "  --sklearn-color-icon: #696969;\n",
              "\n",
              "  @media (prefers-color-scheme: dark) {\n",
              "    /* Redefinition of color scheme for dark theme */\n",
              "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
              "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
              "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
              "    --sklearn-color-icon: #878787;\n",
              "  }\n",
              "}\n",
              "\n",
              "#sk-container-id-9 {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 pre {\n",
              "  padding: 0;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 input.sk-hidden--visually {\n",
              "  border: 0;\n",
              "  clip: rect(1px 1px 1px 1px);\n",
              "  clip: rect(1px, 1px, 1px, 1px);\n",
              "  height: 1px;\n",
              "  margin: -1px;\n",
              "  overflow: hidden;\n",
              "  padding: 0;\n",
              "  position: absolute;\n",
              "  width: 1px;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-dashed-wrapped {\n",
              "  border: 1px dashed var(--sklearn-color-line);\n",
              "  margin: 0 0.4em 0.5em 0.4em;\n",
              "  box-sizing: border-box;\n",
              "  padding-bottom: 0.4em;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-container {\n",
              "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
              "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
              "     so we also need the `!important` here to be able to override the\n",
              "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
              "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
              "  display: inline-block !important;\n",
              "  position: relative;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-text-repr-fallback {\n",
              "  display: none;\n",
              "}\n",
              "\n",
              "div.sk-parallel-item,\n",
              "div.sk-serial,\n",
              "div.sk-item {\n",
              "  /* draw centered vertical line to link estimators */\n",
              "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
              "  background-size: 2px 100%;\n",
              "  background-repeat: no-repeat;\n",
              "  background-position: center center;\n",
              "}\n",
              "\n",
              "/* Parallel-specific style estimator block */\n",
              "\n",
              "#sk-container-id-9 div.sk-parallel-item::after {\n",
              "  content: \"\";\n",
              "  width: 100%;\n",
              "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
              "  flex-grow: 1;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-parallel {\n",
              "  display: flex;\n",
              "  align-items: stretch;\n",
              "  justify-content: center;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "  position: relative;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-parallel-item {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-parallel-item:first-child::after {\n",
              "  align-self: flex-end;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-parallel-item:last-child::after {\n",
              "  align-self: flex-start;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-parallel-item:only-child::after {\n",
              "  width: 0;\n",
              "}\n",
              "\n",
              "/* Serial-specific style estimator block */\n",
              "\n",
              "#sk-container-id-9 div.sk-serial {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "  align-items: center;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "  padding-right: 1em;\n",
              "  padding-left: 1em;\n",
              "}\n",
              "\n",
              "\n",
              "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
              "clickable and can be expanded/collapsed.\n",
              "- Pipeline and ColumnTransformer use this feature and define the default style\n",
              "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
              "*/\n",
              "\n",
              "/* Pipeline and ColumnTransformer style (default) */\n",
              "\n",
              "#sk-container-id-9 div.sk-toggleable {\n",
              "  /* Default theme specific background. It is overwritten whether we have a\n",
              "  specific estimator or a Pipeline/ColumnTransformer */\n",
              "  background-color: var(--sklearn-color-background);\n",
              "}\n",
              "\n",
              "/* Toggleable label */\n",
              "#sk-container-id-9 label.sk-toggleable__label {\n",
              "  cursor: pointer;\n",
              "  display: flex;\n",
              "  width: 100%;\n",
              "  margin-bottom: 0;\n",
              "  padding: 0.5em;\n",
              "  box-sizing: border-box;\n",
              "  text-align: center;\n",
              "  align-items: start;\n",
              "  justify-content: space-between;\n",
              "  gap: 0.5em;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 label.sk-toggleable__label .caption {\n",
              "  font-size: 0.6rem;\n",
              "  font-weight: lighter;\n",
              "  color: var(--sklearn-color-text-muted);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 label.sk-toggleable__label-arrow:before {\n",
              "  /* Arrow on the left of the label */\n",
              "  content: \"▸\";\n",
              "  float: left;\n",
              "  margin-right: 0.25em;\n",
              "  color: var(--sklearn-color-icon);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 label.sk-toggleable__label-arrow:hover:before {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "/* Toggleable content - dropdown */\n",
              "\n",
              "#sk-container-id-9 div.sk-toggleable__content {\n",
              "  max-height: 0;\n",
              "  max-width: 0;\n",
              "  overflow: hidden;\n",
              "  text-align: left;\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-toggleable__content.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-toggleable__content pre {\n",
              "  margin: 0.2em;\n",
              "  border-radius: 0.25em;\n",
              "  color: var(--sklearn-color-text);\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-toggleable__content.fitted pre {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
              "  /* Expand drop-down */\n",
              "  max-height: 200px;\n",
              "  max-width: 100%;\n",
              "  overflow: auto;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
              "  content: \"▾\";\n",
              "}\n",
              "\n",
              "/* Pipeline/ColumnTransformer-specific style */\n",
              "\n",
              "#sk-container-id-9 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
              "  color: var(--sklearn-color-text);\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
              "  background-color: var(--sklearn-color-fitted-level-2);\n",
              "}\n",
              "\n",
              "/* Estimator-specific style */\n",
              "\n",
              "/* Colorize estimator box */\n",
              "#sk-container-id-9 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-label label.sk-toggleable__label,\n",
              "#sk-container-id-9 div.sk-label label {\n",
              "  /* The background is the default theme color */\n",
              "  color: var(--sklearn-color-text-on-default-background);\n",
              "}\n",
              "\n",
              "/* On hover, darken the color of the background */\n",
              "#sk-container-id-9 div.sk-label:hover label.sk-toggleable__label {\n",
              "  color: var(--sklearn-color-text);\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "/* Label box, darken color on hover, fitted */\n",
              "#sk-container-id-9 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
              "  color: var(--sklearn-color-text);\n",
              "  background-color: var(--sklearn-color-fitted-level-2);\n",
              "}\n",
              "\n",
              "/* Estimator label */\n",
              "\n",
              "#sk-container-id-9 div.sk-label label {\n",
              "  font-family: monospace;\n",
              "  font-weight: bold;\n",
              "  display: inline-block;\n",
              "  line-height: 1.2em;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-label-container {\n",
              "  text-align: center;\n",
              "}\n",
              "\n",
              "/* Estimator-specific */\n",
              "#sk-container-id-9 div.sk-estimator {\n",
              "  font-family: monospace;\n",
              "  border: 1px dotted var(--sklearn-color-border-box);\n",
              "  border-radius: 0.25em;\n",
              "  box-sizing: border-box;\n",
              "  margin-bottom: 0.5em;\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-estimator.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "/* on hover */\n",
              "#sk-container-id-9 div.sk-estimator:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-9 div.sk-estimator.fitted:hover {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-2);\n",
              "}\n",
              "\n",
              "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
              "\n",
              "/* Common style for \"i\" and \"?\" */\n",
              "\n",
              ".sk-estimator-doc-link,\n",
              "a:link.sk-estimator-doc-link,\n",
              "a:visited.sk-estimator-doc-link {\n",
              "  float: right;\n",
              "  font-size: smaller;\n",
              "  line-height: 1em;\n",
              "  font-family: monospace;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "  border-radius: 1em;\n",
              "  height: 1em;\n",
              "  width: 1em;\n",
              "  text-decoration: none !important;\n",
              "  margin-left: 0.5em;\n",
              "  text-align: center;\n",
              "  /* unfitted */\n",
              "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
              "  color: var(--sklearn-color-unfitted-level-1);\n",
              "}\n",
              "\n",
              ".sk-estimator-doc-link.fitted,\n",
              "a:link.sk-estimator-doc-link.fitted,\n",
              "a:visited.sk-estimator-doc-link.fitted {\n",
              "  /* fitted */\n",
              "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
              "  color: var(--sklearn-color-fitted-level-1);\n",
              "}\n",
              "\n",
              "/* On hover */\n",
              "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
              ".sk-estimator-doc-link:hover,\n",
              "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
              ".sk-estimator-doc-link:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-3);\n",
              "  color: var(--sklearn-color-background);\n",
              "  text-decoration: none;\n",
              "}\n",
              "\n",
              "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
              ".sk-estimator-doc-link.fitted:hover,\n",
              "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
              ".sk-estimator-doc-link.fitted:hover {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-3);\n",
              "  color: var(--sklearn-color-background);\n",
              "  text-decoration: none;\n",
              "}\n",
              "\n",
              "/* Span, style for the box shown on hovering the info icon */\n",
              ".sk-estimator-doc-link span {\n",
              "  display: none;\n",
              "  z-index: 9999;\n",
              "  position: relative;\n",
              "  font-weight: normal;\n",
              "  right: .2ex;\n",
              "  padding: .5ex;\n",
              "  margin: .5ex;\n",
              "  width: min-content;\n",
              "  min-width: 20ex;\n",
              "  max-width: 50ex;\n",
              "  color: var(--sklearn-color-text);\n",
              "  box-shadow: 2pt 2pt 4pt #999;\n",
              "  /* unfitted */\n",
              "  background: var(--sklearn-color-unfitted-level-0);\n",
              "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
              "}\n",
              "\n",
              ".sk-estimator-doc-link.fitted span {\n",
              "  /* fitted */\n",
              "  background: var(--sklearn-color-fitted-level-0);\n",
              "  border: var(--sklearn-color-fitted-level-3);\n",
              "}\n",
              "\n",
              ".sk-estimator-doc-link:hover span {\n",
              "  display: block;\n",
              "}\n",
              "\n",
              "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
              "\n",
              "#sk-container-id-9 a.estimator_doc_link {\n",
              "  float: right;\n",
              "  font-size: 1rem;\n",
              "  line-height: 1em;\n",
              "  font-family: monospace;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "  border-radius: 1rem;\n",
              "  height: 1rem;\n",
              "  width: 1rem;\n",
              "  text-decoration: none;\n",
              "  /* unfitted */\n",
              "  color: var(--sklearn-color-unfitted-level-1);\n",
              "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 a.estimator_doc_link.fitted {\n",
              "  /* fitted */\n",
              "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
              "  color: var(--sklearn-color-fitted-level-1);\n",
              "}\n",
              "\n",
              "/* On hover */\n",
              "#sk-container-id-9 a.estimator_doc_link:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-3);\n",
              "  color: var(--sklearn-color-background);\n",
              "  text-decoration: none;\n",
              "}\n",
              "\n",
              "#sk-container-id-9 a.estimator_doc_link.fitted:hover {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-3);\n",
              "}\n",
              "</style><div id=\"sk-container-id-9\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>RandomForestClassifier(n_jobs=-1, random_state=42)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-9\" type=\"checkbox\" checked><label for=\"sk-estimator-id-9\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>RandomForestClassifier</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.ensemble.RandomForestClassifier.html\">?<span>Documentation for RandomForestClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>RandomForestClassifier(n_jobs=-1, random_state=42)</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 124
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am  evaluating baseline Random Forest\n",
        "from sklearn.utils.multiclass import unique_labels\n",
        "# I am predicting the classes for the test data\n",
        "y_pred = rf_clf.predict(X_test_scaled)\n",
        "\n",
        "# I am calculating all required evaluation metrics\n",
        "accuracy  = accuracy_score(y_test, y_pred)\n",
        "precision = precision_score(y_test, y_pred, average='weighted', zero_division=0)\n",
        "recall  = recall_score(y_test, y_pred, average='weighted', zero_division=0)\n",
        "f1score   = f1_score(y_test, y_pred, average='weighted', zero_division=0)\n",
        "\n",
        "print(\"Random Forest Performance (Baseline):\")\n",
        "print(f\"Accuracy : {accuracy:.4f}\")\n",
        "print(f\"Precision: {precision:.4f}\")\n",
        "print(f\"Recall   : {recall:.4f}\")\n",
        "print(f\"F1-score : {f1score:.4f}\")\n",
        "\n",
        "# I am selecting only the labels that actually appear in y_test\n",
        "labels_test_only = unique_labels(y_test)\n",
        "\n",
        "print(\"Classification Report:\")\n",
        "print(classification_report(\n",
        "    y_test,\n",
        "    y_pred,\n",
        "    labels=labels_test_only,\n",
        "    target_names=label_encoder.inverse_transform(labels_test_only), # I am converting numbers back to text labels\n",
        "    zero_division=0\n",
        "))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "1sIz2p7JQzyH",
        "outputId": "53ccb40c-c579-4c92-e8e1-6ac7f1528232"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Random Forest Performance (Baseline):\n",
            "Accuracy : 0.9139\n",
            "Precision: 0.8703\n",
            "Recall   : 0.9139\n",
            "F1-score : 0.8766\n",
            "Classification Report:\n",
            "                 precision    recall  f1-score   support\n",
            "\n",
            "        apache2       0.00      0.00      0.00       228\n",
            "           back       0.97      0.99      0.98       227\n",
            "buffer_overflow       0.88      0.41      0.56        17\n",
            "      ftp_write       1.00      0.50      0.67         2\n",
            "   guess_passwd       1.00      0.02      0.04       411\n",
            "     httptunnel       0.00      0.00      0.00        41\n",
            "           imap       1.00      1.00      1.00         2\n",
            "        ipsweep       0.93      1.00      0.96       479\n",
            "           land       1.00      0.50      0.67         2\n",
            "     loadmodule       1.00      0.75      0.86         4\n",
            "       mailbomb       0.00      0.00      0.00        94\n",
            "          mscan       0.00      0.00      0.00       310\n",
            "       multihop       1.00      0.11      0.20         9\n",
            "          named       0.00      0.00      0.00         2\n",
            "        neptune       0.99      1.00      1.00      6654\n",
            "           nmap       1.00      0.99      1.00       206\n",
            "         normal       0.87      0.99      0.93     11245\n",
            "           perl       1.00      1.00      1.00         1\n",
            "            phf       1.00      1.00      1.00         1\n",
            "            pod       0.89      0.94      0.92        35\n",
            "      portsweep       0.96      1.00      0.98       371\n",
            "   processtable       0.00      0.00      0.00       211\n",
            "             ps       0.00      0.00      0.00         9\n",
            "        rootkit       1.00      0.25      0.40         4\n",
            "          saint       0.00      0.00      0.00        93\n",
            "          satan       0.85      1.00      0.92       698\n",
            "       sendmail       0.00      0.00      0.00         8\n",
            "          smurf       0.99      1.00      1.00       540\n",
            "  snmpgetattack       0.00      0.00      0.00        43\n",
            "      snmpguess       0.00      0.00      0.00        99\n",
            "       teardrop       0.89      1.00      0.94       104\n",
            "    warezclient       1.00      1.00      1.00       107\n",
            "    warezmaster       0.75      0.01      0.02       279\n",
            "          xlock       0.00      0.00      0.00         4\n",
            "         xsnoop       0.00      0.00      0.00         1\n",
            "          xterm       0.00      0.00      0.00         3\n",
            "\n",
            "       accuracy                           0.91     22544\n",
            "      macro avg       0.58      0.46      0.47     22544\n",
            "   weighted avg       0.87      0.91      0.88     22544\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am creating the confusion matrix using the true labels and predictions\n",
        "cm = confusion_matrix(y_test, y_pred)\n",
        "# I am setting the size of the heatmap\n",
        "plt.figure(figsize=(10,8))\n",
        "# I am drawing the heatmap for the confusion matrix\n",
        "sns.heatmap(\n",
        "    cm,\n",
        "    annot=False, # I am not showing numbers inside boxes\n",
        "    cmap=\"Greens\",\n",
        "    # I am using original class names for Y-axis and  X-axis\n",
        "    xticklabels=label_encoder.classes_,\n",
        "    yticklabels=label_encoder.classes_\n",
        ")\n",
        "plt.title(\"Random Forest(Baseline) Confusion Matrix\")\n",
        "plt.xlabel(\"Predicted\")\n",
        "plt.ylabel(\"True\")\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 813
        },
        "id": "s9yYS6YnRGnl",
        "outputId": "f388c4a0-ebce-44ca-f89c-0f7430af9994"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x800 with 2 Axes>"
            ],
            "image/png": "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bdtiy5YtuHr1KurWrfva6xQKBRQKhawsK+9pqfsnIiIiIiLV4fTRSszc3BwbN27Ejh074ODggAULFmDx4tJP3xwwYABmzpyJqVOnonnz5rh79y4+//zzdxAxEREREVHxBEFQyVHVCaIoiqoOgv47OFJIREREpDra6rqqDqFM6nzTWSX93p52TCX9VhScPkpERERERBUCR+1Ug9NHiYiIiIiIqjAmhURERERERFUYp48SEREREVGFwNmjqsGRQiIiIiIioiqsyiSFrq6u8PPzq/R9FMfa2hrLly8vcf3w8HAIgoD09PR3FhMRERERUWlwSwrVqDJJIRERERERERXGpJCIiIiIiKgKq5JJ4aNHj+Dt7Q0TExPo6uqiW7duSEpKks4/ePAAgwYNQs2aNaGrqwtHR0ds3bpV1saTJ0/g7e0NfX19WFpaYsmSJYX6sba2RlBQkFSvdu3a2LdvH/7++2+4u7tDX18fTk5OiImJkV23a9cuNGzYEAqFAtbW1oXaTktLQ69evaCjo4M6depgy5YtsvN37tyBIAiIi4uTytLT0yEIAsLDw4t9LmfOnEH79u2ho6MDKysrTJgwAU+ePHnT4yQiIiIiKhecPqoaVTIp9PHxQUxMDPbt24ezZ89CFEV0794dOTk5AICsrCw0b94cBw4cwJUrVzB69GgMGTIE0dHRUhtTpkzBqVOnsHfvXhw9ehTh4eG4ePFiob6WLVuGtm3bIjY2Fj169MCQIUPg7e2NTz/9FBcvXkS9evXg7e0NURQBABcuXICnpycGDhyIy5cvIzAwEDNnzsTGjRtl8f/+++84efIkdu7cie+//x5paWlleibJycno2rUr+vbti0uXLmH79u04c+YMfH19y9QuERERERFVbFVuS4qkpCTs27cPkZGRaNOmDQBgy5YtsLKyQmhoKPr374+aNWvC399fumb8+PE4cuQIfvnlF7Rs2RKZmZn43//+h59++gmdOnUCAISEhOCDDz4o1F/37t0xZswYAMCsWbOwevVqtGjRAv379wcATJs2DS4uLrh//z6USiWWLl2KTp06YebMmQAAW1tbXLt2DYsWLYKPjw9u3LiBQ4cOITo6Gi1atAAA/O9//4O9vX2ZnktwcDC8vLykhXJsbGywcuVKdOzYEatXr4a2tnaha7Kzs5GdnS0rEzXyoFAoyhQLEREREVVNHLVT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qMD06dNN+8qWLQtA1apVMRgMBAUFAbBz505ee+01ChcujKurK3Xr1mXPnj1m5wTwxhtvYDAY8PT0JCIigrCwMGJjYzEYDBgMBiIiIgCYOHEifn5+ODo6UqpUKXr06EFycrJZO6OioggKCsLBwYECBQoQHBzMhQsXMn0/VqxYgaurK/Pnz8/6zRMREREReUR37m+f9JbX5ZqgMCkpiTZt2tCpUyfi4uKIjIykZcuWGI1GADZs2EB8fDwbNmxg7ty5REREmIKhOyZNmkRgYCB79+6lSZMmtGvXjvbt2/Pee++xZ88enn/+edq3b28qE+DatWt8+umnfPfdd0RFRXHx4kXeeecd0/758+fz6aefMm7cOHbv3k3p0qWZMWOGWb3z589nxIgRfPrpp8TFxTFmzBiGDx/O3LlzAdixYwcAv/76K0lJSSxZsgSAK1eu0KFDB7Zs2cL27dvx8vKicePGXLlyBbgdNALMmTOHpKQkdu7cSevWrRkwYAAVK1YkKSmJpKQkWrduDYCVlRVTp07l999/Z+7cufz22298+OGHpnbGxMRQr149fH192bZtG1u2bKFZs2akpaVleD++//572rRpw/z582nbtu2Dv6EiIiIiIvJUMBjvjpAsaM+ePVSvXp2EhATKlCljti8kJITIyEji4+OxtrYG4O2338bKyooffvgBuN2r9vLLLzNv3jwATp06RbFixRg+fDgff/wxANu3bycgIICkpCQ8PDyIiIigY8eObN++nRdeeAGAQ4cO4ePjQ3R0NLVq1aJ27drUqFGDL774wtSel156ieTkZNMcwXLlyvHJJ5/Qpk0bU57Ro0ezcuVKtm7dSkJCAmXLlmXv3r33nQuYnp6Om5sb33//PU2bNgVuf1vy888/06JFC1O+UaNGsXTp0iznKC5atIju3bvzzz//APDuu++SmJjIli1bMs0fFBRElSpV8PLy4qOPPmLZsmXUrVv3vnX82420aw+UX0RERERyTn5rB0s34ZHsPRdtkXqrFnrBIvXmFrmmp9Df35969erh5+dHq1atmDVrltmwxooVK5oCQoBixYpx5swZszIqV65s+rlo0aIA+Pn5ZUi7+zgbGxtq1qxpel2hQgXc3NyIi4sD4PDhw9SqVcusnrtfX716lfj4eDp37oyTk5NpGz16NPHx8fc959OnT9O1a1e8vLxwdXXFxcWF5ORkEhMT73vcvfz666/Uq1ePEiVK4OzsTLt27Th37hzXrt0O1O70FN7PokWL6NevH+vWrcsyIExJSeHy5ctmW0pKykO1XURERERELCPXBIXW1tasW7eOVatW4evry7Rp0yhfvjzHjx8HIF++fGb5DQYD6enpZml357kzNjiztH8f9yjuzNmbNWsWMTExpu3AgQNs3779vsd26NCBmJgYpkyZwtatW4mJiaFQoULcvHnzgduRkJBA06ZNqVy5MosXL2b37t18+eWXAKby7O3tsyynatWquLu78+2335JVJ3J4eDiurq5m2+djxz9w20VEREREQI+ksJRcExTC7aAtMDCQsLAw9u7di62tLT///PNjrTM1NdVs8ZnDhw9z8eJFfHx8AChfvrxpbt8dd78uWrQoxYsX548//qBcuXJm250FZmxtbQEyzN2Lioqid+/eNG7cmIoVK2JnZ2ca6nlHvnz5Mhxna2ubIW337t2kp6czYcIEateujbe3NydPnjTLU7lyZdavX3/f6/H888+zYcMGli1bRq9eve6bd+jQoVy6dMlsGzRk4H2PERERERGR3MXG0g24Izo6mvXr19OgQQOKFClCdHQ0Z8+excfHh3379j22evPly0evXr2YOnUqNjY2hIaGUrt2bdMQ0V69etG1a1dq1KjBiy++yMKFC9m3bx/PPfecqYywsDB69+6Nq6srDRs2JCUlhV27dnHhwgX69+9PkSJFsLe3Z/Xq1ZQsWZL8+fPj6uqKl5cX8+bNo0aNGly+fJlBgwZl6M3z9PRk/fr1BAYGYmdnR4ECBfD09OT48ePExMRQsmRJnJ2dKVeuHLdu3WLatGk0a9aMqKgoZs6caVbW0KFD8fPzo0ePHnTv3h1bW1s2bNhAq1atKFy4sCmft7c3GzZsICgoCBsbGyZPnpzptbOzs8POzs4sTXMKRURERESeLrmmp9DFxYVNmzbRuHFjvL29GTZsGBMmTKBRo0aPtV4HBwcGDx7Mu+++S2BgIE5OTixcuNC0v23btgwdOpSBAwdSrVo1jh8/TkhICPnz5zfl6dKlC7Nnz2bOnDn4+flRt25dIiIiTD2FNjY2TJ06la+++orixYvTvHlzAL755hsuXLhAtWrVaNeuHb1796ZIkSJm7ZswYQLr1q2jVKlSVK1aFYA333yThg0b8sorr+Du7s6CBQvw9/dn4sSJjBs3jkqVKjF//nzCw8PNyvL29mbt2rXExsZSq1YtAgICWLZsGTY2Gb8bKF++PL/99hsLFixgwIABOXOxRURERETuQ4+ksIxcs/qoJURERNC3b18uXrz4QMe99tpreHh4mFY6lf9RT6GIiIiI5Tztq4/Gnt+ZdabHwL9gzawzPcNyzfDR3OratWvMnDmT4OBgrK2tWbBgAb/++ivr1q2zdNNERERERJ4pWvTFMhQUZsFgMLBy5Uo+/fRTbty4Qfny5Vm8eDH169e3dNNEREREREQeWZ4ePio5T8NHRURERCznaR8+uu/8rqwzPQaVC9awSL25hXoKRUREREQkV9DwUctQUCgiIrmCkUcfuKKbCRERkQenoFBERERERHIFPR7CMnLNcwpFRERERETkyVNPoYiIiIiI5AqaBmAZebKncNGiRfj5+WFvb0+hQoWoX78+V69eJSQkhBYtWjB+/HiKFStGoUKF6NmzJ7du3TId6+npyejRo2nfvj1OTk6UKVOG5cuXc/bsWZo3b46TkxOVK1dm167/rZwUERGBm5sbS5cuxcvLi/z58xMcHMyJEyfM2jV69GiKFCmCs7MzXbp0YciQIVSpUsW0PygoiL59+5od06JFC0JCQkyvU1JSGDhwICVKlMDR0ZEXXniByMhI0/4///yTZs2aUaBAARwdHalYsSIrV64E4MKFC7Rt2xZ3d3fs7e3x8vJizpw5j37BRUREREQk18pzQWFSUhJt2rShU6dOxMXFERkZScuWLbnzZI4NGzYQHx/Phg0bmDt3LhEREURERJiVMWnSJAIDA9m7dy9NmjShXbt2tG/fnvfee489e/bw/PPP0759e+5+2se1a9f49NNP+e6774iKiuLixYu88847pv3z58/n008/Zdy4cezevZvSpUszY8aMBz6/0NBQtm3bxg8//MC+ffto1aoVDRs25OjRowD07NmTlJQUNm3axP79+xk3bhxOTk4ADB8+nIMHD7Jq1Sri4uKYMWMGhQsXfuA2iIiIiIjI0yPPDR9NSkoiNTWVli1bUqZMGQD8/PxM+wsUKMAXX3yBtbU1FSpUoEmTJqxfv56uXbua8jRu3Jj3338fgBEjRjBjxgxq1qxJq1atABg8eDABAQGcPn0aDw8PAG7dusUXX3zBCy+8AMDcuXPx8fFhx44d1KpVi2nTptG5c2c6duxo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gAAAAgIC2L9/P2fOnDHlWbduHS4uLvj6+pry3F3GnTx3yshJWn1UcpRWHxUREckbtGJw7vS0rz569NLvFqnXy7VitvP26NGD77//nmXLllG+fHlTuqurq6kH74MPPmDlypVERETg4uJCr169ANi6dSvwv0dSFC9enM8++4xTp07Rrl07unTpkuGRFD179qRTp0789ttv9O7dW4+kkNxPQaGIiEjeoKAwd3rag8Jjlw9apN5yLr7ZzmswZP57O2fOHNPikjdu3GDAgAEsWLCAlJQUgoODmT59umloKMCff/7JBx98QGRkJI6OjnTo0IGxY8diY/O/GX6RkZH069ePgwcPUrJkSYYPH57lApYPQ0HhM2bRokWEhYVx7NgxHBwcqFq1KsuWLaNnz55cvHiRqlWr8sUXX5CSksK7777L1KlTsbW15bvvvqNfv36cPHnSrKu8RYsWODs7M2/evGzVr6BQREQkb1BQmDspKHw4DxIUPos0p/AZkpSURJs2bejUqRNxcXFERkbSsmVL7sT969evN6UvWLCAJUuWEBYWBkCrVq1IS0tj+fLlpvLOnDnDihUr6NSpk0XOR0REREREHj8Fhc+QpKQkUlNTadmyJZ6envj5+dGjRw+cnJwAsLW15dtvv6VixYo0adKEjz/+mKlTp5Keno69vT3vvvsuc+bMMZX3n//8h9KlSxMUFGShMxIRERGRvMVgoS1vU1D4DPH396devXr4+fnRqlUrZs2axYULF8z2Ozj8b0hBQEAAycnJnDhxAoCuXbuydu1a/v77bwAiIiIICQm557jplJQULl++bLb9+6GfIiIiIiKSuykofIZYW1uzbt06Vq1aha+vL9OmTaN8+fIcP348W8dXrVoVf39/vvvuO3bv3s3vv/9+34msmT3k8/Ox43PobEREREQkrzEYDBbZ8jotNPMMS0tLo0yZMvTv3599+/bx3//+l7/++su0VO5XX33FwIEDuXTpElZWt78fmDFjBpMnT+a1117j6NGjrFmz5p7lp6SkZOgZNNqkZfmgTxEREXn6aaGZ3OlpX2gm/sohi9T7vHMFi9SbW6in8BkSHR3NmDFj2LVrF4mJiSxZsoSzZ8/i4+MDwM2bN+ncuTMHDx5k5cqVjBw5ktDQUFNACPDuu+/y119/MWvWrCwXmHmQh3yKiIiIiGTFUg+vz+sUFD5DXFxc2LRpE40bN8bb25thw4YxYcIEGjVqBEC9evXw8vKiTp06tG7dmtdff51Ro0aZleHq6sqbb76Jk5MTLVq0ePInISIiIiIiT5SGj+YRISEhXLx4kaVLl2aZt169elSsWJGpU6c+cD16TqGIiEjeoOGjudPTPnz0jyuHLVLvc87lLVJvbmFj6QZI7nHhwgUiIyOJjIxk+vTplm6OiIiIiOQx+qLAMhQUiknVqlW5cOEC48aNo3z5vP1tiYiIiIhIXqHho5KjNHxUREQkb9Dw0dzpaR8+mpB81CL1ejp5WaTe3EI9hSIiIiLywHIioFNgKZI7aPVRERERERGRPEw9hU+5B1lVVEREREQkN1PPr2Wop/ARBQUF0bdvX0s3Q0RERERE5KGop/ApcevWLfLly/fAx928eRNbW9vH0CIRERERkZylnkLLUE/hIwgJCWHjxo1MmTIFg8GAwWAgISGBAwcO0KhRI5ycnChatCjt2rXjn3/+MR23evVqXnrpJdzc3ChUqBBNmzYlPj7etD8hIQGDwcDChQupW7cu+fPnZ/78+aSlpdG/f3/TcR9++CH/Xjw2KCiI0NBQ+vbtS+HChQkODgZg48aN1KpVCzs7O4oVK8aQIUNITU3NcFxoaCiurq4ULlyY4cOHZyhfRERERESeLQoKH8GUKVMICAiga9euJCUlkZSUhLOzM6+++ipVq1Zl165drF69mtOnT/P222+bjrt69Sr9+/dn165drF+/HisrK9544w3S09PNyh8yZAh9+vQhLi6O4OBgJkyYQEREBN9++y1btmzh/Pnz/PzzzxnaNXfuXGxtbYmKimLmzJn8/fffNG7cmJo1axIbG8uMGTP45ptvGD16dIbjbGxs2LFjB1OmTGHixInMnj378Vw8EREREZF/udPR8qS3vE7PKXxEQUFBVKlShcmTJwMwevRoNm/ezJo1a0x5/vrrL0qVKsXhw4fx9vbOUMY///yDu7s7+/fvp1KlSiQkJFC2bFkmT55Mnz59TPmKFy9Ov379GDRoEACpqamULVuW6tWrmxaaCQoK4vLly+zZs8d03EcffcTixYuJi4sz/dJPnz6dwYMHc+nSJaysrAgKCuLMmTP8/vvvpjxDhgxh+fLlHDx4MNvXQ88pFBERkezSIyly3tP+nMITV/+wSL2lHJ+zSL25hXoKc1hsbCwbNmzAycnJtFWoUAHANET06NGjtGnThueeew4XFxc8PT0BSExMNCurRo0app8vXbpEUlISL7zwginNxsbGLM8d1atXN3sdFxdHQECA2bcggYGBJCcn89dff5nSateubZYnICCAo0ePkpaWlum5pqSkcPnyZbMtJSXlvtdHRERERERyFwWFOSw5OZlmzZoRExNjth09epQ6deoA0KxZM86fP8+sWbOIjo4mOjoauL0ozN0cHR0fqg0Pe9yDCg8Px9XV1Wz7fOz4J1K3iIiIiDx7DBb6l9dp9dFHZGtra9aTVq1aNRYvXoynpyc2Nhkv77lz5zh8+DCzZs3i5ZdfBmDLli1Z1uPq6kqxYsWIjo42BZepqans3r2batWq3fdYHx8fFi9ejNFoNPUERkVF4ezsTMmSJU357gSnd2zfvh0vLy+sra0zLXfo0KH079/fLM1ok3mvooiIiIiI5E7qKXxEnp6eREdHk5CQwD///EPPnj05f/48bdq0YefOncTHx7NmzRo6duxIWloaBQoUoFChQnz99dccO3aM3377LUNgdS99+vRh7NixLF26lEOHDtGjRw8uXryY5XE9evTgxIkT9OrVi0OHDrFs2TJGjhxJ//79sbL6369AYmIi/fv35/DhwyxYsIBp06aZzWn8Nzs7O1xcXMw2Ozu7bJ2LiIiIiMi/aaEZy1BQ+IgGDhyItbU1vr6+uLu7c/PmTaKiokhLS6NBgwb4+fnRt29f3NzcsLKywsrKih9++IHdu3dTqVIl+vXrx+eff56tugYMGEC7du3o0KEDAQEBODs788Ybb2R5XIkSJVi5ciU7duzA39+f7t2707lzZ4YNG2aWr3379ly/fp1atWrRs2dP+vTpQ7du3R7quoiIiIiIyNNBq48KkHEV1Yel1UdFREQku7T6aM572lcf/ftagkXqLeHgaZF6cwvNKRQRERERkVxBQb5laPioiIiIiIhIHqbho5KjNHxUREREskvDR3Pe0z589OS1xKwzPQbFHUpbpN7cQsNHRUQkV0gzpj5yGdYGfayJPE0U0InkDho+KiIiIiIikocpKHzKBAUF0bdvX9NrT0/PR14xVEREREQkNzBYaMvrNM7mKbdz504cHR1ztMycejyFiIiIiIjkfgoKc9DNmzextbV9onW6u7s/0fpERERERB4Xg0H9dpaQp4aP/vLLL7i5uZGWlgZATEwMBoOB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8jAFhSIiIiIiInmYgkIREREREZE8zMbSDRAREREREQEw6PEQFqGeQhERERERkTxMPYUiIiIiIpJLqKfQEtRT+AScPXsWDw8PxowZY0rbunUrtra2rF+/ntjYWF555RWcnZ1xcXGhevXq7Nq1C4CIiAjc3NxYs2YNPj4+ODk50bBhQ5KSkkxlpaen8/HHH1OyZEns7OyoUqUKq1evNmvD/v37efXVV7G3t6dQoUJ069aN5ORk0/6QkBBatGhBWFgY7u7uuLi40L17d27evPmYr46IiIiIiFiSgsInwN3dnW+//ZZRo0axa9curly5Qrt27QgNDaVevXq0bduWkiVLsnPnTnbv3s2QIUPIly+f6fhr164xfvx45s2bx6ZNm0hMTGTgwIGm/VOmTGHChAmMHz+effv2ERwczOuvv87Ro0cBuHr1KsHBwRQoUICdO3fy008/8euvvxIaGmrWzvXr1xMXF0dkZCQLFixgyZIlhIWFPZmLJCIiIiIiFmEwGo1GSzcir+jZsye//vorNWrUYP/+/ezcuRM7OztcXFyYNm0aHTp0yHBMREQEHTt25NixYzz//PMATJ8+nY8//phTp04BUKJECXr27Mn//d//mY6rVasWNWvW5Msvv2TWrFkMHjyYEydO4OjoCMDKlStp1qwZJ0+epGjRooSEhPDf//6XEydO4ODgAMDMmTMZNGgQly5dwsoqe98f3Ei79kjXSEREREQeXn5rB0s34ZEk37pkkXqd8rlapN7cQj2FT9D48eNJTU3lp59+Yv78+djZ2QHQv39/unTpQv369Rk7dizx8fFmxzk4OJgCQoBixYpx5swZAC5fvszJkycJDAw0OyYwMJC4uDgA4uLi8Pf3NwWEd/anp6dz+PBhU5q/v78pIAQICAggOTmZEydOZHo+KSkpXL582WxLSUl5mEsjIiIiIiIWoqDwCYqPj+fkyZOkp6eTkJBgSh81ahS///47TZo04bfffsPX15eff/7ZtP/uoaQABoOB3NDBGx4ejqurq9n2+djxlm6WiIiIiDylDAaDRba8TkHhE3Lz5k3ee+89WrduzSeffEKXLl1MvX0A3t7e9OvXj7Vr19KyZUvmzJmTrXJdXFwoXrw4UVFRZulRUVH4+voC4OPjQ2xsLFevXjXbb2VlRfny5U1psbGxXL9+3fR6+/btODk5UapUqUzrHjp0KJcuXTLbBg0ZmGleERERERHJnRQUPiEfffQRly5dYurUqQwePBhvb286derE9evXCQ0NJTIykj///JOoqCh27tyJj49PtsseNGgQ48aNY+HChRw+fJghQ4YQExNDnz59AGjbti358+enQ4cOHDhwgA0bNtCrVy/atWtH0aJFTeXcvHmTzp07c/DgQVauXMnIkSMJDQ2953zCO/Mh797uDIkVEREREZGng55T+ARERkYyefJkNmzYgIuLCwDz5s3D39+fr7/+mnPnztG+fXtOnz5N4cKFadmy5QOt+tm7d28uXbrEgAEDOHPmDL6+vixfvhwvLy/g9pzENWvW0KdPH2rWrImDgwNvvvkmEydONCunXr16eHl5UadOHVJSUmjTpg2jRo3KsesgIiIiInJ/GsppCVp9VIDbzym8ePEiS5cufaRytPqoiIiIiOU87auPXk29YpF6HW2cLVJvbqGeQhERERERyRXUT2gZmlMoIiIiIiKSh2n4qOQoDR8VERERsZynffjotdRki9TrYONkkXpzC/UUioiIiIiI5GGaUyg56mn/dkpEREREJK9RUCgiIiIiIrmCwaClZixBw0efAqNGjaJKlSqWboaIiIiIiDyDFBTmITdv3rR0E0REREREJJdRUJgLnD17Fg8PD8aMGWNK27p1K7a2tnzzzTeEhYURGxuLwWDAYDAQEREBwMWLF+nSpQvu7u64uLjw6quvEhsbayrjTg/j7NmzKVu2LPnz5wdud8t/9dVXNG3aFAcHB3x8fNi2bRvHjh0jKCgIR0dHXnzxReLj45/odRAREREReVp8+eWXeHp6kj9/fl544QV27Nhh6SY9NAWFuYC7uzvffvsto0aNYteuXVy5coV27doRGhrKu+++y4ABA6hYsSJJSUkkJSXRunVrAFq1asWZM2dYtWoVu3fvplq1atSrV4/z58+byj527BiLFy9myZIlxMTEmNI/+eQT2rdvT0xMDBUqVODdd9/l/fffZ+jQoezatQuj0UhoaOiTvhQiIiIiIrnewoUL6d+/PyNHjmTPnj34+/sTHBzMmTNnLN20h6LnFOYiPXv25Ndff6VGjRrs37+fnTt3Ymdnx6hRo1i6dKlZULdlyxaaNGnCmTNnsLOzM6WXK1eODz/8kG7dujFq1CjGjBnD33//jbu7uymPwWBg2LBhfPLJJwBs376dgIAA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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#Feature Importance (Top 15)\n",
        "# I am getting the importance values learned by Random Forest\n",
        "importances = rf_clf.feature_importances_\n",
        "# I am storing all feature names (column names)\n",
        "feature_names = X_train.columns\n",
        "# I am creating a DataFrame to pair each feature with its importance score\n",
        "feat_imp = pd.DataFrame({\n",
        "    'feature': feature_names,\n",
        "    'importance': importances\n",
        "}).sort_values(by='importance', ascending=False) # I am sorting from most → least important\n",
        "\n",
        "# I am printing the top 15 features\n",
        "print(\"Top 15 Important Features of Random Forest:\")\n",
        "print(feat_imp.head(15))\n",
        "\n",
        "# I am setting the chart size\n",
        "plt.figure(figsize=(10,6))\n",
        "sns.barplot(x='importance', y='feature', data=feat_imp.head(15), color='darkgreen')\n",
        "plt.title(\"Top 15 Feature Importances - Random Forest\")\n",
        "plt.xlabel(\"Importance\")\n",
        "plt.ylabel(\"Feature\")\n",
        "plt.tight_layout() # I am adjusting layout so labels fit well\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 902
        },
        "id": "4ooUBiMNSpn7",
        "outputId": "29338755-2710-4e30-97da-e54ab3504a59"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Top 15 Important Features of Random Forest:\n",
            "                        feature  importance\n",
            "4                     src_bytes    0.149457\n",
            "28                same_srv_rate    0.095316\n",
            "3                          flag    0.076670\n",
            "37         dst_host_serror_rate    0.060464\n",
            "25              srv_serror_rate    0.050559\n",
            "33       dst_host_same_srv_rate    0.048119\n",
            "29                diff_srv_rate    0.047662\n",
            "22                        count    0.040288\n",
            "38     dst_host_srv_serror_rate    0.039963\n",
            "24                  serror_rate    0.038028\n",
            "35  dst_host_same_src_port_rate    0.036267\n",
            "36  dst_host_srv_diff_host_rate    0.034447\n",
            "5                     dst_bytes    0.034005\n",
            "34       dst_host_diff_srv_rate    0.033785\n",
            "1                 protocol_type    0.029676\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "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+ufOnSvSa7TyPr+DBw+aHs8AuHLlCkePHqV69epmde/2u2BJef2npKSYXUteWWHiCw4OZu3atURGRhbqc3vqqad46qmnGDduHIsWLSImJoYlS5bwyiuv3PGbHkQeBXqmW0REHkgtWrQgJyeHjz76yKx88uTJGAwGmjdvbla+detWs2c/jx8/ztdff03Tpk2LbSTx9OnT+cpWr17Nrl27aNas2V2336FDB/744w/mzJmT79ilS5e4cOEC8H8jatePoKWnpzNv3rx85zk5OXHu3Ll85cHBwQBmz11fuHAh32uSbhfv1q1b+f777/MdO3fuHFevXi10W8Xp6tWrpleaAWRnZzNr1iy8vLxMz/23aNGCP//8k6VLl5qdN336dJydnWnQoMFt+8lL6m+8vwV9PkajkalTpxb5mtq1a4fRaDQbab6+bYC2bdtiZWVFXFxcvtFVo9HI33//DUBGRka+zyY8PJxSpUrlezXd9YKCgoiKijJtkZGRRbqWmJgYfH19ef/9901lVlZW+WL+8ssvC/089I1q166Nl5cXH3/8MdnZ2aby+Pj4fJ9XcXwXLKl27dp4e3vz8ccfm30+3333Hfv37+e55567bRsdOnQgJyeHd955J9+xq1evmu7J2bNn830ONWrUADD1nfcsfkH/XRF5VGmkW0REHkitWrWiUaNGDB8+nNTUVKpXr84PP/zA119/zcCBA01JY57HH3+c6Ohos1eGAQUmKTdauXKl6X3AV65cYc+ePabRvtatW5teh1O3bl0iIiKoXbs2bm5u7N69m08//RQ/Pz/+9a9/3fU1d+7cmS+++II+ffqwbt06IiMjycnJ4ffff+eLL74wvSe7adOm2Nra0qpVK3r37k1mZiZz5szB29ubkydPmrVZq1YtZs6cydixY6lYsSLe3t40btyYpk2b4u/vT48ePRgyZAhWVlZ8+umneHl5kZaWVqh4hwwZwjfffEPLli2JjY2lVq1aXLhwgeTkZJYtW0ZqamqRRinvlo+PD++//z6pqamEhoaydOlSEhMTmT17tum55l69ejFr1ixiY2PZtWsXgYGBLFu2jM2bNzNlypR8awkUJDg4GHd3dz7++GNcXFxwcnKiTp06VK5cmeDgYAYPHswff/yBq6sry5cvL/SzvQVp1KgRnTt3Ztq0aRw8eJBmzZqRm5vLpk2baNSoEf379yc4OJixY8cybNgwUlNTadOmDS4uLhw9epQVK1bQq1cvBg8ezM8//0z//v1p3749oaGhXL16lc8//xwrKyvatWtX5BgLy8bGhtdee40hQ4awZs0amjVrRsuWLRkzZgzdunWjbt26JCcns3DhwnzPX99JH2PHjqV37940btyYl156iaNHjzJv3rx8bRbHd8GSbGxseP/99+nWrRsNGjSgU6dOpleGBQYG8vrrr9+2jQYNGtC7d2/Gjx9PYmIiTZs2xcbGhoMHD/Lll18ydepUXnzxRT777DNmzJjBCy+8QHBwMOfPn2fOnDm4urrSokUL4NoMhypVqrB06VJCQ0Px8PDg8ccfL/ZXM4o8UO79gukiIiJ37sZXhhmNRuP58+eNr7/+utHHx8doY2NjDAkJMX7wwQemVyTlAYz9+vUzLliwwBgSEmK0s7MzRkREGNetW1eovvNes1PQdv3roIYPH26sUaOG0c3NzWhjY2P09/c3vvrqq8Y///yzUP0U9IqsG2VnZxvff/99Y9WqVY12dnbG0qVLG2vVqmWMi4szpqenm+p98803xmrVqhnt7e2NgYGBxvfff9/46aef5nuF1p9//ml87rnnjC4uLvlelbRr1y5jnTp1jLa2tkZ/f3/jhx9+eNNXhj333HMFxnv+/HnjsGHDjBUrVjTa2toay5QpY6xbt65x4sSJptdz3cn9yPssr5f3qqYPPvjArDzv9VHXv/oqr82dO3can376aaO9vb0xICDA+NFHH+Xr/3//+5+xW7duxjJlyhhtbW2N4eHh+V7/dbO+83z99dfGKlWqGK2trc2+L/v27TNGRUUZnZ2djWXKlDH27NnTmJSUlO871bVrV6OTk1O+dgt6pdvVq1eNH3zwgbFy5cpGW1tbo5eXl7F58+bGXbt2mdVbvny58ZlnnjE6OTkZnZycjJUrVzb269fPmJKSYjQajcYjR44Yu3fvbgwODjba29sbPTw8jI0aNTKuXbu2wGssqrxrOH36dL5j6enpRjc3N9P38fLly8ZBgwYZy5cvb3RwcDBGRkYat27damzQoIHZd7agz9xo/L/P6cbPb8aMGcYKFSoY7ezsjLVr1zZu3LgxX5tG4919F24WU96/pVu9fut29+l6S5cuNUZERBjt7OyMHh4expiYGON///tfszo3+z7lmT17trFWrVpGBwcHo4uLizE8PNw4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TCJyWz169OD06dN88803JR0KcO2VYW5ubji1c8JgYyjpcERERERELO784vMlHQLwf7+Lp6en4+rqetN6WkhNpBDS09NJTk5m0aJF903CLSIiIiIi9z9NL5eHXtWqVc1e2XX9tnDhwkK18fzzz9O0aVP69OnDs88+a+GIRURERETkYaGRbnnorV69mitXrhR4rGzZsoVq43avBxMRERERESmIkm556AUEBJR0CCIiIiIi8ojS9HIRERERERERC1HSLSIiIiIiImIhSrpFRERERERELETPdIs8BE58euKW7wYUEREREZGSoZFuEREREREREQtR0i0iIiIiIiJiIUq6RURERERERCxESbeIiIiIiIiIhSjpFhEREREREbEQrV4u8hDw6e6DwcZQ0mGIiIjcU+cXny/pEEREbksj3SIiIiIiIiIWoqRbRERERERExEKUdIuIiIiIiIhYiJJuEREREREREQtR0i0iIiIiIiJiIUq6RURERERERCxESbeIiIiIiIiIhSjpFhEREREREbEQJd0iFjZ69Ghq1KhR0mGIiIiIiEgJUNItj4Ts7OwHok0REREREXm4KOkWk2XLlhEeHo6DgwOenp5ERUVx4cIFduzYwbPPPkuZMmVwc3OjQYMG7N692+xcg8HArFmzaNmyJY6OjoSFhbF161YOHTpEw4YNcXJyom7duhw+fNjsvK+//pqaNWtib29PUFAQcXFxXL169baxGo1GRo8ejb+/P3Z2dvj4+DBgwADT8cDAQN555x26dOmCq6srvXr1om7durz55ptm7Zw+fRobGxs2btx42z4LahPgzTffJDQ0FEdHR4KCghgxYgRXrlwBID4+nri4OJKSkjAYDBgMBuLj4wE4d+4cr7zyCl5eXri6utK4cWOSkpJuG4eIiIiIiDw4lHQLACdPnqRTp050796d/fv3s379etq2bYvRaOT8+fN07dqVX375hW3bthESEkKLFi04f/68WRt5CWliYiKVK1fm5Zdfpnfv3gwbNoydO3diNBrp37+/qf6mTZvo0qULr732Gvv27WPWrFnEx8czbty428a7fPlyJk+ezKxZszh48CBfffUV4eHhZnUmTpxI9erV+e233xgxYgQxMTEsWbIEo9FoqrN06VJ8fHyoV69eoe7TjW0CuLi4EB8fz759+5g6dSpz5sxh8uTJALz00ksMGjSIqlWrcvLkSU6ePMlLL70EQPv27Tl16hTfffcdu3btombNmjRp0oQzZ84UKhYREREREbn/GYzXZyDyyNq9eze1atUiNTWVgICAW9bNzc3F3d2dRYsW0bJlS+DaSPfbb7/NO++8A8C2bdt4+umn+eSTT+jevTsAS5YsoVu3bly6dAmAqKgomjRpwrBhw0xtL1iwgKFDh3LixIlbxvDhhx8ya9Ys9u7di42NTb7jgYGBREREsGLFClPZ6dOn8fHx4eeffzYl2XXr1qV+/fq89957t7tFBbZZkIkTJ7JkyRJ27twJXHum+6uvviIxMdFU55dffuG5557j1KlT2NnZmcorVqzI0KFDTaPoN8rKyiIrK8u0n5GRgZ+fH07tnDDYGG57DSIiIg+T84vP376SiIiFZGRk4ObmRnp6Oq6urjetp5FuAaB69eo0adKE8PBw2rdvz5w5czh79iwA//vf/+jZsychISG4ubnh6upKZmYmaWlpZm1Uq1bN9HPZsmUBzEafy5Yty+XLl8nIyAAgKSmJMWPG4OzsbNp69uzJyZMnuXjx4i3jbd++PZcuXSIoKIiePXuyYsWKfNPSa9eubbbv5eVF06ZNWbhwIQBHjx5l69atxMTEFPo+3dgmXBstj4yMpFy5cjg7O/P222/nuzc3SkpKIjMzE09PT7PrP3r0aL4p+NcbP348bm5ups3Pz6/QsYuIiIiIyL2npFsAsLKy4scff+S7776jSpUqTJ8+nUqVKnH06FG6du1KYmIiU6dOZcuWLSQmJuLp6ZlvIbHrR5wNBsNNy3JzcwHIzMwkLi6OxMRE05acnMzBgwext7e/Zbx+fn6kpKQwY8YMHBwc6Nu3L/Xr1zc9Sw3g5OSU77yYmBiWLVvGlStXWLRoEeHh4fmmpd/KjW3mJe0tWrRg1apV/PbbbwwfPvy2i6xlZmZSvnx5s2tPTEwkJSWFIUOG3PS8YcOGkZ6ebtqOHz9e6NhFREREROTesy7pAOT+YTAYiIyMJDIykpEjRxIQEMCKFSvYvHkzM2bMoEWLFgAcP36cv/766677q1mzJikpKVSsWLFI5zs4ONCqVStatWpFv379qFy5MsnJydSsWfOm5zz//PP06tWLNWvWsGjRIrp06VLU8AHYsmULAQEBDB8+3FR27Ngxszq2trbk5OSYldWsWZM///wTa2trAgMDC92fnZ2d2XR0ERERERG5vynpFgC2b9/OTz/9RNOmTfH29mb79u2cPn2asLAwQkJC+Pzzz6lduzYZGRkMGTIEBweHu+5z5MiRtGzZEn9/f1588UVKlSpFUlISe/fuZezYsbc8Nz4+npycHOrUqYOjoyMLFizAwcHhts+jOzk50aZNG0aMGMH+/fvp1KnTXV1DSEgIaWlpLFmyhCeeeIJvv/023zPfgYGBHD16lMTERHx9fXFxcSEqKoqnn36aNm3aMGHCBEJDQzlx4gTffvstL7zwQoHT2EVERERE5MGj6eUCgKurKxs3bqRFixaEhoby9ttvM2nSJJo3b84nn3zC2bNnqVmzJp07d2bAgAF4e3vfdZ/R0dGsWrWKH374gSeeeIKnnnqKyZMn3zZxBnB3d2fOnDlERkZSrVo11q5dy8qVK/H09LztuTExMSQlJVGvXj38/f3v6hpat27N66+/Tv/+/alRowZbtmwxrWqep127djRr1oxGjRrh5eXF4sWLMRgMrF69mvr169OtWzdCQ0Pp2LEjx44dMz0PLyIiIiIiDz6tXi7yAMtbMVGrl4uIyKNIq5eLSEnS6uUiIiIiIiIiJUxJt9yXFi5caPYqreu3qlWrFnt/mzZtuml/zs7Oxd6fiIiIiIg8GrSQmtyXWrduTZ06dQo8dv1ryIpL7dq1SUxMLPZ2RURERETk0aakW+5LLi4uuLi43LP+HBwcivzqMhERERERkZvR9HIRERERERERC1HSLSIiIiIiImIhSrpFRERERERELETPdIs8BE58euKW7wYUEREREZGSoZFuEREREREREQtR0i0iIiIiIiJiIUq6RURERERERCxESbeIiIiIiIiIhSjpFhEREREREbEQJd0iIiIiIiIiFqJXhok8BHy6+2CwMZR0GCIicoPzi8+XdAgiIlLCNNItIiIiIiIiYiFKukVEREREREQsREm3iIiIiIiIiIUo6RYRERERERGxECXdIiIiIiIiIhaipFtERERERETEQpR0i4iIiIiIiFiIkm6RIjAajfTq1QsPDw8MBgPu7u4MHDiwpMMSEREREZH7jJJukSJYs2YN8fHxrFq1ipMnT/L444+XdEgiIiIiInIfsi7pAEQeRIcPH6Z8+fLUrVsXAGtr/VMSEREREZH8NNItcodiY2P55z//SVpaGgaDgcDAwHx1Pv/8c2rXro2LiwvlypXj5Zdf5tSpU2Z1vvnmG0JCQrC3t6dRo0Z89tlnGAwGzp07d28uRERERERELE5Jt8gdmjp1KmPGjMHX15eTJ0+yY8eOfHWuXLnCO++8Q1JSEl999RWpqanExsaajh89epQXX3yRNm3akJSURO/evRk+fPht+87KyiIjI8NsExERERGR+5fmxIrcITc3N1xcXLCysqJcuXIF1unevbvp56CgIKZNm8YTTzxBZmYmzs7OzJo1i0qVKvHBBx8AUKlSJfbu3cu4ceNu2ff48eOJi4srvosRERERERGL0ki3iAXs2rWLVq1a4e/vj4uLCw0aNAAgLS0NgJSUFJ544gmzc5588snbtjts2DDS09NN2/Hjx4s/eBERERERKTYa6RYpZhcuXCA6Opro6GgWLlyIl5cXaWlpREdHk52dfVdt29nZYWdnV0yRioiIiIiIpSnpFilmv//+O3///Tfvvfcefn5+AOzcudOsTqVKlVi9erVZWUHPhouIiIiIyINN08tFipm/vz+2trZMnz6dI0eO8M033/DOO++Y1enduze///47b775JgcOHOCLL74gPj4eAIPBUAJRi4iIiIiIJSjpFilmXl5exMfH8+WXX1KlShXee+89Jk6caFanQoUKLFu2jISEBKpVq8bMmTNNq5dr+riIiIiIyMPDYDQajSUdhIjAuHHj+Pjjj+9ocbSMjAzc3NxwaueEwUYj5CIi95vzi8+XdAgiImIheb+Lp6en4+rqetN6eqZbpITMmDGDJ554Ak9PTzZv3swHH3xA//79SzosEREREREpRkq6RUrIwYMHGTt2LGfOnMHf359BgwYxbNiwkg5LRERERESKkaaXizzANL1cROT+punlIiIPr8JOL9dCaiIiIiIiIiIWoqRbRERERERExEKUdIuIiIiIiIhYiJJuEREREREREQvR6uUiD4ETn5645eINIiIiIiJSMjTSLSIiIiIiImIhSrpFRERERERELERJt4iIiIiIiIiFKOkWERERERERsRAl3SIiIiIiIiIWoqRbRERERERExEL0yjCRh4BPdx8MNoaSDkNEHgHnF58v6RBEREQeKBrpFhEREREREbEQJd0iIiIiIiIiFqKkW0RERERERMRClHSLiIiIiIiIWIiSbhERERERERELUdItIiIiIiIiYiFKukVEREREREQsREl3CWvYsCEDBw4s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xBM89dRTTJ482bTA250wGAx8/fXXlC5dmvr16xMVFUVQUBBLly6947Zup3r16nz44Ye8//77PP744yxcuJDx48eb1albty59+vThpZdewsvLy7QQ27x58+jSpQuDBg2iUqVKtGnThh07duDv71/scYqIiIiISMkwGPPeDyUiD5yMjAzc3NxwaueEwcZQ0uGISCGdX3y+pEMQERGRu5T3u3h6ejqurq43raeRbhERERERERELUdItxeb6V1/duG3atKmkw7ultLS0W8aflpZW0iGKiIiIiMgDSAupSbFJTEy86bHHHnvs3gVSBD4+PreM38fH594FIyIiIiIiDw0l3VJsiuN1XyXF2tr6gY5fRERERETuT5peLiIiIiIiImIhSrpFRERERERELERJt4iIiIiIiIiF6JlukYfAiU9P3PLdgCIiIiIiUjI00i0iIiIiIiJiIUq6RURERERERCxESbeIiIiIiIiIhSjpFhEREREREbEQJd0iIiIiIiIiFqKkW0RERERERMRC9MowkYeAT3cfDDaGkg5D5JF1fvH5kg5BRERE7lMa6RYRERERERGxECXdIiIiIiIiIhaipFtERERERETEQpR0i4iIiIiIiFiIkm4RERERERERC1HSLSIiIiIiImIhSrpFRERERERELERJ9y00bNiQgQMHFnu769evx2AwcO7cuWJvW0RERERERO4fSrqLgaWS87sRGBjIlClTSjoMAVJTUzEYDCQmJpZ0KCIiIiIico8p6ZZHQnZ29gPRpoiIiIiIPFyUdP9/Fy5coEuXLjg7O1O+fHkmTZpkdnzGjBmEhIRgb29P2bJlefHFFwGIjY1lw4YNTJ06FYPBgMFgIDU1tVB97tq1i9q1a+Po6EjdunVJSUkxOz5z5kyCg4OxtbWlUqVKfP7556ZjRqOR0aNH4+/vj52dHT4+PgwYMAC4NvJ+7NgxXn/9dVNMt3Ps2DFatWpF6dKlcXJyomrVqqxevRqAnJwcevToQYUKFXBwcKBSpUpMnTrV7PzY2FjatGnDu+++S9myZXF3d2fMmDFcvXqVIUOG4OHhga+vL/PmzTM77/jx43To0AF3d3c8PDx4/vnnC33/1q9fz5NPPomTkxPu7u5ERkZy7NgxAEaPHk2NGjWYO3cuFSpUwN7entmzZ+Pj40Nubq5ZO88//zzdu3e/bX8FtQmwZs0a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snDhQgCOHj3K1q1biYmJKXS/N7YJ10bLIyMjKVeuHM7Ozrz99tukpaXdsp2kpCQyMzPx9PTE2dnZtB09epTDhw/f9Lxhw4aRnp5u2o4fP17o2EVERERE5N5T0i0PJD8/P1JSUpgxYwYODg707duX+vXrm56lBsxWS88TExPDsmXLuHLlCosWLSI8PJzw8PBC93tjm3lJe4sWLVi1ahW//fYbw4cPJzs7+5btZGZmUr58eRITE822lJQUhgwZctPz7OzscHV1NdtEREREROT+paRb7lpwcDA2NjZs377dVHb27FkOHDhg0X4dHBxo1aoV06ZNY/369WzdupXk5ORbnvP8889z+fJl1qxZw6JFi+5olLsgW7ZsISAggOHDh1O7dm1CQkI4duyYWR1bW1tycnLMymrWrMmff/6JtbU1FStWNNvKlClzVzGJiIiIiMj9Q890y11zdnamR48eDBkyBE9PT7y9vRk+fDilSlnubzrx8fHk5ORQp04dHB0dWbBgAQ4ODgQEBNzyPCcnJ9q0acOIESPYv38/nTp1uqs4QkJCSEtLY8mSJTzxxBN8++23rFixwqxOYGAgR48eJTExEV9fX1xcXIiKiuLpp5+mTZs2TJgwgdDQUE6cOMG3337LCy+8UOA0dhERERERefBopFuKxQcffEC9evVo1aoVUVFRPPPMM9SqVcti/bm7uzNnzhwiIyOpVq0aa9euZeXKlXh6et723JiYGJKSkqhXrx7+/v53FUfr1q15/fXX6d+/PzVq1GDLli2MGDHCrE67du1o1qwZjRo1wsvLi8WLF2MwGFi9ejX169enW7duhIaG0rFjR44dO0bZsmXvKiYREREREbl/GIxGo7GkgxCRosnIyMDNzQ2ndk4YbAq3AruIFJ/zi8+XdAgiIiJSQvJ+F09PT7/lWksa6RYRERERERGxECXdcl9auHCh2au0rt+qVq1a7P1t2rTppv05OzsXe38iIiIiIvJo0EJqcl9q3bq12Xu/r2djY1Ps/dWuXZvExMRib1dERERERB5tSrrlvuTi4oKLi8s968/BwYGKFSves/5EREREROTRUOTp5Z9//jmRkZH4+PiY3ks8ZcoUvv7662ILTkRERERERORBVqSke+bMmbzxxhu0aNGCc+fOkZOTA1x7jdOUKVOKMz4RERERERGRB1aRXhlWpUoV3n33Xdq0aYOLiwtJSUkEBQWxd+9eGjZsyF9//WWJWEXkBoV9TYGIiIiIiBQvi74y7OjRo0REROQrt7Oz48KFC0VpUkREREREROShU6Sku0KFCgWu9LxmzRrCwsLuNiYRERERERGRh0KRVi9/44036NevH5cvX8ZoNPLrr7+yePFixo8fz9y5c4s7RhEREREREZEHUpGS7ldeeQUHBwfefvttLl68yMsvv4yPjw9Tp06lY8eOxR2jiIiIiIiIyAPpjpPuq1evsmjRIqKjo4mJieHixYtkZmbi7e1tifhEREREREREHlh3/Ey3tbU1ffr04fLlywA4Ojoq4RYREREREREpQJGmlz/55JP89ttvBAQEFHc8IlIEPt19MNgYSjoMkXvi/OLzJR2CiIiISKEVKenu27cvgwYN4r///S+1atXCycnJ7Hi1atWKJTgRERERERGRB5nBaDQa7/SkUqXyz0o3GAwYjUYMBgM5OTnFEpyI3FpGRgZubm44tXPSSLc8MjTSLSIiIveDvN/F09PTcXV1vWm9Io10Hz16tMiBiYiIiIiIiDwqipR061luERERERERkdsrUtI9f/78Wx7v0qVLkYIREREREREReZgU6Znu0qVLm+1fuXKFixcvYmtri6OjI2fOnCm2AEXk5vRMtzyK9Ey3iIiI3A8K+0z3Hb+nG+Ds2bNmW2ZmJikpKTzzzDMsXry4yEGLiIiIiIiIPEyKlHQXJCQkhPfee4/XXnutuJoUEREREREReaAVW9INYG1tzYkTJ4qzSZFHQmpqKgaDgcTExJIORUREREREilGRFlL75ptvzPaNRiMnT57ko48+IjIyslgCExEREREREXnQFWmku02bNmZb27ZtGT16NNWqVePTTz8t7hhFLC43N5cJEyZQsWJF7Ozs8Pf3Z9y4cQAkJyfTuHFjHBwc8PT0pFevXmRmZprObdiwIQMHDjRrr02bNsTGxpr2AwMDeffdd+nevTsuLi74+/sze/Zs0/EKFSoAEBERgcFgoGHDhha7VhERERERuXeKlHTn5uaabTk5Ofz5558sWrSI8uXLF3eMIhY3bNgw3nvvPUaMGMG+fftYtGgRZcuW5cKFC0RHR1O6dGl27NjBl19+ydq1a+nfv/8d9zFp0iRq167Nb7/9Rt++fXn11VdJSUkB4NdffwVg7dq1nDx5koSEhGK9PhERERERKRlFSrrHjBnDxYsX85VfunSJMWPG3HVQIvfS+fPnmTp1KhMmTKBr164EBwfzzDPP8Morr7Bo0SIuX77M/Pnzefzxx2ncuDEfffQRn3/+Of/73//uqJ8WLVrQt29fKlasyJtvvkmZMmVYt24dAF5eXgB4enpSrlw5PDw8CmwjKyuLjIwMs01ERERERO5fRUq64+LizKbX5rl48SJxcXF3HZTIvbR//36ysrJo0qRJgceqV6+Ok5OTqSwyMpLc3FzTKHVhVatWzfSzwWCgXLlynDp16o7aGD9+PG5ubqbNz8/vjs4XEREREZF7q0hJt9FoxGAw5CtPSkq66QidyP3KwcHhrs4vVaoURqPRrOzKlSv56tnY2JjtGwwGcnNz76ivYcOGkZ6ebtqOHz9+5wGLiIiIiMg9c0dJd+nSpfHw8MBgMBAaGoqHh4dpc3Nz49lnn6VDhw6WilXEIkJCQnBwcOCnn37KdywsLIykpCQuXLhgKtu8eTOlSpWiUqVKwLWp4SdPnjQdz8nJYe/evXcUg62trencW7Gzs8PV1dVsExERERGR+9cdvTJsypQpGI1GunfvTlxcHG5ubqZjtra2BAYG8vTTTxd7kCKWZG9vz5tvvsnQoUOxtbUlMjKS06dP85///IeYmBhGjRpF165dGT16NKdPn+af//wnnTt3pmzZsgA0btyYN954g2+//Zbg4GA+/PBDzp07d0cxeHt74+DgwJo1a/D19cXe3t7s35eIiIiIiDyY7ijp7tq1K3Dt9UZ169bNN11W5EE1YsQIrK2tGTlyJCdOnKB8+fL06dMHR0dHvv/+e1577TWeeOIJHB0dadeuHR9++KHp3O7du5OUlESXLl2wtrbm9ddfp1GjRnfUv7W1NdOmTWPMmDGMHDmSevXqsX79+mK+ShERERERudcMxhsfRr1Dly9fJjs726xMU15F7o2MjAzc3NxwaueEwSb/OgsiD6Pzi8+XdAgiIiIipt/F09PTb5kDF2khtYsXL9K/f3+8vb1xcnKidOnSZpuIiIiIiIiIFDHpHjJkCD///DMzZ87Ezs6OuXPnEhcXh4+PD/Pnzy/uGEVEREREREQeSHf0THeelStXMn/+fBo2bEi3bt2oV68eFStWJCAggIULFxITE1PccYqIiIiIiIg8cIo00n3mzBmCgoKAa89vnzlzBoBnnnmGjRs3Fl90IiIiIiIiIg+wIiXdQUFBHD16FIDKlSvzxRdfANdGwN3d3YstOBEREREREZEHWZGS7m7dupGUlATAW2+9xb///W/s7e15/fXXGTJkSLEGKCIiIiIiIvKguutXhgEcO3aMXbt2UbFiRapVq1YccYlIIeiVYfIo0ivDRERE5H5Q2FeGFct7uu3t7e+mCREposL+QxcRERERkeJl0fd05+Tk8M477/DYY4/h7OzMkSNHABgxYgSffPJJ0SIWERERERERecgUKekeN24c8fHxTJgwAVtbW1P5448/zty5c4stOBEREREREZEHWZGS7vnz5zN79mxiYmKwsrIylVevXp3ff/+92IITEREREREReZAVKen+448/qFixYr7y3Nxcrly5ctdBiYiIiIiIiDwMipR0V6lShU2bNuUrX7ZsGREREXcdlIiIiIiIiMjDwLooJ40cOZKuXbvyxx9/kJubS0JCAikpKcyfP59Vq1YVd4wiIiIiIiIiD6Q7emXYkSNHqFChAgaDgU2bNjFmzBiSkpLIzMykZs2ajBw5kqZNm1oyXhG5jt7TLY8avaNbRERE7heFfWXYHY10h4SEcPLkSby9valXrx4eHh4kJydTtmzZuw5YRERERERE5GFzR8903zgo/t1333HhwoViDUhERERERETkYVGkhdTy3MHMdBEREREREZFHzh0l3QaDAYPBkK9MRERERERERPK7o2e6jUYjsbGx2NnZAXD58mX69OmDk5OTWb2EhITii1BERERERETkAXVHSXfXrl3N9v/xj38UazAiIiIiIiIiD5M7SrrnzZtnqThEREREREREHjp3tZDaw6hhw4YMHDiw2Ntdv349BoOBc+fOFXvbIiIiIiIicn9S0l1ElkrO70ZgYCBTpkwp6TCkAAaDga+++qqkwxARERERkXtMSbcUitFo5OrVqyUdhpns7OwCy69cuVKk9u70vJycHHJzc4vUl4iIiIiIPBoe6aT7woULdOnSBWdnZ8qXL8+kSZPMjs+YMYOQkBDs7e0pW7YsL774IgCxsbFs2LCBqVOnml6jlpqaWqg+d+3aRe3atXF0dKRu3bqkpKSYHZ85cybBwcHY2tpSqVIlPv/8c9Mxo9HI6NGj8ff3x87ODh8fHwYMGABcG3k/duwYr7/+eoGvdivIsWPHaNWqFaVLl8bJyYmqVauyevVq4P+mw3/33XfU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FNT/0qVLmTZtGocPHyYzM5OrV6/i6up6y3aSkpLIzMzE09PTrPzSpUscPnz4pueNHz+euLi4O4pZRERERERKjpJuuWesrKz48ccf2bJlCz/88APTp09n+PDhrFy5Erg2Ql2nTp1851zv+kT6VmWFUZTzbjxn69atxMTEEBcXR3R0NG5ubixZsoRJkybdsp3MzEzKly/P+vXr8x1zd3e/6XnDhg3jjTfeMO1nZGTg5+d3R9cgIiIiIiL3jpJuuacMBgORkZFERkYycuRIAgIC2Lx5Mz4+Phw5coSYmJi77iMsLIz4+HguXLhgSpI3b95MqVKlCrVg2p3YsmULAQEBDB8+3FR27Ngxszq2trbk5OSYldWsWZM///wTa2trAgMDC92fnZ2daTq6iIiIiIjc/7R6udwz27dv591332Xnzp2kpaWRkJDA6dOnCQsLIy4ujvHjxzNt2jQOHDhAcnIy8+bN48MPP7zjfmJiYrC3t6dr167s3buXdevW8c9//pPOnTubppYXl5CQENLS0liyZAmHDx9m2rRprFixwqxOYGAgR48eJTExkb/++ousrCyioqJ4+umnadOmDT/88AOpqals2bKF4cOHs3PnzmKNUURERERESo6SbrlnXF1d2bhxIy1atCA0NJS3336bSZMm0bx5c1555RXmzp3LvHnzCA8Pp0GDBsTHx1OhQoU77sfR0ZHvv/+eM2fO8MQTT/Diiy/SpEkTPvroo2K/ptatW/P666/Tv39/atSowZYtWxgxYoRZnXbt2tGsWTMaNWqEl5cXixcvxmAwsHr1aurXr0+3bt0IDQ2lY8eOHDt2rNj/MCAiIiIiIiXHYDQajSUdhIgUTUZGBm5ubji1c8JgYyjpcETuyvnF50s6BBEREZFCy/tdPD09/ZYLKWukW0RERERERMRClHSLAJs2bcLZ2fmmm4iIiIiISFFo9XIRrr1/OzExsaTDEBERERGRh4ySbhHAwcGBihUrlnQYIiIiIiLykNH0chERERERERELUdItIiIiIiIiYiFKukVEREREREQsRM90izwETnx64pbvBhQRERERkZKhkW4RERERERERC1HSLSIiIiIiImIhSrpFRERERERELERJt4iIiIiIiIiFKOkWERERERERsRAl3SIiIiIiIiIWoleGiTwEfLr7YLAxlHQYIrd0fvH5kg5BRERE5J7T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vHnzdODAAa1cudJagCYmJiooKEixsbHWmG5k0KBBysrK0vfff689e/bo1Vdflbu7u02b0aNHa9q0aUpOTtajjz6qhg0basmSJTZtlixZoieeeOKG/R09elSdO3dWdHS0kpKS1L9/f40ePTrP9t26ddPatWslSdu2bVN6eroee+yxf+zLT+4PHTqklStXatWqVVq1apU2bNigadOmWY8///zzWr58uRYtWqSdO3eqSpUqeuCBB3Ty5ElJ0rhx47Rv3z59+eWXSk5O1ty5c1W2bFlrHJK0du1apaenKzEx8YbxSNK3336rlJQUffPNN1q1apUk6dKlS5o8ebJ+/vlnrVy5UqmpqdbCukKFClq+fLkkKSUlRenp6YqLi5MkTZ06Ve+//77eeecd/fLLLxo+fLiefPJJbdiwIc/+s7KylJGRYbMBAAAAKLyK1PLyzMxMLVy4UIsXL1bbtm0lSYsWLVJQUJCky8ua3dzc1KFDB3l4eCgkJEQRERGSJC8vLzk5OalUqVLy9/e/qX5ffvlltWzZUtLlgvahhx7SX3/9JRcXF82YMUN9+vTRc889J0kaMWKEtmzZohkzZqh169ZKS0uTv7+/oqKiVLJkSQUHB6tx48aSJB8fHzk4OFhnSPMjLS1NXbp0sZk5vlZsbKzuu+8+6+cePXrorbfe0uTJkyVJ+/fv144dO7R48eIb9ndlFv/KioLq1atbi/3cuLq6qkyZMpKkcuXKWceV274bycnJUUJCgjw8PCRJPXv21LfffquXX35Z586d09y5c5WQkKD27dtLkubPn69vvvlGCxcuVExMjNLS0hQREaGGDRtKunz//BXlypWzxnUz3w9ubm5asGCBzbLyq38JU6lSJc2aNUuNGjVSZmam3N3d5ePjI0ny9fW1rgjIysrSK6+8orVr16pp06bWc3/44QfNmzfP+v12ralTp2rSpEn5jhcAAACAfRWpme5Dhw7p4sWLatKkiXWfj4+PdZnvfffdp5CQEFWqVEk9e/bUkiVLdP78+dvut06dOtavr9yPfGX5cHJysiIjI23aR0ZGKjk5WZL02GOP6cKFC6pUqZIGDBigFStW6O+//77lWIYMGaIpU6YoMjJSEyZM0O7du//R5kqReUX37t2VmpqqLVu2SLo8y12/fn3VqFHjhv0lJyfb5FuStUg0W2hoqLXgli7n/kreDx06pEuXLtnkvmTJkmrcuLE1988++6yWLVumevXq6fnnn9ePP/542zHVrl37H/dx79ixQ9HR0QoODpaHh4e1YE5LS8vzOgcPHtT58+d13333yd3d3bq9//77OnToUJ7njRkzRmfOnLFuR48eve0xAQAAADBPkSq6b8TDw0M7d+7U0qVLFRAQoPHjx6tu3bq3/dTokiVLWr++ct91Tk5Ovs6tUKGCUlJSNGfOHLm6uuq5555TixYtdOnSpVuKpX///jp8+LB69uypPXv2qGHDhpo9e7ZNGzc3N5vP/v7+atOmjT788ENJ0ocffqgePXrcUv930tV5ly7nPr95l6T27dtb75k/fvy42rZtq1GjRt1WTNfm9ty5c3rggQfk6empJUuW6KefftKKFSskXX7QWl4yMzMlSV988YWSkpKs2759+657X7ezs7M8PT1tNgAAAACFV5EquitXrqySJUtq69at1n2nTp2yeV2Vo6OjoqKiNH36dO3evVupqan67rvvJElOTk7Kzs4u0JjCwsK0adMmm32bNm1SzZo1rZ9dXV0VHR2tWbNmaf369dq8ebP27NlzyzFVqFBBAwcOVGJiokaOHKn58+ff8JwePXroo48+0ubNm3X48GF17949X32FhYVZ73++4sqMuT1deXDd1bm/dOmSfvrpJ5vclytXTr1799bixYv15ptv6t1335Uk62z17X4//Prrr/rzzz81bdo03XvvvapRo4Z1Nv6K3PqqWbOmnJ2dlZaWpipVqths+X3WAAAAAIDCr0jd0+3u7q5+/fopJiZGZcqUka+vr8aOHasSJS7/7mDVqlU6fPiwWrRoodKlS2v16tXKycmxLj8PDQ3V1q1blZqaar3X9sq5tyomJkZdu3ZVRESEoqKi9PnnnysxMdH64LCEhARlZ2erSZMmKlWqlBYvXixXV1eFhIRYY/r+++/VvXt3OTs7Wx/0lZdhw4apffv2qlatmk6dOqV169YpLCzshnF27txZzz77rJ599lm1bt1agYGB+RrfwIEDNXPmTMXExKh///7asWOHEhIS8nWumdzc3PTss88qJiZGPj4+Cg4O1vTp03X+/Hn169dPkjR+/Hg1aNBA4eHhysrK0qpVq6y58vX1laurq9asWaOgoCC5uLjIy8vrpuMIDg6Wk5OTZs+erYEDB2rv3r3We+evCAkJkcVi0apVq/Tg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cFdp1aqV/vWvf2nYsGEqXbq0/Pz8NH/+fJ07d05PPfWUPDw8VKVKFX355ZfWc9avXy+LxaIvvvhCderUkYuLi+655x7t3bvX5trLly9XeHi4nJ2dFRoaqpkzZ9ocDw0N1eTJk9WrVy95enrq6aefVsWKFSVJERERslgsatWqlSTpp59+0n333aeyZcvKy8tLLVu21M6dO22uZ7FYtGDBAj3yyCMqVaqUqlatqs8++8ymzS+//KIOHTrI09NTHh4euvfee3Xo0CHr8QULFigsLEwuLi6qUaOG5syZc9s5BgD8D0U3AAC46yxatEhly5bVtm3b9K9//UvPPvusHnvsMTVr1kw7d+7U/fffr549e+r8+fM258XExGjmzJn66aefVK5cOUVHR+vSpUuSpB07dqhr167q3r279uzZo4kTJ2rcuHFKSEiwucaMGTNUt25d7dq1S+PGjdO2bdskSWvXrlV6eroSExMlSWfPnlXv3r31ww8/aMuWLapataoefPBBnT171uZ6kyZNUteuXbV79249+OCD6tGjh06ePClJOnbsmFq0aCFnZ2d999132rFjh/r27au///5bkrRkyRKNHz9eL7/8spKTk/XKK69o3LhxWrRoUYHnHADuVhbDMAx7BwEAAGCmPn366PTp01q5cqVatWql7Oxsbdy4UZKUnZ0tLy8vde7cWe+//74k6ffff1dAQIA2b96se+65R+vXr1fr1q21bNkydevWTZJ08uRJBQUFKSEhQV27dlWPHj30//7f/9PXX39t7ff555/XF198oV9++UXS5ZnuiIgIrVixwtomNTVVFStW1K5du1SvXr08x5CTkyNvb299+OGH6tChg6TLM90vvfSSJk+eLEk6d+6c3N3d9eWXX6pdu3Z68cUXtWzZMqWkpKhkyZL/uGaVKlU0efJkPf7449Z9U6ZM0erVq/Xjjz/eSqoBANdgphsAANx16tSpY/3awcFBZcqUUe3ata37/Pz8JEknTpywOa9p06bWr318fFS9enUlJydLkpKTkxUZGWnTPjIyUgcOHFB2drZ1X8OGDfMV4x9//KEBAwaoatWq8vLykqenpzIzM5WWlpbnWNzc3OTp6WmNOykpSffee2+uBfe5c+d06NAh9evXT+7u7tZtypQpNsvPAQC3x9HeAQAAANxp1xahFovFZp/FYpF0eXa5oLm5ueWrXe/evfXnn38qLi5OISEhcnZ2VtOmTf/x8LXcxnIlbldX1zyvn5mZKUmaP3++mjRpYnPMwcEhXzECAG6MohsAACCftmzZouDgYEnSqVOntH//foWFhUmSwsLCtGnTJpv2mzZtUrVq1a5bxDo5OUmSzWz4lXPnzJmjBx98UJJ09OhR/fe//72peOvUqaNFixbp0qVL/yjO/fz8FBgYqMOHD6tHjx43dV0AQP5RdAMAAORTbGysypQpIz8/P40dO1Zly5a1vv975MiRatSokSZPnqxu3bpp8+bNeuutt274NHBfX1+5urpqzZo1CgoKkouLi7y8vFS1alV98MEHatiwoTIyMhQTE3PdmevcDB48WLNnz1b37t01ZswYeXl5acuWLWrcuLGqV6+uSZMmaciQIfLy8lK7du2UlZWl7du369SpUxoxYsStpgkAcBXu6QYAAMinadOmaejQoWrQoIF+//13ff7559aZ6vr16+vjjz/WsmXLVKtWLY0fP16xsbHq06fPda/p6OioWbNmad68eQoMDFTHjh0lSQsXLtSpU6dUv3599ezZU0OGDJGvr+9NxVumTBl99913yszMVMuWLdWgQQPNnz/fOuvdv39/LViwQPHx8apdu7ZatmyphIQE62vMAAC3j6eXAwAA3MCVp5efOnVK3t7e9g4HAFCEMNMNAAAAAIBJKLoBAAAAADAJy8sBAAAAADAJM90AAAAAAJiEohsAAAAAAJNQdAMAAAAAYBKKbgAAAAAATELRDQAAAACASSi6AQAAAAAwCUU3AAAAAAAmoegGAAAAAMAkFN0AAAAAAJjk/wOOOXDhFK4tqQAAAABJRU5ErkJggg==\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#I am storing baseline Random Forest metrics for comparison table\n",
        "import pandas as pd\n",
        "\n",
        "results = [] # I am creating an empty list to store results from each model\n",
        "# I am adding the baseline Random Forest metrics into the results list\n",
        "results.append({\n",
        "    \"model\": \"RandomForest (baseline)\",\n",
        "    \"accuracy\": accuracy,\n",
        "    \"precision_weighted\": precision,\n",
        "    \"recall_weighted\": recall,\n",
        "    \"f1_weighted\": f1score\n",
        "})\n",
        "pd.DataFrame(results)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 81
        },
        "id": "V59TBmmbXcjZ",
        "outputId": "86aeed34-3130-45ef-93e3-7994496b3efe"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                     model  accuracy  precision_weighted  recall_weighted  \\\n",
              "0  RandomForest (baseline)  0.913946            0.870336         0.913946   \n",
              "\n",
              "   f1_weighted  \n",
              "0      0.87655  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-2502ec58-b637-439a-92db-c68e0b034ab2\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>model</th>\n",
              "      <th>accuracy</th>\n",
              "      <th>precision_weighted</th>\n",
              "      <th>recall_weighted</th>\n",
              "      <th>f1_weighted</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>RandomForest (baseline)</td>\n",
              "      <td>0.913946</td>\n",
              "      <td>0.870336</td>\n",
              "      <td>0.913946</td>\n",
              "      <td>0.87655</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-2502ec58-b637-439a-92db-c68e0b034ab2')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-2502ec58-b637-439a-92db-c68e0b034ab2 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-2502ec58-b637-439a-92db-c68e0b034ab2');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"pd\",\n  \"rows\": 1,\n  \"fields\": [\n    {\n      \"column\": \"model\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 1,\n        \"samples\": [\n          \"RandomForest (baseline)\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"accuracy\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": null,\n        \"min\": 0.9139460610361959,\n        \"max\": 0.9139460610361959,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.9139460610361959\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"precision_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": null,\n        \"min\": 0.8703360538278941,\n        \"max\": 0.8703360538278941,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.8703360538278941\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"recall_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": null,\n        \"min\": 0.9139460610361959,\n        \"max\": 0.9139460610361959,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.9139460610361959\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"f1_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": null,\n        \"min\": 0.8765503040021617,\n        \"max\": 0.8765503040021617,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.8765503040021617\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 128
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Hyperparameter tuning for Random Forest\n",
        "from sklearn.model_selection import RandomizedSearchCV\n",
        "\n",
        "# I am creating a basic Random Forest model\n",
        "rf_base = RandomForestClassifier(\n",
        "    random_state=42, # I am fixing the seed for reproducibility\n",
        "    n_jobs=-1 # I am using all CPU cores to speed up tuning\n",
        ")\n",
        "\n",
        "# I am defining a small search space for tuning\n",
        "param_dist = {\n",
        "    \"n_estimators\": [100, 200, 300], # number of trees to test\n",
        "    \"max_depth\": [None, 10, 20, 30], # I am limiting tree deep depth\n",
        "    \"min_samples_split\": [2, 4, 6], # min samples required to split a node\n",
        "    \"min_samples_leaf\": [1, 2, 4], # min samples required in a leaf node\n",
        "    \"max_features\": [\"sqrt\", \"log2\"] # number of features used at each split\n",
        "}\n",
        "\n",
        "# I am setting up randomized search with 2-fold cross-validation\n",
        "rf_search = RandomizedSearchCV(\n",
        "    estimator=rf_base, # the model I want to tune\n",
        "    param_distributions=param_dist, # the parameter grid I created\n",
        "    n_iter=5, # only 5 combinations to keep it fast\n",
        "    scoring=\"f1_weighted\", # good metric for imbalanced multi-class data\n",
        "    cv=2,  # using 2-fold cross validationn\n",
        "    verbose=1, # show progress in the output\n",
        "    random_state=42, # for consistent results\n",
        "    n_jobs=-1 # use all CPU cores\n",
        ")\n",
        "\n",
        "# I am running the tuning process on the scaled training data\n",
        "rf_search.fit(X_train_scaled, y_train)\n",
        "# I am printing the best parameter combination found during tuning\n",
        "print(\"Best parameters found:\")\n",
        "print(rf_search.best_params_)\n",
        "# I am printing the best cross-validated F1-score achieved on training folds\n",
        "print(\"Best cross-validated weighted F1-score on training data:\")\n",
        "print(rf_search.best_score_)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "HTwN938fXwuG",
        "outputId": "dd116acb-6a5b-4378-de86-97280bcf3705"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Fitting 2 folds for each of 5 candidates, totalling 10 fits\n",
            "Best parameters found:\n",
            "{'n_estimators': 100, 'min_samples_split': 4, 'min_samples_leaf': 1, 'max_features': 'log2', 'max_depth': 20}\n",
            "Best cross-validated weighted F1-score on training data:\n",
            "0.9977718142108652\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am evaluate tuned Random Forest on the test set\n",
        "\n",
        "# I am selecting the best model found during RandomizedSearchCV\n",
        "rf_tuned = rf_search.best_estimator_\n",
        "# I am predicting the test labels using the tuned model\n",
        "y_pred_tuned = rf_tuned.predict(X_test_scaled)\n",
        "# I am calculating the performance metrics for the tuned model\n",
        "accuracy_tuned  = accuracy_score(y_test, y_pred_tuned)\n",
        "precision_tuned = precision_score(y_test, y_pred_tuned, average='weighted', zero_division=0)\n",
        "recall_tuned  = recall_score(y_test, y_pred_tuned, average='weighted', zero_division=0)\n",
        "f1score_tuned   = f1_score(y_test, y_pred_tuned, average='weighted', zero_division=0)\n",
        "\n",
        "# I am printing the tuned Random Forest performance results\n",
        "print(\"Tuned Random Forest Performance:\")\n",
        "print(f\"Accuracy : {accuracy_tuned:.4f}\")\n",
        "print(f\"Precision: {precision_tuned:.4f}\")\n",
        "print(f\"Recall   : {recall_tuned:.4f}\")\n",
        "print(f\"F1-score : {f1score_tuned:.4f}\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "KJOoHJrHX3xb",
        "outputId": "9a4a1f8b-c22f-4f3e-b2b0-d792a165f54f"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Tuned Random Forest Performance:\n",
            "Accuracy : 0.9138\n",
            "Precision: 0.8733\n",
            "Recall   : 0.9138\n",
            "F1-score : 0.8763\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am adding the tuned Random Forest metrics to the results list\n",
        "results.append({\n",
        "    \"model\": \"RandomForest (tuned)\",\n",
        "    \"accuracy\": accuracy_tuned,\n",
        "    \"precision_weighted\": precision_tuned,\n",
        "    \"recall_weighted\": recall_tuned,\n",
        "    \"f1_weighted\": f1score_tuned\n",
        "})\n",
        "# I am converting the results list into a DataFrame to view it as a table\n",
        "comparison_df = pd.DataFrame(results)\n",
        "comparison_df # I am displaying the updated comparison table"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 125
        },
        "id": "PGwIsvEMX76I",
        "outputId": "b272fe4b-2c1f-4422-d2b1-119ef38fff0c"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                     model  accuracy  precision_weighted  recall_weighted  \\\n",
              "0  RandomForest (baseline)  0.913946            0.870336         0.913946   \n",
              "1     RandomForest (tuned)  0.913769            0.873304         0.913769   \n",
              "\n",
              "   f1_weighted  \n",
              "0     0.876550  \n",
              "1     0.876323  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-7a78415d-3dc9-4bf1-9815-acc8001ad5a2\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>model</th>\n",
              "      <th>accuracy</th>\n",
              "      <th>precision_weighted</th>\n",
              "      <th>recall_weighted</th>\n",
              "      <th>f1_weighted</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>RandomForest (baseline)</td>\n",
              "      <td>0.913946</td>\n",
              "      <td>0.870336</td>\n",
              "      <td>0.913946</td>\n",
              "      <td>0.876550</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>RandomForest (tuned)</td>\n",
              "      <td>0.913769</td>\n",
              "      <td>0.873304</td>\n",
              "      <td>0.913769</td>\n",
              "      <td>0.876323</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7a78415d-3dc9-4bf1-9815-acc8001ad5a2')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-7a78415d-3dc9-4bf1-9815-acc8001ad5a2 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-7a78415d-3dc9-4bf1-9815-acc8001ad5a2');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-cab0b681-a40f-45c5-a5a8-f03e8a5f0048\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-cab0b681-a40f-45c5-a5a8-f03e8a5f0048')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-cab0b681-a40f-45c5-a5a8-f03e8a5f0048 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_30b87b86-02bc-42f6-8575-de3627605fb7\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('comparison_df')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_30b87b86-02bc-42f6-8575-de3627605fb7 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('comparison_df');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "comparison_df",
              "summary": "{\n  \"name\": \"comparison_df\",\n  \"rows\": 2,\n  \"fields\": [\n    {\n      \"column\": \"model\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          \"RandomForest (tuned)\",\n          \"RandomForest (baseline)\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"accuracy\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.00012546252327657914,\n        \"min\": 0.9137686302342086,\n        \"max\": 0.9139460610361959,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0.9137686302342086,\n          0.9139460610361959\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"precision_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0020985912924762684,\n        \"min\": 0.8703360538278941,\n        \"max\": 0.8733039100955922,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0.8733039100955922,\n          0.8703360538278941\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"recall_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.00012546252327657914,\n        \"min\": 0.9137686302342086,\n        \"max\": 0.9139460610361959,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0.9137686302342086,\n          0.9139460610361959\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"f1_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.00016083819664729763,\n        \"min\": 0.8763228444431155,\n        \"max\": 0.8765503040021617,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0.8763228444431155,\n          0.8765503040021617\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 131
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Gradient Boosting Classifier -  Baseline model\n",
        "\n",
        "# I am creating a Gradient Boosting model\n",
        "gb_clf = GradientBoostingClassifier(\n",
        "    random_state=42, # I am fixing the seed for reproducibility\n",
        "    n_estimators=30, # I am using fewer boosting stages to make training faster\n",
        "    learning_rate=0.1, # default learning rate\n",
        "    max_depth=2, # depth of individual trees\n",
        "    subsample=0.8 # I am using 80% of samples per tree to speed up training\n",
        ")\n",
        "# I am training the baseline Gradient Boosting mode\n",
        "gb_clf.fit(X_train_scaled, y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 98
        },
        "id": "_sMIhT0CmZSJ",
        "outputId": "f9633add-33e7-4452-cc61-34046b57d5d9"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "GradientBoostingClassifier(max_depth=2, n_estimators=30, random_state=42,\n",
              "                           subsample=0.8)"
            ],
            "text/html": [
              "<style>#sk-container-id-10 {\n",
              "  /* Definition of color scheme common for light and dark mode */\n",
              "  --sklearn-color-text: #000;\n",
              "  --sklearn-color-text-muted: #666;\n",
              "  --sklearn-color-line: gray;\n",
              "  /* Definition of color scheme for unfitted estimators */\n",
              "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
              "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
              "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
              "  --sklearn-color-unfitted-level-3: chocolate;\n",
              "  /* Definition of color scheme for fitted estimators */\n",
              "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
              "  --sklearn-color-fitted-level-1: #d4ebff;\n",
              "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
              "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
              "\n",
              "  /* Specific color for light theme */\n",
              "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
              "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
              "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
              "  --sklearn-color-icon: #696969;\n",
              "\n",
              "  @media (prefers-color-scheme: dark) {\n",
              "    /* Redefinition of color scheme for dark theme */\n",
              "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
              "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
              "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
              "    --sklearn-color-icon: #878787;\n",
              "  }\n",
              "}\n",
              "\n",
              "#sk-container-id-10 {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 pre {\n",
              "  padding: 0;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 input.sk-hidden--visually {\n",
              "  border: 0;\n",
              "  clip: rect(1px 1px 1px 1px);\n",
              "  clip: rect(1px, 1px, 1px, 1px);\n",
              "  height: 1px;\n",
              "  margin: -1px;\n",
              "  overflow: hidden;\n",
              "  padding: 0;\n",
              "  position: absolute;\n",
              "  width: 1px;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-dashed-wrapped {\n",
              "  border: 1px dashed var(--sklearn-color-line);\n",
              "  margin: 0 0.4em 0.5em 0.4em;\n",
              "  box-sizing: border-box;\n",
              "  padding-bottom: 0.4em;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-container {\n",
              "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
              "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
              "     so we also need the `!important` here to be able to override the\n",
              "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
              "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
              "  display: inline-block !important;\n",
              "  position: relative;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-text-repr-fallback {\n",
              "  display: none;\n",
              "}\n",
              "\n",
              "div.sk-parallel-item,\n",
              "div.sk-serial,\n",
              "div.sk-item {\n",
              "  /* draw centered vertical line to link estimators */\n",
              "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
              "  background-size: 2px 100%;\n",
              "  background-repeat: no-repeat;\n",
              "  background-position: center center;\n",
              "}\n",
              "\n",
              "/* Parallel-specific style estimator block */\n",
              "\n",
              "#sk-container-id-10 div.sk-parallel-item::after {\n",
              "  content: \"\";\n",
              "  width: 100%;\n",
              "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
              "  flex-grow: 1;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-parallel {\n",
              "  display: flex;\n",
              "  align-items: stretch;\n",
              "  justify-content: center;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "  position: relative;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-parallel-item {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-parallel-item:first-child::after {\n",
              "  align-self: flex-end;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-parallel-item:last-child::after {\n",
              "  align-self: flex-start;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-parallel-item:only-child::after {\n",
              "  width: 0;\n",
              "}\n",
              "\n",
              "/* Serial-specific style estimator block */\n",
              "\n",
              "#sk-container-id-10 div.sk-serial {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "  align-items: center;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "  padding-right: 1em;\n",
              "  padding-left: 1em;\n",
              "}\n",
              "\n",
              "\n",
              "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
              "clickable and can be expanded/collapsed.\n",
              "- Pipeline and ColumnTransformer use this feature and define the default style\n",
              "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
              "*/\n",
              "\n",
              "/* Pipeline and ColumnTransformer style (default) */\n",
              "\n",
              "#sk-container-id-10 div.sk-toggleable {\n",
              "  /* Default theme specific background. It is overwritten whether we have a\n",
              "  specific estimator or a Pipeline/ColumnTransformer */\n",
              "  background-color: var(--sklearn-color-background);\n",
              "}\n",
              "\n",
              "/* Toggleable label */\n",
              "#sk-container-id-10 label.sk-toggleable__label {\n",
              "  cursor: pointer;\n",
              "  display: flex;\n",
              "  width: 100%;\n",
              "  margin-bottom: 0;\n",
              "  padding: 0.5em;\n",
              "  box-sizing: border-box;\n",
              "  text-align: center;\n",
              "  align-items: start;\n",
              "  justify-content: space-between;\n",
              "  gap: 0.5em;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 label.sk-toggleable__label .caption {\n",
              "  font-size: 0.6rem;\n",
              "  font-weight: lighter;\n",
              "  color: var(--sklearn-color-text-muted);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 label.sk-toggleable__label-arrow:before {\n",
              "  /* Arrow on the left of the label */\n",
              "  content: \"▸\";\n",
              "  float: left;\n",
              "  margin-right: 0.25em;\n",
              "  color: var(--sklearn-color-icon);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 label.sk-toggleable__label-arrow:hover:before {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "/* Toggleable content - dropdown */\n",
              "\n",
              "#sk-container-id-10 div.sk-toggleable__content {\n",
              "  max-height: 0;\n",
              "  max-width: 0;\n",
              "  overflow: hidden;\n",
              "  text-align: left;\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-toggleable__content.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-toggleable__content pre {\n",
              "  margin: 0.2em;\n",
              "  border-radius: 0.25em;\n",
              "  color: var(--sklearn-color-text);\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-toggleable__content.fitted pre {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
              "  /* Expand drop-down */\n",
              "  max-height: 200px;\n",
              "  max-width: 100%;\n",
              "  overflow: auto;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
              "  content: \"▾\";\n",
              "}\n",
              "\n",
              "/* Pipeline/ColumnTransformer-specific style */\n",
              "\n",
              "#sk-container-id-10 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
              "  color: var(--sklearn-color-text);\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
              "  background-color: var(--sklearn-color-fitted-level-2);\n",
              "}\n",
              "\n",
              "/* Estimator-specific style */\n",
              "\n",
              "/* Colorize estimator box */\n",
              "#sk-container-id-10 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-label label.sk-toggleable__label,\n",
              "#sk-container-id-10 div.sk-label label {\n",
              "  /* The background is the default theme color */\n",
              "  color: var(--sklearn-color-text-on-default-background);\n",
              "}\n",
              "\n",
              "/* On hover, darken the color of the background */\n",
              "#sk-container-id-10 div.sk-label:hover label.sk-toggleable__label {\n",
              "  color: var(--sklearn-color-text);\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "/* Label box, darken color on hover, fitted */\n",
              "#sk-container-id-10 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
              "  color: var(--sklearn-color-text);\n",
              "  background-color: var(--sklearn-color-fitted-level-2);\n",
              "}\n",
              "\n",
              "/* Estimator label */\n",
              "\n",
              "#sk-container-id-10 div.sk-label label {\n",
              "  font-family: monospace;\n",
              "  font-weight: bold;\n",
              "  display: inline-block;\n",
              "  line-height: 1.2em;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-label-container {\n",
              "  text-align: center;\n",
              "}\n",
              "\n",
              "/* Estimator-specific */\n",
              "#sk-container-id-10 div.sk-estimator {\n",
              "  font-family: monospace;\n",
              "  border: 1px dotted var(--sklearn-color-border-box);\n",
              "  border-radius: 0.25em;\n",
              "  box-sizing: border-box;\n",
              "  margin-bottom: 0.5em;\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-estimator.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "/* on hover */\n",
              "#sk-container-id-10 div.sk-estimator:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-10 div.sk-estimator.fitted:hover {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-2);\n",
              "}\n",
              "\n",
              "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
              "\n",
              "/* Common style for \"i\" and \"?\" */\n",
              "\n",
              ".sk-estimator-doc-link,\n",
              "a:link.sk-estimator-doc-link,\n",
              "a:visited.sk-estimator-doc-link {\n",
              "  float: right;\n",
              "  font-size: smaller;\n",
              "  line-height: 1em;\n",
              "  font-family: monospace;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "  border-radius: 1em;\n",
              "  height: 1em;\n",
              "  width: 1em;\n",
              "  text-decoration: none !important;\n",
              "  margin-left: 0.5em;\n",
              "  text-align: center;\n",
              "  /* unfitted */\n",
              "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
              "  color: var(--sklearn-color-unfitted-level-1);\n",
              "}\n",
              "\n",
              ".sk-estimator-doc-link.fitted,\n",
              "a:link.sk-estimator-doc-link.fitted,\n",
              "a:visited.sk-estimator-doc-link.fitted {\n",
              "  /* fitted */\n",
              "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
              "  color: var(--sklearn-color-fitted-level-1);\n",
              "}\n",
              "\n",
              "/* On hover */\n",
              "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
              ".sk-estimator-doc-link:hover,\n",
              "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
              ".sk-estimator-doc-link:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-3);\n",
              "  color: var(--sklearn-color-background);\n",
              "  text-decoration: none;\n",
              "}\n",
              "\n",
              "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
              ".sk-estimator-doc-link.fitted:hover,\n",
              "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
              ".sk-estimator-doc-link.fitted:hover {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-3);\n",
              "  color: var(--sklearn-color-background);\n",
              "  text-decoration: none;\n",
              "}\n",
              "\n",
              "/* Span, style for the box shown on hovering the info icon */\n",
              ".sk-estimator-doc-link span {\n",
              "  display: none;\n",
              "  z-index: 9999;\n",
              "  position: relative;\n",
              "  font-weight: normal;\n",
              "  right: .2ex;\n",
              "  padding: .5ex;\n",
              "  margin: .5ex;\n",
              "  width: min-content;\n",
              "  min-width: 20ex;\n",
              "  max-width: 50ex;\n",
              "  color: var(--sklearn-color-text);\n",
              "  box-shadow: 2pt 2pt 4pt #999;\n",
              "  /* unfitted */\n",
              "  background: var(--sklearn-color-unfitted-level-0);\n",
              "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
              "}\n",
              "\n",
              ".sk-estimator-doc-link.fitted span {\n",
              "  /* fitted */\n",
              "  background: var(--sklearn-color-fitted-level-0);\n",
              "  border: var(--sklearn-color-fitted-level-3);\n",
              "}\n",
              "\n",
              ".sk-estimator-doc-link:hover span {\n",
              "  display: block;\n",
              "}\n",
              "\n",
              "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
              "\n",
              "#sk-container-id-10 a.estimator_doc_link {\n",
              "  float: right;\n",
              "  font-size: 1rem;\n",
              "  line-height: 1em;\n",
              "  font-family: monospace;\n",
              "  background-color: var(--sklearn-color-background);\n",
              "  border-radius: 1rem;\n",
              "  height: 1rem;\n",
              "  width: 1rem;\n",
              "  text-decoration: none;\n",
              "  /* unfitted */\n",
              "  color: var(--sklearn-color-unfitted-level-1);\n",
              "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 a.estimator_doc_link.fitted {\n",
              "  /* fitted */\n",
              "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
              "  color: var(--sklearn-color-fitted-level-1);\n",
              "}\n",
              "\n",
              "/* On hover */\n",
              "#sk-container-id-10 a.estimator_doc_link:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-3);\n",
              "  color: var(--sklearn-color-background);\n",
              "  text-decoration: none;\n",
              "}\n",
              "\n",
              "#sk-container-id-10 a.estimator_doc_link.fitted:hover {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-3);\n",
              "}\n",
              "</style><div id=\"sk-container-id-10\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>GradientBoostingClassifier(max_depth=2, n_estimators=30, random_state=42,\n",
              "                           subsample=0.8)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-10\" type=\"checkbox\" checked><label for=\"sk-estimator-id-10\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>GradientBoostingClassifier</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html\">?<span>Documentation for GradientBoostingClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>GradientBoostingClassifier(max_depth=2, n_estimators=30, random_state=42,\n",
              "                           subsample=0.8)</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 132
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#I am evaluating baseline Gradient Boosting\n",
        "\n",
        "# I am predicting labels on the test data using the baseline Gradient Boosting model\n",
        "y_pred_gb = gb_clf.predict(X_test_scaled)\n",
        "\n",
        "# I am calculating all evaluation metrics for the baseline Gradient Boosting model\n",
        "accuracy_gb  = accuracy_score(y_test, y_pred_gb)\n",
        "precision_gb = precision_score(y_test, y_pred_gb, average='weighted', zero_division=0)\n",
        "recall_gb  = recall_score(y_test, y_pred_gb, average='weighted', zero_division=0)\n",
        "f1score_gb   = f1_score(y_test, y_pred_gb, average='weighted', zero_division=0)\n",
        "\n",
        "# I am printing the performance results of the baseline Gradient Boosting model\n",
        "print(\"Gradient Boosting Performance (Baseline):\")\n",
        "print(f\"Accuracy : {accuracy_gb:.4f}\")\n",
        "print(f\"Precision: {precision_gb:.4f}\")\n",
        "print(f\"Recall   : {recall_gb:.4f}\")\n",
        "print(f\"F1-score : {f1score_gb:.4f}\")\n",
        "\n",
        "# I am selecting only the labels that actually appear in the test set\n",
        "labels_test_only = unique_labels(y_test)\n",
        "\n",
        "# I am printing the detailed classification report for the baseline Gradient Boosting model\n",
        "print(\"Classification Report of Baseline Gradient Boosting:\")\n",
        "print(classification_report(\n",
        "    y_test,\n",
        "    y_pred_gb,\n",
        "    labels=labels_test_only, # only include labels present\n",
        "    target_names=label_encoder.inverse_transform(labels_test_only), # I am converting numbers back to text labels\n",
        "    zero_division=0\n",
        "))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "UDLBAcASmg9Y",
        "outputId": "c885cf4e-bd50-42ac-bf7e-24e75c62c9d3"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Gradient Boosting Performance (Baseline):\n",
            "Accuracy : 0.9084\n",
            "Precision: 0.8573\n",
            "Recall   : 0.9084\n",
            "F1-score : 0.8727\n",
            "Classification Report of Baseline Gradient Boosting:\n",
            "                 precision    recall  f1-score   support\n",
            "\n",
            "        apache2       0.00      0.00      0.00       228\n",
            "           back       0.61      0.99      0.76       227\n",
            "buffer_overflow       0.75      0.53      0.62        17\n",
            "      ftp_write       1.00      0.50      0.67         2\n",
            "   guess_passwd       1.00      0.05      0.10       411\n",
            "     httptunnel       0.00      0.00      0.00        41\n",
            "           imap       0.12      1.00      0.21         2\n",
            "        ipsweep       0.97      0.96      0.97       479\n",
            "           land       1.00      1.00      1.00         2\n",
            "     loadmodule       0.06      0.25      0.10         4\n",
            "       mailbomb       0.00      0.00      0.00        94\n",
            "          mscan       0.00      0.00      0.00       310\n",
            "       multihop       0.00      0.00      0.00         9\n",
            "          named       0.00      0.00      0.00         2\n",
            "        neptune       0.99      1.00      0.99      6654\n",
            "           nmap       0.81      0.81      0.81       206\n",
            "         normal       0.88      0.99      0.93     11245\n",
            "           perl       0.50      1.00      0.67         1\n",
            "            phf       1.00      1.00      1.00         1\n",
            "            pod       0.89      0.97      0.93        35\n",
            "      portsweep       0.95      0.97      0.96       371\n",
            "   processtable       0.00      0.00      0.00       211\n",
            "             ps       0.00      0.00      0.00         9\n",
            "        rootkit       0.00      0.00      0.00         4\n",
            "          saint       0.00      0.00      0.00        93\n",
            "          satan       0.86      0.99      0.92       698\n",
            "       sendmail       0.00      0.00      0.00         8\n",
            "          smurf       0.98      1.00      0.99       540\n",
            "  snmpgetattack       0.00      0.00      0.00        43\n",
            "      snmpguess       0.00      0.00      0.00        99\n",
            "       teardrop       0.89      1.00      0.94       104\n",
            "    warezclient       0.98      0.89      0.93       107\n",
            "    warezmaster       0.00      0.00      0.00       279\n",
            "          xlock       0.00      0.00      0.00         4\n",
            "         xsnoop       0.00      0.00      0.00         1\n",
            "          xterm       0.00      0.00      0.00         3\n",
            "\n",
            "      micro avg       0.91      0.91      0.91     22544\n",
            "      macro avg       0.42      0.44      0.40     22544\n",
            "   weighted avg       0.86      0.91      0.87     22544\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#Confusion Matrix of baseline Gradient Boosting\n",
        "\n",
        "# I am creating the confusion matrix using the true and predicted labels\n",
        "cm_gb = confusion_matrix(y_test, y_pred_gb)\n",
        "\n",
        "plt.figure(figsize=(10, 8)) # I am setting the size of the heatmap\n",
        "\n",
        "# I am plotting the confusion matrix as a heatmap\n",
        "sns.heatmap(\n",
        "    cm_gb,\n",
        "    annot=False, # I am not showing numbers inside the boxes\n",
        "    cmap=\"Oranges\",\n",
        "    # original class names for X-axis Y-axis\n",
        "    xticklabels=label_encoder.classes_,\n",
        "    yticklabels=label_encoder.classes_\n",
        ")\n",
        "plt.title(\"Confusion Matrix of Gradient Boosting\")\n",
        "plt.xlabel(\"Predicted\")\n",
        "plt.ylabel(\"True\")\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 813
        },
        "id": "WpAICMwemkIe",
        "outputId": "053bd36a-72e5-4fda-d1a7-10825bfcaafc"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x800 with 2 Axes>"
            ],
            "image/png": "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/unkyZMAPPXUU1kS140bN5KUlGRW387OzvTM4B159fPh7+9Ps2bNaNasGZ07d+aTTz6hTZs2jBo1yrS4U3Z/nu/182JjY0P58uVNx8uVK8fw4cNZuHAhxYoVIyQkhPfeey9Hn9e7yc6/Iz///PNdf5bu9fMlIvKwKSkUkceGi4sLXl5eHD16NEfn3W3Rj7u517Ngxv9bfORB+rizCMcd9vb2bNu2jU2bNvHiiy9y+PBhnn/+eZ555pksdXMjN9dyh62tLR07diQqKopVq1bdc5QQbi/bP3z4cJo0acInn3zCd999R3R0NFWrVs32iCiYj45lx8GDB03Jy5EjR3J0bl6qXLkyQJbPppOTkynZKV++/F3Pvds1b9++nf/973/Y2dnx/vvvs27dOqKjo+nWrVuOvof/5s73ZenSpabE9e/b119/bVb/Ua+0+fTTT3Pjxg327NljVp7dn+fsmD59OocPH+aNN97g+vXrDBkyhKpVq951oZ7syoufPRGRR01JoYg8Vtq0acPp06fZtWvXfeuWLVuWzMxM04jIHRcuXCA5Odm0kmheKFKkSJaVDeHuo05WVlY8/fTTzJgxg+PHj/P222+zZcuWu07XA0xxJiQkZDl24sQJihUrhqOjY+4u4B66devGwYMH+euvv+jSpcs9633xxRc0bdqUjz76iC5dutC8eXOaNWuW5Z7k5S/0165do1evXlSpUoV+/foxZcoU9u7de9/zypYty++//55lxPnEiROm4znVuHFjXF1dWb58eY6S4Hv58ssvsbOz47vvvqN37960bNmSZs2aZal35zN++vRps/K7fVb+6c7oYvHixU2J69+3nLxn8I68/P7eunUL+P+jr9n9eb7Xz8vNmzc5c+ZMlu+vv78/o0ePZtu2bWzfvp3ffvuN+fPnP5RruqNs2bKcOnUqS/ndykREHgUlhSLyWBk5ciSOjo689NJLXLhwIcvx06dPm55DatWqFQCzZs0yqzNjxgyAbK/QmB0VKlTgypUrHD582FR27ty5LCucXrp0Kcu5d54rutuy+nD7VQY1atQgKirKLMk6evQoGzduNF3nw9C0aVMmTJjAu+++i6en5z3rFSpUKMtIyMqVK/ntt9/Myu4kr3dLoHPq9ddfJzExkaioKGbMmIG3tzc9evS45328o1WrVmRkZPDuu++alc+cORODwUDLli1z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MXToUPr162ehqEVERERE5FHQ6qMCmK9wmiupf+ZJPCIiIiLykOTj1Ue/D7bM6qNNY7T6qIiIiIiIiBRQSgpFREREREQKMD1TKADExMRYOgQRERERKeA0YmUZSgpF5N+lX899G9b2uW9DRERERB4KJeN5JDg4mGHDhlk6DBERERGRx5bBYJmtoNNIYR756quvsLa2tnQYIiIiIiIiOaKkMI+4u7tbOgQRERERkceapjFahu57Hvn79FFvb28mTJhA165dcXR0pFSpUrz33numukajkYiICMqUKYOtrS1eXl4MGTIEgHfffZdq1aqZ6q5evRqDwcD8+fNNZc2aNWP06NGm/a+//ppatWphZ2dH+fLlGTduHLdu3TIdT05O5qWXXsLDwwMXFxeeeuopDh06ZDoeERFBjRo1WLBgAaVLl8bBwYHOnTtnebm9iIiIiIj89ygpfEimTp1K9erVOXjwIKNGjWLo0KFER0cD8OWXXzJz5kwWLFjAyZMnWb16Nf7+/gAEBQVx/Phx/vjjDwC2bt1KsWLFTKuDpqens2vXLoKDgwHYvn073bt3Z+jQoRw/fpwFCxawePFi3n77bVMsnTp1IikpifXr17N//35q1arF008/zaVLl0x1Tp06xeeff84333zDhg0bOHjwIAMGDHgEd0pERERERCxJSeFD0rBhQ0aNGkWlSpUYPHgwzz33HDNnzgQgMTERT09PmjVrRpkyZahbty59+/YFoFq1ari7u7N161bg9qsiRowYYdrfs2cP6enpNGjQAIBx48YxatQoevToQfny5XnmmWeYMGECCxYsAGDHjh3s2bOHlStXEhgYiI+PD9OmTcPNzY0vvvjCFO+NGzdYsmQJNWrUoEmTJsydO5fly5dz/vz5R3bPRERERKRgszJYZivolBQ+JPXr18+yHx8fD9weubt+/Trly5enb9++rFq1yjTd02Aw0KRJE2JiYkhOTub48eMMGDCAtLQ0Tpw4wdatW6lTpw4ODg4AHDp0iPHjx+Pk5GTa+vbty7lz50hNTeXQoUOkpKRQtGhRszpnzpzh9OnTpvjKlClDqVKlzOLNzMwkISHhnteYlpbG1atXzba0tLQ8u4ciIiIiIvLwaaEZCyhdujQJCQls2rSJ6OhoBgwYwNSpU9m6dSvW1tYEBwfzwQcfsH37dmrWrImLi4spUdy6dStBQUGmtlJSUhg3bhwdO3bM0o+dnR0pKSmULFnyri+nd3Nzy9V1REZGMm7cOLOyt954jYg3R+aqXREREREpmDRoZxlKCh+S3bt3Z9n38/Mz7dvb29O2bVvatm3LwIEDqVy5MkeOHKFWrVoEBQUxbNgwVq5caXp2MDg4mE2bNrFz505GjBhhaqdWrVokJCRQsWLFu8ZRq1Ytzp8/T+HChfH29r5nvImJifz+++94eXmZ4rWyssLX1/ee54SHhzN8+HCzMtuMv+5ZX0RERERE8h8lhQ/Jzp07mTJlCu3btyc6OpqVK1fy7bffArB48WIyMjKoV68eDg4OfPLJJ9jb21O2bFkAAgICKFKkCJ9++ilr164FbieFYWFhGAwGGjZsaOpn7NixtGnThjJlyvDcc89hZWXFoUOHOHr0KBMnTqRZs2bUr1+f9u3bM2XKFCpVqsTvv//Ot99+S4cOHQgMDARujyr26NGDadOmcfXqVYYMGULnzp3x9PS85zXa2tpia2trXph6My9vo4iIiIiIPGR6pvAhGTFiBPv27aNmzZpMnDiRGTNmEBISAtyetvnhhx/SsGFDAgIC2LRpE9988w1FixYFbj9X2LhxYwwGA40aNQJuJ4ouLi4EBgbi6Oho6ickJIS1a9eyceNG6tSpw5NPPsnMmTNNCabBYGDdunU0adKEXr16UalSJbp06cLPP/9MiRIlTO1UrFiRjh070qpVK5o3b05AQADvv//+o7pdIiIiIiJaaMZCDEaj0WjpIP5rvL29GTZsmOm9hfldREQEq1evJi4uLveNpf6Z+zYkf0m/nvs2rO1z34aIiIjkDYdilo7gnmKfLmSRfuttzrBIv/mFpo+KiIiIiEi+oEE7y9D0URERERERkQJM00clb2n66H+Ppo+KiIj8t+Tj6aP7mllm+mjgJk0fFRG5NyV0IiIiIv9pmj4qIiIiIiJSgCkpfAwFBwc/9JVNIyIiqFGjxkPtQ0RERETk76wMRotsBZ2SQhERERERkQJMzxSKiIiIiEi+oFdSWIZGCh9zS5cuJTAwEGdnZzw9PenWrRtJSUmm4zExMRgMBjZv3kxgYCAODg40aNCAhIQEs3YmT55MiRIlcHZ2pk+fPty4ceNRX4qIiIiIiFiAksLHXHp6OhMmTODQoUOsXr2as2fP0rNnzyz13nzzTaZPn86+ffsoXLgwvXv3Nh37/PPPiYiIYNKkSezbt4+SJUvy/vvvP8KrEBERERERS9F7Ch9DwcHB1KhRg1mzZmU5tm/fPurUqcNff/2Fk5MTMTExNG3alE2bNvH0008DsG7dOlq3bs3169exs7OjQYMG1KxZk/fee8/UzpNPPsmNGzeIi4vLWXB6T6GIiIhI/paP31N4qLllxqyqb8y0SL/5hUYKH3P79++nbdu2lClTBmdnZ4KCggBITEw0qxcQEGD6umTJkgCmaabx8fHUq1fPrH79+vXv23daWhpXr14129LS0nJ1PSIiIiIi8mgpKXyMXbt2jZCQEFxcXFi2bBl79+5l1apVANy8edOsrrW1telrg+H2I7yZmbn7i0hkZCSurq5mW+S02blqU0REREQKLoOFtoJOq48+xk6cOMHFixeZPHkypUuXBm5PH80pPz8/YmNj6d69u6ls9+7d9z0vPDyc4cOHm5XZZvyV4/5FRERERMRylBQ+xsqUKYONjQ1z587llVde4ejRo0yYMCHH7QwdOpSePXsSGBhIw4YNWbZsGceOHaN8+fL/ep6trS22trbmhak3715ZREREROQ+rDRsZxGaPvoY8/DwYPHixaxcuZIqVaowefJkpk2bluN2nn/+ecaMGcPIkSOpXbs2P//8M/37938IEYuIiIiISH6j1Uclb2n1UREREZH8LR+vPno0xDJjVtW+K9irj2r6qIiIiIiI5AuaxmgZuu8iIiIiIiIFmEYKRUREREQkXzBooRmL0EihiIiIiIhIAVZgksLg4GCGDRv22PdxL97e3syaNSvb9WNiYjAYDCQnJz+0mEREREREJP/T9FEREREREckX9J5CyygwI4UiIiIiIiKSVYFMCi9fvkz37t0pUqQIDg4OtGzZkpMnT5qOX7x4ka5du1KqVCkcHBzw9/fns88+M2vj2rVrdO/eHScnJ0qWLMn06dOz9OPt7c3EiRNN9cqWLcuaNWv4448/aNeuHU5OTgQEBLBv3z6z87788kuqVq2Kra0t3t7eWdpOSkqibdu22NvbU65cOZYtW2Z2/OzZsxgMBuLi4kxlycnJGAwGYmJi7nlfduzYQePGjbG3t6d06dIMGTKEa9eu3e92ioiIiIjkCYOFtoKuQCaFPXv2ZN++faxZs4Zdu3ZhNBpp1aoV6enpANy4cYPatWvz7bffcvToUfr168eLL77Inj17TG28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REREREQkP9IzhXkoICCAt956CwAfHx/effddNm/ejL29PXv27CEpKQlbW1sApk2bxurVq/niiy/o168fADdu3GDJkiWUKlUKgLlz59K6dWumT5+Op6cn9vb2pKWl4enpmePY0tPTmT9/PhUqVABg0KBBjB8/3nT8rbfeYvr06XTs2BGAcuXKcfz4cRYsWECPHj0e/KaIiIiIiEi+pqQwDwUEBJjtlyxZkqSkJA4dOkRKSgpFixY1O379+nVOnz5t2i9TpowpIQSoX78+mZmZJCQkPFAi+HcODg6mhPDvsQFcu3aN06dP06dPH/r27Wuqc+vWLVxdXe/ZZlpaGmlpaWZlthlppsRXRERERCQnDAZNZLQEJYV5yNra2mzfYDCQmZlJSkoKJUuWJCYmJss5bm5uuerT6v/e5WI0Gk1l6enp2YrtzjkpKSkAfPjhh9SrV8+sXqFChe7Zd2RkJOPGjTMre+uN14h4c2QOrkBERERERCxJSeEjUKtWLc6fP0/hwoXx9va+Z73ExER+//13vLy8ANi9ezdWVlb4+voCYGNjQ0ZGhtk5Hh4eAJw7d44iRYoAtxeayYkSJUrg5eXFTz/9RGhoaLbPCw8PZ/jw4WZlthl/5ahvERERERETLfpiEUoKH4FmzZpRv3592rdvz5QpU6hUqRK///473377LR06dCAwMBAAOzs7evTowbRp07h69SpDhgyhc+fOpqmj3t7efPfddyQkJFC0aFFcXV2pWLEipUuXJiIigrfffpsff/yR6dOn5zjGcePGMWTIEFxdXWnRogVpaWns27ePy5cvZ0n87rC1tc06VTT1Zo77FhERERERy9Gk3UfAYDCwbt06mjRpQq9evahUqRJdunTh559/pkSJEqZ6FStWpGPHjrRq1YrmzZsTEBBg9lqIvn374uvrS2BgIB4eHuzcuRNra2s+++wzTpw4QUBAAO+88w4TJ07McYwvvfQSCxcuZNGiRfj7+xMUFMTixYspV65cntwDERERERHJnwzGvz+MJhYTERHB6tWrczz1M99J/dPSEYjIfVwbXTPXbThOPJgHkYiIiEU4FLN0BPeU8uoTFunXaeavFuk3v9BIoYiIiIiISAGmZwpFRERERCRfMGihGYvQSGE+ERER8fhPHRURERERkceORgpFRAqYPHke0Jhx/zr3Y7j3e1BFRKSA0svrLUJ3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+f333zH834TR4cOHs3LlSg4dOoSXlxc1atTgp59+MuXp2LEj586dY/369aa0999/n1WrVvH7779z9OhRfH192bBhA40bN85U57hx4/jtt99Yt26dKe2vv/6ibNmyHDlyhOTkZGrVqkV8fDzly5c3y3vx4kU8PDyIiIigYcOGmcoeO3Ysy5cvJzo6+p7nvWTJEnr16mXqnQwPD6dr167s2LGDZ599FoDDhw/j5+dHVFQUderUyVR2xYoV+eijj+jQoYPZua1evZpt27bds34zeiSFiOSWVh8VEbEMa34kxYKOFqnXptNCi9RrLZ64nsK6deuaAkKAevXqcezYMdLT0wGoXbu22fGxsbHUr1/fLK1+/fqmPNHR0dja2mYZtAHExMSwadMmnJ2dTVulSpUAiIuLo1q1ajRq1IiAgADatWvHnDlzuHTpEgBFihQhODiYoKAgWrVqxfTp00lMTMzxHH/55RcaNWpE6dKlcXFxoVOnTly4cIHr16+bjilQoADPPPOM6XWlSpVwd3cnNjY2U3nXrl0jLi6O7t27m53HuHHjiIuLy7YdKSkpXLlyxWxLScmDZ22JiIiIiMhj88QFhTlxcnK6r+MdHBzuuT85OZlWrVoRHR1tth07dowGDRpga2vLhg0bWLNmDf7+/sycORNfX19OnDgBwLx589i+fTvPPfccixcvxsfHhx07dmRbX3x8PC1btqRq1aosXbqUPXv28PnnnwMPvnDOnfmIc+bMMTuHgwcP3rMtYWFhuLm5mW1hk6c/UBtERERERMQynrigMCoqyuz1jh078Pb2xtbWNsvj/fz8iIyMNEuLjIzEx8cHW1tbAgICyMjIYPPmzVnmr1mzJr///jteXl5UrFjRbLsTgBoMBurXr09oaCj79u3Dzs7ObAhrjRo1GDFiBNu2baNKlSp89913ANjZ2Zl6OO/Ys2cPGRkZTJkyhbp16+Lj48OpU6cytSstLY3du3ebXh85coTLly/j5+eX6djixYtTqlQp/vjjj0znUKFChSzPG2DEiBEkJSWZbSOG9M/2eBERERGRe9JCMxbxxF2BhIQEBg0axJEjR1i0aBEzZ86kf//sA5XBgwezceNGPvroI44ePcr8+fP57LPPGDJkCHB7xdIuXbrQrVs3li9fzokTJ4iIiOCHH34AoE+fPly8eJEOHTqwa9cu4uLiWLduHV27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wQJq167NlStXGDp0aKbePC8vLzZu3Ej9+vWxt7encOHCeHl5ceLECaKjoylTpgwuLi5UrFiRW7duMXPmTFq1akVkZCRffPGFWVkjRowgICCA3r1706tXL+zs7Ni0aRPt2rWjaNH/H1vu4+PDpk2bCAwMpECBAkybNi3La2dvb4+9vb154vX77+UUEREREQE0lNNCrKan0NXVlS1bttC8eXN8fHwYOXIkU6ZMoVmzZo+0XkdHR4YNG8Zbb71F/fr1cXZ2ZvHixab9HTt2ZMSIEQwZMoSaNWty4sQJgoODKVSokOmYHj16MHfuXObNm0dAQAANGzYkPDzc1FNYoEABZsyYwZdffkmpUqVo3bo1AF9//TWXLl2iZs2adOrUiX79+lGsWDGz9k2ZMoUNGzZQtmxZatSoAcBrr71G06ZNefHFF/H09GTRokVUq1aNqVOnMmnSJKpUqcLChQsJCwszK8vHx4f169cTExNDnTp1qFevHitWrKBAgczfDfj6+vLrr7+yaNEiBg8enDcXW0RERERErI7VrD5qCeHh4QwYMIDLly/fV76XX36ZEiVKmFY6lbto9VERERER62bNq48eWmaRem3821qkXmthNcNHrdX169f54osvCAoKwtbWlkWLFvHLL7+wYcMGSzdNRERERETkoSkozIHBYGD16tWMHz+emzdv4uvry9KlS2ncuLGlmyYiIiIi8mTRnEKLyNfDR+UR0PBREREREetmzcNHYx/tkweyY+P3qkXqtRbqKRQREcsw5sEzYw1Ws16aiIjIv5aCQhERERERsQ4aPmoR+opVREREREQkH1NPoYiIiIiIWAn1WVlCvrzqS5YsISAgAAcHBzw8PGjcuDHXrl0jODiYNm3aMHnyZEqWLImHhwd9+vTh1q1bprxeXl6MGzeOzp074+zsTPny5Vm5ciXnzp2jdevWODs7U7VqVXbv3m3KEx4ejru7O8uXL8fb25tChQoRFBTEyZMnzdo1btw4ihUrhouLCz169GD48OFUr17dtD8wMJABAwaY5WnTpg3BwcGm1ykpKQwZMoTSpUvj5OTEs88+S0REhGn/n3/+SatWrShcuDBOTk5UrlyZ1atXA3Dp0iU6duyIp6cnDg4OeHt7M2/evIe/4CIiIiIiYrXyXVCYmJhIhw4d6NatG7GxsURERNC2bVvuLMK6adMm4uLi2LRpE/Pnzyc8PJzw8HCzMj799FPq16/Pvn37aNGiBZ06daJz5868/fbb7N27l6effprOnTtz98Ku169fZ/z48Xz77bdERkZy+fJl3nzzTdP+hQsXMn78eCZNmsSePXsoV64cs2fPvu/zCwkJYfv27Xz//ffs37+fdu3a0bRpU44dOwZAnz59SElJYcuWLRw4cIBJkybh7OwMwKhRozh06BBr1qwhNjaW2bNnU7So9a5OJSIiIiIiDy/fDR9NTEwkLS2Ntm3bUr58eQACAgJM+wsXLsxnn32Gra0tlSpVokWLFmzcuJGePXuajmnevDnvvvsuAKNHj2b27Nk888wztGvXDoBhw4ZRr149zpw5Q4kSJQC4desWn332Gc8++ywA8+fPx8/Pj507d1KnTh1mzpxJ9+7d6dq1q6nc9evXk5ycnOtzS0hIYN68eSQkJFCqVCkAhgwZwtq1a5k3bx4TJkwgISGB1157zXTOTz31lFn+GjVqULt2beB2r6iIiIiIyGOjhWYsIt/1FFarVo1GjRoREBBAu3btmDNnDpcuXTLtr1y5Mra2tqbXJUuW5OzZs2ZlVK1a1fRz8eLFAfPA8k7a3fkKFCjAM888Y3pdqVIl3N3diY2NBeDIkSPUqVPHrJ5/vs7JgQMHSE9Px8fHB2dnZ9O2efNm4uLiAOjXrx/jxo2jfv36jBkzhv3795vyv/fee3z//fdUr16d999/n23btt2zvpSUFK5cuWK2paSk3FebRURERETEsvJdUGhra8uGDRtYs2YN/v7+zJw5E19fX06cOAFAwYIFzY43GAxkZJg/S+vuYwz/921GVmn/zPewbGxszIakAmbzHZOTk7G1tWXPnj1ER0ebttjYWKZPnw5Ajx49+OOPP+jUqRMHDhygdu3azJw5E4BmzZrx559/MnDgQE6dOkWjRo0YMmRItu0JCwvDzc3NbAubPD1Pz1lERERE8hGDjWW2fC5fXgGDwUD9+vUJDQ1l37592NnZ8dNPPz3SOtPS0swWnzly5AiXL1/Gz88PAF9fX3bt2mWW55+vPT09SUxMNL1OT0/n4MGDptc1atQgPT2ds2fPUrFiRbPtzjBWgLJly9KrVy+WLVvG4MGDmTNnjlkdXbp04T//+Q/Tpk3jq6++yvacRowYQVJSktk2Ykj/+7wyIiIiIiJiSfluTmFUVBQbN26kSZMmFCtWjKioKM6dO4efn5/ZUMq8VrBgQfr27cuMGTMoUKAAISEh1K1b1zREtG/fvvTs2ZPatWvz3HPPsXjxYvbv32825++ll15i0KBBrFq1iqeffpqpU6dy+fJl034fHx86duxI586dmTJlCjVq1ODcuXNs3LiRqlWr0qJFCwYMGECzZs3w8fHh0qVLbNq0yRSYjh49mlq1alG5cmVSUlL4+eefTfuyYm9vj729vXni9dS8u2giIiIiks9oTqEl5Lug0NXVlS1btjBt2jSuXLlC+fLlmTJlCs2aNWPx4sWPrF5HR0eGDRvGW2+9xd9//80LL7zA119/bdrfsWNH/vjjD4YMGcLNmzd54403CA4OZufOnaZjunXrRkxMDJ07d6ZAgQIMHDiQF1980ayeefPmMW7cOAYPHszff/9N0aJFqVu3Li1btgRu9y726dOHv/76C1dXV5o2bcqnn34KgJ2dHSNGjCA+Ph4HBwdeeOEFvv/++0d2TURERERExPIMxn9OUpM8Fx4ezoABA8x69XLj5ZdfpkSJEixYsODRNOxRuH7e0i0QkX8LYx7Mu9Y8EBGR++dovY8cyzi62iL12vg0t0i91iLf9RRaq+vXr/PFF18QFBSEra0tixYt4pdffmHDhg2WbpqIiIiIyOOhR1JYhIJCK2EwGFi9ejXjx4/n5s2b+Pr6snTpUho3bmzppomIiIiIyBNMw0clb2n4qIjkloaPiohYhjUPHz2+ziL12lQMski91kKfpiIiIiIiIvmYho+KiIhlqJdPRETEKugTWURERERErILBYLDIdj/CwsJ45plncHFxoVixYrRp04YjR46YHXPz5k369OmDh4cHzs7OvPbaa5w5c8bsmISEBFq0aIGjoyPFihVj6NChpKWlmR0TERFBzZo1sbe3p2LFioSHhz/Qdc2JgkIREREREZFc2rx5M3369GHHjh1s2LCBW7du0aRJE65du2Y6ZuDAgfz3v//lxx9/ZPPmzZw6dYq2bdua9qenp9OiRQtSU1PZtm0b8+fPJzw8nNGjR5uOOXHiBC1atODFF18kOjqaAQMG0KNHD9aty/t5l1poRvKWFpoRERERsW5WvNCMMe4Xi9RrePrBV/w/d+4cxYoVY/PmzTRo0ICkpCQ8PT357rvveP311wE4fPgwfn5+bN++nbp167JmzRpatmzJqVOnKF68OABffPEF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UQEyr6L6wLT6qIiIiNxNq49aH2teffTvXRap11D6GYvUay30FyYiIiIiIpKPKSgUERERERHJx7T6qAAQERFh6SaIiIiISH6nRV8sQkGhiIiIiDw6eTEfUPMSRR4p/XX8ywQGBjJgwADTay8vr4dfHEZERERExCro4fWWoJ7Cf7ldu3bh5OSUp2Xm2UqkIiIiIiJi9RQU5qHU1FTs7Owea52enp6PtT4REREREXmy5Kvhoz///DPu7u6kp6cDEB0djcFgYPjw4aZjevTowdtvv82FCxfo0KEDpUuXxtHRkYCAABYtWmRWXmBgICEhIQwYMICiRYsSFBQEwMGDB2nWrBnOzs4UL16cTp06cf787ef3xcfHYzAYMm2BgYGmciMjIwkMDMTR0ZHChQsTFBTEpUuXsjynfw4fvXz5Mj169MDT0xNXV1deeuklYmJiTPvHjh1L9erVWbBgAV5eXri5ufHmm29y9epVAIKDg9m8eTPTp083tS0+Pv6Br7mIiIiISK4ZbCyz5XP56gq88MILXL16lX379gGwefNmihYtarby5ubNmwkMDOTmzZvUqlWLVatWcfDgQd555x06derEzp07zcqcP38+dnZ2REZG8sUXX3D58mVeeuklatSowe7du1m7di1nzpzhjTfeAKBs2bIkJiaatn379uHh4UGDBg2A24Fqo0aN8Pf3Z/v27WzdupVWrVqZAtmctGvXjrNnz7JmzRr27NlDzZo1adSoERcvXjQdExcXx/Lly/n555/5+eef2bx5MxMnTgRg+vTp1KtXj549e5raWLZs2Qe+5iIiIiIiYt3y1fBRNzc3qlevTkREBLVr1yYiIoKBAwcSGhpKcnIySUlJHD9+nIYNG1K6dGmGDBliytu3b1/WrVvHDz/8QJ06dUzp3t7efPzxx6bX48aNo0aNGkyYMMGU9s0331C2bFmOHj2Kj48PJUqUAODmzZu0adOGevXqMXbsWAA+/vhjateuzaxZs0z5K1eunKvz27p1Kzt37uTs2bPY29sDMHnyZJYvX86SJUt45513AMjIyCA8PBwXFxcAOnXqxMaNGxk/fjxubm7Y2dnh6OhoaqeIiIiIyOOhRV8sIV8FhQANGzYkIiKCwYMH89tvvxEWFsYPP/zA1q1buXjxIqVKlcLb25v09HQmTJjADz/8wN9//01qaiopKSk4OjqalVer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qFAhChUqRJUqVZg7d26u81eoUMH0WXy3ixcvUqFChVyVUadOHaKjo3Nd5z+tWrWKMWPGmKVdu3aNpk2b5vozKS0tjVGjRuHm5oaXlxdeXl64ubkxcuTIXPcynzhxghYtWuDk5ISbm5vpvuLOPYhIbujh9fJIHD16lCZNmpCQkIDBYOD555/n+++/p2TJksDtD5SuXbvSuXPnHMv65JNPKFKkCN27dzelpaen8+abb3Lw4MFctadcuXIEBgbSsGFDAgMDefrpp+/rfPr370/t2rWJiYnBw8PDlP7qq6/Ss2fPbPNt2rTJ9HN8fDzDhw8nODiYevXqAbB9+3bmz59PWFhYtmXMmDEj1+3M7lvLf/r666/59NNPOXbsGADe3t4MGDCAHj165Cr/1atX6d27N99//z3p6enA7W/B27dvz+eff46bm1uW+WrUqJHrm6K9e/fec//169fp27cv8+fPB27/zj311FP07duX0qVLM3z48FzVc+TIEWbOnGm6yfXz86Nv3774+vrmKj/cvtnctGkTZ8+eJSMjw2zf6NGjH0k7ChcunOtrefHixVwdt2DBAr744gtOnDjB9u3bKV++PNOmTaNChQq0bt06V2Vs3LiRTz/91Ow8BgwYQOPGjbPN87C/423bts11/mXLlmWZHhsby7Vr1yhcuDChoaH06tULR0fHXJcLef+epKWlERoayowZM0xBkbOzM3379mXMmDEULFgwxzIe9j194403aNCgASEhIdy4cYPatWsTHx+P0Wjk+++/57XXXsuxjAoVKpCYmEixYsXM0u/cvN/5H5Kd7IKpmJgYihQpkmP9AHPmzOG9996jaNGilChRwqw8g8GQ7d9pmzZtclV+dnr16kXr1q0xGAwYDAZKlCiR7bE5XQeAhQsX0qFDB37++Weef/55APr27cuyZcvMPm/uZcKECcyePRu4/Rn0+eef8+mnn/Lzzz8zcODAbP9G7rZ8+XLOnTvHggULmD9/PmPGjKFx48Z0796d1q1b5/i7OXr0aKZOnUrfvn3NPg8HDhxIQkJCrnqAs/u9SE5OplChQjnmB+jduzeDBg3i5MmT1KpVCycnJ7P9VatWvWf+9evX88ILL1C4cGEGDBjA1atXCQoKokCBAlkG71m58/59/PHHZtdi7NixXLhwwfRe3cvbb7+N0Wjkm2++oXjx4g/95YPkT3p4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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#E4 – Feature Importance Top 15 of baseline Gradient Boosting model\n",
        "\n",
        "# I am getting the feature importance values learned by the baseline Gradient Boosting model\n",
        "importances_gb = gb_clf.feature_importances_\n",
        "# I am collecting all feature names from the training data\n",
        "feature_names = X_train.columns\n",
        "# I am creating a table that links each feature to its importance score\n",
        "feat_imp_gb = pd.DataFrame({\n",
        "    'feature': feature_names,\n",
        "    'importance': importances_gb\n",
        "}).sort_values(by='importance', ascending=False) # sorting from highest to lowest\n",
        "\n",
        "# I am printing the top 15 features\n",
        "print(\"Top 15 Important Features of baseline Gradient Boosting:\")\n",
        "print(feat_imp_gb.head(15))\n",
        "\n",
        "plt.figure(figsize=(10, 6)) # I am setting figure size\n",
        "sns.barplot(x='importance', y='feature', data=feat_imp_gb.head(15),color='#ffb347')\n",
        "plt.title(\"Top 15 Feature Importances - Gradient Boosting\")\n",
        "plt.xlabel(\"Importance\")\n",
        "plt.ylabel(\"Feature\")\n",
        "plt.tight_layout() # I am adjusting spacing for cleaner layout\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 902
        },
        "id": "_QzX42uJmvvn",
        "outputId": "a1ac7c61-eb57-4741-da3b-d47ea5a1f5ae"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Top 15 Important Features of baseline Gradient Boosting:\n",
            "                        feature  importance\n",
            "4                     src_bytes    0.381896\n",
            "28                same_srv_rate    0.282085\n",
            "37         dst_host_serror_rate    0.066199\n",
            "36  dst_host_srv_diff_host_rate    0.039143\n",
            "29                diff_srv_rate    0.032275\n",
            "1                 protocol_type    0.031312\n",
            "5                     dst_bytes    0.019538\n",
            "32           dst_host_srv_count    0.017031\n",
            "34       dst_host_diff_srv_rate    0.016661\n",
            "16           num_file_creations    0.015017\n",
            "26                  rerror_rate    0.014835\n",
            "22                        count    0.011964\n",
            "33       dst_host_same_srv_rate    0.010862\n",
            "24                  serror_rate    0.008027\n",
            "39         dst_host_rerror_rate    0.007959\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "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9VavXm2uUaOG2c7OzhwQEGB+6623zB9//HGO12v98ccf5ieffNLs7Oyc43VKe/fuNdevX99sY2Nj9vPzM7/zzjt5vk7sySefzDXev//+2zx8+HBzxYoVzTY2NuYyZcqYGzZsaJ46darx6q47uR/Zn+WNsl9T9Pbbb1uUb968OcdrsbLb3LNnj7lBgwZmOzs7s7+/v/m9997L0f///vc/c48ePcxlypQx29jYmKtXr57jtUV59Z1t1apV5qpVq5pLlChh8f1y6NAhc0REhNnJyclcpkwZc+/evY1XbN38uiVHR8cc7eb2urdr166Z3377bXOVKlXMNjY2Zg8PD3ObNm3Me/futai3bNkyc6NGjcyOjo5mR0dHc5UqVcwDBgwwJyQkmM1ms/n48ePml156yRwUFGS2s7Mzu7u7m5s1a2beuHFjrtd4t3766Sdzt27dzH5+fmYbGxuzo6OjuUaNGuahQ4davBbQbL71z8iOHTvM//jHP8z29vZmHx8f86uvvmresGGDGcjxsz579mxzhQoVzLa2tua6deuat23bZm7atOltXydmNpvNx44dM3fr1s3s7e1tLlmypLlcuXLmdu3amb/44gujTvbPyY8//mhxbvb35I3x3OpnMDc3/xtUvHhxc/ny5c19+vQx/+9//8tR/9NPPzWHhoaabW1tze7u7uYuXbqY//vf/+aot3HjRnNYWJjZ3t7e7OLiYo6MjDQfOnTIOJ6enm6OiYkx16xZ0+zs7Gx2dHQ016xZ0zx79myLdtLS0swvvPCC2c3NzQwYrxbL63Vi+f3+/vPPP80vvPCC2dnZ2ezq6mqOiooy79ixwwyYly5dest7JvIoMZnN92BlExERkVyYTCYGDBiQY1q6PHrCw8P566+/cl3US0QeLCtXruSZZ57hu+++u+2jDSKPCj3jLSIiIiIiBXL58mWL/czMTGbNmoWLiwu1a9cuoqhE7j96xltERERERArkX//6F5cvX6ZBgwakp6ezfPlyvv/+e9588807ep2fyMNOibeIiIiIiBRI8+bNmTZtGmvXruXKlStUrFiRWbNmMXDgwKIOTeS+ome8RURERERERKxIz3iLiIiIiIiIWJESbxEREREREREr0jPeIveJrKwsfv/9d5ydnTGZTEUdjoiIiIjII8NsNvP333/j4+NDsWKFPz6txFvkPvH777/j6+tb1GGIiIiIiDyyTp06Rfny5Qu9XSXeIvcJZ2dn4PoPu4uLSxFHIyIiIiLy6EhNTcXX19f4nbywKfEWuU9kTy93cXFR4i0iIiIiUgSs9cinFlcTERERERERsSKNeIvcZ86s7ctlB5uiDkNERERExKq82i8o6hDuGY14i4iIiIiIiFiREm8RERERERERK1LiLSIiIiIiImJFSrxFRERERERErEiJt4iIiIiIiIgVKfEWERERERERsSIl3iIiIiIiIiJWpMRbHipjxoyhVq1aRR2GiIiIiIiIQYm3yE1iY2Nxc3Mr6jBEREREROQhocRb7isZGRlFHYKIiIiIiEihUuIt98QXX3xB9erVsbe3p3Tp0kRERHDx4kWioqJo3749EydOxMfHh8qVKwPw3//+l+effx53d3ccHR2pW7cuu3fvznd/c+fOxdfXFwcHBzp16kRKSgoA27Zto2TJkvzxxx8W9QcNGkTjxo3ZsmULPXr0ICUlBZPJhMlkYsyYMQCkp6czbNgwypUrh6OjI/Xr12fLli1GGydPniQyMpJSpUrh6OhItWrVWLdu3d3dOBEREREReeCVKOoA5OGXnJzM888/z5QpU3jmmWf4+++/2b59O2azGYBvv/0WFxcXvvnmGwDS0tJo2rQp5cqVY/Xq1Xh7e7Nv3z6ysrLy1d9vv/3GZ599xpo1a0hNTaVnz57079+fuLg4mjRpQmBgIAsXLiQmJgaAq1evEhcXx5QpU2jYsCEzZsxg1KhRJCQkAODk5ATAwIEDOXToEEuXLsXHx4cVK1bQunVrDhw4QKVKlRgwYAAZGRls27YNR0dHDh06ZJybm/T0dNLT04391NTUO7+5IiIiIiJy31PiLVaXnJzMtWvXePbZZ/H39wegevXqxnFHR0c+/PBDbGxsAPjggw/4888/+fHHH3F3dwegYsWK+e7vypUrfPLJJ5QrVw6AWbNm8eSTTzJt2jS8vb3p2bMn8+fPNxLvNWvWcOXKFTp16oSNjQ2urq6YTCa8vb2NNpOSkpg/fz5JSUn4+PgAMGzYMNavX8/8+fN58803SUpKokOHDsa1BQYG3jLOSZMmMXbs2Hxfl4iIiIiIPJg01VysrmbNmrRo0YLq1avTsWNH5s2bx/nz543j1atXN5JugPj4eEJDQ42k+075+fkZSTdAgwYNyMrKMkawo6Ki+O2339i1axdwfTG1Tp064ejomGebBw4cIDMzk+DgYJycnIxt69atHDt2DIDo6GgmTJhAWFgYo0eP5ueff75lnMOHDyclJcXYTp06VaDrFRERERGR+5tGvMXqihcvzjfffMP333/P119/zaxZsxgxYoTxzPbNCa+9vb1V4/H09CQyMpL58+dToUIFvvrqK4tntXOTlpZG8eLF2bt3L8WLF7c4lj2dvFevXrRq1Yovv/ySr7/+mkmTJjFt2jT+9a9/5dqmra0ttra2hXJNIiIiIiJy/9KIt9wTJpOJsLAwxo4dy08//YSNjQ0rVqzItW6NGjWIj4/n3LlzBeorKSmJ33//3djftWsXxYoVMxZug+tJ8qeffsoHH3xAUFAQYWFhxjEbGxsyMzMt2gwNDSUzM5MzZ85QsWJFi+3GKem+vr7069eP5cuXM3ToUObNm1egaxARERERkYeHEm+xut27d/Pmm2+yZ88ekpKSWL58OX/++SchISG51n/++efx9vamffv27Nixg+PHj7Ns2TJ27tyZr/7s7Ozo3r07+/fvZ/v27URHR9OpUyeLBLlVq1a4uLgwYcIEevToYXF+QEAAaWlpfPvtt/z1119cunSJ4OBgunTpQrdu3Vi+fDknTpzghx9+YNKkSXz55ZfA9ZXRN2zYwIkTJ9i3bx+bN2/O8xpFREREROTRocRbrM7FxYVt27bRtm1bgoODeeONN5g2bRpt2rTJtb6NjQ1ff/01np6etG3blurVqzN58uQcU7zzUrFiRZ599lnatm3LE088QY0aNZg9e7ZFnWLFihEVFUVmZibdunWzONawYUP69evHP//5Tzw8PJgyZQoA8+fPp1u3bgwdOpTKlSvTvn17fvzxR/z8/ADIzMxkwIABhISE0Lp1a4KDg3P0KyIiIiIijx6TOfudTiKPmJ49e/Lnn3+yevXqog4FuP46MVdXV47GdcbZweb2J4iIiIiIPMC82i8o6hAM2b+Lp6Sk4OLiUujta3E1eeSkpKRw4MABFi9efN8k3SIiIiIi8vDSVHN5oFSrVs3idV43bnFxcflq4+mnn+aJJ56gX79+tGzZ0soRi4iIiIjIo04j3vJAWbduHVevXs31mJeXV77auN2rw0RERERERAqTEm95oPj7+xd1CCIiIiIiIndEU81FRERERERErEiJt4iIiIiIiIgVKfEWERERERERsSI94y1yn/FsN9cq7w4UEREREZGioRFvEREREREREStS4i0iIiIiIiJiRUq8RURERERERKxIibeIiIiIiIiIFSnxFhEREREREbEirWoucp85s7Yvlx1sijoMERERuU94tV9Q1CGIyF3SiLeIiIiIiIiIFSnxFhEREREREbEiJd4iIiIiIiIiVqTEW0RERERERMSKlHiLiIiIiIiIWJESbxERERERERErUuItIiIiIiIiYkVKvEVERERERESsSIm3yB0aM2YMtWrVKuowRERERETkAaHEWx5IGRkZD0SbIiIiIiIiSrwfYl988QXVq1fH3t6e0qVLExERwcWLF/nxxx9p2bIlZcqUwdXVlaZNm7Jv3z6Lc00mE3PnzqVdu3Y4ODgQEhLCzp07+e233wgPD8fR0ZGGDRty7Ngxi/NWrVpF7dq1sbOzIzAwkLFjx3Lt2rXbxmo2mxkzZgx+fn7Y2tri4+NDdHS0cTwgIIDx48fTrVs3XFxc6NOnDw0bNuS1116zaOfPP/+kZMmSbNu27bZ95tYmwGuvvUZwcDAODg4EBgYycuRIrl69CkBsbCxjx45l//79mEwmTCYTsbGxAFy4cIFevXrh4eGBi4sLzZs3Z//+/beNQ0REREREHm5KvB9SycnJPP/887z00kscPnyYLVu28Oyzz2I2m/n777/p3r073333Hbt27aJSpUq0bduWv//+26KN7KQ0Pj6eKlWq8MILL9C3b1+GDx/Onj17MJvNDBw40Ki/fft2unXrxiuvvMKhQ4eYO3cusbGxTJw48bbxLlu2jOnTpzN37lyOHj3KypUrqV69ukWdqVOnUrNmTX766SdGjhxJly5dWLp0KWaz2ajz6aef4uPjQ+PGjfN1n25uE8DZ2ZnY2FgOHTrEzJkzmTdvHtOnTwfgn//8J0OHDqVatWokJyeTnJzMP//5TwA6duzImTNn+Oqrr9i7dy+1a9emRYsWnDt3Ll+xiIiIiIjIw8lkvjFrkYfGvn37qFOnDomJifj7+9+yblZWFm5ubixevJh27doB10e833jjDcaPHw/Arl27aNCgAR999BEvvfQSAEuXLqVHjx5cvnwZgIiICFq0aMHw4cONthctWsSrr77K77//fssY3nnnHebOncvBgwcpWbJkjuMBAQGEhoayYsUKo+zPP//Ex8eHTZs2GYl2w4YNadKkCZMnT77dLcq1zdxMnTqVpUuXsmfPHuD6M94rV64kPj7eqPPdd9/x5JNPcubMGWxtbY3yihUr8uqrrxqj6TdKT08nPT3d2E9NTcXX15ejcZ1xdrC5bfwiIiLyaPBqv6CoQxB56KWmpuLq6kpKSgouLi6F3r5GvB9SNWvWpEWLFlSvXp2OHTsyb948zp8/D8D//vc/evfuTaVKlXB1dcXFxYW0tDSSkpIs2qhRo4bxtZeXF4DFKLSXlxdXrlwhNTUVgP379zNu3DicnJyMrXfv3iQnJ3Pp0qVbxtuxY0cuX75MYGAgvXv3ZsWKFTmmqNetW9di38PDgyeeeIK4uDgATpw4wc6dO+nSpUu+79PNbcL1UfOwsDC8vb1xcnLijTfeyHFvbrZ//37S0tIoXbq0xfWfOHEix3T8bJMmTcLV1dXYfH198x23iIiIiIg8OJR4P6SKFy/ON998w1dffUXVqlWZNWsWlStX5sSJE3Tv3p34+HhmzpzJ999/T3x8PKVLl86xuNiNI88mkynPsqysLADS0tIYO3Ys8fHxxnbgwAGOHj2KnZ3dLeP19fUlISGB2bNnY29vT//+/WnSpInxbDWAo6NjjvO6dOnCF198wdWrV1m8eDHVq1fPMUX9Vm5uMztxb9u2LWvXruWnn35ixIgRt114LS0tjbJly1pce3x8PAkJCcTExOR6zvDhw0lJSTG2U6dO5TtuERERERF5cJQo6gDEekwmE2FhYYSFhTFq1Cj8/f1ZsWIFO3bsYPbs2bRt2xaAU6dO8ddff911f7Vr1yYhIYGKFSsW6Hx7e3siIyOJjIxkwIABVKlShQMHDlC7du08z3n66afp06cP69evZ/HixXTr1q2g4QPw/fff4+/vz4gRI4yykydPWtSxsbEhMzPToqx27dr88ccflChRgoCAgHz1ZWtrazEtXUREREREHk5KvB9Su3fv5ttvv+WJJ57A09OT3bt38+effxISEkKlSpVYuHAhdevWJTU1lZiYGOzt7e+6z1GjRtGuXTv8/Px47rnnKFasGPv37+fgwYNMmDDhlufGxsaSmZlJ/fr1cXBwYNGiRdjb29/2+XRHR0fat2/PyJEjOXz4MM8///xdXUOlSpVISkpi6dKlPP7443z55Zc5ngEPCAjgxIkTxMfHU758eZydnYmIiKBBgwa0b9+eKVOmEBwczO+//86XX37JM888k+uUdhEREREReTRoqvlDysXFhW3bttG2bVuCg4N54403mDZtGm3atOGjjz7i/Pnz1K5dm65duxIdHY2np+dd99mqVSvWrl3L119/zeOPP84//vEPpk+fftvkGcDNzY158+YRFhZGjRo12LhxI2vWrKF06dK3PbdLly7s37+fxo0b4+fnd1fX8NRTTzF48GAGDhxIrVq1+P77743VzrN16NCB1q1b06xZMzw8PFiyZAkmk4l169bRpEkTevToQXBwMJ07d+bkyZPG8/EiIiIiIvJo0qrmIveJ7JUUtaq5iIiI3EirmotYn1Y1FxEREREREXmAKfGWeyIuLs7iNVs3btWqVSv0/rZv355nf05OToXen4iIiIiISF60uJrcE0899RT169fP9diNrygrLHXr1iU+Pr7Q2xUREREREblTSrzlnnB2dsbZ2fme9Wdvb1/g15qJiIiIiIgUJk01FxEREREREbEiJd4iIiIiIiIiVqTEW0RERERERMSK9Iy3yH3Gs91cq7w7UEREREREioZGvEVERERERESsSIm3iIiIiIiIiBUp8RYRERERERGxIiXeIiIiIiIiIlakxFtERERERETEipR4i4iIiIiIiFiRXicmcp85s7Yvlx1sijoMsSKv9guKOgQRERERuYc04i0iIiIiIiJiRUq8RURERERERKxIibeIiIiIiIiIFSnxFhEREREREbEiJd4iIiIiIiIiVqTEW0RERERERMSKlHiLiIiIiIiIWJES70IUHh7OoEGDCr3dLVu2YDKZuHDhQqG3LSIiIiIiItalxLsIWCtBvxsBAQHMmDGjqMO47yUmJmIymYiPjy/qUERERERE5AGhxFvuCxkZGTnKzGYz165du+O2CnJebv2LiIiIiIgUBiXeBXTx4kW6deuGk5MTZcuWZdq0aRbHZ8+eTaVKlbCzs8PLy4vnnnsOgKioKLZu3crMmTMxmUyYTCYSExPz1efevXupW7cuDg4ONGzYkISEBIvjc+bMISgoCBsbGypXrszChQuNY2azmTFjxuDn54etrS0+Pj5ER0cD10fgT548yeDBg42YbufkyZNERkZSqlQpHB0dqVatGuvWrTOOHzx4kDZt2uDk5ISXlxddu3blr7/+Mo6Hh4czcOBABg0aRJkyZWjVqpUxpf6rr76iTp062Nra8t1335Genk50dDSenp7Y2dnRqFEjfvzxR6OtvM67lTFjxlCrVi0+/PBDKlSogJ2dHQDr16+nUaNGuLm5Ubp0adq1a8exY8eM8ypUqABAaGgoJpOJ8PBw49iHH35ISEgIdnZ2VKlShdmzZ9/2PoqIiIiIyMNPiXcBxcTEsHXrVlatWsXXX3/Nli1b2LdvHwB79uwhOjqacePGkZCQwPr162nSpAkAM2fOpEGDBvTu3Zvk5GSSk5Px9fXNV58jRoxg2rRp7NmzhxIlSvDSSy8Zx1asWMErr7zC0KFDOXjwIH379qVHjx5s3rwZgGXLljF9+nTmzp3L0aNHWblyJdWrVwdg+fLllC9fnnHjxhkx3c6AAQNIT09n27ZtHDhwgLfeegsnJycALly4QPPmzQkNDWXPnj2sX7+e//3vf3Tq1MmijQULFmBjY8OOHTt4//33jfLXX3+dyZMnc/jwYWrUqMGrr77KsmXLWLBgAfv27aNixYq0atWKc+fOWbR383m389tvv7Fs2TKWL19uTB2/ePEiQ4YMYc+ePXz77bcUK1aMZ555hqysLAB++OEHADZu3EhycjLLly8HIC4ujlGjRjFx4kQOHz7Mm2++yciRI1mwYEGe/aenp5OammqxiYiIiIjIw6dEUQfwIEpLS+Ojjz5i0aJFtGjRArieRJYvXx6ApKQkHB0dadeuHc7Ozvj7+xMaGgqAq6srNjY2ODg44O3tfUf9Tpw4kaZNmwLXk8wnn3ySK1euYGdnx9SpU4mKiqJ///4ADBkyhF27djF16lSaNWtGUlIS3t7eREREULJkSfz8/KhXrx4A7u7uFC9eHGdn53zHlJSURIcOHYzkPTAw0Dj23nvvERoayptvvmmUffzxx/j6+nLkyBGCg4MBqFSpElOmTDHqZCf848aNo2XLlsD1RHjOnDnExsbSpk0bAObNm8c333zDRx99RExMjHH+jeflR0ZGBp988gkeHh5GWYcOHSzqfPzxx3h4eHDo0CEee+wxo27p0qUt7tXo0aOZNm0azz77LHB9ZPzQoUPMnTuX7t2759r/pEmTGDt2bL7jFRERERGRB5NGvAvg2LFjZGRkUL9+faPM3d2dypUrA9CyZUv8/f0JDAyka9euxMXFcenSpbvu98ZR3LJlywJw5swZAA4fPkxYWJhF/bCwMA4fPgxAx44duXz5MoGBgfTu3ZsVK1YU6PnpbNHR0UyYMIGwsDBGjx7Nzz//bBzbv38/mzdvxsnJydiqVKkCYDFtu06dOrm2XbduXePrY8eOcfXqVYtrK1myJPXq1TOuLbfz8sPf398i6QY4evQozz//PIGBgbi4uBAQEABc/0NDXi5evMixY8fo2bOnxTVPmDDB4npvNnz4cFJSUozt1KlTdxS/iIiIiIg8GJR4W4GzszP79u1jyZIllC1bllGjRlGzZs27fh1YyZIlja+zn8POngJ9O76+viQkJDB79mzs7e3p378/TZo04erVqwWKpVevXhw/fpyuXbty4MAB6taty6xZs4DrMwIiIyOJj4+32I4ePWpMuQdwdHTMte28ym/nTs/LrX5kZCTnzp1j3rx57N69m927dwO3XnwtLS0NuD4Sf+P1Hjx4kF27duV5nq2tLS4uLhabiIiIiIg8fJR4F0BQUBAlS5Y0kjKA8+fPc+TIEWO/RIkSREREMGXKFH7++WcSExPZtGkTADY2NmRmZhZqTCEhIezYscOibMeOHVStWtXYt7e3JzIyknfffZctW7awc+dODhw4UOCYfH196devH8uXL2fo0KHMmzcPgNq1a/PLL78QEBBAxYoVLbY7TY6zF4u78dquXr3Kjz/+aHFtheHs2bMkJCTwxhtv0KJFC0JCQjh//rxFHRsbGwCLe+Xl5YWPjw/Hjx/Pcb3Zi7GJiIiIiMijS894F4CTkxM9e/YkJiaG0qVL4+npyYgRIyhW7PrfMdauXcvx48dp0qQJpUqVYt26dWRlZRlT0QMCAti9ezeJiYk4OTnh7u5unFtQMTExdOrUidDQUCIiIlizZg3Lly9n48aNAMTGxpKZmUn9+vVxcHBg0aJF2Nvb4+/vb8S0bds2OnfujK2tLWXKlLllf4MGDaJNmzYEBwdz/vx5Nm/eTEhICHB94bV58+bx/PPP8+qrr+Lu7s5vv/3G0qVL+fDDDylevHi+r8vR0ZGXX36ZmJgY3N3d8fPzY8qUKVy6dImePXsW8G7lrlSpUpQuXZoPPviAsmXLkpSUxOuvv25Rx9PTE3t7e9avX0/58uWxs7PD1dWVsWPHEh0djaurK61btyY9PZ09e/Zw/vx5hgwZUqhxioiIiIjIg0Uj3gX09ttv07hxYyIjI4mIiKBRo0bGM8tubm4sX76c5s2bExISwvvvv8+SJUuoVq0aAMOGDaN48eJUrVoVDw+PWz4/nF/t27dn5syZTJ06lWrVqjF37lzmz59vvO7Kzc2NefPmERYWRo0aNdi4cSNr1qyhdOnSwPWFyRITEwkKCsrx3HNuMjMzGTBgACEhIbRu3Zrg4GDj9Vk+Pj7s2LGDzMxMnnjiCapXr86gQYNwc3Mr0B8YJk+eTIcOHejatSu1a9fmt99+Y8OGDZQqVeqO27qVYsWKsXTpUvbu3ctjjz3G4MGDefvtty3qlChRgnfffZe5c+fi4+PD008/DVyfev/hhx8yf/58qlevTtOmTYmNjdWIt4iIiIiIYDKbzeaiDkJEIDU1FVdXV47GdcbZwaaowxEr8mqf92vmREREROTey/5dPCUlxSprL2nEW0RERERERMSKlHjfB/r162fxGqobt379+hVJTG3atMkzphvfz32/qlatWp7xx8XFFXV4IiIiIiLyCNFU8/vAmTNnSE1NzfWYi4sLnp6e9zgiOH36NJcvX871mLu7O+7u7vc4ojtz8uTJPF+V5uXlhbOz8z2O6PY01fzRoanmIiIiIvcXa08116rm9wFPT88iSa5vpVy5ckUdwl3JXq1dRERERESkqGmquYiIiIiIiIgVKfEWERERERERsSIl3iIiIiIiIiJWpGe8Re4znu3mWmVBBxERERERKRoa8RYRERERERGxIiXeIiIiIiIiIlakxFtERERERETEipR4i4iIiIiIiFiREm8RERERERERK1LiLSIiIiIiImJFep2YyH3mzNq+XHawKeow7kte7RcUdQgiIiIiIndMI94iIiIiIiIiVqTEW0RERERERMSKlHiLiIiIiIiIWJESbxERERERERErUuItIiIiIiIiYkVKvEVERERERESsSIm3iIiIiIiIiBXdd4l3eHg4gwYNKvR2t2zZgslk4sKFC4Xe9oPs5vsSGxuLm5ubRZ0PPvgAX19fihUrxowZM/Isy8uYMWOoVatWoccuIiIiIiLyILjvEu/8slaCfjcCAgJum4Te7/75z39y5MgRYz81NZWBAwfy2muvcfr0afr06ZNrWVFKTEzEZDIRHx9v9b70BxwREREREblTJYo6AMkfs9lMZmYmJUpY9yOzt7fH3t7e2E9KSuLq1as8+eSTlC1bFoCDBw/mKHvQZWRkYGNjU9RhiIiIiIjIQ6hIR7wvXrxIt27dcHJyomzZskybNs3i+OzZs6lUqRJ2dnZ4eXnx3HPPARAVFcXWrVuZOXMmJpMJk8lEYmJivvrcu3cvdevWxcHBgYYNG5KQkGBxfM6cOQQFBWFjY0PlypVZuHChccxsNjNmzBj8/PywtbXFx8eH6Oho4PoI/MmTJxk8eLAR0+2cPHmSyMhISpUqhaOjI9WqVWPdunXA/42sfvXVV9SpUwdbW1s+/vhjTCYTv/76q0U706dPJygoKF/Xv27dOoKDg7G3t6dZs2Y57tuNU81jY2OpXr06AIGBgZhMplzL8nvvFy5cSEBAAK6urnTu3Jm///7bOJaenk50dDSenp7Y2dnRqFEjfvzxR+P4+fPn6dKlCx4eHtjb21OpUiXmz58PQIUKFQAIDQ3FZDIRHh5+21iioqJo3749EydOxMfHh8qVKxsx1q1bF2dnZ7y9vXnhhRc4c+YMcH1kvVmzZgCUKlUKk8lEVFQUAFlZWUyaNIkKFSpgb29PzZo1+eKLL/J1X0RERERE5OFWpIl3TEwMW7duZdWqVXz99dds2bKFffv2AbBnzx6io6MZN24cCQkJrF+/niZNmgAwc+ZMGjRoQO/evUlOTiY5ORlfX9989TlixAimTZvGnj17KFGiBC+99JJxbMWKFbzyyisMHTqUgwcP0rdvX3r06MHmzZsBWLZsGdOnT2fu3LkcPXqUlStXGkno8uXLKV++POPGjTNiup0BAwaQnp7Otm3bOHDgAG+99RZOTk4WdV5//XUmT57M4cOHee6556hbty5xcXEWdeLi4njhhRdu29+pU6d49tlniYyMJD4+nl69evH666/nWf+f//wnGzduBOCHH34gOTmZjh075ijLz70/duwYK1euZO3ataxdu5atW7cyefJk4/irr77KsmXLWLBgAfv27aNixYq0atWKc+fOATBy5EgOHTrEV199xeHDh5kzZw5lypQx4gDYuHEjycnJLF++/LbxAHz77bckJCTwzTffsHbtWgCuXr3K+PHj2b9/PytXriQxMdFIrn19fVm2bBkACQkJJCcnM3PmTAAmTZrEJ598wvvvv88vv/zC4MGDefHFF9m6dWue/aenp5OammqxiYiIiIjIw6fIppqnpaXx0UcfsWjRIlq0aAHAggULKF++PHB9irOjoyPt2rXD2dkZf39/QkNDAXB1dcXGxgYHBwe8vb3vqN+JEyfStGlT4HpS++STT3LlyhXs7OyYOnUqUVFR9O/fH4AhQ4awa9cupk6dSrNmzUhKSsLb25uIiAhKliyJn58f9erVA8Dd3Z3ixYsbI6X5kZSURIcOHSxGkG82btw4WrZsaex36dKF9957j/HjxwNw5MgR9u7dy6JFi27bX/ZofvbMgsqVKxsJf27s7e0pXbo0AB4eHsZ15VZ2O1lZWcTGxuLs7AxA165d+fbbb5k4cSIXL15kzpw5xMbG0qZNGwDmzZvHN998w0cffURMTAxJSUmEhoZSt25d4Prz9Nk8PDyMuO7k+8HR0ZEPP/zQYor5jX+ICQwM5N133+Xxxx8nLS0NJycn3N3dAfD09DRmBqSnp/Pmm2+yceNGGjRoYJz73XffMXfuXOP77WaTJk1i7Nix+Y5XREREREQeTEU24n3s2DEyMjKoX7++Uebu7m5M+W3ZsiX+/v4EBgbStWtX4uLiuHTp0l33W6NGDePr7OeTs6cSHz58mLCwMIv6YWFhHD58GICOHTty+fJlAgMD6d27NytWrODatWsFjiU6OpoJEyYQFhbG6NGj+fnnn3PUyU40s3Xu3JnExER27doFXB/trl27NlWqVLltf4cPH7a434CRKFpbQECAkXTD9Xuffd+PHTvG1atXLe59yZIlqVevnnHvX375ZZYuXUqtWrV49dVX+f777+86purVq+d4rnvv3r1ERkbi5+eHs7OzkTQnJSXl2c5vv/3GpUuXaNmyJU5OTsb2ySefcOzYsTzPGz58OCkpKcZ26tSpu74mERERERG5/9y3q5o7Ozuzb98+lixZQtmyZRk1ahQ1a9a869WkS5YsaXyd/Rx2VlZWvs719fUlISGB2bNnY29vT//+/WnSpAlXr14tUCy9evXi+PHjdO3alQMHDlC3bl1mzZplUcfR0dFi39vbm+bNm7N48WIAFi9eTJcuXQrU/710432H6/c+v/cdoE2bNsYz9L///jstWrRg2LBhdxXTzff24sWLtGrVChcXF+Li4vjxxx9ZsWIFcH3xtbykpaUB8OWXXxIfH29shw4duuVz3ra2tri4uFhsIiIiIiLy8CmyxDsoKIiSJUuye/duo+z8+fMWr7IqUaIEERERTJkyhZ9//pnExEQ2bdoEgI2NDZmZmYUaU0hICDt27LAo27FjB1WrVjX27e3tiYyM5N1332XLli3s3LmTAwcOFDgmX19f+vXrx/Llyxk6dCjz5s277TldunTh008/ZefOnRw/fpzOnTvnq6+QkBDjeehs2SPnRSl7Mbsb7/3Vq1f58ccfLe69h4cH3bt3Z9GiRcyYMYMPPvgAwBi1vtvvh19//ZWzZ88yefJkGjduTJUqVYxR+Wy59VW1alVsbW1JSkqiYsWKFlt+1x4QEREREZGHV5E94+3k5ETPnj2JiYmhdOnSeHp6MmLECIoVu/63gLVr13L8+HGaNGlCqVKlWLduHVlZWcZU9ICAAHbv3k1iYqLx7G32uQUVExNDp06dCA0NJSIigjVr1rB8+XJjMbHY2FgyMzOpX78+Dg4OLFq0CHt7e/z9/Y2Ytm3bRufOnbG1tTUW/8rLoEGDaNOmDcHBwZw/f57NmzcTEhJy2zifffZZXn75ZV5++WWaNWuGj49Pvq6vX79+TJs2jZiYGHr16sXevXuJjY3N17nW5OjoyMsvv0xMTAzu7u74+fkxZcoULl26RM+ePQEYNWoUderUoVq1aqSnp7N27VrjXnl6emJvb8/69espX748dnZ2uLq63nEcfn5+2NjYMGvWLPr168fBgweNZ+mz+fv7YzKZWLt2LW3btsXe3h5nZ2eGDRvG4MGDycrKolGjRqSkpLBjxw5cXFzo3r373d8kERERERF5YBXpVPO3336bxo0bExkZSUREBI0aNaJOnToAuLm5sXz5cpo3b05ISAjvv/8+S5YsoVq1agAMGzaM4sWLU7VqVTw8PG75DG5+tW/fnpkzZzJ16lSqVavG3LlzmT9/vvF6Kjc3N+bNm0dYWBg1atRg48aNrFmzxlhsbNy4cSQmJhIUFGQs+HUrmZmZDBgwgJCQEFq3bk1wcDCzZ8++7XnOzs5ERkayf//+O5pm7ufnx7Jly1i5ciU1a9bk/fff580338z3+dY0efJkOnToQNeuXalduza//fYbGzZsoFSpUsD1kebhw4dTo0YNmjRpQvHixVm6dClwfWbEu+++y9y5c/Hx8eHpp58uUAweHh7Exsby+eefU7VqVSZPnszUqVMt6pQrV46xY8fy+uuv4+XlxcCBAwEYP348I0eOZNKkScbn+eWXXxqvOhMRERERkUeXyWw2m4s6CBGB1NRUXF1dORrXGWcHm9uf8Ajyar+gqEMQERERkYdQ9u/iKSkpVll76b5dXE1ERERERETkYfDQJN79+vWzeJXTjVu/fv2KJKY2bdrkGZM1pngX1T2oVq1anv3GxcVZrd9bySseJycntm/fXiQxiYiIiIjIo+mhmWp+5swZUlNTcz3m4uKCp6fnPY4ITp8+zeXLl3M95u7ujru7e6H2V1T34OTJk3m+Us3Ly8vi/d33ym+//ZbnsXLlymFvb38Po8kfTTW/PU01FxERERFrsPZU8yJb1byweXp6FklyfSvlypW7p/0V1T3IXtX9flKxYsWiDkFERERERAR4iKaai4iIiIiIiNyPlHiLiIiIiIiIWNFDM9Vc5GHh2W6uVZ4rERERERGRoqERbxERERERERErUuItIiIiIiIiYkVKvEVERERERESsSIm3iIiIiIiIiBUp8RYRERERERGxIiXeIiIiIiIiIlak14mJ3GfOrO3LZQebog7D6rzaLyjqEERERERE7gmNeIuIiIiIiIhYkRJvEREREREREStS4i0iIiIiIiJiRUq8RURERERERKxIibeIiIiIiIiIFSnxFhEREREREbEiJd4iIiIiIiIiVqTEW/ItPDycQYMGARAQEMCMGTOMY3/88QctW7bE0dERNze3PMtEREREREQeNSWKOgB5MP344484Ojoa+9OnTyc5OZn4+HhcXV3zLHsYjBkzhpUrVxIfH1/UoYiIiIiIyANAibcUiIeHh8X+sWPHqFOnDpUqVbplWWHJyMjAxsbmvm9TREREREREU80lVxcvXqRbt244OTlRtmxZpk2bZnH8xqnmAQEBLFu2jE8++QSTyURUVFSuZbdiNpsZM2YMfn5+2Nra4uPjQ3R0tEV/48ePp1u3bri4uNCnTx8aNmzIa6+9ZtHOn3/+ScmSJdm2bdttrzG3NgFee+01goODcXBwIDAwkJEjR3L16lUAYmNjGTt2LPv378dkMmEymYiNjQXgwoUL9OrVCw8PD1xcXGjevDn79++/bRwiIiIiIvJw04i35ComJoatW7eyatUqPD09+fe//82+ffuoVatWjro//vijkbzOnDkTe3t7MjIycpTdyrJly5g+fTpLly6lWrVq/PHHHzmS1qlTpzJq1ChGjx4NwPr165kyZQqTJ0/GZDIB8Omnn+Lj40Pjxo3zdZ03twng7OxMbGwsPj4+HDhwgN69e+Ps7Myrr77KP//5Tw4ePMj69evZuHEjgDGNvmPHjtjb2/PVV1/h6urK3LlzadGiBUeOHMHd3T1f8YiIiIiIyMNH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i01ERERERB4+JYo6ALn3fH19mT59OiaTicqVK3PgwAGmT59O7969AWjevDlDhw416nfp0oUWLVowcuRIAIKDgzl06BBvv/02UVFRuLu7U7x4cZydnfH29jbOe+edd2553pEjR/jss8/45ptviIiIACAwMNA4f/bs2fj6+vLee+9hMpmoUqUKv//+O6+99hqjRo2iWLH8/90orxh79epFw4YNSU5OpmzZspw5c4Z169axceNGi/MHDhxIhw4dAJgzZw7r16/no48+4tVXX+W9994jNDSUN99806j/8ccf4+vry5EjRwgODs41pkmTJjF27Nh8X4OIiIiIiDyYNOL9CPrHP/5hMR28QYMGHD16lMzMTADq1q1rUf/w4cOEhYVZlIWFhVmck5vbnRcfH0/x4sVp2rRpnuc3aNDAItawsDDS0tL473//m7+LvY169epRrVo1FixYAMCiRYvw9/enSZMmFvUaNGhgfF2iRAnq1q3L4cOHAdi/fz+bN2/GycnJ2KpUqQLAsWPH8ux7+PDhpKSkGNupU6cK5ZpEREREROT+ohFvycHR0fGe9GNvb39P+rmdXr168Z///IfXX3+d+fPn06NHD4tk/3bS0tKIjIzkrbfeynGsbNmyeZ5na2uLra1tgWIWEREREZEHh0a8H0G7d++22N+1axeVKlWiePHiudYPCQlhx44dFmU7duwgODjYOMfGxibH6PftzqtevTpZWVk5Fiq78fydO3caC79ln+/s7Ez58uXzd7E3yC1GgBdffJGTJ0/y7rvvcujQIbp3756jzq5du4yvr127xt69ewkJCQGgdu3a/PLLLwQEBFCxYkWL7V79EUNERERERO5fSrwfQUlJSQwZMoSEhASWLFnCrFmzeOWVV/KsP3ToUL799lvGjx/PkSNHWLBgAe+99x7Dhg0z6gQEBLBt2zZOnz5trOZ9u/MCAgLo3r07L730EitXruTEiRNs2bKFzz77DID+/ftz6tQp/vWvf/Hrr7+yatUqRo8ezZAhQ+7o+e5bxQhQqlQpnn32WWJiYnjiiSdyTer/85//sGLFCn799VcGDBjA+fPneemllwAYMGAA586d4/nnn+fHH3/k2LFjbNiwgR49etxyKr6IiIiIiDwalHg/grp168bly5epV68eAwYM4JVXXjFeG5ab2rVr89lnn7F06VIee+wxRo0axbhx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ERF5sGjEW6zu7bffpnHjxkRGRhIREUGjRo2oU6cOAG5ubixfvpzmzZsTEhLC+++/z5IlS6hWrRoAw4YNo3jx4lStWhUPDw+SkpLy1efkyZN55ZVXqFOnDn/88Qdr1qwxRrKz9ezZk4yMDF566SWL8hIlSvDuu+8yd+5cfHx8ePrpp4Hr09M//PBD5s+fT/Xq1WnatCmxsbHGiLezszNTpkyhbt26PP744yQmJrJu3bp8/aFAREREREQeXiaz2Wwu6iBEisLChQsZPHgwv//+e46kvCikpqbi6urK0bjOODsUfTwAXu0XFHUIIiIiIiJWl/27eEpKilXWXtJUc3nkXLp0ieTkZCZPnkzfvn3vi6RbREREREQeXpoDKw+Ufv36WbzO68atX79++WpjypQpVKlSBW9vb4YPH27liEVERERE5FGnqebyQDlz5gypqam5HnNxccHT0/MeR1R4NNVcRERERKRoaKq5yA08PT0f6ORaREREREQePQWear5w4ULCwsLw8fHh5MmTAMyYMYNVq1YVWnAiIiIiIiIiD7oCJd5z5sxhyJAhtG3blgsXLpCZmQlcfzXUjBkzCjM+ERERERERkQdagZ7xrlq1Km+++Sbt27fH2dmZ/fv3ExgYyMGDBwkPD+evv/6yRqwiDzVrP1ciIiIiIiK5s/bv4gUa8T5x4gShoaE5ym1tbbl48eJdByUiIiIiIiLysChQ4l2hQgXi4+NzlK9fv56QkJC7jUlERERERETkoVGgVc2HDBnCgAEDuHLlCmazmR9++IElS5YwadIkPvzww8KOUUREREREROSBVaDEu1evXtjb2/PGG29w6dIlXnjhBXx8fJg5cyadO3cu7BhFREREREREHlh3nHhfu3aNxYsX06pVK7p06cKlS5dIS0vTu5VFREREREREcnHHz3iXKFGCfv36ceXKFQAcHByUdIuIiIiIiIjkoUBTzevVq8dPP/2Ev79/Yccj8sg7s7Yvlx1s7nm/Xu0X3PM+RUREREQeBQVKvPv378/QoUP573//S506dXB0dLQ4XqNGjUIJTkRERERERORBV6DEO3sBtejoaKPMZDJhNpsxmUxkZmYWTnQiIiIiIiIiD7gCJd4nTpwo7DhEREREREREHkoFSrz1bLeIiIiIiIhI/hQo8f7kk09uebxbt24FCkZERERERETkYVOgxPuVV16x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lwsvOjF4enred4lluXLl7ml/9+M9EBERERERuZ0CTTUPDAzkxIkTAFSpUoXPPvsMgDVr1uDm5lZowYmIiIiIiIg86AqUePfo0YP9+/cD8Prrr/Of//wHOzs7Bg8eTExMTKEGKCIiIiIiIvIgK9BU88GDBxtfR0RE8Ouvv7J3714qVqxIjRo1Ci04ERERERERkQddobzH287OrrDiEXlkWXtBBxERERERyd19+R7vzMxMxo8fT7ly5XBycuL48eMAjBw5ko8++qhQAxQRERERERF5kBUo8Z44cSKxsbFMmTIFG5v/e+3RY489xocfflhowYmIiIiIiIg86AqUeH/yySd88MEHdOnSheLFixvlNWvW5Ndffy204EREREREREQedAVKvE+fPk3FihVzlGdlZXH16tW7DkpERERERETkYVGgxLtq1aps3749R/kXX3xBaGjoXQclIiIiIiIi8rAo0OvERo0aRffu3Tl9+jRZWVksX76chIQEPvnkE9auXVvYMYqIiIiIiIg8sO7odWLHjx+nQoUKmEwmtm/fzrhx49i/fz9paWnUrl2bUaNG8cQTT1gzXpGHVvYrDI7GdcbZweb2JxQir/YL7ml/IiIiIiL3E2u/TuyORrwrVapEcnIynp6eNG7cGHd3dw4cOICXl1ehByYiIiIiIiLyMLijZ7xvHhz/6quvuHjxYqEGJCIiIiIiIvIwKdDiatnuYJa6iIiIiIiIyCPpjhJvk8mEyWTKUSYiIiIiIiIiubujZ7zNZjNRUVHY2toCcOXKFfr164ejo6NFveXLlxdehCIiIiIiIiIPsDtKvLt3726x/+KLLxZqMCIiIiIiIiIPmztKvOfPn2+tOEREREREREQeSne1uNqjIjw8nEGDBhV6u1u2bMFkMnHhwoVCb7swxcbG4ubmZuyPGTOGWrVqWdQZM2YMXl5emEwmVq5cmWeZiIiIiIjIo0aJdyGyVoJ+NwICApgxY0ahtjls2DC+/fZbY//w4cOMHTuWuXPnkpycTJs2bXItexgkJiZiMpmIj48v6lBEREREROQBcUdTzUUAnJyccHJyMvaPHTsGwNNPP22scp9bWWHJyMjAxsbmvm9TREREREQENOKdw8WLF+nWrRtOTk6ULVuWadOmWRyfPXs2lSpVws7ODi8vL5577jkAoqKi2Lp1KzNnzjReu5aYmJivPvfu3UvdunVxcHCgYcOGJCQkWByfM2cOQUFB2NjYULlyZRYuXGgcM5vNjBkzBj8/P2xtbfHx8SE6Ohq4PgJ/8uRJBg8enOur4PISGxuLn58fDg4OPPPMM5w9e9bi+I1TzceMGUNkZCQAxYoVw2Qy5Vp2O1u2bKFevXo4Ojri5uZGWFgYJ0+etOjvww8/pEKFCtjZ2fHBBx/g4+NDVlaWRTtPP/00L7300m37y61NgPXr19OoUSPc3NwoXbo07dq1M/6IAFChQgUAQkNDMZlMhIeHG8c+/PBDQkJCsLOzo0qVKsyePfu2cYiIiIiIyMNPifdNYmJi2Lp1K6tWreLrr79my5Yt7Nu3D4A9e/YQHR3NuHHjSEhIYP369TRp0gSAmTNn0qBBA3r37k1ycjLJycn4+vrmq88RI0Ywbdo09uzZQ4kSJSwSxxUrVvDKK68wdOhQDh48SN++fenRowebN28GYNmyZUyfPp25c+dy9OhRVq5cSfXq1YHrr3UrX74848aNM2K6nd27d9OzZ08GDhxIfHw8zZo1Y8KECXnWHzZsmLHoXnYfuZXdyrVr12jfvj1Nmzbl559/ZufOnfTp08ciYf/tt99YtmwZy5cvJz4+no4dO3L27FnjPgCcO3eO9evX06VLl9teZ25twvU/vAwZMoQ9e/bw7bffUqxYMZ555hkjwf/hhx8A2LhxI8nJycar8+Li4hg1ahQTJ07k8OHDvPnmm4wcOZIFCxbk2X96ejqpqakWm4iIiIiIPHw01fwGaWlpfPTRRyxatIgWLVoAsGDBAsqXLw9AUlISjo6OtGvXDmdnZ/z9/QkNDQXA1dUVGxsbHBwc8Pb2vqN+J06cSNOmTQF4/fXXefLJJ7ly5Qp2dnZMnTqVqKgo+vfvD8CQIUPYtWsXU6dOpVmzZiQlJeHt7U1ERAQlS5bEz8+PevXqAeDu7k7x4sVxdnbOd0wzZ86kdevWvPrqqwAEBwfz/fffs379+lzrOzk5GQuv3dhHbmV5SU1NJSUlhXbt2hEUFARASEiIRZ2MjAw++eQTPDw8jLI2bdqwePFi47P64osvKFOmDM2aNcvXtebWZocOHSzqfPzxx3h4eHDo0CEee+wxo27p0qUtrm306NFMmzaNZ599Frg+Mn7o0CHmzp2b4zV82SZNmsTYsWPzFauIiIiIiDy4NOJ9g2PHjpGRkUH9+vWNMnd3dypXrgxAy5Yt8ff3JzAwkK5duxIXF8elS5fuut8aNWoYX5ctWxaAM2fOANcXLgsLC7OoHxYWxuHDhwHo2LEjly9fJjAwkN69e7NixQquXbtW4FgOHz5scf0ADRo0KHB7+eHu7k5UVBStWrUiMjKSmTNn5hgl9/f3t0iQAbp06cKyZctIT08Hro86d+7cmWLF8vdtnVubR48e5fnnnycwMBAXFxcCAgKA6390ycvFixc5duwYPXv2NJ5/d3JyYsKECRbT1G82fPhwUlJSjO3UqVP5iltERERERB4sSrzvgLOzM/v27WPJkiWULVuWUaNGUbNmzbt+HVjJkiWNr7OnV9/87HJefH19SUhIYPbs2djb29O/f3+aNGnC1atX7yqme23+/Pns3LmThg0b8umnnxIcHMyuXbuM446OjjnOiYyMxGw28+WXX3Lq1Cm2b9+e72nmt2rz3LlzzJs3j927d7N7927g+uh4XtLS0gCYN28e8fHxxnbw4EGLa7iZra0tLi4uFpuIiIiIiDx8lHjfICgoiJIlSxrJFsD58+c5cuSIsV+iRAkiIiKYMmUKP//8M4mJiWzatAkAGxsbMjMzCzWmkJAQduzYYVG2Y8cOqlatauzb29sTGRnJu+++y5YtW9i5cycHDhwoUEwhISEW1w/cMnksTKGhoQwfPpzvv/+exx57jMWLF9+yvp2dHc8++yxxcXEsWbKEypUrU7t27QL3f/bsWRISEnjjjTdo0aIFISEhnD9/3qJO9srnN95TLy8vfHx8OH78OBUrVrTYshdjExERERGRR5ee8b6Bk5MTPXv2JCYmhtKlS+Pp6cmIESOMqctr167l+PHjNGnShFKlSrFu3TqysrKMqegBAQHs3r2bxMREnJyccHd3z/e057zExMTQqVMnQkNDiYiIYM2aNSxfvpyNGzcC11cgz8zMpH79+jg4OLBo0SLs7e3x9/c3Ytq2bRudO3fG1taWMmXK3LK/6OhowsLCmDp1Kk8//TQbNmzI8/nuwnLixAk++OADnnrqKXx8fEhISODo0aN069bttud26dKFdu3a8csvv/Diiy/eVRylSpWidOnSfPDBB5QtW5akpCRef/11izqenp7Y29uzfv16ypcvj52dHa6urowdO5bo6GhcXV1p3bo16enp7Nmzh/PnzzNkyJC7iktERERERB5sGvG+ydtvv03jxo2JjIwkIiKCRo0aUadOHeD6gmHLly+nefPmhISE8P7777NkyRKqVasGXF/hu3jx4lStWhUPD49bPhecX+3bt2fmzJlMnTqVatWqMXfuXObPn2+8xsrNzY158+YRFhZGjRo12LhxI2vWrKF06dIAjBs3jsTERIKCgnI8z5ybf/zjH8ybN4+ZM2dSs2ZNvv76a9544427vo5bcXBw4Ndff6VDhw4EBwfTp08fBgwYQN++fW97bvPmzXF3dychIYEXXnjhruIoVqwYS5cuZe/evTz22GMMHjyYt99+26JOiRIlePfdd5k7dy4+Pj48/fTTAPTq1YsPP/yQ+fPnU716dZo2bUpsbKxGvEVEREREBJPZbDYXdRAicn11d1dXV47GdcbZweae9u3VPu/XnomIiIiIPOyyfxdPSUmxytpLGvEWERERERERsSIl3lbUr18/i9dL3bj169evSGJq06ZNnjG9+eabVus3rz6dnJzYvn17ofdXrVq1PPuLi4sr9P5ERERERETyoqnmVnTmzBlSU1NzPebi4oKnp+c9jghOnz7N5cuXcz3m7u6Ou7u7Vfr97bff8jxWrlw57O3tC7W/kydP5vlKNS8vL5ydnQu1v8KgqeYiIiIiIkXD2lPNtaq5FXl6ehZJcn0r5cqVK5J+K1aseE/7y17VXUREREREpKhpqrmIiIiIiIiIFSnxFhEREREREbEiJd4iIiIiIiIiVqRnvEXuM57t5lplQQcRERERESkaGvEWERERERERsSIl3iIiIiIiIiJWpMRbRERERERExIqUeIuIiIiIiIhYkRJvERERERERESvSquYi95kza/ty2cHG6v14tV9g9T5EREREREQj3iIiIiIiIiJWpcRbRERERERExIqUeIuIiIiIiIhYkRJvEREREREREStS4i0iIiIiIiJiRUq8RURERERERKxIibeIiIiIiIiIFSnxfkSZzWb69OmDu7s7JpOJ+Ph4wsPDGTRokFEnICCAGTNmFFmM1nTztYqIiIiIiFhLiaIOQIrG+vXriY2NZcuWLQQGBlKmTBmWL19OyZIlizq0QrVlyxaaNWvG+fPncXNzM8ofxmsVEREREZH7kxLvR9SxY8coW7YsDRs2NMrc3d2LMCJLGRkZ2NjYWK39++laRURERETk4aap5vdAeHg40dHRvPrqq7i7u+Pt7c2YMWMASExMNKZ6Z7tw4QImk4ktW7YA10dtTSYTGzZsIDQ0FHt7e5o3b86ZM2f46quvCAkJwcXFhRdeeIFLly7dNp6oqCj+9a9/kZSUhMlkIiAgwIjzVtOvL1y4QK9evfDw8MDFxYXmzZuzf//+fN+HNWvW8Pjjj2NnZ0eZMmV45plnjGMBAQGMHz+ebt264eLiQp8+fQD47rvvaNy4Mfb29vj6+hIdHc3FixeN8xYuXEjdunVxdnbG29ubF154gTNnzgDX722zZs0AKFWqFCaTiaioqFyv9fz583Tr1o1SpUrh4OBAmzZtOHr0qHE8NjYWNzc3NmzYQEhICE5OTrRu3Zrk5GSjzpYtW6hXrx6Ojo64ubkRFhbGyZMn831/RERERETk4aTE+x5ZsGABjo6O7N69mylTpjBu3Di++eabO2pjzJgxvPfee3z//fecOnWKTp06MWPGDBYvXsyXX37J119/zaxZs27bzsyZMxk3bhzly5cnOTmZH3/8MV/9d+zY0Uj29+7dS+3atWnRogXnzp277blffvklzzzzDG3btuWnn37i22+/pV69ehZ1pk6dSs2aNfnpp58YOXIkx44do3Xr1nTo0IGff/6ZTz/9lO+++46BAwca51y9epXx48ezf/9+Vq5cSWJiopFc+/r6smzZMgASEhJITk5m5syZucYXFRXFnj17WL16NTt37sRsNtO2bVuuXr1q1Ll06RJTp05l4cKFbNu2jaSkJIYNGwbAtWvXaN++PU2bNuXnn39m586d9OnTB5PJlK97KyIiIiIiDy9NNb9HatSowejRowGoVKkS7733Ht9++y2VKlXKdxsTJkwgLCwMgJ49ezJ8+HCOHTtGYGAgAM899xybN2/mtddeu2U7rq6uODs7U7x4cby9vfPV93fffccPP/zAmTNnsLW1Ba4nyitXruSLL74wRqjzMnHiRDp37szYsWONspo1a1rUad68OUOHDjX2e/XqRZcuXYyR6UqVKvHuu+/StGlT5syZg52dHS+99JJRPzAwkHfffZfHH3+ctLQ0nJycjCnlnp6eFs943+jo0aOsXr2aHTt2GFPv4+Li8PX1ZeXKlXTs2BG4nuS///77BAUFATBw4EDGjRsHQGpqKikpKbRr1844HhIScst7kp6eTnp6urGfmpp6y/oiIiIiIvJg0oj3PVKjRg2L/bJlyxpTogvShpeXFw4ODkbSnV12p23m1/79+0lLS6N06dI4OTkZ24kTJzh27Nhtz4+Pj6dFixa3rFO3bt0cfcbGxlr016pVK7Kysjhx4gQAe/fuJTIyEj8/P5ydnWnatCkASUlJ+b62w4cPU6JECerXr2+UlS5dmsqVK3P48GGjzMHBwUiqwfIzdHd3JyoqilatWhEZGcnMmTMtpqHnZtKkSbi6uhqbr69vvmMWEREREZEHh0a875GbV9A2mUxkZWVRrNj1v32YzWbj2I3Tm/Nqw2Qy5dmmNaSlpVG2bFnjufMb5TWSfCN7e/vb1nF0dMzRZ9++fYmOjs5R18/Pj4sXL9KqVStatWpFXFwcHh4eJCUl0apVKzIyMm7b353K7X7f+LnNnz+f6Oho1q9fz6effsobb7zBN998wz/+8Y9c2xs+fDhDhgwx9lNTU5V8i4iIiIg8hJR4FzEPDw8AkpOTCQ0NBbBYaO1+Ubt2bf744w9KlChhLMZ2J2rUqMG3335Ljx497qjPQ4cOUbFixVyPHzhwgLNnzzJ58mQjYd2zZ49FneyV0TMzM/PsJyQkhGvXrrF7925jqvnZs2dJSEigatWq+Y4XIDQ0lNDQUIYPH06DBg1YvHhxnom3ra2tMW1fREREREQeXppqXsTs7e35xz/+weTJkzl8+DBbt27ljTfeKOqwcoiIiKBBgwa0b9+er7/+msTERL7//ntGjBiRI9nNzejRo1myZAmjR4/m8OHDHDhwgLfeeuuW57z22mt8//33DBw4kPj4eI4ePcqqVauMxdX8/PywsbFh1qxZHD9+nNWrVzN+/HiLNvz9/TGZTKxdu5Y///yTtLS0HP1UqlSJp59+mt69e/Pdd9+xf/9+XnzxRcqVK8fTTz+dr/tz4sQJhg8fzs6dOzl58iRff/01R48eve1z3iIiIiIi8vBT4n0f+Pjjj7l27Rp16tRh0KBBTJgwoahDysFkMrFu3TqaNGlCjx49CA4OpnPnzpw8eRIvL6/bnh8eHs7nn3/O6tWrqVWrFs2bN+eHH3645Tk1atRg69atHDlyhMaNGxMaGsqoUaPw8fEBrs8WiI2N5fPPP6dq1apMnjyZqVOnWrRRrlw5xo4dy+uvv46Xl5fFiug3mj9/PnXq1KFdu3Y0aNAAs9nMunXrckwvz4uDgwO//vorHTp0IDg4mD59+jBgwAD69u2br/NFREREROThZTLf+JCqiBSZ1NRUXF1dORrXGWcHG6v359V+gdX7EBERERF5EGT/Lp6SkoKLi0uht68RbxERERERERErUuL9EEpKSrJ4BdfN2528aiu/qlWrlmd/cXFxhd6fiIiIiIjIg0Krmj+EfHx8brkyevYz0oVp3bp1eb4GLT/PgIuIiIiIiDyslHg/hEqUKJHnK7isxd/f/572JyIiIiIi8qDQVHMRERERERERK1LiLSIiIiIiImJFSrxFRERERERErEjPeIvcZzzbzbXKuwNFRERERKRoaMRbRERERERExIqUeIuIiIiIiIhYkRJvEREREREREStS4i0iIiIiIiJiRUq8RURERERERKxIibeIiIiIiIiIFel1YiL3mTNr+3LZwcbq/Xi1X2D1PkRERERERCPeIiIiIiIiIlalxFtERERERETEipR4i4iIiIiIiFiREm8RERERERERK1LiLSIiIiIiImJFSrxFRERERERErEiJt4iIiIiIiIgVKfEWERERERERsSIl3iJ3IDExEZPJRHx8fFGHIiIiIiIiDwgl3lLoMjIyCuUcs9nMtWvX7ritgpxXkJhFRERERETyQ4m33LXw8HAGDhzIoEGDKFOmDK1ateLgwYO0adMGJycnvLy86Nq1K3/99dctz9myZQsmk4mvvvqKOnXqYGtry3fffUd6ejrR0dF4enpiZ2dHo0aN+PHHH4228jrvVsaMGUOtWrX48MMPqVChAnZ2dgCsX7+eRo0a4ebmRunSpWnXrh3Hjh0zzqtQoQIAof+vvTuPy6rO////vATZN0HZXMANJUVDTcZIcaHU0jQtl2FUyq2szNzSzD2XXGbSHGcMSrRMcpKaKR0yTVpw3zcGFUWc+aKWOy6ocH5/+PP6dCUg6HWJ4ON+u51bF+e83+/zOi+OV7yu97nOCQ+XyWRS69atzdvi4+MVGhoqJycn1a9fXwsXLrRGegEAAACUcRTesIolS5bIwcFBqampmjlzptq2bavw8HBt27ZNycnJOnnypHr06FFon7///e/m9WPGjNHMmTOVlpamRo0aafTo0Vq5cqWWLFmiHTt2qE6dOmrfvr3OnDljMd7v+93J4cOHtXLlSiUlJZkvHb906ZKGDx+ubdu2ad26dapQoYKee+455efnS5K2bNkiSVq7dq2ys7OVlJQkSVq2bJkmTJigadOmKS0tTdOn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cWPzcS9evFhZWVkKDAyUJI0cOVLJyclavHixpk+fXmC/W9q2basRI0aYf46JiVG7du3MxXRISIgOHDig2bNnKzY2ttB+xTFs2DB169bNYt3IkSPNr19//XV9++23WrFihZo3b17o723BggUKDw83H5skffzxx6pevboOHjyokJCQ2/Y9Y8YMTZ48uUTxAgAAACh7mPG+BxkZGbp27ZoiIiLM67y9vVWvXj1J0pNPPqmgoCDVqlVLffr00bJly3T58uV73m+jRo3MrwMCAiRJp06dkiSlpaUpMjLSon1kZKTS0tIkSS+88IKuXLmiWrVqaeDAgfryyy9148aNe4rHwcHBIqa9e/cqLy9PISEhcnNzMy8//PCDMjIyCu13S7NmzSx+LuyYDh06pLy8vEL7Fcfv++Tl5Wnq1KkKCwuTt7e33Nzc9O233yorK6vIcXbv3q3169dbHG/9+vUlyeKYf2vs2LE6f/68eTl+/HiJ4wcAAADw4GPG24bc3d21Y8cOpaSkaM2aNZowYYImTZqkrVu3ysvL667HrVixovn1re9hF/eGZtWrV1d6errWrl2r7777TkOGDNHs2bP1ww8/WIxbEs7OzhbfB8/JyZGdnZ22b98uOzs7i7Zubm6F9rvF1dX1ruK4m36/7zN79mzNmzdP77//vsLCwuTq6qphw4bd8WZtOTk56ty5s957773btt36cOT3HB0d5ejoWOKYAQAAAJQtzHjfg9q1a6tixYravHmzed3Zs2d18OBB88/29vaKjo7WrFmztGfPHmVmZur777+XdHPG97czttYQGhqq1NRUi3Wpqal65JFHzD87Ozurc+fOmj9/vlJSUrRx40bt3bvXajGFh4crLy9Pp06dUp06dSyWkl5WX9QxhYSE3FbY36vU1FR16dJFf/rTn9S4cWPVqlXL4vcpFZyjJk2aaP/+/QoODr7tmO/2gwQAAAAA5QMz3vfAzc1N/fv316hRo+Tj4yNfX1+NGzdOFSrc/Dzjm2++0ZEjR9SqVStVqlRJq1evVn5+vvlS9ODgYG3evFmZmZlyc3OTt7e3ue/dGjVqlHr06KHw8HBFR0fr66+/VlJSktauXSvp5t3E8/LyFBERIRcXF3366adydnZWUFCQOaYff/xRvXr1kqOjoypXrlziGEJCQhQTE6O+fftq7ty5Cg8P1y+//KJ169apUaNG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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am adding the baseline Gradient Boosting metrics to the results list\n",
        "results.append({\n",
        "    \"model\": \"GradientBoosting (baseline)\",\n",
        "    \"accuracy\": accuracy_gb,\n",
        "    \"precision_weighted\": precision_gb,\n",
        "    \"recall_weighted\": recall_gb,\n",
        "    \"f1_weighted\": f1score_gb\n",
        "})\n",
        "# I am converting the results list into a DataFrame so I can view it as a table\n",
        "comparison_df = pd.DataFrame(results)\n",
        "# I am displaying the updated comparison table\n",
        "print(\"Model Comparison Table after adding baseline Gradient Boosting:\")\n",
        "display(comparison_df)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 161
        },
        "id": "LqwoQp2km_1r",
        "outputId": "1471feec-6e32-453d-cd06-4a72679446ee"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Model Comparison Table after adding baseline Gradient Boosting:\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "                         model  accuracy  precision_weighted  recall_weighted  \\\n",
              "0      RandomForest (baseline)  0.913946            0.870336         0.913946   \n",
              "1         RandomForest (tuned)  0.913769            0.873304         0.913769   \n",
              "2  GradientBoosting (baseline)  0.908357            0.857328         0.908357   \n",
              "\n",
              "   f1_weighted  \n",
              "0     0.876550  \n",
              "1     0.876323  \n",
              "2     0.872696  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-56376922-532a-459b-8857-315f2f134580\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>model</th>\n",
              "      <th>accuracy</th>\n",
              "      <th>precision_weighted</th>\n",
              "      <th>recall_weighted</th>\n",
              "      <th>f1_weighted</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>RandomForest (baseline)</td>\n",
              "      <td>0.913946</td>\n",
              "      <td>0.870336</td>\n",
              "      <td>0.913946</td>\n",
              "      <td>0.876550</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>RandomForest (tuned)</td>\n",
              "      <td>0.913769</td>\n",
              "      <td>0.873304</td>\n",
              "      <td>0.913769</td>\n",
              "      <td>0.876323</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>GradientBoosting (baseline)</td>\n",
              "      <td>0.908357</td>\n",
              "      <td>0.857328</td>\n",
              "      <td>0.908357</td>\n",
              "      <td>0.872696</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-56376922-532a-459b-8857-315f2f134580')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-56376922-532a-459b-8857-315f2f134580 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-56376922-532a-459b-8857-315f2f134580');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-ccc51214-8713-42a2-9e95-0e14a9f0b279\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-ccc51214-8713-42a2-9e95-0e14a9f0b279')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-ccc51214-8713-42a2-9e95-0e14a9f0b279 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_e925c38d-b571-46ae-8344-6c9851c3e087\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('comparison_df')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_e925c38d-b571-46ae-8344-6c9851c3e087 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('comparison_df');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "comparison_df",
              "summary": "{\n  \"name\": \"comparison_df\",\n  \"rows\": 3,\n  \"fields\": [\n    {\n      \"column\": \"model\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"RandomForest (baseline)\",\n          \"RandomForest (tuned)\",\n          \"GradientBoosting (baseline)\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"accuracy\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0031768703084792157,\n        \"min\": 0.9083569907735983,\n        \"max\": 0.9139460610361959,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.9139460610361959,\n          0.9137686302342086,\n          0.9083569907735983\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"precision_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.008497691097830612,\n        \"min\": 0.8573277035396605,\n        \"max\": 0.8733039100955922,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.8703360538278941,\n          0.8733039100955922,\n          0.8573277035396605\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"recall_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0031768703084792157,\n        \"min\": 0.9083569907735983,\n        \"max\": 0.9139460610361959,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.9139460610361959,\n          0.9137686302342086,\n          0.9083569907735983\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"f1_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0021626009378328623,\n        \"min\": 0.8726960227845889,\n        \"max\": 0.8765503040021617,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.8765503040021617,\n          0.8763228444431155,\n          0.8726960227845889\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Hyperparameter tuning for Gradient Boosting\n",
        "from sklearn.model_selection import train_test_split\n",
        "\n",
        "# I am creating a smaller stratified subset of the training data to make tuning faster\n",
        "X_train_small, _, y_train_small, _ = train_test_split(\n",
        "    X_train_scaled,\n",
        "    y_train,\n",
        "    train_size=5000,   # I am using 5000 samples for tuning\n",
        "    random_state=42,\n",
        "    stratify=y_train  # keep class proportions same as original data\n",
        ")\n",
        "\n",
        "print(\"Subset shape for tuning:\", X_train_small.shape, y_train_small.shape)\n",
        "\n",
        "# I am creating a basic Gradient Boosting model to start tuning from\n",
        "gb_base = GradientBoostingClassifier(\n",
        "    random_state=42 # reproducible results\n",
        ")\n",
        "\n",
        "# I am defining a simple parameter search space for tuning\n",
        "param_dist_gb = {\n",
        "    \"n_estimators\": [50, 100, 150], # number of boosting stages\n",
        "    \"learning_rate\": [0.05, 0.1, 0.2], # step size shrinkage\n",
        "    \"max_depth\": [3, 5], # depth of individual regression trees\n",
        "    \"subsample\": [1.0, 0.8] # fraction of samples per tree\n",
        "}\n",
        "\n",
        "# I am setting up RandomizedSearchCV to test random parameter combinations\n",
        "gb_search = RandomizedSearchCV(\n",
        "    estimator=gb_base, # model to tune\n",
        "    param_distributions=param_dist_gb, # tuning space\n",
        "    n_iter=5, # 5 random combinations to keep it fast\n",
        "    scoring=\"f1_weighted\", # good for multi-class imbalance\n",
        "    cv=2, # 2-fold cross validation\n",
        "    verbose=1, # show progress updates\n",
        "    random_state=42, # for repeatable results\n",
        "    n_jobs=-1 # use all CPU cores\n",
        ")\n",
        "\n",
        "# I am running the tuning process on the smaller training subset\n",
        "gb_search.fit(X_train_small, y_train_small)\n",
        "\n",
        "# I am printing the best parameter combination discovered during tuning\n",
        "print(\"Best parameters for Gradient Boosting:\")\n",
        "print(gb_search.best_params_)\n",
        "# I am printing the best cross-validated F1-score achieved on the subset\n",
        "print(\"Best cross-validated weighted F1-score (train CV):\")\n",
        "print(gb_search.best_score_)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "_PLpmCeCnKrz",
        "outputId": "19f3a0a2-44f7-4158-9032-4b3536df2d42"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Subset shape for tuning: (5000, 41) (5000,)\n",
            "Fitting 2 folds for each of 5 candidates, totalling 10 fits\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/model_selection/_split.py:805: UserWarning: The least populated class in y has only 1 members, which is less than n_splits=2.\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Best parameters for Gradient Boosting:\n",
            "{'subsample': 1.0, 'n_estimators': 150, 'max_depth': 3, 'learning_rate': 0.1}\n",
            "Best cross-validated weighted F1-score (train CV):\n",
            "0.9932209930250389\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am evaluating tuned Gradient Boosting on the test set\n",
        "\n",
        "# I am selecting the best Gradient Boosting model found during tuning\n",
        "gb_tuned = gb_search.best_estimator_\n",
        "\n",
        "# I am predicting the test labels using the tuned  Gradient Boosting model\n",
        "y_pred_gb_tuned = gb_tuned.predict(X_test_scaled)\n",
        "\n",
        "# I am calculating all evaluation metrics for the tuned Gradient Boosting model\n",
        "accuracy_gb_tuned  = accuracy_score(y_test, y_pred_gb_tuned)\n",
        "precision_gb_tuned = precision_score(y_test, y_pred_gb_tuned, average='weighted', zero_division=0)\n",
        "recall_gb_tuned  = recall_score(y_test, y_pred_gb_tuned, average='weighted', zero_division=0)\n",
        "f1score_gb_tuned   = f1_score(y_test, y_pred_gb_tuned, average='weighted', zero_division=0)\n",
        "\n",
        "# I am printing the tuned Gradient Boosting model performance\n",
        "print(\"Tuned Gradient Boosting Performance:\")\n",
        "print(f\"Accuracy : {accuracy_gb_tuned:.4f}\")\n",
        "print(f\"Precision: {precision_gb_tuned:.4f}\")\n",
        "print(f\"Recall   : {recall_gb_tuned:.4f}\")\n",
        "print(f\"F1-score : {f1score_gb_tuned:.4f}\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "-sx1npc4nQry",
        "outputId": "ecf04c2f-343c-461d-d824-98dc003a7d02"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Tuned Gradient Boosting Performance:\n",
            "Accuracy : 0.9144\n",
            "Precision: 0.8603\n",
            "Recall   : 0.9144\n",
            "F1-score : 0.8825\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am adding the tuned Gradient Boosting metrics to the results list\n",
        "results.append({\n",
        "    \"model\": \"GradientBoosting (tuned)\",\n",
        "    \"accuracy\": accuracy_gb_tuned,\n",
        "    \"precision_weighted\": precision_gb_tuned,\n",
        "    \"recall_weighted\": recall_gb_tuned,\n",
        "    \"f1_weighted\": f1score_gb_tuned\n",
        "})\n",
        "\n",
        "# I am converting the updated results list into a DataFrame\n",
        "comparison_df = pd.DataFrame(results)\n",
        "comparison_df # I am displaying the final comparison table"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 175
        },
        "id": "XxaX3NssnRgl",
        "outputId": "1403b6ea-36b9-4940-8bc2-23d25ee6937c"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                         model  accuracy  precision_weighted  recall_weighted  \\\n",
              "0      RandomForest (baseline)  0.913946            0.870336         0.913946   \n",
              "1         RandomForest (tuned)  0.913769            0.873304         0.913769   \n",
              "2  GradientBoosting (baseline)  0.908357            0.857328         0.908357   \n",
              "3     GradientBoosting (tuned)  0.914434            0.860264         0.914434   \n",
              "\n",
              "   f1_weighted  \n",
              "0     0.876550  \n",
              "1     0.876323  \n",
              "2     0.872696  \n",
              "3     0.882514  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-5eaecc1b-d020-4b70-adda-4984521fe26c\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>model</th>\n",
              "      <th>accuracy</th>\n",
              "      <th>precision_weighted</th>\n",
              "      <th>recall_weighted</th>\n",
              "      <th>f1_weighted</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>RandomForest (baseline)</td>\n",
              "      <td>0.913946</td>\n",
              "      <td>0.870336</td>\n",
              "      <td>0.913946</td>\n",
              "      <td>0.876550</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>RandomForest (tuned)</td>\n",
              "      <td>0.913769</td>\n",
              "      <td>0.873304</td>\n",
              "      <td>0.913769</td>\n",
              "      <td>0.876323</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>GradientBoosting (baseline)</td>\n",
              "      <td>0.908357</td>\n",
              "      <td>0.857328</td>\n",
              "      <td>0.908357</td>\n",
              "      <td>0.872696</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>GradientBoosting (tuned)</td>\n",
              "      <td>0.914434</td>\n",
              "      <td>0.860264</td>\n",
              "      <td>0.914434</td>\n",
              "      <td>0.882514</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-5eaecc1b-d020-4b70-adda-4984521fe26c')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-5eaecc1b-d020-4b70-adda-4984521fe26c button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-5eaecc1b-d020-4b70-adda-4984521fe26c');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-a44e881d-01ee-4c17-bb74-98fb922c4ef2\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-a44e881d-01ee-4c17-bb74-98fb922c4ef2')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-a44e881d-01ee-4c17-bb74-98fb922c4ef2 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_e11e2344-e1b6-4847-b1f1-4887279d2fa5\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('comparison_df')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_e11e2344-e1b6-4847-b1f1-4887279d2fa5 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('comparison_df');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "comparison_df",
              "summary": "{\n  \"name\": \"comparison_df\",\n  \"rows\": 4,\n  \"fields\": [\n    {\n      \"column\": \"model\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 4,\n        \"samples\": [\n          \"RandomForest (tuned)\",\n          \"GradientBoosting (tuned)\",\n          \"RandomForest (baseline)\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"accuracy\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0028601545800087474,\n        \"min\": 0.9083569907735983,\n        \"max\": 0.9144339957416607,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          0.9137686302342086,\n          0.9144339957416607,\n          0.9139460610361959\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"precision_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.007710181459496608,\n        \"min\": 0.8573277035396605,\n        \"max\": 0.8733039100955922,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          0.8733039100955922,\n          0.8602642256919992,\n          0.8703360538278941\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"recall_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0028601545800087474,\n        \"min\": 0.9083569907735983,\n        \"max\": 0.9144339957416607,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          0.9137686302342086,\n          0.9144339957416607,\n          0.9139460610361959\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"f1_weighted\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0040654250886555535,\n        \"min\": 0.8726960227845889,\n        \"max\": 0.8825135986577293,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          0.8763228444431155,\n          0.8825135986577293,\n          0.8765503040021617\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 139
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# I am drawing bar chart of F1 for all models\n",
        "\n",
        "# I am creating a custom color list so each bar has a different colour.\n",
        "colors = [\n",
        "    \"#006400\",\n",
        "    \"#ff8c00\",\n",
        "    \"#006400\",\n",
        "    \"#ff8c00\"\n",
        "]\n",
        "\n",
        "# I am plotting the F1-scores of all models as a bar chart\n",
        "comparison_df.plot(\n",
        "    x='model',\n",
        "    y='f1_weighted',\n",
        "    kind='bar',\n",
        "    figsize=(8, 5),\n",
        "    legend=False,\n",
        "    color=colors  # I am applying the custom colour palette\n",
        ")\n",
        "plt.title(\"Model Comparison by Weighted F1-score\")\n",
        "plt.ylabel(\"Weighted F1-score\")\n",
        "plt.xlabel(\"Model\")\n",
        "plt.xticks(rotation=20)\n",
        "plt.tight_layout()\n",
        "plt.show()\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 507
        },
        "id": "DrSekIigqYqE",
        "outputId": "c6e9c636-1a1f-4580-b2ec-278e04440a65"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 800x500 with 1 Axes>"
            ],
            "image/png": "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mzerw/nsNGnSBJcvX870J+OfilqtRr58+dC0adM0mxIREX2u2KeBiIiyhSdPnmDHjh1o3759VoeSLm/evEk18tEff/yB58+fo1q1alkTFBHRR8I+DURElKVCQkIQFBSE3377DQYGBlqTwWVnJ0+exIABA9CiRQtYWVkhODgYS5YsQZkyZdI1vwQR0eeESQMREWWpI0eOICAgAIUKFcLvv/8OGxubrA4pXRwcHGBvb4/Zs2fj+fPnsLS0RIcOHTBp0qRMnzuEiCirsU8DERERERHpxD4NRERERESkE5MGIiIiIiLS6avr06BWq/H48WPkypXrP0++Q0RERET0JRARvHr1Cra2tjonRPzqkobHjx/D3t4+q8MgIiIiIso2Hjx4gIIFC753+VeXNGimp3/w4AHMzc2zOBoiIiIioqwTHR0Ne3t75R75fb66pEHTJMnc3JxJAxERERER8K/N9tkRmoiIiIiIdGLSQEREREREOjFpICIiIiIinZg0EBERERGRTkwaiIiIiIhIJyYNRERERESkE5MGIiIiIiLSiUkDERERERHpxKSBiIiIiIh0YtJAREREREQ6MWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEinHFkdABERERF9QtNUWR3Bl2+gZHUEmY5vGoiIiIiISCcmDUREREREpBObJ30mVN34KvFjk8Vf3qvEbIWvwz++L/B1OBERZQ9MGoiIiNKJD3A+Pj7AIcqe2DyJiIiIiIh0YtJAREREREQ6MWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEgnJg1ERERERKQTkwYiIiIiItKJSQMREREREenEpIGIiIiIiHRi0kBERERERDoxaSAiIiIiIp2YNBARERERkU5MGoiIiIiISCcmDUREREREpBOTBiIiIiIi0olJAxERERER6cSkgYiIiIiIdGLSQEREREREOjFpICIiIiIinZg0EBERERGRTkwaiIiIiIhIpyxPGubNmwcHBwcYGxvD09MTp0+f1rn+zJkzUaJECZiYmMDe3h4DBgzAmzdvPlG0RERERERfnyxNGtauXYvAwECMHDkSwcHBKFeuHGrXro2IiIg011+1ahV++uknjBw5EteuXcOSJUuwdu1a/Pzzz584ciIiIiKir0eWJg3Tp09Ht27dEBAQgFKlSmHBggUwNTXF0qVL01z/+PHj8PHxQdu2beHg4IBatWqhTZs2//p2goiIiIiI/rssSxoSEhJw7tw5+Pv7/xOMnh78/f1x4sSJNLepVKkSzp07pyQJd+/exc6dO1GvXr1PEjMRERER0dcoR1Yd+NmzZ0hOToa1tbVWubW1Na5fv57mNm3btsWzZ89QuXJliAiSkpLw3Xff6WyeFB8fj/j4eOX36OjozDkBIiIiIqKvRJZ3hM6Iw4cPY8KECfj1118RHByMTZs2YceOHRg7dux7t5k4cSJy586t/Njb23/CiImIiIiIPn9Z9qYhb9680NfXR3h4uFZ5eHg4bGxs0txm+PDhaN++Pbp27QoAKFu2LGJjY9G9e3cMHToUenqpc6AhQ4YgMDBQ+T06OpqJAxERERFRBmTZmwZDQ0O4ubnhwIEDSplarcaBAwfg7e2d5javX79OlRjo6+sDAEQkzW2MjIxgbm6u9UNEREREROmXZW8aACAwMBAdO3aEu7s7PDw8MHPmTMTGxiIgIAAA0KFDB9jZ2WHixIkAgAYNGmD69OkoX748PD09cfv2bQwfPhwNGjRQkgciIiIiIspcWZo0tGrVCk+fPsWIESMQFhYGV1dX7N69W+kcff/+fa03C8OGDYNKpcKwYcPw6NEj5MuXDw0aNMD48eOz6hSIiIiIiL54Knlfu54vVHR0NHLnzo2oqKjPqqmSqpsqq0P44snir+qj8OlNYx3+6AayDn9svBZ/fLwWfwK8Hn98n9H1OL33xp/V6ElERERERPTpMWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEgnJg1ERERERKQTkwYiIiIiItKJSQMREREREenEpIGIiIiIiHRi0kBERERERDoxaSAiIiIiIp2YNBARERERkU5MGoiIiIiISCcmDUREREREpBOTBiIiIiIi0olJAxERERER6cSkgYiIiIiIdGLSQEREREREOjFpICIiIiIinZg0EBERERGRTkwaiIiIiIhIJyYNRERERESkE5MGIiIiIiLSiUkDERERERHpxKSBiIiIiIh0YtJAREREREQ6MWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEgnJg1ERERERKQTkwYiIiIiItKJSQMREREREenEpIGIiIiIiHRi0kBERERERDoxaSAiIiIiIp2YNBARERERkU5MGoiIiIiISCcmDUREREREpBOTBiIiIiIi0olJAxERERER6cSkgYiIiIiIdGLSQEREREREOjFpICIiIiIinZg0EBERERGRTkwaiIiIiIhIJyYNRERERESkE5MGIiIiIiLSiUkDERERERHpxKSBiIiIiIh0YtJAREREREQ6MWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEgnJg1ERERERKTTf0oaXr58id9++w1DhgzB8+fPAQDBwcF49OhRpgZHRERERERZL0dGN7h06RL8/f2RO3duhIaGolu3brC0tMSmTZtw//59/PHHHx8jTiIiIiIiyiIZftMQGBiITp064datWzA2NlbK69Wrh7/++itTgyMiIiIioqyX4aThzJkz6NGjR6pyOzs7hIWFZUpQRERERESUfWQ4aTAyMkJ0dHSq8ps3byJfvnyZEhQREREREWUfGU4aGjZsiDFjxiAxMREAoFKpcP/+ffz4449o1qxZpgdIRERERERZK8NJw7Rp0xATE4P8+fMjLi4Ovr6+cHR0RK5cuTB+/PiPESMREREREWWhDI+elDt3buzbtw9BQUG4ePEiYmJiUKFCBfj7+3+M+IiIiIiIKItlKGlITEyEiYkJLly4AB8fH/j4+HysuIiIiIiIKJvIUPMkAwMDFCpUCMnJyZkWwLx58+Dg4ABjY2N4enri9OnTOtd/+fIlevfujQIFCsDIyAjFixfHzp07My0eIiIiIiLSluE+DUOHDsXPP/+szAT9IdauXYvAwECMHDkSwcHBKFeuHGrXro2IiIg0109ISEDNmjURGhqKDRs24MaNG1i8eDHs7Ow+OBYiIiIiIkpbhvs0zJ07F7dv34atrS0KFy4MMzMzreXBwcHp3tf06dPRrVs3BAQEAAAWLFiAHTt2YOnSpfjpp59Srb906VI8f/4cx48fh4GBAQDAwcEho6dAREREREQZkOGkoXHjxply4ISEBJw7dw5DhgxRyvT09ODv748TJ06kuc3WrVvh7e2N3r17488//0S+fPnQtm1b/Pjjj9DX18+UuIiIiIiISFuGk4aRI0dmyoGfPXuG5ORkWFtba5VbW1vj+vXraW5z9+5dHDx4EO3atcPOnTtx+/Zt9OrVC4mJie+NKz4+HvHx8crvaU1MR0RERERE75fhpEHj3LlzuHbtGgCgdOnSKF++fKYF9T5qtRr58+fHokWLoK+vDzc3Nzx69AhTp059b9IwceJEjB49+qPHRkRERET0pcpw0hAREYHWrVvj8OHDsLCwAJAyopGfnx/WrFmDfPnypWs/efPmhb6+PsLDw7XKw8PDYWNjk+Y2BQoUgIGBgVZTJGdnZ4SFhSEhIQGGhoapthkyZAgCAwOV36Ojo2Fvb5+uGImIiIiI6D+MnvT999/j1atXuHr1Kp4/f47nz5/jypUriI6ORt++fdO9H0NDQ7i5ueHAgQNKmVqtxoEDB+Dt7Z3mNj4+Prh9+zbUarVSdvPmTRQoUCDNhAEAjIyMYG5urvVDRERERETpl+GkYffu3fj111/h7OyslJUqVQrz5s3Drl27MrSvwMBALF68GL///juuXbuGnj17IjY2VhlNqUOHDlodpXv27Innz5+jX79+uHnzJnbs2IEJEyagd+/eGT0NIiIiIiJKpww3T1Kr1cpwp28zMDDQegOQHq1atcLTp08xYsQIhIWFwdXVFbt371Y6R9+/fx96ev/kNfb29tizZw8GDBgAFxcX2NnZoV+/fvjxxx8zehpERERERJROKhGRjGzQqFEjvHz5EqtXr4atrS0A4NGjR2jXrh3y5MmDzZs3f5RAM0t0dDRy586NqKioz6qpkqqbKqtD+OLJ4gx9FCijprEOf3QDWYc/Nl6LPz5eiz8BXo8/vs/oepzee+MMN0+aO3cuoqOj4eDggGLFiqFYsWIoUqQIoqOjMWfOnA8KmoiIiIiIsp8MN0+yt7dHcHAw9u/fr8yn4OzsDH9//0wPjoiIiIiIst5/mqdBpVKhZs2aqFmzZmbHQ0RERERE2UyGmyf17dsXs2fPTlU+d+5c9O/fPzNiIiIiIiKibCTDScPGjRvh4+OTqrxSpUrYsGFDpgRFRERERETZR4aThsjISOTOnTtVubm5OZ49e5YpQRERERERUfaR4aTB0dERu3fvTlW+a9cuFC1aNFOCIiIiIiKi7CPDHaEDAwPRp08fPH36FNWrVwcAHDhwANOmTcPMmTMzOz4iIiIiIspiGU4aOnfujPj4eIwfPx5jx44FADg4OGD+/Pno0KFDpgdIRERERERZ6z8NudqzZ0/07NkTT58+hYmJCXLmzJnZcRERERERUTaR4T4NcXFxeP36NQAgX758iIyMxMyZM7F3795MD46IiIiIiLJehpOGRo0a4Y8//gAAvHz5Eh4eHpg2bRoaNWqE+fPnZ3qARERERESUtTKcNAQHB6NKlSoAgA0bNsDGxgb37t3DH3/8keakb0RERERE9HnLcNLw+vVr5MqVCwCwd+9eNG3aFHp6evDy8sK9e/cyPUAiIiIiIspa/2mehi1btuDBgwfYs2cPatWqBQCIiIiAubl5pgdIRERERERZK8NJw4gRIzBo0CA4ODjAw8MD3t7eAFLeOpQvXz7TAyQiIiIioqyV4SFXmzdvjsqVK+PJkycoV66cUl6jRg00adIkU4MjIiIiIqKsl+E3DQBgY2OD8uXLY+3atYiNjQUAeHh4oGTJkpkaHBERERERZb3/lDRo9OjRA+Hh4ZkVCxERERERZUMflDSISGbFQURERERE2dQHJQ1ERERERPTl+6CkYdeuXbCzs8usWIiIiIiIKBvK8OhJb6tcuXJmxUFERERERNlUpjVPunbtGooWLZpZuyMiIiIiomwi05KGhIQE3Lt3L7N2R0RERERE2US6mycFBgbqXP706dMPDoaIiIiIiLKfdCcNs2bNgqurK8zNzdNcHhMTk2lBERERERFR9pHupMHR0REDBgzAt99+m+byCxcuwM3NLdMCIyIiIiKi7CHdfRrc3d1x7ty59y5XqVSc7I2IiIiI6AuU7jcN06ZNQ3x8/HuXlytXDmq1OlOCIiIiIiKi7CPdSYONjc3HjIOIiIiIiLKpdDdPWrp0qc43DURERERE9GVKd9LQrVs3REVFKb/b2toiNDT0Y8RERERERETZSLqThnc7Ob969Yp9GIiIiIiIvgKZNiM0ERERERF9mdKdNKhUKqhUqvf+TkREREREX6Z0j54kIihevLiSKMTExKB8+fLQ09POO54/f565ERIRERERUZZKd9KwbNmyjxkHERERERFlU+lOGjp27Pgx4yAiIiIiomyKHaGJiIiIiEgnJg1ERERERKQTkwYiIiIiItKJSQMREREREenEpIGIiIiIiHRK1+hJgYGB6d7h9OnT/3MwRERERESU/aQraTh//rzW78HBwUhKSkKJEiUAADdv3oS+vj7c3NwyP0IiIiIiIspS6UoaDh06pPx7+vTpyJUrF37//XfkyZMHAPDixQsEBASgSpUqHydKIiIiIiLKMhnu0zBt2jRMnDhRSRgAIE+ePBg3bhymTZuWqcEREREREVHWy3DSEB0djadPn6Yqf/r0KV69epUpQRERERERUfaR4aShSZMmCAgIwKZNm/Dw4UM8fPgQGzduRJcuXdC0adOPESMREREREWWhdPVpeNuCBQswaNAgtG3bFomJiSk7yZEDXbp0wdSpUzM9QCIiIiIiyloZThpMTU3x66+/YurUqbhz5w4AoFixYjAzM8v04IiIiIiIKOv958ndnjx5gidPnsDJyQlmZmYQkcyMi4iIiIiIsokMJw2RkZGoUaMGihcvjnr16uHJkycAgC5dumDgwIGZHiAREREREWWtDCcNAwYMgIGBAe7fvw9TU1OlvFWrVti9e3emBkdERERERFkvw30a9u7diz179qBgwYJa5U5OTrh3716mBUZERERERNlDht80xMbGar1h0Hj+/DmMjIwyJSgiIiIiIso+Mpw0VKlSBX/88Yfyu0qlglqtxpQpU+Dn55epwRERERERUdbLcPOkKVOmoEaNGjh79iwSEhIwePBgXL16Fc+fP0dQUNDHiJGIiIiIiLJQht80lClTBjdv3kTlypXRqFEjxMbGomnTpjh//jyKFSv2MWIkIiIiIqIslOE3Dffv34e9vT2GDh2a5rJChQplSmBERERERJQ9ZPhNQ5EiRfD06dNU5ZGRkShSpEimBEVERERERNlHhpMGEYFKpUpVHhMTA2Nj4/8UxLx58+Dg4ABjY2N4enri9OnT6dpuzZo1UKlUaNy48X86LhERERER/bt0N08KDAwEkDJa0vDhw7WGXU1OTsapU6fg6uqa4QDWrl2LwMBALFiwAJ6enpg5cyZq166NGzduIH/+/O/dLjQ0FIMGDUKVKlUyfEwiIiIiIkq/dCcN58+fB5DypuHy5cswNDRUlhkaGqJcuXIYNGhQhgOYPn06unXrhoCAAADAggULsGPHDixduhQ//fRTmtskJyejXbt2GD16NI4ePYqXL19m+LhERERERJQ+6U4aDh06BAAICAjArFmzYG5u/sEHT0hIwLlz5zBkyBClTE9PD/7+/jhx4sR7txszZgzy58+PLl264OjRox8cBxERERERvV+GR09atmxZph382bNnSE5OhrW1tVa5tbU1rl+/nuY2x44dw5IlS3DhwoV0HSM+Ph7x8fHK79HR0f85XiIiIiKir1GGk4bY2FhMmjQJBw4cQEREBNRqtdbyu3fvZlpw73r16hXat2+PxYsXI2/evOnaZuLEiRg9evRHi4mIiIiI6EuX4aSha9euOHLkCNq3b48CBQqkOZJSeuXNmxf6+voIDw/XKg8PD4eNjU2q9e/cuYPQ0FA0aNBAKdMkLTly5MCNGzdSTTA3ZMgQpRM3kPKmwd7e/j/HTERERET0tclw0rBr1y7s2LEDPj4+H3xwQ0NDuLm54cCBA8qwqWq1GgcOHECfPn1SrV+yZElcvnxZq2zYsGF49eoVZs2alWYyYGRkBCMjow+OlYiIiIjoa5XhpCFPnjywtLTMtAACAwPRsWNHuLu7w8PDAzNnzkRsbKwymlKHDh1gZ2eHiRMnwtjYGGXKlNHa3sLCAgBSlRMRERERUebIcNIwduxYjBgxAr///rvWXA3/VatWrfD06VOMGDECYWFhcHV1xe7du5XO0ffv34eeXobnoCMiIiIiokySrqShfPnyWn0Xbt++DWtrazg4OMDAwEBr3eDg4AwH0adPnzSbIwHA4cOHdW67fPnyDB+PiIiIiIjSL11Jg6a/ARERERERfX3SlTSMHDnyY8dBRERERETZFDsLEBERERGRTv9p9KS05mZQqVQwNjaGo6MjOnXqpIx+REREREREn7cMJw0jRozA+PHjUbduXXh4eAAATp8+jd27d6N3794ICQlBz549kZSUhG7dumV6wERERERE9GllOGk4duwYxo0bh++++06rfOHChdi7dy82btwIFxcXzJ49m0kDEREREdEXIMN9Gvbs2QN/f/9U5TVq1MCePXsAAPXq1cPdu3c/PDoiIiIiIspyGU4aLC0tsW3btlTl27ZtU2aKjo2NRa5cuT48OiIiIiIiynIZbp40fPhw9OzZE4cOHVL6NJw5cwY7d+7EggULAAD79u2Dr69v5kZKRERERERZIsNJQ7du3VCqVCnMnTsXmzZtAgCUKFECR44cQaVKlQAAAwcOzNwoiYiIiIgoy2Q4aQAAHx8f+Pj4ZHYsRERERESUDaUraYiOjoa5ubnyb1006xERERER0ZchXUlDnjx58OTJE+TPnx8WFhZpTu4mIlCpVEhOTs70IImIiIiIKOukK2k4ePCgMjLSoUOHPmpARERERESUvaQraXh7JCSOikRERERE9HXJ8DwNAHD06FF8++23qFSpEh49egQAWLFiBY4dO5apwRERERERUdbLcNKwceNG1K5dGyYmJggODkZ8fDwAICoqChMmTMj0AImIiIiIKGtlOGkYN24cFixYgMWLF8PAwEAp9/HxQXBwcKYGR0REREREWS/DScONGzdQtWrVVOW5c+fGy5cvMyMmIiIiIiLKRjKcNNjY2OD27dupyo8dO4aiRYtmSlBERERERJR9ZDhp6NatG/r164dTp05BpVLh8ePHWLlyJQYNGoSePXt+jBiJiIiIiCgLpWvI1bf99NNPUKvVqFGjBl6/fo2qVavCyMgIgwYNwvfff/8xYiQiIiIioiyU7qQhJCQERYoUgUqlwtChQ/HDDz/g9u3biImJQalSpZAzZ86PGScREREREWWRdCcNxYoVQ+HCheHn54fq1avDz88PpUqV+pixERERERFRNpDupOHgwYM4fPgwDh8+jNWrVyMhIQFFixZVEgg/Pz9YW1t/zFiJiIiIiCgLpDtpqFatGqpVqwYAePPmDY4fP64kEb///jsSExNRsmRJXL169WPFSkREREREWSDDHaEBwNjYGNWrV0flypXh5+eHXbt2YeHChbh+/Xpmx0dERERERFksQ0lDQkICTp48iUOHDuHw4cM4deoU7O3tUbVqVcydOxe+vr4fK04iIiIiIsoi6U4aqlevjlOnTqFIkSLw9fVFjx49sGrVKhQoUOBjxkdERERERFks3UnD0aNHUaBAAVSvXh3VqlWDr68vrKysPmZsRERERESUDaR7RuiXL19i0aJFMDU1xeTJk2Fra4uyZcuiT58+2LBhA54+ffox4yQiIiIioiyS7jcNZmZmqFOnDurUqQMAePXqFY4dO4ZDhw5hypQpaNeuHZycnHDlypWPFiwREREREX166X7T8C4zMzNYWlrC0tISefLkQY4cOXDt2rXMjI2IiIiIiLKBdL9pUKvVOHv2LA4fPoxDhw4hKCgIsbGxsLOzg5+fH+bNmwc/P7+PGSsREREREWWBdCcNFhYWiI2NhY2NDfz8/DBjxgxUq1YNxYoV+5jxERERERFRFkt30jB16lT4+fmhePHiHzMeIiIiIiLKZtKdNPTo0eNjxkFERERERNnUf+4ITUREREREXwcmDUREREREpBOTBiIiIiIi0olJAxERERER6cSkgYiIiIiIdGLSQEREREREOjFpICIiIiIinZg0EBERERGRTkwaiIiIiIhIJyYNRERERESkE5MGIiIiIiLSiUkDERERERHpxKSBiIiIiIh0YtJAREREREQ6MWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEgnJg1ERERERKQTkwYiIiIiItKJSQMREREREenEpIGIiIiIiHRi0kBERERERDoxaSAiIiIiIp2YNBARERERkU5MGoiIiIiISKdskTTMmzcPDg4OMDY2hqenJ06fPv3edRcvXowqVaogT548yJMnD/z9/XWuT0REREREHybLk4a1a9ciMDAQI0eORHBwMMqVK4fatWsjIiIizfUPHz6MNm3a4NChQzhx4gTs7e1Rq1YtPHr06BNHTkRERET0dcjypGH69Ono1q0bAgICUKpUKSxYsACmpqZYunRpmuuvXLkSvXr1gqurK0qWLInffvsNarUaBw4c+MSRExERERF9HbI0aUhISMC5c+fg7++vlOnp6cHf3x8nTpxI1z5ev36NxMREWFpafqwwiYiIiIi+ajmy8uDPnj1DcnIyrK2ttcqtra1x/fr1dO3jxx9/hK2trVbi8bb4+HjEx8crv0dHR//3gImIiIiIvkJZ3jzpQ0yaNAlr1qzB5s2bYWxsnOY6EydORO7cuZUfe3v7TxwlEREREdHnLUuThrx580JfXx/h4eFa5eHh4bCxsdG57S+//IJJkyZh7969cHFxee96Q4YMQVRUlPLz4MGDTImdiIiIiOhrkaVJg6GhIdzc3LQ6MWs6NXt7e793uylTpmDs2LHYvXs33N3ddR7DyMgI5ubmWj9ERERERJR+WdqnAQACAwPRsWNHuLu7w8PDAzNnzkRsbCwCAgIAAB06dICdnR0mTpwIAJg8eTJGjBiBVatWwcHBAWFhYQCAnDlzImfOnFl2HkREREREX6osTxpatWqFp0+fYsSIEQgLC4Orqyt2796tdI6+f/8+9PT+eSEyf/58JCQkoHnz5lr7GTlyJEaNGvUpQyciIiIi+ipkedIAAH369EGfPn3SXHb48GGt30NDQz9+QEREREREpPisR08iIiIiIqKPj0kDERERERHpxKSBiIiIiIh0YtJAREREREQ6MWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEgnJg1ERERERKQTkwYiIiIiItKJSQMREREREenEpIGIiIiIiHRi0kBERERERDoxaSAiIiIiIp2YNBARERERkU5MGoiIiIiISCcmDUREREREpBOTBiIiIiIi0olJAxERERER6cSkgYiIiIiIdGLSQEREREREOjFpICIiIiIinZg0EBERERGRTkwaiIiIiIhIJyYNRERERESkE5MGIiIiIiLSiUkDERERERHpxKSBiIiIiIh0YtJAREREREQ6MWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEgnJg1ERERERKQTkwYiIiIiItKJSQMREREREenEpIGIiIiIiHRi0kBERERERDoxaSAiIiIiIp2YNBARERERkU5MGoiIiIiISCcmDUREREREpBOTBiIiIiIi0olJAxERERER6cSkgYiIiIiIdGLSQEREREREOjFpICIiIiIinZg0EBERERGRTkwaiIiIiIhIJyYNRERERESkE5MGIiIiIiLSiUkDERERERHpxKSBiIiIiIh0YtJAREREREQ6MWkgIiIiIiKdmDQQEREREZFOTBqIiIiIiEgnJg1ERERERKQTkwYiIiIiItKJSQMREREREenEpIGIiIiIiHRi0kBERERERDoxaSAiIiIiIp2YNBARERERkU7ZImmYN28eHBwcYGxsDE9PT5w+fVrn+uvXr0fJkiVhbGyMsmXLYufOnZ8oUiIiIiKir0+WJw1r165FYGAgRo4cieDgYJQrVw61a9dGREREmusfP34cbdq0QZcuXXD+/Hk0btwYjRs3xpUrVz5x5EREREREX4csTxqmT5+Obt26ISAgAKVKlcKCBQtgamqKpUuXprn+rFmzUKdOHfzwww9wdnbG2LFjUaFCBcydO/cTR05ERERE9HXI0qQhISEB586dg7+/v1Kmp6cHf39/nDhxIs1tTpw4obU+ANSuXfu96xMRERER0YfJkZUHf/bsGZKTk2Ftba1Vbm1tjevXr6e5TVhYWJrrh4WFpbl+fHw84uPjld+joqIAANHR0R8S+qeXkNUBfPk+uzrxuXmT1QF8BViHPz5eiz86Xos/AV6PP77PqB5rPnMionO9LE0aPoWJEydi9OjRqcrt7e2zIBrKznL/kTurQyD6MMNYh+nzx2sxfRE+w+vxq1evkDv3++PO0qQhb9680NfXR3h4uFZ5eHg4bGxs0tzGxsYmQ+sPGTIEgYGByu9qtRrPnz+HlZUVVCrVB54BpSU6Ohr29vZ48OABzM3Nszocov+E9Zg+d6zD9CVgPf74RASvXr2Cra2tzvWyNGkwNDSEm5sbDhw4gMaNGwNIuak/cOAA+vTpk+Y23t7eOHDgAPr376+U7du3D97e3mmub2RkBCMjI60yCwuLzAif/oW5uTk/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\n"
          },
          "metadata": {}
        }
      ]
    }
  ]
}