{
  "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": {
        "id": "UuBLLAlwno5v"
      },
      "outputs": [],
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.metrics import accuracy_score, classification_report, confusion_matrix\n",
        "from sklearn.tree import DecisionTreeClassifier\n",
        "from sklearn.ensemble import RandomForestClassifier\n",
        "from sklearn.naive_bayes import GaussianNB\n",
        "from sklearn.svm import SVC\n",
        "from sklearn.metrics import accuracy_score,confusion_matrix,classification_report,precision_score,recall_score,f1_score\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "data = pd.read_csv('/content/drive/MyDrive/ML/diabetes.csv')\n",
        "X = data.drop(columns=[\"Outcome\"])  # Features\n",
        "y = data[\"Outcome\"]"
      ],
      "metadata": {
        "id": "ti5Rya07oxl5"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "print(data)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "65IlAlU_o2bx",
        "outputId": "92976758-dff1-41f7-ebe6-16218bc02289"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "     PatientId  Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin  \\\n",
            "0            1            6      148             72             35        0   \n",
            "1            2            1       85             66             29        0   \n",
            "2            3            8      183             64              0        0   \n",
            "3            4            1       89             66             23       94   \n",
            "4            5            0      137             40             35      168   \n",
            "..         ...          ...      ...            ...            ...      ...   \n",
            "763        764           10      101             76             48      180   \n",
            "764        765            2      122             70             27        0   \n",
            "765        766            5      121             72             23      112   \n",
            "766        767            1      126             60              0        0   \n",
            "767        768            1       93             70             31        0   \n",
            "\n",
            "      BMI  DiabetesPedigreeFunction  Age  Outcome  \n",
            "0    33.6                     0.627   50        1  \n",
            "1    26.6                     0.351   31        0  \n",
            "2    23.3                     0.672   32        1  \n",
            "3    28.1                     0.167   21        0  \n",
            "4    43.1                     2.288   33        1  \n",
            "..    ...                       ...  ...      ...  \n",
            "763  32.9                     0.171   63        0  \n",
            "764  36.8                     0.340   27        0  \n",
            "765  26.2                     0.245   30        0  \n",
            "766  30.1                     0.349   47        1  \n",
            "767  30.4                     0.315   23        0  \n",
            "\n",
            "[768 rows x 10 columns]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#SPLITING DATA\n",
        "X_train, X_test, Y_train, Y_test = train_test_split(X, y, test_size=0.2, stratify=y, random_state=42)\n"
      ],
      "metadata": {
        "id": "5VukDGHMvoLQ"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "DECISION TREE"
      ],
      "metadata": {
        "id": "paFQZgrIiFXW"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print(data.head())"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "mUZg0_IriP31",
        "outputId": "80770970-3850-4791-da17-e503efac1e1a"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "   PatientId  Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin  \\\n",
            "0          1            6      148             72             35        0   \n",
            "1          2            1       85             66             29        0   \n",
            "2          3            8      183             64              0        0   \n",
            "3          4            1       89             66             23       94   \n",
            "4          5            0      137             40             35      168   \n",
            "\n",
            "    BMI  DiabetesPedigreeFunction  Age  Outcome  \n",
            "0  33.6                     0.627   50        1  \n",
            "1  26.6                     0.351   31        0  \n",
            "2  23.3                     0.672   32        1  \n",
            "3  28.1                     0.167   21        0  \n",
            "4  43.1                     2.288   33        1  \n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "x =  data.drop(columns = 'Outcome',axis=1)\n",
        "y = data['Outcome']"
      ],
      "metadata": {
        "id": "zJvaje1Pm6QM"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "\n",
        "#TRAINING THE MODEL\n",
        "decisiontree_model =  DecisionTreeClassifier(random_state=42)\n",
        "decisiontree_model.fit(X_train, Y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 80
        },
        "id": "LAvyassGoNCC",
        "outputId": "a0f09ecc-ce56-4f2b-c0c7-b7eeb12277e0"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "DecisionTreeClassifier(random_state=42)"
            ],
            "text/html": [
              "<style>#sk-container-id-7 {\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-7 {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "#sk-container-id-7 pre {\n",
              "  padding: 0;\n",
              "}\n",
              "\n",
              "#sk-container-id-7 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-7 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-7 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-7 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-7 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-7 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-7 div.sk-parallel-item {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "}\n",
              "\n",
              "#sk-container-id-7 div.sk-parallel-item:first-child::after {\n",
              "  align-self: flex-end;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-7 div.sk-parallel-item:last-child::after {\n",
              "  align-self: flex-start;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-7 div.sk-parallel-item:only-child::after {\n",
              "  width: 0;\n",
              "}\n",
              "\n",
              "/* Serial-specific style estimator block */\n",
              "\n",
              "#sk-container-id-7 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-7 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-7 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-7 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-7 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-7 label.sk-toggleable__label-arrow:hover:before {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "/* Toggleable content - dropdown */\n",
              "\n",
              "#sk-container-id-7 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-7 div.sk-toggleable__content.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-7 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-7 div.sk-toggleable__content.fitted pre {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-7 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-7 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-7 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-7 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-7 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-7 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-7 div.sk-label label.sk-toggleable__label,\n",
              "#sk-container-id-7 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-7 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-7 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-7 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-7 div.sk-label-container {\n",
              "  text-align: center;\n",
              "}\n",
              "\n",
              "/* Estimator-specific */\n",
              "#sk-container-id-7 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-7 div.sk-estimator.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "/* on hover */\n",
              "#sk-container-id-7 div.sk-estimator:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-7 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-7 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-7 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-7 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-7 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-7\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>DecisionTreeClassifier(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-7\" type=\"checkbox\" checked><label for=\"sk-estimator-id-7\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>DecisionTreeClassifier</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.tree.DecisionTreeClassifier.html\">?<span>Documentation for DecisionTreeClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>DecisionTreeClassifier(random_state=42)</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 30
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y_pred_train = decisiontree_model.predict(X_train)\n",
        "y_pred_dt = decisiontree_model.predict(X_test)\n",
        "\n",
        "train_accuracy_dt = accuracy_score(Y_train, y_pred_train)\n",
        "\n",
        "\n",
        "accuracy = accuracy_score(Y_test, y_pred_dt)\n",
        "precision = precision_score(Y_test, y_pred_dt)\n",
        "recall = recall_score(Y_test, y_pred_dt)\n",
        "f1 = f1_score(Y_test, y_pred_dt)\n",
        "\n",
        "print(\"Training Accuracy:\", train_accuracy_dt)\n",
        "print(\"Test Accuracy:\", accuracy)\n",
        "print(\"Precision:\", precision)\n",
        "print(\"Recall:\", recall)\n",
        "print(\"F1 Score:\", f1)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "HWEPucbepaPv",
        "outputId": "b4d3b6eb-2e2d-47e4-ce94-839cb6adceb4"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Training Accuracy: 1.0\n",
            "Test Accuracy: 0.6883116883116883\n",
            "Precision: 0.5576923076923077\n",
            "Recall: 0.5370370370370371\n",
            "F1 Score: 0.5471698113207547\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "CM = confusion_matrix(Y_test, y_pred_dt)\n",
        "plt.figure(figsize=(3, 4))\n",
        "sns.heatmap(CM, annot=True, fmt='d', cmap='Blues')\n",
        "plt.xlabel('Predicted')\n",
        "plt.ylabel('Actual')\n",
        "plt.title('Confusion Matrix')\n",
        "plt.show()\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 410
        },
        "id": "uAieHb21uCL3",
        "outputId": "0124d591-2e48-4731-d6a4-718043222b7b"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 300x400 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "RANDOM FOREST"
      ],
      "metadata": {
        "id": "rTEJYPCWiSeZ"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "\n",
        "#TRAINING THE MODEL\n",
        "randomforest_model = RandomForestClassifier(n_estimators=100,random_state=42)\n",
        "randomforest_model.fit(X_train, Y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 80
        },
        "id": "lYTl9K3ciW9Z",
        "outputId": "dbc2cb74-5d08-46db-dd3b-c5b6310bb172"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "RandomForestClassifier(random_state=42)"
            ],
            "text/html": [
              "<style>#sk-container-id-2 {\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-2 {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "#sk-container-id-2 pre {\n",
              "  padding: 0;\n",
              "}\n",
              "\n",
              "#sk-container-id-2 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-2 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-2 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-2 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-2 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-2 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-2 div.sk-parallel-item {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "}\n",
              "\n",
              "#sk-container-id-2 div.sk-parallel-item:first-child::after {\n",
              "  align-self: flex-end;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-2 div.sk-parallel-item:last-child::after {\n",
              "  align-self: flex-start;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-2 div.sk-parallel-item:only-child::after {\n",
              "  width: 0;\n",
              "}\n",
              "\n",
              "/* Serial-specific style estimator block */\n",
              "\n",
              "#sk-container-id-2 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-2 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-2 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-2 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-2 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-2 label.sk-toggleable__label-arrow:hover:before {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "/* Toggleable content - dropdown */\n",
              "\n",
              "#sk-container-id-2 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-2 div.sk-toggleable__content.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-2 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-2 div.sk-toggleable__content.fitted pre {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-2 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-2 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-2 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-2 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-2 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-2 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-2 div.sk-label label.sk-toggleable__label,\n",
              "#sk-container-id-2 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-2 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-2 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-2 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-2 div.sk-label-container {\n",
              "  text-align: center;\n",
              "}\n",
              "\n",
              "/* Estimator-specific */\n",
              "#sk-container-id-2 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-2 div.sk-estimator.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "/* on hover */\n",
              "#sk-container-id-2 div.sk-estimator:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-2 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-2 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-2 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-2 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-2 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-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>RandomForestClassifier(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-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" 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(random_state=42)</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 11
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y_pred_rf_train = randomforest_model.predict(X_train)\n",
        "y_pred_rf = randomforest_model.predict(X_test)"
      ],
      "metadata": {
        "id": "y-eCIGo_tCpL"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "train_accuracy_rf = accuracy_score(Y_train, y_pred_rf_train)\n",
        "accuracy = accuracy_score(Y_test, y_pred_rf)\n",
        "precision = precision_score(Y_test, y_pred_rf)\n",
        "recall = recall_score(Y_test, y_pred_rf)\n",
        "f1 = f1_score(Y_test, y_pred_rf)\n",
        "print(\"Training Accuracy:\", train_accuracy_rf)\n",
        "print(\"test Accuracy:\", accuracy)\n",
        "print(\"Precision:\", precision)\n",
        "print(\"Recall:\", recall)\n",
        "print(\"F1 Score:\", f1)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "f0RifBaltHh5",
        "outputId": "72709745-2b4d-46bd-a7de-2a47a914d049"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Training Accuracy: 1.0\n",
            "test Accuracy: 0.7402597402597403\n",
            "Precision: 0.64\n",
            "Recall: 0.5925925925925926\n",
            "F1 Score: 0.6153846153846154\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "CM_rf = confusion_matrix(Y_test, y_pred_rf)\n",
        "plt.figure(figsize=(3, 4))\n",
        "sns.heatmap(CM_rf, annot=True, fmt='d', cmap='Blues')\n",
        "plt.xlabel('Predicted')\n",
        "plt.ylabel('Actual')\n",
        "plt.title('Confusion Matrix')\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 410
        },
        "id": "6V4g2kGjuqCj",
        "outputId": "3b2fcd2a-6a36-4306-f6f8-36a1beed10d7"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 300x400 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAS8AAAGJCAYAAADbm7UrAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAANLJJREFUeJzt3XlYVGX/P/D3gDAgywDGqoK4BLgrmiKWSyiZKQaubeBSWuQCasXz5IbLuO+p2dfQTLS0JG3RFA0ycSNxq8gtqQQEExCUAeH8/vDnPI2AzgwDM2fO+/Vc57ryPvecc89Y7+dz7nPPGZkgCAKIiETGwtgDICLSB8OLiESJ4UVEosTwIiJRYngRkSgxvIhIlBheRCRKDC8iEiWGFxGJEsNLpC5evIj+/ftDoVBAJpMhKSnJoMf/448/IJPJsHnzZoMeV8x69+6N3r17G3sY9P8xvGrh8uXLGD9+PJo3bw4bGxs4OjoiODgYq1atwt27d+v03JGRkTh37hzmz5+PrVu3okuXLnV6vvoUFRUFmUwGR0fHaj/HixcvQiaTQSaTYenSpTof//r165g9ezYyMjIMMFoylgbGHoBYffPNNxg2bBjkcjlee+01tG3bFmVlZThy5AimT5+OCxcuYOPGjXVy7rt37yItLQ3//e9/8fbbb9fJOXx8fHD37l1YWVnVyfEfp0GDBrhz5w727t2L4cOHa+zbtm0bbGxsUFpaqtexr1+/jjlz5qBZs2bo2LGj1q/7/vvv9Tof1Q2Glx6uXr2KkSNHwsfHB4cOHYKnp6d6X3R0NC5duoRvvvmmzs6fl5cHAHBycqqzc8hkMtjY2NTZ8R9HLpcjODgY27dvrxJeiYmJGDhwIL744ot6GcudO3fQsGFDWFtb18v5SEsC6WzChAkCAOGnn37Sqn95ebkQHx8vNG/eXLC2thZ8fHyEuLg4obS0VKOfj4+PMHDgQOHHH38UunbtKsjlcsHX11fYsmWLus+sWbMEABqbj4+PIAiCEBkZqf7nf3vwmn/7/vvvheDgYEGhUAh2dnbCk08+KcTFxan3X716VQAgJCQkaLwuOTlZ6Nmzp9CwYUNBoVAIgwcPFn755Zdqz3fx4kUhMjJSUCgUgqOjoxAVFSWUlJQ89vOKjIwU7OzshM2bNwtyuVy4deuWet+JEycEAMIXX3whABCWLFmi3nfz5k1h6tSpQtu2bQU7OzvBwcFBeO6554SMjAx1n8OHD1f5/P79Pnv16iW0adNGOHXqlPD0008Ltra2wuTJk9X7evXqpT7Wa6+9Jsjl8irvv3///oKTk5Pw999/P/a9kv4456WHvXv3onnz5ujRo4dW/ceNG4eZM2eic+fOWLFiBXr16gWlUomRI0dW6Xvp0iUMHToU/fr1w7Jly+Ds7IyoqChcuHABABAeHo4VK1YAAEaNGoWtW7di5cqVOo3/woULeOGFF6BSqRAfH49ly5Zh8ODB+Omnnx75uoMHDyI0NBQ3btzA7NmzERsbi6NHjyI4OBh//PFHlf7Dhw/H7du3oVQqMXz4cGzevBlz5szRepzh4eGQyWT48ssv1W2JiYnw9/dH586dq/S/cuUKkpKS8MILL2D58uWYPn06zp07h169euH69esAgICAAMTHxwMA3njjDWzduhVbt27FM888oz7OzZs3MWDAAHTs2BErV65Enz59qh3fqlWr4OrqisjISFRUVAAAPvzwQ3z//fdYs2YNvLy8tH6vpAdjp6fYFBYWCgCEsLAwrfpnZGQIAIRx48ZptE+bNk0AIBw6dEjd5uPjIwAQUlNT1W03btwQ5HK5MHXqVHXbg6ro31WHIGhfea1YsUIAIOTl5dU47uoqr44dOwpubm7CzZs31W1nzpwRLCwshNdee63K+caMGaNxzBdffFFo1KhRjef89/uws7MTBEEQhg4dKjz77LOCIAhCRUWF4OHhIcyZM6faz6C0tFSoqKio8j7kcrkQHx+vbjt58mS1VaUg3K+uAAgbNmyodt+/Ky9BEIT9+/cLAIR58+YJV65cEezt7YUhQ4Y89j1S7bHy0lFRUREAwMHBQav+3377LQAgNjZWo33q1KkAUGVurHXr1nj66afVf3Z1dYWfnx+uXLmi95gf9mCu7KuvvkJlZaVWr8nOzkZGRgaioqLg4uKibm/fvj369eunfp//NmHCBI0/P/3007h586b6M9TGSy+9hB9++AE5OTk4dOgQcnJy8NJLL1XbVy6Xw8Li/r/SFRUVuHnzJuzt7eHn54eff/5Z63PK5XKMHj1aq779+/fH+PHjER8fj/DwcNjY2ODDDz/U+lykP4aXjhwdHQEAt2/f1qr/tWvXYGFhgZYtW2q0e3h4wMnJCdeuXdNo9/b2rnIMZ2dn3Lp1S88RVzVixAgEBwdj3LhxcHd3x8iRI/H5558/MsgejNPPz6/KvoCAAOTn56OkpESj/eH34uzsDAA6vZfnn38eDg4O+Oyzz7Bt2zZ07dq1ymf5QGVlJVasWIFWrVpBLpfjiSeegKurK86ePYvCwkKtz9m4cWOdJueXLl0KFxcXZGRkYPXq1XBzc9P6taQ/hpeOHB0d4eXlhfPnz+v0OplMplU/S0vLatsFLZ7WXdM5HszHPGBra4vU1FQcPHgQr776Ks6ePYsRI0agX79+VfrWRm3eywNyuRzh4eHYsmULdu/eXWPVBQALFixAbGwsnnnmGXz66afYv38/Dhw4gDZt2mhdYQL3Px9dnD59Gjdu3AAAnDt3TqfXkv4YXnp44YUXcPnyZaSlpT22r4+PDyorK3Hx4kWN9tzcXBQUFMDHx8dg43J2dkZBQUGV9oerOwCwsLDAs88+i+XLl+OXX37B/PnzcejQIRw+fLjaYz8YZ2ZmZpV9v/32G5544gnY2dnV7g3U4KWXXsLp06dx+/btam9yPLBr1y706dMHmzZtwsiRI9G/f3+EhIRU+Uy0/T8SbZSUlGD06NFo3bo13njjDSxevBgnT5402PGpZgwvPbzzzjuws7PDuHHjkJubW2X/5cuXsWrVKgD3L3sAVLkjuHz5cgDAwIEDDTauFi1aoLCwEGfPnlW3ZWdnY/fu3Rr9/vnnnyqvfbBYU6VSVXtsT09PdOzYEVu2bNEIg/Pnz+P7779Xv8+60KdPH8ydOxdr166Fh4dHjf0sLS2rVHU7d+7E33//rdH2IGSrC3pdvfvuu8jKysKWLVuwfPlyNGvWDJGRkTV+jmQ4XKSqhxYtWiAxMREjRoxAQECAxgr7o0ePYufOnYiKigIAdOjQAZGRkdi4cSMKCgrQq1cvnDhxAlu2bMGQIUNqvA2vj5EjR+Ldd9/Fiy++iEmTJuHOnTtYv349nnzySY0J6/j4eKSmpmLgwIHw8fHBjRs3sG7dOjRp0gQ9e/as8fhLlizBgAEDEBQUhLFjx+Lu3btYs2YNFAoFZs+ebbD38TALCwu8//77j+33wgsvID4+HqNHj0aPHj1w7tw5bNu2Dc2bN9fo16JFCzg5OWHDhg1wcHCAnZ0dunXrBl9fX53GdejQIaxbtw6zZs1SL91ISEhA7969MWPGDCxevFin45GOjHy3U9R+//134fXXXxeaNWsmWFtbCw4ODkJwcLCwZs0ajQWo5eXlwpw5cwRfX1/ByspKaNq06SMXqT7s4Vv0NS2VEIT7i0/btm0rWFtbC35+fsKnn35aZalEcnKyEBYWJnh5eQnW1taCl5eXMGrUKOH333+vco6HlxMcPHhQCA4OFmxtbQVHR0dh0KBBNS5SfXgpRkJCggBAuHr1ao2fqSBoLpWoSU1LJaZOnSp4enoKtra2QnBwsJCWllbtEoevvvpKaN26tdCgQYNqF6lW59/HKSoqEnx8fITOnTsL5eXlGv1iYmIECwsLIS0t7ZHvgWpHJgj83UYiEh/OeRGRKDG8iEiUGF5EJEoMLyISJYYXEYkSw4uIRInhRUSiZJYr7G071c1z3almt06uNfYQJMdGx/96a/Pfxd3Tpvf3a5bhRUTVkJnXhRbDi0gqDPg0DVPA8CKSCjOrvMzr3RCRZDC8iKRCJtN/00FFRQVmzJgBX19f2NraokWLFpg7d67Gs9YEQcDMmTPh6ekJW1tbhISEVHlg5+MwvIikQmah/6aDRYsWYf369Vi7di1+/fVXLFq0CIsXL8aaNWvUfRYvXozVq1djw4YNOH78OOzs7BAaGqrTr6BzzotIKuppwv7o0aMICwtTPyW4WbNm2L59O06cOAHgftW1cuVKvP/++wgLCwMAfPLJJ3B3d0dSUtIjH/X9b6y8iKSiFpWXSqVCUVGRxlbTo6579OiB5ORk/P777wCAM2fO4MiRIxgwYAAA4OrVq8jJyUFISIj6NQqFAt26ddPqdyEeYHgRSUUt5ryUSiUUCoXGplQqqz3Ne++9h5EjR8Lf3x9WVlbo1KkTpkyZgpdffhkAkJOTAwBwd3fXeJ27u7t6nzZ42UhEjxUXF1flh5Plcnm1fT///HNs27YNiYmJaNOmDTIyMjBlyhR4eXkhMjLSYGNieBFJRS3Wecnl8hrD6mHTp09XV18A0K5dO1y7dg1KpRKRkZHqX4DKzc2Fp6en+nW5ubnqX7HSBi8biaSinpZK3LlzBxYWmtFiaWmp/uFfX19feHh4IDk5Wb2/qKgIx48fR1BQkNbnYeVFJBX1tMJ+0KBBmD9/Pry9vdGmTRucPn0ay5cvx5gxY+4PQybDlClTMG/ePLRq1Qq+vr6YMWMGvLy8MGTIEK3Pw/Aikop6WiqxZs0azJgxA2+99RZu3LgBLy8vjB8/HjNnzlT3eeedd1BSUoI33ngDBQUF6NmzJ/bt2wcbGxutz2OWP33GR+LUPz4Sp/7p/EicZ2brfa67qfq/tq5wzouIRImXjURSYWZPlWB4EUmFBZ/nRURixMqLiESJT1IlIlEys8rLvN4NEUkGKy8iqeBlIxGJkpldNjK8iKSClRcRiRIrLyISJTOrvMwriolIMlh5EUkFLxuJSJTM7LKR4UUkFay8iEiUGF5EJEpmdtloXlFMRJLByotIKnjZSESiZGaXjQwvIqlg5UVEosTKi4jESGZm4WVedSQRSQYrLyKJMLfKi+FFJBXmlV0MLyKpYOVFRKLE8CIiUTK38OLdRiISJVZeRBJhbpUXw4tIKswruxheRFLByouIRInhRUSiZG7hxbuNRCRKrLyIJIKVFxGJk6wWmw6aNWsGmUxWZYuOjgYAlJaWIjo6Go0aNYK9vT0iIiKQm5ur89theBFJRHWBou2mi5MnTyI7O1u9HThwAAAwbNgwAEBMTAz27t2LnTt3IiUlBdevX0d4eLjO74eXjUQSUZvLRpVKBZVKpdEml8shl8ur9HV1ddX488KFC9GiRQv06tULhYWF2LRpExITE9G3b18AQEJCAgICAnDs2DF0795d6zGx8iKSiNpUXkqlEgqFQmNTKpWPPWdZWRk+/fRTjBkzBjKZDOnp6SgvL0dISIi6j7+/P7y9vZGWlqbT+2HlRUSPFRcXh9jYWI226qquhyUlJaGgoABRUVEAgJycHFhbW8PJyUmjn7u7O3JycnQaE8OLSCpqcbOxpkvEx9m0aRMGDBgALy8v/U9eA4YXkUTU91KJa9eu4eDBg/jyyy/VbR4eHigrK0NBQYFG9ZWbmwsPDw+djs85LyKJqK+7jQ8kJCTAzc0NAwcOVLcFBgbCysoKycnJ6rbMzExkZWUhKChIp+Oz8iKSiPqsvCorK5GQkIDIyEg0aPC/mFEoFBg7dixiY2Ph4uICR0dHTJw4EUFBQTrdaQQYXkSSUZ/hdfDgQWRlZWHMmDFV9q1YsQIWFhaIiIiASqVCaGgo1q1bp/M5ZIIgCIYYrCmx7fS2sYcgObdOrjX2ECTHRsfSw2v8l4/vVIPrH+q+iLSusfIikgrz+mojw4tIKszti9kMLyKJYHgRkSiZW3hxnRcRiRIrLyKpMK/Ci+FV3ywsZHh/wvMY9XxXuDdyRHZeIbbuPY6FH+0DADRoYIHZbw1CaM828G3SCEXFpTh0/DfMWL0H2XmFRh69OKWfOonNH2/Cr7+cR15eHlas/gB9n/3fUw3ulJRg5YplOHzoIAoLCtC4cROMeuVVDB8xyoijNjxzu2xkeNWzqVH98PrQp/H6zK345XI2Att448PZr6Co+C7WbU9BQxtrdAxoioUffYezv/8NZ8eGWDp9KHauHI+eLy829vBF6e7dO/Dz88OQ8AjETq66BnDp4oU4cfwYFixcAq/GjZH2009YMG8O3Fzd0Lvvs0YYcd1geFGtdO/QHF+nnMW+IxcAAFnZ/2D4c13QpY0PAKCouBQvvKm54DNm4ec4su0dNPVwxp85t+p9zGLX8+le6Pl0rxr3Z2ScxqCwIej6VDcAwNDhI7Br52c4f+4sw8uEccK+nh07cwV9nvJDS283AEC7JxsjqGNzfP/TLzW+xtHBFpWVlSi4fbe+hikpHTt2QsrhQ8jNzYUgCDhx/Biu/XEVQcE9jT00g6rvL2bXNaNWXvn5+fj444+RlpamfhCZh4cHevTogaioqCqPkzUHSxMOwNHeBmd2v4+KCgGWljLM+uBr7PjuVLX95dYNMG9SGD7fl47bJaX1PFppeO+/MxA/awb6930GDRo0gEwmw6w58xDYpauxh0aPYLTwOnnyJEJDQ9GwYUOEhITgySefBHD/uT6rV6/GwoULsX//fnTp0uWRx6nu2dpCZQVkFpZ1NvbaGNq/M0YO6Iqo/2zBL5ez0d6vMZZMG4rsvEJs23tco2+DBhb4dPFYyGQyTFrwmZFGbP62b9uKs2czsGrtenh5eSH91CksmDcHrm5u6B7Uw9jDMxzTLKD0ZrTwmjhxIoYNG4YNGzZUKUsFQcCECRMwceLExz7XWqlUYs6cORptlu5dYeX5lMHHbAgLpgzB0oQD2Lk/HQBw4dJ1eHu6YProfhrh1aCBBbYtGgtvT2cMeGMNq646UlpaitUrV2DF6rV4pldvAMCTfv7IzPwVWxI2mVV4merln76MNud15swZxMTEVPuBymQyxMTEICMj47HHiYuLQ2FhocbWwD2wDkZsGLY21qgUKjXaKioFWFj876/iQXC18HbFwAlr8U9hSX0PUzLu3buHe/fKYWGh+e+hhYUlKs3sgSuc8zIQDw8PnDhxAv7+/tXuP3HiBNzd3R97nOqerW2ql4wA8G3qObw7NhR/Zt/CL5ez0dG/CSa90gefJB0DcD+4EpeMQyf/pgifvAGWFjK4N3IAAPxTeAfl9yqMOXxRulNSgqysLPWf//7rL/z2669QKBTw9PJCl65PYfnSJZDLbeDp5YX0kyfx9Z4kTHvnPSOO2vBMNIP0ZrTneX3wwQeYOnUqxo8fj2effVYdVLm5uUhOTsZHH32EpUuX4q233tL52Kb8PC/7hnLMeusFDO7bAa7O9sjOK8Tn+9KxYON3KL9XAW9PF2R+G1/ta/uPW4Uf0y/W84i1Y8rP8zp54jjGjX6tSvvgsBcxd8FC5OflYdXK5Ug7egRFhYXw9PJCxNAReDUyymSrDkD353m1mr5P73NdXPKc3q+tK0Z9GOFnn32GFStWID09HRUV9ysKS0tLBAYGIjY2FsOHD9fruKYcXubKlMPLXEk9vIy6VGLEiBEYMWIEysvLkZ+fDwB44oknYGVlZcxhEZklEy4i9WISK+ytrKzg6elp7GEQmTVTvgTWh0mEFxHVPTPLLoYXkVQ8vBxE7BheRBJhbpUXv5hNRKLEyotIIjhhT0SiZGbZxfAikgpWXkQkSgwvIhIlM8su3m0kInFi5UUkEbxsJCJRMrPsYngRSQUrLyISJTPLLoYXkVSYW+XFu41EJEqsvIgkwswKL4YXkVTwspGIREkm03/T1d9//41XXnkFjRo1gq2tLdq1a4dTp06p9wuCgJkzZ8LT0xO2trYICQnBxYu6/TIWw4tIIurrR2dv3bqF4OBgWFlZ4bvvvsMvv/yCZcuWwdnZWd1n8eLFWL16NTZs2IDjx4/Dzs4OoaGhKC3V/pfhedlIJBH1ddW4aNEiNG3aFAkJCeo2X19f9T8LgoCVK1fi/fffR1hYGADgk08+gbu7O5KSkjBy5EitzsPKi4geS6VSoaioSGNTqVTV9t2zZw+6dOmCYcOGwc3NDZ06dcJHH32k3n/16lXk5OQgJCRE3aZQKNCtWzekpaVpPSaGF5FE1OayUalUQqFQaGxKpbLa81y5cgXr169Hq1atsH//frz55puYNGkStmzZAgDIyckBALi7u2u8zt3dXb1PG7xsJJKI2lw2xsXFITY2VqNNLpdX27eyshJdunTBggULAACdOnXC+fPnsWHDBkRGRuo/iIew8iKSiNpUXnK5HI6OjhpbTeHl6emJ1q1ba7QFBAQgKysLAODh4QEAyM3N1eiTm5ur3qcNhheRRNTX3cbg4GBkZmZqtP3+++/w8fEBcH/y3sPDA8nJyer9RUVFOH78OIKCgrQ+Dy8biSSivu42xsTEoEePHliwYAGGDx+OEydOYOPGjdi4ceP/H4cMU6ZMwbx589CqVSv4+vpixowZ8PLywpAhQ7Q+D8OLiAyqa9eu2L17N+Li4hAfHw9fX1+sXLkSL7/8srrPO++8g5KSErzxxhsoKChAz549sW/fPtjY2Gh9HpkgCEJdvAFjsu30trGHIDm3Tq419hAkx0bH0qP3yqN6n+uHKT30fm1dYeVFJBFm9tVGhheRVJjbF7MZXkQSYWbZxfAikgoLM0svrvMiIlFi5UUkEWZWeDG8iKSCE/ZEJEoW5pVdDC8iqWDlRUSiZGbZxbuNRCROrLyIJEIG8yq9GF5EEsEJeyISJU7YE5EomVl2MbyIpILfbSQiMgGsvIgkwswKL4YXkVRwwp6IRMnMsovhRSQV5jZhz/Aikgjzii4tw2vPnj1aH3Dw4MF6D4aISFtahZe2v2Irk8lQUVFRm/EQUR2R5IR9ZWVlXY+DiOoYv9tIRKIkycrrYSUlJUhJSUFWVhbKyso09k2aNMkgAyMiwzKz7NI9vE6fPo3nn38ed+7cQUlJCVxcXJCfn4+GDRvCzc2N4UVkosyt8tL5u40xMTEYNGgQbt26BVtbWxw7dgzXrl1DYGAgli5dWhdjJCKqQufwysjIwNSpU2FhYQFLS0uoVCo0bdoUixcvxn/+85+6GCMRGYCFTP/NFOkcXlZWVrCwuP8yNzc3ZGVlAQAUCgX+/PNPw46OiAxGJpPpvZkinee8OnXqhJMnT6JVq1bo1asXZs6cifz8fGzduhVt27atizESkQGYZgTpT+fKa8GCBfD09AQAzJ8/H87OznjzzTeRl5eHjRs3GnyARGQYFjKZ3psp0rny6tKli/qf3dzcsG/fPoMOiIhIG1ykSiQRJlpA6U3n8PL19X3kBN6VK1dqNSAiqhumOvGuL53Da8qUKRp/Li8vx+nTp7Fv3z5Mnz7dUOMiIgMzs+zSPbwmT55cbfsHH3yAU6dO1XpARFQ36mviffbs2ZgzZ45Gm5+fH3777TcAQGlpKaZOnYodO3ZApVIhNDQU69atg7u7u07nMdivBw0YMABffPGFoQ5HRAYmk+m/6apNmzbIzs5Wb0eOHFHvi4mJwd69e7Fz506kpKTg+vXrCA8P1/kcBpuw37VrF1xcXAx1OCISsQYNGsDDw6NKe2FhITZt2oTExET07dsXAJCQkICAgAAcO3YM3bt31/4cug6qU6dOGhN/giAgJycHeXl5WLduna6HI6J6UpsJe5VKBZVKpdEml8shl8ur7X/x4kV4eXnBxsYGQUFBUCqV8Pb2Rnp6OsrLyxESEqLu6+/vD29vb6SlpdVteIWFhWl8CBYWFnB1dUXv3r3h7++v6+HqRNaPK409BMm58FeRsYcgOYHNHHXqX5s5IqVSWWUea9asWZg9e3aVvt26dcPmzZvh5+eH7OxszJkzB08//TTOnz+PnJwcWFtbw8nJSeM17u7uyMnJ0WlMOodXdYMlItNXm8orLi4OsbGxGm01VV0DBgxQ/3P79u3RrVs3+Pj44PPPP4etra3eY3iYzmFsaWmJGzduVGm/efMmLC0tDTIoIjK82jxVQi6Xw9HRUWOrKbwe5uTkhCeffBKXLl2Ch4cHysrKUFBQoNEnNze32jmyR74fnXrj/hxXdVQqFaytrXU9HBHVE2M9Eqe4uBiXL1+Gp6cnAgMDYWVlheTkZPX+zMxMZGVlISgoSKfjan3ZuHr1agD3S8//+7//g729vXpfRUUFUlNTTWbOi4iMZ9q0aRg0aBB8fHxw/fp1zJo1C5aWlhg1ahQUCgXGjh2L2NhYuLi4wNHRERMnTkRQUJBOk/WADuG1YsUKAPcrrw0bNmhcIlpbW6NZs2bYsGGDTicnovpTX18P+uuvvzBq1CjcvHkTrq6u6NmzJ44dOwZXV1cA97PEwsICERERGotUdSUTaroOrEGfPn3w5ZdfwtnZWeeT1Ze84nvGHoLkZOXfMfYQJEfXu43Tv87U+1xLXvDT+7V1Ree7jYcPH66LcRBRHTO37zbqPGEfERGBRYsWVWlfvHgxhg0bZpBBEZHhmdvDCHUOr9TUVDz//PNV2gcMGIDU1FSDDIqIDM+iFpsp0nlcxcXF1S6JsLKyQlERV1kTUf3QObzatWuHzz77rEr7jh070Lp1a4MMiogMrz6fKlEfdJ6wnzFjBsLDw3H58mX1t8KTk5ORmJiIXbt2GXyARGQYpjp3pS+dw2vQoEFISkrCggULsGvXLtja2qJDhw44dOgQH4lDZMLMLLv0e57XwIEDMXDgQABAUVERtm/fjmnTpiE9PR0VFRUGHSARGYap/vK1vvS+kZCamorIyEh4eXlh2bJl6Nu3L44dO2bIsRGRAZnbUgmdKq+cnBxs3rwZmzZtQlFREYYPHw6VSoWkpCRO1hNRvdK68ho0aBD8/Pxw9uxZrFy5EtevX8eaNWvqcmxEZECSvdv43XffYdKkSXjzzTfRqlWruhwTEdUByc55HTlyBLdv30ZgYCC6deuGtWvXIj8/vy7HRkQGJKvF/0yR1uHVvXt3fPTRR8jOzsb48eOxY8cOeHl5obKyEgcOHMDt27frcpxEVEvGehhhXdH5bqOdnR3GjBmDI0eO4Ny5c5g6dSoWLlwINzc3DB48uC7GSEQGIPnw+jc/Pz8sXrwYf/31F7Zv326oMRERPZZBfnTW0tISQ4YMwZAhQwxxOCKqA/X1JNX6YrBfzCYi02aql3/6YngRSYSZFV4MLyKpMNWv+eiL4UUkEeZ22WiqT3glInokVl5EEmFmV40MLyKpsDDRr/noi+FFJBGsvIhIlMxtwp7hRSQR5rZUgncbiUiUWHkRSYSZFV4MLyKpMLfLRoYXkUSYWXYxvIikwtwmuBleRBJhbs/zMrcwJiKJYOVFJBHmVXcxvIgkg3cbiUiUzCu6OOdFJBkymf5bbSxcuBAymQxTpkxRt5WWliI6OhqNGjWCvb09IiIikJubq9NxGV5EEiGTyfTe9HXy5El8+OGHaN++vUZ7TEwM9u7di507dyIlJQXXr19HeHi4TsdmeBFRnSguLsbLL7+Mjz76CM7Ozur2wsJCbNq0CcuXL0ffvn0RGBiIhIQEHD16FMeOHdP6+AwvIomwqMWmUqlQVFSksalUqkeeLzo6GgMHDkRISIhGe3p6OsrLyzXa/f394e3tjbS0NJ3eDxFJQG0uG5VKJRQKhcamVCprPNeOHTvw888/V9snJycH1tbWcHJy0mh3d3dHTk6O1u+HdxuJJKI28+5xcXGIjY3VaJPL5dX2/fPPPzF58mQcOHAANjY2tTjrozG8iCSiNhPvcrm8xrB6WHp6Om7cuIHOnTur2yoqKpCamoq1a9di//79KCsrQ0FBgUb1lZubCw8PD63HxPAikoj6miN69tlnce7cOY220aNHw9/fH++++y6aNm0KKysrJCcnIyIiAgCQmZmJrKwsBAUFaX0ehhcRGZSDgwPatm2r0WZnZ4dGjRqp28eOHYvY2Fi4uLjA0dEREydORFBQELp37671eRheRBJhSk+VWLFiBSwsLBAREQGVSoXQ0FCsW7dOp2PIBEEQ6mh8RpNXfM/YQ5CcrPw7xh6C5AQ2c9Spf9JZ7e/kPWxIe+3nouoLKy8iiTChwssgGF5EEsFfzCYiUTK3yosr7IlIlFh5EUmEjJeNRCRG5nbZyPAikghO2BORKLHyIiJRMrfw4t1GIhIlVl5EEsG7jUQkShbmlV0MLyKpYOVFRKLECXsiIhPAyotIInjZSLWy9eOPkHL4AK79cRVyuQ3ate+INyfFwruZLwCgqLAAmz78ACeOHUVuTjacnJzxTO9nMe7NibB3cDDy6MXpwN5dOPjNF8jPzQYANPZpjvCXx6Jj12AUFxVi19aNOPfzMeTfyIWjwgldevTGsMgJaGhnb+SRGxYn7KlWTv98EuHDRsG/TTtUVNzDxrWrEBP9Oj7dtQe2tg2Rn5eH/LwbiJ4yDb6+LZCTfR1LlPHIz7+BeYtXGnv4ouTi6oaRY96GR+OmgCAg9cA3WDZ7GpQffAoBAm7dzMNLr09GE+/myL+RjU2rF+LWzTxMmbHI2EM3KHOrvPgYaCO7desfDAp5Gms/2oKOnbtU2+fQgf2YO+NdHDhyCg0amOb/34jtMdCvRzyLl16fhD7PhVXZdyz1INYtnomEr1JhaWmanzeg+2Ogj1y8pfe5erZy1vu1dcV0/2YkoqT4NgDA0VHxyD52dvYmG1xiUllRgWM/JkOluotWAe2q7XO3pBi2De1MOrj0YV51F8PLqCorK7F66SK069AJzVu2qrZPwa1b2Px/GzAofFg9j868ZF29hFlTxqC8rAw2traImbkETXyaV+lXVFiA3Ymb0HfAi0YYJenCpJdK/PnnnxgzZswj+6hUKhQVFWlsKpWqnkZYO8sXzsOVyxcxR7m02v0lxcWYPvlNNGveAmPfeKueR2devJr4QLluG+JXJyDkhQhsWDobf127otHnTkkxlsyYgsbevoh49Q0jjbTuWMhkem+myKTD659//sGWLVse2UepVEKhUGhsq5aZ/kTr8kXzcPRIClZ/mAA396o/K3WnpARTJ45HQzs7LFi6Gg2srIwwSvPRwMoKHo2bonmrAIwc8za8fVthX9IO9f67d0qw6L+TYGPbEDGzlpjlJbqsFpspMurf0J49ex65/8qVK4/cDwBxcXGIjY3VaCsqt6zVuOqSIAhYsXg+Ug8nY83GzfBq3KRKn5LiYsS+/QasrK2xaPlayOVyI4zUvAmCgHvlZQDuV1wL/zsJVlZWmDZnOaytzfTzNtUU0pNRw2vIkCGQyWR41A3Px/3Kr1wur/Ift8qE7zYuWzgXB/d9C+XyNWjYsCFu5ucBAOztHSC3sUFJcTFiol+HqrQUM+cuRElJMUpKigEATs4usLQ03WA2VTs+XosOXXvgCVcP3L17B0cP78OvZ9Px3vw194PrPxOhUpUi+p143L1TjLt37n/ejgpnWJjR582lEgbUuHFjrFu3DmFhVW9XA0BGRgYCAwNRUVGh03FNealEz8A21bb/Z9Y8PD/4Rfx86gQmjR9dbZ+de7+Hp1fjuhye3kx5qcTG5XNxPuMkCv7JR8OG9mjq2xKDh0eiXWA3/HImHfPemVDt61Zt+QquHl71PFrt6bpU4sSVQr3P9VTzmu+GG4tRw2vw4MHo2LEj4uPjq91/5swZdOrUCZWVlTod15TDy1yZcniZK6mHl1EvG6dPn46SkpIa97ds2RKHDx+uxxERmS/zumjkCnsyEFZe9U/XyuvkVf0rr66+rLyIyEjMbcKe4UUkESa61lRvDC8iiTCz7DLtFfZERDVh5UUkFWZWejG8iCSCE/ZEJEqcsCciUTKz7OKEPZFk1NMzcdavX4/27dvD0dERjo6OCAoKwnfffafeX1paiujoaDRq1Aj29vaIiIhAbm6uzm+H4UVEBtWkSRMsXLgQ6enpOHXqFPr27YuwsDBcuHABABATE4O9e/di586dSElJwfXr1xEeHq7zefj1IDIIfj2o/un69aCzfxbrfa72TWv3M3AuLi5YsmQJhg4dCldXVyQmJmLo0KEAgN9++w0BAQFIS0tD9+7dtT4mKy8iiZDJ9N/0fdx6RUUFduzYgZKSEgQFBSE9PR3l5eUICQlR9/H394e3tzfS0tJ0ej8MLyKJqM2UV3WPW1cqlTWe69y5c7C3t4dcLseECROwe/dutG7dGjk5ObC2toaTk5NGf3d3d+Tk5Oj0fni3kUgqanG7sbrHrT/q8eR+fn7IyMhAYWEhdu3ahcjISKSkpOg/gGowvIgkojaLVKt73PqjWFtbo2XLlgCAwMBAnDx5EqtWrcKIESNQVlaGgoICjeorNzcXHh5Vf4jmUXjZSER1rrKyEiqVCoGBgbCyskJycrJ6X2ZmJrKyshAUFKTTMVl5EUlEfa2wj4uLw4ABA+Dt7Y3bt28jMTERP/zwA/bv3w+FQoGxY8ciNjYWLi4ucHR0xMSJExEUFKTTnUaA4UUkGfW1wv7GjRt47bXXkJ2dDYVCgfbt22P//v3o168fAGDFihWwsLBAREQEVCoVQkNDsW7dOp3Pw3VeZBBc51X/dF3n9Wt2zb8X8TgBnnZ6v7ausPIikgg+VYKIRMncnirBu41EJEqsvIgkwswKL4YXkWSYWXoxvIgkghP2RCRK5jZhz/Aikggzyy7ebSQicWLlRSQVZlZ6MbyIJIIT9kQkSpywJyJRMrPsYngRSYaZpRfvNhKRKLHyIpIITtgTkShxwp6IRMnMsovhRSQVrLyISKTMK714t5GIRImVF5FE8LKRiETJzLKL4UUkFay8iEiUuEiViMTJvLKLdxuJSJxYeRFJhJkVXgwvIqnghD0RiRIn7IlInMwruxheRFJhZtnFu41EJE6svIgkghP2RCRKnLAnIlEyt8qLc15EJEoMLyKJkMn033ShVCrRtWtXODg4wM3NDUOGDEFmZqZGn9LSUkRHR6NRo0awt7dHREQEcnNzdToPw4uIDColJQXR0dE4duwYDhw4gPLycvTv3x8lJSXqPjExMdi7dy927tyJlJQUXL9+HeHh4TqdRyYIgmDowRtbXvE9Yw9BcrLy7xh7CJIT2MxRp/6Fdyv1PpfCVv86Jy8vD25ubkhJScEzzzyDwsJCuLq6IjExEUOHDgUA/PbbbwgICEBaWhq6d++u1XFZeRFJRG0uG1UqFYqKijQ2lUql1XkLCwsBAC4uLgCA9PR0lJeXIyQkRN3H398f3t7eSEtL0/r9MLyIJEJWi02pVEKhUGhsSqXyseesrKzElClTEBwcjLZt2wIAcnJyYG1tDScnJ42+7u7uyMnJ0fr9cKkEkVTUYqlEXFwcYmNjNdrkcvljXxcdHY3z58/jyJEj+p+8BgwvInosuVyuVVj929tvv42vv/4aqampaNKkibrdw8MDZWVlKCgo0Ki+cnNz4eHhofXxedlIJBGyWvxPF4Ig4O2338bu3btx6NAh+Pr6auwPDAyElZUVkpOT1W2ZmZnIyspCUFCQ1udh5UUkEfW1wj46OhqJiYn46quv4ODgoJ7HUigUsLW1hUKhwNixYxEbGwsXFxc4Ojpi4sSJCAoK0vpOI8ClEmQgXCpR/3RdKnGnTP//1Btaa598shpSMiEhAVFRUQDuL1KdOnUqtm/fDpVKhdDQUKxbt06ny0aGFxkEw6v+6Rxe5bUILyvT+2IkLxuJJMLcnirBCXsiEiVWXkQSYW6PxDHLOS+xUqlUUCqViIuL03lNDemHn7l4MbxMSFFRERQKBQoLC+HoqNtkLOmHn7l4cc6LiESJ4UVEosTwIiJRYniZELlcjlmzZnHiuB7xMxcvTtgTkSix8iIiUWJ4EZEoMbyISJQYXkQkSgwvE/HBBx+gWbNmsLGxQbdu3XDixAljD8mspaamYtCgQfDy8oJMJkNSUpKxh0Q6YniZgM8++wyxsbGYNWsWfv75Z3To0AGhoaG4ceOGsYdmtkpKStChQwd88MEHxh4K6YlLJUxAt27d0LVrV6xduxbA/Z+Latq0KSZOnIj33nvPyKMzfzKZDLt378aQIUOMPRTSASsvIysrK0N6errGD3BaWFggJCREpx/gJJIahpeR5efno6KiAu7u7hrtuv4AJ5HUMLyISJQYXkb2xBNPwNLSErm5uRrtuv4AJ5HUMLyMzNraGoGBgRo/wFlZWYnk5GSdfoCTSGr4DHsTEBsbi8jISHTp0gVPPfUUVq5ciZKSEowePdrYQzNbxcXFuHTpkvrPV69eRUZGBlxcXODt7W3EkZG2uFTCRKxduxZLlixBTk4OOnbsiNWrV6Nbt27GHpbZ+uGHH9CnT58q7ZGRkdi8eXP9D4h0xvAiIlHinBcRiRLDi4hEieFFRKLE8CIiUWJ4EZEoMbyISJQYXkQkSgwvIhIlhhfpLCoqSuPBfb1798aUKVPqfRw//PADZDIZCgoK6v3cZHwMLzMSFRUFmUwGmUwGa2trtGzZEvHx8bh3716dnvfLL7/E3LlzterLwCFD4Rezzcxzzz2HhIQEqFQqfPvtt4iOjoaVlRXi4uI0+pWVlcHa2tog53RxcTHIcYh0wcrLzMjlcnh4eMDHxwdvvvkmQkJCsGfPHvWl3vz58+Hl5QU/Pz8AwJ9//onhw4fDyckJLi4uCAsLwx9//KE+XkVFBWJjY+Hk5IRGjRrhnXfewcNfh334slGlUuHdd99F06ZNIZfL0bJlS2zatAl//PGH+svQzs7OkMlkiIqKAnD/MUBKpRK+vr6wtbVFhw4dsGvXLo3zfPvtt3jyySdha2uLPn36aIyTpIfhZeZsbW1RVlYGAEhOTkZmZiYOHDiAr7/+GuXl5QgNDYWDgwN+/PFH/PTTT7C3t8dzzz2nfs2yZcuwefNmfPzxxzhy5Aj++ecf7N69+5HnfO2117B9+3asXr0av/76Kz788EPY29ujadOm+OKLLwAAmZmZyM7OxqpVqwAASqUSn3zyCTZs2IALFy4gJiYGr7zyClJSUgDcD9nw8HAMGjQIGRkZGDduHH+cROoEMhuRkZFCWFiYIAiCUFlZKRw4cECQy+XCtGnThMjISMHd3V1QqVTq/lu3bhX8/PyEyspKdZtKpRJsbW2F/fv3C4IgCJ6ensLixYvV+8vLy4UmTZqozyMIgtCrVy9h8uTJgiAIQmZmpgBAOHDgQLVjPHz4sABAuHXrlrqttLRUaNiwoXD06FGNvmPHjhVGjRolCIIgxMXFCa1bt9bY/+6771Y5FkkH57zMzNdffw17e3uUl5ejsrISL730EmbPno3o6Gi0a9dOY57rzJkzuHTpEhwcHDSOUVpaisuXL6OwsBDZ2dkazxVr0KABunTpUuXS8YGMjAxYWlqiV69eWo/50qVLuHPnDvr166fRXlZWhk6dOgEAfv311yrPN+OTZqWN4WVm+vTpg/Xr18Pa2hpeXl5o0OB/f8V2dnYafYuLixEYGIht27ZVOY6rq6te57e1tdX5NcXFxQCAb775Bo0bN9bYJ5fL9RoHmT+Gl5mxs7NDy5YtterbuXNnfPbZZ3Bzc4Ojo2O1fTw9PXH8+HE888wzAIB79+4hPT0dnTt3rrZ/u3btUFlZiZSUFI3fonzgQeVXUVGhbmvdujXkcjmysrJqrNgCAgKwZ88ejbZjx449/k2S2eKEvYS9/PLLeOKJJxAWFoYff/wRV69exQ8//IBJkybhr7/+AgBMnjwZCxcuRFJSEn777Te89dZbj1yj1axZM0RGRmLMmDFISkpSH/Pzzz8HAPj4+EAmk+Hrr79GXl4eiouL4eDggGnTpiEmJgZbtmzB5cuX8fPPP2PNmjXYsmULAGDChAm4ePEipk+fjszMTCQmJvJxzRLH8JKwhg0bIjU1Fd7e3ggPD0dAQADGjh2L0tJSdSU2depUvPrqq4iMjERQUBAcHBzw4osvPvK469evx9ChQ/HWW2/B398fr7/+OkpKSgAAjRs3xpw5c/Dee+/B3d0db7/9NgBg7ty5mDFjBpRKJQICAvDcc8/hm2++ga+vLwDA29sbX3zxBZKSktChQwds2LABCxYsqMNPh0wdn2FPRKLEyouIRInhRUSixPAiIlFieBGRKDG8iEiUGF5EJEoMLyISJYYXEYkSw4uIRInhRUSixPAiIlH6fzlyZ9gAmPRqAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# print(\"\\nClassification Report:\\n\")\n",
        "# print(classification_report(Y_test, y_pred, digits=4))"
      ],
      "metadata": {
        "id": "0QyPG7hSt1FJ"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "NAVIE BAYES"
      ],
      "metadata": {
        "id": "6DmTGKBPiXsZ"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "#TRAINING THE MODEL\n",
        "naivebayes_model = GaussianNB()\n",
        "naivebayes_model.fit(X_train, Y_train)\n",
        "\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 80
        },
        "id": "dBknCFp5ifFq",
        "outputId": "5a282575-a5e8-425c-8f2b-331b1a6f9bb9"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "GaussianNB()"
            ],
            "text/html": [
              "<style>#sk-container-id-3 {\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-3 {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "#sk-container-id-3 pre {\n",
              "  padding: 0;\n",
              "}\n",
              "\n",
              "#sk-container-id-3 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-3 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-3 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-3 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-3 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-3 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-3 div.sk-parallel-item {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "}\n",
              "\n",
              "#sk-container-id-3 div.sk-parallel-item:first-child::after {\n",
              "  align-self: flex-end;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-3 div.sk-parallel-item:last-child::after {\n",
              "  align-self: flex-start;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-3 div.sk-parallel-item:only-child::after {\n",
              "  width: 0;\n",
              "}\n",
              "\n",
              "/* Serial-specific style estimator block */\n",
              "\n",
              "#sk-container-id-3 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-3 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-3 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-3 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-3 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-3 label.sk-toggleable__label-arrow:hover:before {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "/* Toggleable content - dropdown */\n",
              "\n",
              "#sk-container-id-3 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-3 div.sk-toggleable__content.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-3 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-3 div.sk-toggleable__content.fitted pre {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-3 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-3 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-3 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-3 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-3 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-3 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-3 div.sk-label label.sk-toggleable__label,\n",
              "#sk-container-id-3 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-3 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-3 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-3 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-3 div.sk-label-container {\n",
              "  text-align: center;\n",
              "}\n",
              "\n",
              "/* Estimator-specific */\n",
              "#sk-container-id-3 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-3 div.sk-estimator.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "/* on hover */\n",
              "#sk-container-id-3 div.sk-estimator:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-3 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-3 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-3 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-3 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-3 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-3\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>GaussianNB()</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-3\" type=\"checkbox\" checked><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>GaussianNB</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.naive_bayes.GaussianNB.html\">?<span>Documentation for GaussianNB</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>GaussianNB()</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 15
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y_pred_nb_train = naivebayes_model.predict(X_train)\n",
        "y_pred_nb = naivebayes_model.predict(X_test)"
      ],
      "metadata": {
        "id": "fmVnkIGhwqwd"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "train_accuracy_nb = accuracy_score(Y_train, y_pred_nb_train)\n",
        "accuracy = accuracy_score(Y_test, y_pred_nb)\n",
        "precision = precision_score(Y_test, y_pred_nb)\n",
        "recall = recall_score(Y_test, y_pred_nb)\n",
        "f1 = f1_score(Y_test, y_pred_nb)\n",
        "print(\"Training Accuracy:\", train_accuracy_nb)\n",
        "print(\"Test Accuracy:\", accuracy)\n",
        "print(\"Precision:\", precision)\n",
        "print(\"Recall:\", recall)\n",
        "print(\"F1 Score:\", f1)\n",
        "\n",
        "\n",
        "# print(\"\\nClassification Report:\\n\", classification_report(Y_test, y_pred_nb, digits=4))\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "3ZyF4J4kwuhE",
        "outputId": "5ebf4aec-746d-4eaf-d3fe-8230d31cdd1a"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Training Accuracy: 0.7752442996742671\n",
            "Test Accuracy: 0.7142857142857143\n",
            "Precision: 0.5862068965517241\n",
            "Recall: 0.6296296296296297\n",
            "F1 Score: 0.6071428571428571\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "CM_nb = confusion_matrix(Y_test, y_pred_nb)\n",
        "plt.figure(figsize=(3, 4))\n",
        "sns.heatmap(CM_nb, annot=True, fmt='d', cmap='Blues')\n",
        "plt.xlabel('Predicted')\n",
        "plt.ylabel('Actual')\n",
        "plt.title('Confusion Matrix')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 427
        },
        "id": "PxNEvVnbw4Pa",
        "outputId": "c55574fe-5ff6-4bb3-90ad-5e575721156b"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0.5, 1.0, 'Confusion Matrix')"
            ]
          },
          "metadata": {},
          "execution_count": 18
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 300x400 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "SUPPORT VECTOR MACHINE(Linear)"
      ],
      "metadata": {
        "id": "053HZfhKifwc"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "svm_model = SVC(kernel='linear', random_state=42)\n",
        "svm_model.fit(X_train, Y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 80
        },
        "id": "lrnqeoWRikrf",
        "outputId": "7478948a-ace7-42c7-e291-35f0b8b36e38"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "SVC(kernel='linear', random_state=42)"
            ],
            "text/html": [
              "<style>#sk-container-id-4 {\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-4 {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "#sk-container-id-4 pre {\n",
              "  padding: 0;\n",
              "}\n",
              "\n",
              "#sk-container-id-4 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-4 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-4 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-4 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-4 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-4 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-4 div.sk-parallel-item {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "}\n",
              "\n",
              "#sk-container-id-4 div.sk-parallel-item:first-child::after {\n",
              "  align-self: flex-end;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-4 div.sk-parallel-item:last-child::after {\n",
              "  align-self: flex-start;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-4 div.sk-parallel-item:only-child::after {\n",
              "  width: 0;\n",
              "}\n",
              "\n",
              "/* Serial-specific style estimator block */\n",
              "\n",
              "#sk-container-id-4 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-4 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-4 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-4 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-4 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-4 label.sk-toggleable__label-arrow:hover:before {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "/* Toggleable content - dropdown */\n",
              "\n",
              "#sk-container-id-4 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-4 div.sk-toggleable__content.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-4 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-4 div.sk-toggleable__content.fitted pre {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-4 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-4 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-4 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-4 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-4 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-4 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-4 div.sk-label label.sk-toggleable__label,\n",
              "#sk-container-id-4 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-4 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-4 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-4 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-4 div.sk-label-container {\n",
              "  text-align: center;\n",
              "}\n",
              "\n",
              "/* Estimator-specific */\n",
              "#sk-container-id-4 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-4 div.sk-estimator.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "/* on hover */\n",
              "#sk-container-id-4 div.sk-estimator:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-4 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-4 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-4 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-4 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-4 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-4\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>SVC(kernel=&#x27;linear&#x27;, 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-4\" type=\"checkbox\" checked><label for=\"sk-estimator-id-4\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>SVC</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.svm.SVC.html\">?<span>Documentation for SVC</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>SVC(kernel=&#x27;linear&#x27;, random_state=42)</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 19
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y_pred_svm_train = svm_model.predict(X_train)\n",
        "y_pred_svm = svm_model.predict(X_test)\n",
        "accuracy = accuracy_score(Y_test, y_pred_svm)\n",
        "precision = precision_score(Y_test, y_pred_svm)\n",
        "recall = recall_score(Y_test, y_pred_svm)\n",
        "f1 = f1_score(Y_test, y_pred_svm)\n",
        "\n",
        "print(\"Training Accuracy:\", train_accuracy_nb)\n",
        "print(\"Test Accuracy:\", accuracy)\n",
        "print(\"Precision:\", precision)\n",
        "print(\"Recall:\", recall)\n",
        "print(\"F1 Score:\", f1)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "yJQBBTAmxuGu",
        "outputId": "83bca177-5ce3-4720-ad55-3ddf63ce931c"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Training Accuracy: 0.7752442996742671\n",
            "Test Accuracy: 0.7142857142857143\n",
            "Precision: 0.6136363636363636\n",
            "Recall: 0.5\n",
            "F1 Score: 0.5510204081632653\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "cm_svm = confusion_matrix(Y_test, y_pred_svm)\n",
        "plt.figure(figsize=(3, 4))\n",
        "sns.heatmap(cm_svm, annot=True, fmt='d', cmap='Blues')\n",
        "plt.xlabel('Predicted')\n",
        "plt.ylabel('Actual')\n",
        "plt.title('Confusion Matrix')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 427
        },
        "id": "_nPWzlSzx-7_",
        "outputId": "f9345195-2187-4f34-8abb-d4dba2ee511b"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0.5, 1.0, 'Confusion Matrix')"
            ]
          },
          "metadata": {},
          "execution_count": 21
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 300x400 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "c57zqiQV0gGA"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "SVM(RBF)"
      ],
      "metadata": {
        "id": "F13tznCT0gqg"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "svm_model2=SVC(kernel='rbf',C=1.0,gamma='scale',random_state=42)\n",
        "svm_model2.fit(X_train,Y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 80
        },
        "id": "WfH9-Ok4NiGc",
        "outputId": "1d8f50bb-f713-43c5-f8c4-d480b03a6105"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "SVC(random_state=42)"
            ],
            "text/html": [
              "<style>#sk-container-id-6 {\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-6 {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "#sk-container-id-6 pre {\n",
              "  padding: 0;\n",
              "}\n",
              "\n",
              "#sk-container-id-6 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-6 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-6 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-6 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-6 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-6 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-6 div.sk-parallel-item {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "}\n",
              "\n",
              "#sk-container-id-6 div.sk-parallel-item:first-child::after {\n",
              "  align-self: flex-end;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-6 div.sk-parallel-item:last-child::after {\n",
              "  align-self: flex-start;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-6 div.sk-parallel-item:only-child::after {\n",
              "  width: 0;\n",
              "}\n",
              "\n",
              "/* Serial-specific style estimator block */\n",
              "\n",
              "#sk-container-id-6 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-6 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-6 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-6 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-6 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-6 label.sk-toggleable__label-arrow:hover:before {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "/* Toggleable content - dropdown */\n",
              "\n",
              "#sk-container-id-6 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-6 div.sk-toggleable__content.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-6 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-6 div.sk-toggleable__content.fitted pre {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-6 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-6 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-6 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-6 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-6 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-6 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-6 div.sk-label label.sk-toggleable__label,\n",
              "#sk-container-id-6 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-6 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-6 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-6 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-6 div.sk-label-container {\n",
              "  text-align: center;\n",
              "}\n",
              "\n",
              "/* Estimator-specific */\n",
              "#sk-container-id-6 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-6 div.sk-estimator.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "/* on hover */\n",
              "#sk-container-id-6 div.sk-estimator:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-6 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-6 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-6 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-6 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-6 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-6\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>SVC(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-6\" type=\"checkbox\" checked><label for=\"sk-estimator-id-6\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>SVC</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.svm.SVC.html\">?<span>Documentation for SVC</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>SVC(random_state=42)</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 23
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y_pred_svm_train2=svm_model2.predict(X_train)\n",
        "y_pred_svm2=svm_model2.predict(X_test)\n",
        "accuracy = accuracy_score(Y_test, y_pred_svm2)\n",
        "precision = precision_score(Y_test, y_pred_svm2)\n",
        "recall = recall_score(Y_test, y_pred_svm2)\n",
        "f1 = f1_score(Y_test, y_pred_svm2)\n",
        "\n",
        "print(\"Training Accuracy:\", train_accuracy_nb)\n",
        "print(\"Test Accuracy:\", accuracy)\n",
        "print(\"Precision:\", precision)\n",
        "print(\"Recall:\", recall)\n",
        "print(\"F1 Score:\", f1)"
      ],
      "metadata": {
        "id": "_HAT5_JDNmof",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "886a39f4-d306-4b17-d957-f262dd7949ff"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Training Accuracy: 0.7752442996742671\n",
            "Test Accuracy: 0.6688311688311688\n",
            "Precision: 0.5517241379310345\n",
            "Recall: 0.2962962962962963\n",
            "F1 Score: 0.3855421686746988\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "cm_svm2 = confusion_matrix(Y_test, y_pred_svm2)\n",
        "plt.figure(figsize=(3, 4))\n",
        "sns.heatmap(cm_svm2, annot=True, fmt='d', cmap='Blues')\n",
        "plt.xlabel('Predicted')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 405
        },
        "id": "SawJwKo4DH3h",
        "outputId": "50a60868-611a-4cea-f78d-7ad2d0fc6a64"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0.5, 14.722222222222216, 'Predicted')"
            ]
          },
          "metadata": {},
          "execution_count": 26
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 300x400 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    }
  ]
}