{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "gpuType": "T4"
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "id": "SfawU4Dtsxb_"
      },
      "outputs": [],
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "import seaborn as sns\n",
        "import matplotlib.pyplot as plt"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df=pd.read_csv(\"/content/diabetes2.csv\")"
      ],
      "metadata": {
        "id": "h_KhlSPmsyhd"
      },
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "df.head(10)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 363
        },
        "id": "oUmGExkPsyjl",
        "outputId": "bb699689-c02c-45a0-ef61-467fb49918eb"
      },
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin   BMI  \\\n",
              "0            6      148             72             35        0  33.6   \n",
              "1            1       85             66             29        0  26.6   \n",
              "2            8      183             64              0        0  23.3   \n",
              "3            1       89             66             23       94  28.1   \n",
              "4            0      137             40             35      168  43.1   \n",
              "5            5      116             74              0        0  25.6   \n",
              "6            3       78             50             32       88  31.0   \n",
              "7           10      115              0              0        0  35.3   \n",
              "8            2      197             70             45      543  30.5   \n",
              "9            8      125             96              0        0   0.0   \n",
              "\n",
              "   DiabetesPedigreeFunction  Age  Outcome  \n",
              "0                     0.627   50        1  \n",
              "1                     0.351   31        0  \n",
              "2                     0.672   32        1  \n",
              "3                     0.167   21        0  \n",
              "4                     2.288   33        1  \n",
              "5                     0.201   30        0  \n",
              "6                     0.248   26        1  \n",
              "7                     0.134   29        0  \n",
              "8                     0.158   53        1  \n",
              "9                     0.232   54        1  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-85095eab-a95c-4df1-8bce-5385f0cb2152\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Pregnancies</th>\n",
              "      <th>Glucose</th>\n",
              "      <th>BloodPressure</th>\n",
              "      <th>SkinThickness</th>\n",
              "      <th>Insulin</th>\n",
              "      <th>BMI</th>\n",
              "      <th>DiabetesPedigreeFunction</th>\n",
              "      <th>Age</th>\n",
              "      <th>Outcome</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>6</td>\n",
              "      <td>148</td>\n",
              "      <td>72</td>\n",
              "      <td>35</td>\n",
              "      <td>0</td>\n",
              "      <td>33.6</td>\n",
              "      <td>0.627</td>\n",
              "      <td>50</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1</td>\n",
              "      <td>85</td>\n",
              "      <td>66</td>\n",
              "      <td>29</td>\n",
              "      <td>0</td>\n",
              "      <td>26.6</td>\n",
              "      <td>0.351</td>\n",
              "      <td>31</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>8</td>\n",
              "      <td>183</td>\n",
              "      <td>64</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>23.3</td>\n",
              "      <td>0.672</td>\n",
              "      <td>32</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1</td>\n",
              "      <td>89</td>\n",
              "      <td>66</td>\n",
              "      <td>23</td>\n",
              "      <td>94</td>\n",
              "      <td>28.1</td>\n",
              "      <td>0.167</td>\n",
              "      <td>21</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0</td>\n",
              "      <td>137</td>\n",
              "      <td>40</td>\n",
              "      <td>35</td>\n",
              "      <td>168</td>\n",
              "      <td>43.1</td>\n",
              "      <td>2.288</td>\n",
              "      <td>33</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>5</td>\n",
              "      <td>116</td>\n",
              "      <td>74</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>25.6</td>\n",
              "      <td>0.201</td>\n",
              "      <td>30</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>3</td>\n",
              "      <td>78</td>\n",
              "      <td>50</td>\n",
              "      <td>32</td>\n",
              "      <td>88</td>\n",
              "      <td>31.0</td>\n",
              "      <td>0.248</td>\n",
              "      <td>26</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>10</td>\n",
              "      <td>115</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>35.3</td>\n",
              "      <td>0.134</td>\n",
              "      <td>29</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>2</td>\n",
              "      <td>197</td>\n",
              "      <td>70</td>\n",
              "      <td>45</td>\n",
              "      <td>543</td>\n",
              "      <td>30.5</td>\n",
              "      <td>0.158</td>\n",
              "      <td>53</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>8</td>\n",
              "      <td>125</td>\n",
              "      <td>96</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.232</td>\n",
              "      <td>54</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-85095eab-a95c-4df1-8bce-5385f0cb2152')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-85095eab-a95c-4df1-8bce-5385f0cb2152 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-85095eab-a95c-4df1-8bce-5385f0cb2152');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-28efe286-8fba-499e-9bc0-0798745884dc\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-28efe286-8fba-499e-9bc0-0798745884dc')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-28efe286-8fba-499e-9bc0-0798745884dc button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df",
              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 768,\n  \"fields\": [\n    {\n      \"column\": \"Pregnancies\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 3,\n        \"min\": 0,\n        \"max\": 17,\n        \"num_unique_values\": 17,\n        \"samples\": [\n          6,\n          1,\n          3\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Glucose\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 31,\n        \"min\": 0,\n        \"max\": 199,\n        \"num_unique_values\": 136,\n        \"samples\": [\n          151,\n          101,\n          112\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"BloodPressure\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 19,\n        \"min\": 0,\n        \"max\": 122,\n        \"num_unique_values\": 47,\n        \"samples\": [\n          86,\n          46,\n          85\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"SkinThickness\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 15,\n        \"min\": 0,\n        \"max\": 99,\n        \"num_unique_values\": 51,\n        \"samples\": [\n          7,\n          12,\n          48\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Insulin\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 115,\n        \"min\": 0,\n        \"max\": 846,\n        \"num_unique_values\": 186,\n        \"samples\": [\n          52,\n          41,\n          183\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"BMI\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 7.8841603203754405,\n        \"min\": 0.0,\n        \"max\": 67.1,\n        \"num_unique_values\": 248,\n        \"samples\": [\n          19.9,\n          31.0,\n          38.1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"DiabetesPedigreeFunction\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.33132859501277484,\n        \"min\": 0.078,\n        \"max\": 2.42,\n        \"num_unique_values\": 517,\n        \"samples\": [\n          1.731,\n          0.426,\n          0.138\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Age\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 11,\n        \"min\": 21,\n        \"max\": 81,\n        \"num_unique_values\": 52,\n        \"samples\": [\n          60,\n          47,\n          72\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Outcome\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 3
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df.isna().sum()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 366
        },
        "id": "lgg3Xr8Wsylz",
        "outputId": "ae6777ad-3b58-4bf9-c69a-e53e3e387df2"
      },
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Pregnancies                 0\n",
              "Glucose                     0\n",
              "BloodPressure               0\n",
              "SkinThickness               0\n",
              "Insulin                     0\n",
              "BMI                         0\n",
              "DiabetesPedigreeFunction    0\n",
              "Age                         0\n",
              "Outcome                     0\n",
              "dtype: int64"
            ],
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>Pregnancies</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Glucose</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>BloodPressure</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>SkinThickness</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Insulin</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>BMI</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>DiabetesPedigreeFunction</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Age</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Outcome</th>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div><br><label><b>dtype:</b> int64</label>"
            ]
          },
          "metadata": {},
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df.describe()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 300
        },
        "id": "46OY8yUWtBdN",
        "outputId": "67c1ae5b-a37f-4f5e-a03c-2b402901c104"
      },
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "       Pregnancies     Glucose  BloodPressure  SkinThickness     Insulin  \\\n",
              "count   768.000000  768.000000     768.000000     768.000000  768.000000   \n",
              "mean      3.845052  120.894531      69.105469      20.536458   79.799479   \n",
              "std       3.369578   31.972618      19.355807      15.952218  115.244002   \n",
              "min       0.000000    0.000000       0.000000       0.000000    0.000000   \n",
              "25%       1.000000   99.000000      62.000000       0.000000    0.000000   \n",
              "50%       3.000000  117.000000      72.000000      23.000000   30.500000   \n",
              "75%       6.000000  140.250000      80.000000      32.000000  127.250000   \n",
              "max      17.000000  199.000000     122.000000      99.000000  846.000000   \n",
              "\n",
              "              BMI  DiabetesPedigreeFunction         Age     Outcome  \n",
              "count  768.000000                768.000000  768.000000  768.000000  \n",
              "mean    31.992578                  0.471876   33.240885    0.348958  \n",
              "std      7.884160                  0.331329   11.760232    0.476951  \n",
              "min      0.000000                  0.078000   21.000000    0.000000  \n",
              "25%     27.300000                  0.243750   24.000000    0.000000  \n",
              "50%     32.000000                  0.372500   29.000000    0.000000  \n",
              "75%     36.600000                  0.626250   41.000000    1.000000  \n",
              "max     67.100000                  2.420000   81.000000    1.000000  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-73178386-51b4-499a-93a8-1dd3be8f50fb\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Pregnancies</th>\n",
              "      <th>Glucose</th>\n",
              "      <th>BloodPressure</th>\n",
              "      <th>SkinThickness</th>\n",
              "      <th>Insulin</th>\n",
              "      <th>BMI</th>\n",
              "      <th>DiabetesPedigreeFunction</th>\n",
              "      <th>Age</th>\n",
              "      <th>Outcome</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>768.000000</td>\n",
              "      <td>768.000000</td>\n",
              "      <td>768.000000</td>\n",
              "      <td>768.000000</td>\n",
              "      <td>768.000000</td>\n",
              "      <td>768.000000</td>\n",
              "      <td>768.000000</td>\n",
              "      <td>768.000000</td>\n",
              "      <td>768.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>3.845052</td>\n",
              "      <td>120.894531</td>\n",
              "      <td>69.105469</td>\n",
              "      <td>20.536458</td>\n",
              "      <td>79.799479</td>\n",
              "      <td>31.992578</td>\n",
              "      <td>0.471876</td>\n",
              "      <td>33.240885</td>\n",
              "      <td>0.348958</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>3.369578</td>\n",
              "      <td>31.972618</td>\n",
              "      <td>19.355807</td>\n",
              "      <td>15.952218</td>\n",
              "      <td>115.244002</td>\n",
              "      <td>7.884160</td>\n",
              "      <td>0.331329</td>\n",
              "      <td>11.760232</td>\n",
              "      <td>0.476951</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.078000</td>\n",
              "      <td>21.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>99.000000</td>\n",
              "      <td>62.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>27.300000</td>\n",
              "      <td>0.243750</td>\n",
              "      <td>24.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>3.000000</td>\n",
              "      <td>117.000000</td>\n",
              "      <td>72.000000</td>\n",
              "      <td>23.000000</td>\n",
              "      <td>30.500000</td>\n",
              "      <td>32.000000</td>\n",
              "      <td>0.372500</td>\n",
              "      <td>29.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>6.000000</td>\n",
              "      <td>140.250000</td>\n",
              "      <td>80.000000</td>\n",
              "      <td>32.000000</td>\n",
              "      <td>127.250000</td>\n",
              "      <td>36.600000</td>\n",
              "      <td>0.626250</td>\n",
              "      <td>41.000000</td>\n",
              "      <td>1.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>17.000000</td>\n",
              "      <td>199.000000</td>\n",
              "      <td>122.000000</td>\n",
              "      <td>99.000000</td>\n",
              "      <td>846.000000</td>\n",
              "      <td>67.100000</td>\n",
              "      <td>2.420000</td>\n",
              "      <td>81.000000</td>\n",
              "      <td>1.000000</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-73178386-51b4-499a-93a8-1dd3be8f50fb')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-73178386-51b4-499a-93a8-1dd3be8f50fb button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-73178386-51b4-499a-93a8-1dd3be8f50fb');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-e14b716d-c949-466e-943b-87c6733421f3\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-e14b716d-c949-466e-943b-87c6733421f3')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-e14b716d-c949-466e-943b-87c6733421f3 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 8,\n  \"fields\": [\n    {\n      \"column\": \"Pregnancies\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 269.85223453356366,\n        \"min\": 0.0,\n        \"max\": 768.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          3.8450520833333335,\n          3.0,\n          768.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Glucose\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 243.73802348295857,\n        \"min\": 0.0,\n        \"max\": 768.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          120.89453125,\n          117.0,\n          768.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"BloodPressure\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 252.85250535810619,\n        \"min\": 0.0,\n        \"max\": 768.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          69.10546875,\n          72.0,\n          768.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"SkinThickness\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 263.7684730531098,\n        \"min\": 0.0,\n        \"max\": 768.0,\n        \"num_unique_values\": 7,\n        \"samples\": [\n          768.0,\n          20.536458333333332,\n          32.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Insulin\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 350.26059167945886,\n        \"min\": 0.0,\n        \"max\": 846.0,\n        \"num_unique_values\": 7,\n        \"samples\": [\n          768.0,\n          79.79947916666667,\n          127.25\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"BMI\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 262.05117817552093,\n        \"min\": 0.0,\n        \"max\": 768.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          31.992578124999998,\n          32.0,\n          768.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"DiabetesPedigreeFunction\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 271.3005221658502,\n        \"min\": 0.078,\n        \"max\": 768.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          0.47187630208333325,\n          0.3725,\n          768.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Age\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 260.1941178528413,\n        \"min\": 11.76023154067868,\n        \"max\": 768.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          33.240885416666664,\n          29.0,\n          768.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Outcome\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 271.3865920388932,\n        \"min\": 0.0,\n        \"max\": 768.0,\n        \"num_unique_values\": 5,\n        \"samples\": [\n          0.3489583333333333,\n          1.0,\n          0.4769513772427971\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "X=df.drop(columns=['Outcome'])\n",
        "y=df['Outcome']"
      ],
      "metadata": {
        "id": "FkxjzplitBf1"
      },
      "execution_count": 6,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.preprocessing import StandardScaler\n",
        "from sklearn.linear_model import LogisticRegression"
      ],
      "metadata": {
        "id": "lgcmWe3mtBi-"
      },
      "execution_count": 7,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=11)\n"
      ],
      "metadata": {
        "id": "-Wk_vEbKtuen"
      },
      "execution_count": 8,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "scaler=StandardScaler()\n",
        "X_train_scaled=scaler.fit_transform(X_train)\n",
        "X_test_scaled=scaler.transform(X_test)"
      ],
      "metadata": {
        "id": "BDAE9axEtun4"
      },
      "execution_count": 9,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "model=LogisticRegression(max_iter=2000)"
      ],
      "metadata": {
        "id": "0z_Fz0jEtBmD"
      },
      "execution_count": 10,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "model.fit(X_train_scaled,y_train)\n",
        "y_pred=model.predict(X_test_scaled)"
      ],
      "metadata": {
        "id": "5n2e0EVBt0Q-"
      },
      "execution_count": 11,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import accuracy_score,classification_report,confusion_matrix"
      ],
      "metadata": {
        "id": "J1svOkm3t0Tg"
      },
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "print(\"Accuracy of this model:\",accuracy_score(y_test,y_pred))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "sZurgEpWt0WL",
        "outputId": "6d2c6e37-3221-4193-a4fa-4b03c3742faa"
      },
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Accuracy of this model: 0.7878787878787878\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "print(classification_report(y_test,y_pred))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "fDJ-O3kkt0ZE",
        "outputId": "f36be6a2-7886-4d9a-b848-86cfd861c50f"
      },
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.78      0.94      0.85       149\n",
            "           1       0.82      0.51      0.63        82\n",
            "\n",
            "    accuracy                           0.79       231\n",
            "   macro avg       0.80      0.73      0.74       231\n",
            "weighted avg       0.79      0.79      0.77       231\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "cm=confusion_matrix(y_test,y_pred)\n",
        "sns.heatmap(cm,annot=True,fmt='d',cmap='Blues')\n",
        "\n",
        "plt.title(\"Confusion matrix\")\n",
        "plt.xlabel('Predicted Labels')\n",
        "plt.ylabel(\"Actual Label\")\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 472
        },
        "id": "kXceGsXJt0cU",
        "outputId": "1009982c-d18f-4491-ca1f-a4204a5ee7de"
      },
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 2 Axes>"
            ],
            "image/png": "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P//5j3744QdNmjTJ4dlmEyZM0NSpUzV79mxt375dfn5+atmypTIyMpxaS64XiP7nP//RgAED1KdPH1WrVs2pRQAAUJS54m6U8ePHq0KFCpo/f759LDw83P61YRiaMmWKXnnlFbVt21aStGjRIgUHB2vVqlXq1KmT02rJdWfjq6++0vnz51W/fn1FRUVp+vTpOnnypNMKAQCgqPKwWJzystlsOnfunMPLZrNd95yrV69WgwYN1KFDB5UrV0716tXTu+++a9+elJSk5ORkxcTE2McCAgIUFRWlxMRE515/bne877779O677+qPP/7Qc889p2XLliksLEzZ2dnasGGDzp8/79TCAACAo/j4eAUEBDi84uPjr7vv4cOHNWvWLFWrVk3r169Xnz59NGDAAC1cuFDSlXWYkhQcHOzwvuDgYPs2Z7EYhmHc7psPHDiguXPnavHixUpNTVWLFi20evVqZ9Z3W745fNbVJQAFUlb2bf+6A0VWdNVA08/x7vajTjlOl7ohOToZVqtVVqs1x74+Pj5q0KCBtm7dah8bMGCAduzYocTERG3dulWNGjXS77//rtDQUPs+HTt2lMViue6jSW7XHX3ORkREhCZMmKBff/1V77//vrNqAgCgSHHWNIrVapW/v7/D63pBQ5JCQ0NzPLMsMjJSx44dkySFhIRIklJSUhz2SUlJsW9z2vU74yCenp5q165dgehqAAAAqVGjRjpw4IDD2E8//aRKlSpJurJYNCQkRBs3brRvP3funLZv367o6Gin1nJbH1cOAAByzxWf/jl48GDdf//9ev3119WxY0d98803mjNnjubMmfO/miwaNGiQxo4dq2rVqik8PFwjRoxQWFiY2rVr59RaCBsAAJjMKdMIedSwYUOtXLlSw4cP16uvvqrw8HBNmTJFnTt3tu8zbNgwpaenq1evXkpNTVXjxo21bt06FStWzKm13NEC0YKKBaLA9bFAFMgpPxaILthxzCnH6dqwolOOk9/obAAAYDJLYX6KmhMQNgAAMJl7Rw3CBgAApvNw886GK9asAAAAN0JnAwAAk7l3X4OwAQCA6dx8FoVpFAAAYC46GwAAmIxbXwEAgKncfRrB3a8fAACYjM4GAAAmYxoFAACYyr2jBtMoAADAZHQ2AAAwGdMoAADAVO4+jUDYAADAZO7e2XD3sAUAAExGZwMAAJO5d1+D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zx55enpe9y/6Gzl06JAuXLigFi1aOIxfunRJ9erVkyTt37/foQ5Jio6OzvU5bmTGjBmaN2+ejh07posXL+rSpUuqW7euwz516tRR8eLFHc6blpamX375RWlpabes/VoDBgxQnz599NlnnykmJkbt27dX7dq17/haAJiDsAH8SfPmzTVr1iz5+PgoLCxMXl6OvyJ+fn4O36elpal+/fpasmRJjmOVLVv2tmq4Oi2SF2lpaZKkTz75RH/5y18ctlmt1tuqIzeWLVumF154QZMmTVJ0dLRKliypiRMnavv27bk+xu3U3qNHD7Vs2VKffPKJPvvsM8XHx2vSpEnq37//7V8MANMQNoA/8fPzU9WqVXO9/z333KMPPvhA5cqVk7+//3X3CQ0N1fbt2/XAAw9Iki5fvqxdu3bpnnvuue7+tWrVUnZ2trZs2aKYmJgc2692VrKysuxjNWrUkNVq1bFjx27YEYmMjLQvdr1q27Ztt77Im/j66691//336/nnn7eP/fzzzzn227t3ry5evGgPUtu2bVOJEiVUoUIFBQUF3bL266lQoYJ69+6t3r17a/jw4Xr33XcJG0ABxd0owB3o3LmzypQpo7Zt2+rLL79UUlKSvvjiCw0YMEC//vqrJGngwIF64403tGrVKv344496/vnnb/oZGZUrV1ZsbKyeffZZrVq1yn7MDz/8UJJUqVIlWSwWrV27VidOnFBaWppKliypF154QYMHD9bChQv1888/a/fu3Zo2bZoWLlwoSerdu7cOHjyooUOH6sCBA1q6dKkWLFiQq+v87bfftGfPHofXmTNnVK1aNe3cuVPr16/XTz/9pBEjRmjHjh053n/p0iV1795dP/zwgz799FONGjVK/fr1k4eHR65qv9agQYO0fv16JSUlaffu3dq8ebMiIyNzdS0AXMDVi0aAguLPC0Tzsv2PP/4wunTpYpQpU8awWq3GXXfdZfTs2dM4e/asYRhXFoQOHDjQ8Pf3NwIDA424uDijS5cuN1wgahiGcfHiRWPw4MFGaGio4ePjY1StWtWYN2+effurr75qhISEGBaLxYiNjTUM48qi1ilTphgRERGGt7e3UbZsWaNly5bGli1b7O9bs2aNUbVqVcNqtRpNmjQx5s2bl6sFopJyvBYvXmxkZGQYXbt2NQICAozAwECjT58+xksvvWTUqVMnx89t5MiRRunSpY0SJUoYPXv2NDIyMuz73Kr2axeI9uvXz6hSpYphtVqNsmXLGs8884xx8uTJG14DANeyGMYNVqkBAAA4AdMoAADAVIQNAABgKsIGAAAwFWEDAACYirABAABMRdgAAACmImwAAABTETYAAICpCBsAAMBUhA0AAGAqwgYAADAVYQMAAJjq/wCRvXvgapIyzAAAAABJRU5ErkJggg==\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "mHq1L9SXt_TQ"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "nt1da0qzt_V6"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}