{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "**Implementing KNN Regression with Scikit-Learn using Synthetic Dataset**\n",
        "\n"
      ],
      "metadata": {
        "id": "t2S0sanJVLvg"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "from sklearn.datasets import make_regression\n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.neighbors import KNeighborsRegressor\n",
        "from sklearn.metrics import mean_squared_error, r2_score\n"
      ],
      "metadata": {
        "id": "gSBhHBnbVGWA"
      },
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Generate synthetic dataset\n",
        "X, y = make_regression(n_samples=200, n_features=1, noise=0.1, random_state=42)"
      ],
      "metadata": {
        "id": "5oXYa7TtVGaf"
      },
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)"
      ],
      "metadata": {
        "id": "E0Ta9aHBVGc_"
      },
      "execution_count": 4,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "knn_regressor = KNeighborsRegressor(n_neighbors=5)\n",
        "knn_regressor.fit(X_train, y_train)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 80
        },
        "id": "TYk-85_vVGff",
        "outputId": "f13fc9dd-da4b-49fd-eee6-7d8ac23f21b1"
      },
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "KNeighborsRegressor()"
            ],
            "text/html": [
              "<style>#sk-container-id-1 {\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-1 {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "#sk-container-id-1 pre {\n",
              "  padding: 0;\n",
              "}\n",
              "\n",
              "#sk-container-id-1 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-1 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-1 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-1 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-1 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-1 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-1 div.sk-parallel-item {\n",
              "  display: flex;\n",
              "  flex-direction: column;\n",
              "}\n",
              "\n",
              "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
              "  align-self: flex-end;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
              "  align-self: flex-start;\n",
              "  width: 50%;\n",
              "}\n",
              "\n",
              "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
              "  width: 0;\n",
              "}\n",
              "\n",
              "/* Serial-specific style estimator block */\n",
              "\n",
              "#sk-container-id-1 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-1 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-1 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-1 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-1 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-1 label.sk-toggleable__label-arrow:hover:before {\n",
              "  color: var(--sklearn-color-text);\n",
              "}\n",
              "\n",
              "/* Toggleable content - dropdown */\n",
              "\n",
              "#sk-container-id-1 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-1 div.sk-toggleable__content.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-1 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-1 div.sk-toggleable__content.fitted pre {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "#sk-container-id-1 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-1 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-1 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-1 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-1 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-1 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-1 div.sk-label label.sk-toggleable__label,\n",
              "#sk-container-id-1 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-1 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-1 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-1 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-1 div.sk-label-container {\n",
              "  text-align: center;\n",
              "}\n",
              "\n",
              "/* Estimator-specific */\n",
              "#sk-container-id-1 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-1 div.sk-estimator.fitted {\n",
              "  /* fitted */\n",
              "  background-color: var(--sklearn-color-fitted-level-0);\n",
              "}\n",
              "\n",
              "/* on hover */\n",
              "#sk-container-id-1 div.sk-estimator:hover {\n",
              "  /* unfitted */\n",
              "  background-color: var(--sklearn-color-unfitted-level-2);\n",
              "}\n",
              "\n",
              "#sk-container-id-1 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-1 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-1 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-1 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-1 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-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>KNeighborsRegressor()</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-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>KNeighborsRegressor</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.neighbors.KNeighborsRegressor.html\">?<span>Documentation for KNeighborsRegressor</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>KNeighborsRegressor()</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y_pred = knn_regressor.predict(X_test)"
      ],
      "metadata": {
        "id": "a4Tj4o8qVGiP"
      },
      "execution_count": 6,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "mse = mean_squared_error(y_test, y_pred)\n",
        "r2 = r2_score(y_test, y_pred)\n",
        "\n",
        "print(f'Mean Squared Error: {mse}')\n",
        "print(f'R-squared: {r2}')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ep60pdk3WU5T",
        "outputId": "f85763cc-a749-4473-d6dd-3eb5a7c7da43"
      },
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Mean Squared Error: 133.62045142000457\n",
            "R-squared: 0.9817384115764595\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plt.scatter(X_test, y_test, color='blue', label='Actual')\n",
        "plt.scatter(X_test, y_pred, color='red', label='Predicted')\n",
        "plt.title('KNN Regression')\n",
        "plt.xlabel('Feature')\n",
        "plt.ylabel('Target')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 472
        },
        "id": "Rb43O7ULWVgK",
        "outputId": "a22f72d5-05ca-43b3-92c5-465030c5b511"
      },
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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J3bv3l3kWtddd53LtR566CFuvfVWfv/73xMWFsbgwYP54IMPXILSM888Q+3atenSpQutWrVizJgxLo/divN///d/ALRu3dplu7+/P82bN3fsL2SxWIrcb7169Thx4kSp1xGpDtTnSESKaNeuHZ9++im9e/fmjjvuYOvWrZdtRerZsycxMTHMmjWLJ598skzXmTp1KjExMbz22muOFpWyat++PX369AFg4MCB5OXlMWLECG677TaioqIcYeORRx5h2LBhxZ7jxhtvdOuahYrrV1VQUED79u2ZO3dusccUfn41a9Zk8+bNbNy4kU8++YR169bx/vvvc/vtt/OPf/wDs9lM27Zt2bt3L2vXrmXdunWsXr2aRYsWMWXKFKZNm3ZFdb6U2WwudrthGOVyfhFfppYjESlWly5dWLNmDUeOHOGOO+7g6NGjlz2msPXotddeK9M1evXqRUxMDH/961+veuTaX/7yF86dO8eMGTMACA0NpU6dOthsNvr06VPsq2HDhgA0adKE/fv3FwkG+/btK/P1W7RowfHjx+ndu3ex13Ju0fHz86N3797MnTuXH374gRkzZvCvf/3LpQN4rVq1eOihh1i+fDmHDh2if//+zJgxg3PnzhV7/cL5ji5t6cvPz+fAgQOaD0nEDQpHIlKi3r178+6777Jv3z769etHbm5uqeWdw05JX+KXKgxUS5cuvaq6tmjRgkGDBrFixQqysrIwm80MGjSI1atX8/333xcp7xz2+vbtS0ZGBh9//LFj27lz53j99dfLfP0HH3yQjIyMYo85e/YsZ86cAeD48eNF9nfs2BHAMeT/2LFjLvv9/f1p164dhmFw4cKFYq/fp08f/P39WbBggUvIW7ZsGTk5OSVOxSAiRemxmoiU6v777+f111/niSee4L777mPdunUEBgaWWH7q1KnExsaW+fy9evWiV69ebNq06arrOnHiRD744AOSkpL4y1/+wl/+8hc2btxI165dGTFiBO3ateP48eN88803/POf/3QElT/84Q8sXLiQIUOGkJCQQEREBO+8847jPssy0eKjjz7KBx98wJNPPsnGjRu59dZbsdls7Nmzhw8++IDPP/+cW265henTp7N582b69+9PkyZNOHLkCIsWLcJisXDbbbcBcOeddxIeHs6tt95KWFgYP/74IwsXLqR///7UqVOn2OuHhoby7LPP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M1it1iJ9iZo0acKnn35KXl4eR48e5eWXXy632bHLgyebFj/44APatGlD69ateeSRR/jb3/6G8Wts/+STT7j//vu5++67+fe//82GDRvo0qXLr3W2YrFYmD59OpmZmWRmZpb5mqdOnWLYsGFs2bKF7du306pVK+6++25OnTpVIfcoIiLepaxfGW58tVw170kFctmmRZPJ3rQ4YABUxJyEy5Yt45FHHgGgX79+5OTksGnTJmJiYpgxYwaDBw9m2rRpjvIdOnQA7HNNmc1m6tSpU2LH9pLcfvvtLu+XLl1K3bp12bRpE/fcc89V3pGIiHi7si5CUJmLFfhMy1F1kJpatMXImWFAWpq9XHnbu3cvO3bsYMiQIQBcc801PPTQQyxbtgyAXbt20bt373K/bnZ2NiNGjKBVq1aEhIQQHBzM6dOnOXToULlfS0REvE90NFgs9gaA4phMEBVlL1dZ1HLkRTzZtLhs2TIuXrxIo0aNHNsMwyAgIICFCxdSs2ZNt8/p5+fneCxX6NLZpocNG8axY8eYP38+TZo0ISAggO7du5Ofn39lNyIiIj7FbIb58+1dR0wm16cnhYEpKalinpiURC1HXsRTTYsXL17krbfeYs6cOezatcvx+vbbb2nUqBHvvvsuN954o8s0CZfy9/fHdslQgtDQULKyslwC0q5du1zKbN26laeeeoq7776b66+/noCAAH755ZdyvT8REfFucXGQnAyRka7bLRb79ri4yq2PWo68SGHTYkZG8f2OTCb7/vJuWly7di0nTpxg+PDhhISEuOwbNGgQy5YtY/bs2fTu3ZsWLVowePBgLl68yKeffsozzzwD2Oc52rx5M4MHDyYgIIBrr72WmJgYjh49yqxZs4iPj2fdunV89tlnLhNptmrVirfffptbbrmF3NxcJk6ceEWtVCIi4tvi4ux9alNT7U9IIiLs33eeWPdbLUdepLBpEYo+e63IpsVly5bRp0+fIsEI7OHo66+/pn79+qxatYqPP/6Yjh07cvvtt7Njxw5HuenTp3Pw4EFatGhBaGgoAG3btmXRokW8+uqrdOjQgR07dvD0008XufaJEye4+eabefTRR3nqqado2LBh+d6giIj4BLMZYmJgyBD7T08EIwCTcWmnEClVbm4uISEh5OTkFFlK5Ny5cxw4cIBmzZoRGBh4xdewWu2j1pw7Z0dF2YNRZTctVmfl9fsUERHPK+37+1J6rOaFvKlpUUREpLpROPJShU2LIiIi1YbN5hUtAwpHIiIi4nnF9SmxWOydcSu5T4k6ZIuIiIhneXLtrGIoHImIiIjnXG7tLLCvnXXJXHoVSeFIREREPMeTa2eVQOFIREREPMeTa2eVQOFIREREPMdTa2eVQuFIREREPKdw7axLl4YoZDLZZ0Iu77WzSqFwJJXqscceY+DAgY73MTExJCYmVno9UlJSMJlMnDx5stKvLSIiTjy1dlYpFI4EsIcWk8mEyWTC39+fli1bMn36dC5evFih17Varfz5z38uU1kFGhGRKiouDpKTITLSdbvFYt9eyfMcaRJIb+WBWUL79evH8uXLOX/+PJ9++iljxoyhRo0aPPvssy7l8vPz8ff3L5dr1q9fv1zOIyIiPs6L1s5Sy5E3slqhaVOIjYWhQ+0/mzat8EmwAgICCA8Pp0mTJowaNYo+ffrw8ccfOx6FzZgxg0aNGtG6dWsA0tLSePDBB6lbty7169dnwIABHDx40HE+m83G+PHjqVu3Lg0aNGDSpElcus7xpY/Vzp8/zzPPPENUVBQBAQG0bNmSZcuWcfDgQWJjYwGoV68eJpOJxx57DICCggJmzpxJs2bNqFmzJh06dCA5OdnlOp9++inXXXcdNWvWJDY21qWeIiLiJQrXzhoyxP7TQ4uKKhx5Gy+aJbRmzZrk5+cDsGHDBvbu3cv69etZu3YtFy5coG/fvtSpU4fU1FS2bt1K7dq16devn+OYOXPmsGLFCv72t7+xZcsWjh8/zocffljqNX/3u9/x7rvvsmDBAn788Udee+01ateuTVRUFKtXrwZg7969ZGZmMv/XZ9QzZ87krbfeYsmSJezevZtx48bxyCOPsGnTJsAe4uLi4rj33nvZtWsXv//975k8eXJFfWwiIuLrDHFLTk6OARg5OTlF9p09e9b44YcfjLNnz17ZyS9eNAyLxTDsU14VfZlMhhEVZS9XzoYNG2YMGDDAMAzDKCgoMNavX28EBAQYTz/9tDFs2DAjLCzMOH/+vKP822+/bbRu3dooKChwbDt//rxRs2ZN4/PPPzcMwzAiIiKMWbNmOfZfuHDBsFgsjusYhmH06tXLSEhIMAzDMPbu3WsAxvr164ut48aNGw3AOHHihGPbuXPnjKCgIOOLL75wKTt8+HBjyJAhhmEYxrPPPmu0a9fOZf8zzzxT5FyXuurfp4iIeI3Svr8vpT5H3sSdWUJjYsr98mvXrqV27dpcuHCBgoIChg4dyosvvsiYMWNo3769Sz+jb7/9ln379lGnTh2Xc5w7d479+/eTk5NDZmYmXbt2dey75ppruOWWW4o8Wiu0a9cuzGYzvXr1KnOd9+3bR15eHnfccYfL9vz8fG666SYAfvzxR5d6AHTv3r3M1xARkepF4cibeHiW0NjYWBYvXoy/vz+NGjXimmt+++tRq1Ytl7KnT5+mU6dOvPPOO0XOExoaekXXr1mzptvHnD59GoBPPvmEyEtGOQQEBFxRPUREpHpTOPImHp4ltFatWrRs2bJMZW+++Wbef/99GjZsSHBwcLFlIiIi+PLLL+nZsycAFy9eZOfOndx8883Flm/fvj0FBQVs2rSJPn36FNlf2HJlc1p8sF27dgQEBHDo0KESW5zatm3Lxx9/7LJt+/btl79JERGpltQh25t44SyhJXn44Ye59tprGTBgAKmpqRw4cICUlBSeeuop0n99NJiQkMBf/vIX1qxZw549exg9enSpcxQ1bdqUYcOG8cQTT7BmzRrHOT/44AMAmjRpgslkYu3atRw9epTTp09Tp04dnn76acaNG8ebb77J/v37+eabb3jllVd48803AXjyySf56aefmDhxInv37mXlypWsWLGioj8iERHxUQpH3sQLZwktSVBQEJs3b6Zx48bExcXRtm1bhg8fzrlz5xwtSRMmTODRRx9l2LBhdO/enTp16nD//feXet7FixcTHx/P6NGjadOmDSNGjODMmTMAREZGMm3aNCZPnkxYWBhjx44F4M9//jMvvPACM2fOpG3btvTr149PPvmEZs2aAdC4cWNWr17NmjVr6NChA0uWLOF//ud/KvDTERERX2YySuodK8XKzc0lJCSEnJycIo+Tzp07x4EDB2jWrBmBgYFXfhGrFRISXDtnR0XZg1ElzxJanZXb71NERDyutO/vS6nPkTfyollCRUREqhuFI29VOEuoiIiIVCr1ORIRERFxonAkIiIi4kThqAKoj3vVoN+jiEj1pHBUjmrUqAFAXl6eh2si5aHw91j4exURkepBHbLLkdlspm7duhw5cgSwzwVkKmlCR/FahmGQl5fHkSNHqFu3LmaNEhQRqVYUjspZeHg4gCMgie+qW7eu4/cpIiLV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nD//+c9MmjTJEY4SExMdxzRt2pSXXnqJJ598kkWLFuHv709ISAgmk4nw8PArqldiYiJxcXGO91OnTmXOnDmObc2aNeOHH37gtddeUzgS8XIKRyLiU2JjY1m8eLHjfa1atbjxxhvZunUrM2bMcGy32WycO3eOvLw8goKC+Oc//8nMmTPZs2cPubm5XLx40WX/1brlllscfz5z5gz79+9n+PDhjBgxwrH94sWLhISEXPW1RKRiKRyJiE+pVasWLVu2dNl2+vRppk2b5tJyUygwMJCDBw9yzz33MGrUKGbMmEH9+vXZsmULw4cPJz8/v9RwZDKZMAzDZduFCxeKrZdzfQBef/11unbt6lLObDZf/iZFxKMUjkTE5918883s3bu3SGgqtHPnTgoKCpgzZw5+fvZxKB988IFLGX9/f2w2W5FjQ0NDyczMdLz/6aefyMvLK7U+YWFhNGrUiJ9//pmHH37Y3dsREQ9TOBIRnzdlyhTuueceGjduTHx8PH5+fnz77bd8//33vPTSS7Rs2ZILFy7wyiuvcO+997J161aWLFnico6mTZty+vRpNmzYQIcOHQgKCiIoKIjbb7+dhQsX0r17d2w2G88880yZhulPmzaNp556ipCQEPr168f58+f5+uuvOXHiBOPHj6+oj0JEyoGG8ouIz+vbty9r167lH//4B507d6Zbt27MmzePJk2aANChQwfmzp3LX//6V2644QbeeecdZs6c6XKOHj168OSTT/LQQw8RGhrKrFmzAJgzZw5RUVFER0czdOhQnn766TL1Ufr973/PG2+8wfLly2nfvj29evVixYoVNGvWrPw/ABEpVybj0ofpIiIiItWYWo5EREREnCgciYiIiDhROBIRERFxonAkIiIi4kThSERERMSJwpGIiIiIE4UjEREREScKRyIiIiJOFI5EREREnCgciYiIiDhROBIRERFxonAkIiIi4uT/AXJ7ssGEzQ0kAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Implementing KNN Regression with Scikit-Learn using Diabetes Dataset**"
      ],
      "metadata": {
        "id": "RFck3TjSYYXg"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "from sklearn.datasets import load_diabetes\n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.neighbors import KNeighborsRegressor\n",
        "from sklearn.metrics import mean_squared_error, r2_score\n",
        "from sklearn.preprocessing import StandardScaler"
      ],
      "metadata": {
        "id": "nDJnZcPwWVje"
      },
      "execution_count": 9,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Load the Diabetes dataset\n",
        "diabetes = load_diabetes()\n",
        "X = diabetes.data\n",
        "y = diabetes.target\n",
        "\n",
        "# Print dataset description\n",
        "print(diabetes.DESCR)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "collapsed": true,
        "id": "S_FMJOVqYgK-",
        "outputId": "632d7667-82fd-4bea-fa9d-dd2b96e9cb22"
      },
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            ".. _diabetes_dataset:\n",
            "\n",
            "Diabetes dataset\n",
            "----------------\n",
            "\n",
            "Ten baseline variables, age, sex, body mass index, average blood\n",
            "pressure, and six blood serum measurements were obtained for each of n =\n",
            "442 diabetes patients, as well as the response of interest, a\n",
            "quantitative measure of disease progression one year after baseline.\n",
            "\n",
            "**Data Set Characteristics:**\n",
            "\n",
            ":Number of Instances: 442\n",
            "\n",
            ":Number of Attributes: First 10 columns are numeric predictive values\n",
            "\n",
            ":Target: Column 11 is a quantitative measure of disease progression one year after baseline\n",
            "\n",
            ":Attribute Information:\n",
            "    - age     age in years\n",
            "    - sex\n",
            "    - bmi     body mass index\n",
            "    - bp      average blood pressure\n",
            "    - s1      tc, total serum cholesterol\n",
            "    - s2      ldl, low-density lipoproteins\n",
            "    - s3      hdl, high-density lipoproteins\n",
            "    - s4      tch, total cholesterol / HDL\n",
            "    - s5      ltg, possibly log of serum triglycerides level\n",
            "    - s6      glu, blood sugar level\n",
            "\n",
            "Note: Each of these 10 feature variables have been mean centered and scaled by the standard deviation times the square root of `n_samples` (i.e. the sum of squares of each column totals 1).\n",
            "\n",
            "Source URL:\n",
            "https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html\n",
            "\n",
            "For more information see:\n",
            "Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani (2004) \"Least Angle Regression,\" Annals of Statistics (with discussion), 407-499.\n",
            "(https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Split the dataset into training and testing sets\n",
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)"
      ],
      "metadata": {
        "id": "8bgHPNRXYgNX"
      },
      "execution_count": 11,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "scaler = StandardScaler()\n",
        "X_train = scaler.fit_transform(X_train)\n",
        "X_test = scaler.transform(X_test)"
      ],
      "metadata": {
        "id": "8vHeCqBsYgP2"
      },
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "knn_regressor = KNeighborsRegressor(n_neighbors=5)\n",
        "knn_regressor.fit(X_train, y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 80
        },
        "id": "-C_Rll8EYgSY",
        "outputId": "08e59cc9-f5a5-4765-b708-99cddf0041aa"
      },
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "KNeighborsRegressor()"
            ],
            "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>KNeighborsRegressor()</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>KNeighborsRegressor</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.neighbors.KNeighborsRegressor.html\">?<span>Documentation for KNeighborsRegressor</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>KNeighborsRegressor()</pre></div> </div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 13
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y_pred = knn_regressor.predict(X_test)"
      ],
      "metadata": {
        "id": "cEFsCQq3YgUv"
      },
      "execution_count": 14,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "mse = mean_squared_error(y_test, y_pred)\n",
        "r2 = r2_score(y_test, y_pred)\n",
        "\n",
        "print(f'Mean Squared Error: {mse}')\n",
        "print(f'R-squared: {r2}')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "_fqSqGeyYgXN",
        "outputId": "908414c3-6128-45f1-be7d-e3f776326654"
      },
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Mean Squared Error: 3047.449887640449\n",
            "R-squared: 0.42480887066066253\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plt.figure(figsize=(10, 6))\n",
        "plt.scatter(y_test, y_pred, color='blue', label='Predicted vs Actual')\n",
        "plt.plot([min(y_test), max(y_test)], [min(y_test), max(y_test)], color='red', linewidth=2, label='Ideal fit')\n",
        "plt.title('KNN Regression: Predicted vs Actual')\n",
        "plt.xlabel('Actual Disease Progression')\n",
        "plt.ylabel('Predicted Disease Progression')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 564
        },
        "id": "Qg8EN7-bWU7Z",
        "outputId": "55e48148-c7bc-43fa-94f8-307afbaa1407"
      },
      "execution_count": 16,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIjCAYAAAAJLyrXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAArdhJREFUeJzs3Xd8U2X7x/FPWmgZpWVYKNCyt6CIKCJbkCEIWlBkCDjgEdlbFGX9BAQFFBTcqI/gAvURFUG2iGwUZAkyyxSklV3S8/vjmKShLSRt0ox+369XX6V3TpMraUrPde77vi6LYRgGIiIiIiIi4rIQXwcgIiIiIiISaJRIiYiIiIiIuEmJlIiIiIiIiJuUSImIiIiIiLhJiZSIiIiIiIiblEiJiIiIiIi4SYmUiIiIiIiIm5RIiYiIiIiIuEmJlIiIiIiIiJuUSImIiFfNmTMHi8XCgQMHfB2K3+jRowdlypRxGrNYLIwZM8Yn8aQnvRjFPWPGjMFisfg6DBHxEiVSIhKQbCfnGzdudBpPTEzkzjvvJE+ePCxatAhwnMwUK1aMCxcupLmvMmXK0KZNG6cxi8WCxWLhlVdecfmxr7VixQr7/VgsFkJDQylatCgdOnRg586d7j5l8ZADBw6k+bmUKlWKBx98kK1bt/o6PLfs2LGDMWPG5Igk1Wq1UqJECSwWC99//32m72fu3LlMnz7dc4GJSI6lREpEgkZSUhLNmzfnt99+48svv6Rly5ZOt588eZJZs2a5dZ9TpkxJN/lyR//+/fnoo49455136NKlC99++y0NGjTg+PHjWbrfQPHoo49y8eJFSpcu7etQnHTq1ImPPvqI9957j86dO7Ns2TLuuusunyVTFy9eZNSoUW59z44dOxg7dmyOSKSWLVvGsWPHKFOmDB9//HGm70eJlIh4ihIpEQkK//zzDy1atGDr1q3Mnz+fVq1apTmmZs2aTJkyhYsXL7p0nzVr1uTEiRPMnj07S7E1aNCArl278thjjzFt2jSmTZvG6dOn+fDDD7N0v5mR1aQwM0JDQ8mTJ4/fLXGqVasWXbt2pXv37kyaNIn//ve/XL58+brJ9vnz570WT548eciVK5fX7j/Q/fe//6VWrVoMGjSIr776yqs/CxERVyiREpGAd+7cOVq2bMnmzZuZP38+rVu3Tve4F154gRMnTrg8K1WvXj3uueceJk+e7HLy5YoGDRoAsG/fPqfxhIQEHn/8cYoVK0Z4eDg333wz7733XprvP3jwIG3btiV//vwULVqUQYMG8cMPP2CxWFixYoX9uMaNG1O9enU2bdpEw4YNyZcvH88++ywAly9fZvTo0VSoUIHw8HDi4uIYPnw4ly9fdnqsJUuWUL9+fQoWLEhERASVK1e234fNjBkzuPnmm8mXLx+FChWidu3azJ071357Rnuk3njjDW6++WbCw8MpUaIEffr04ezZs07H2J7Djh07aNKkCfny5aNkyZJMnjw5zety6NAhdu3alf6L7oJ77rkHgP379zvFvXLlSp5++mmKFi1KbGys/fjvv/+eBg0akD9/fgoUKEDr1q35/fff09zvV199RfXq1cmTJw/Vq1fnyy+/TPfx09sjlZCQwBNPPEGJEiUIDw+nbNmy9O7dmytXrjBnzhweeughAJo0aWJfqpj6PeDpGK/Vpk0bypUrl+5tdevWpXbt2vavXXkvZeTixYt8+eWXPPLIIzz88MNcvHiRr7/+Ot1jv//+exo1akSBAgWIjIzkjjvusL8fGzduzLfffsvBgwftr5dtH1hG71PbEt3Ur+vq1at56KGHKFWqlP33Z9CgQR79f0JE/J8ufYlIQDt//jytWrViw4YNfPHFF2n2OqXWoEEDe2LUu3dv8ubNe8P7HzNmDA0bNmTWrFkMHjzYIzHbTtQKFSpkHztx4gR33XUXFouFvn37Eh0dzffff88TTzxBUlISAwcOBMzne88993Ds2DEGDBhATEwMc+fOZfny5ek+1unTp2nVqhWPPPIIXbt2pVixYqSkpNC2bVt++uknevXqRdWqVdm2bRvTpk1jz549fPXVVwD8/vvvtGnThltuuYVx48YRHh7O3r17WbNmjf3+3377bfr370+HDh0YMGAAly5d4rfffmPdunV07tw5w9dgzJgxjB07lmbNmtG7d292797NrFmz2LBhA2vWrCF37tz2Y//++29atmxJfHw8Dz/8MF988QUjRoygRo0aTjOP3bp1Y+XKlRiG4e6PBHAktkWKFHEaf/rpp4mOjuaFF16wz4J89NFHdO/enRYtWvDSSy9x4cIFZs2aRf369dmyZYv95Hzx4sW0b9+eatWqMXHiRE6fPs1jjz3mlJBl5OjRo9x5552cPXuWXr16UaVKFRISEvjiiy+4cOECDRs2pH///rz22ms8++yzVK1aFcD+OTti7NixI926dWPDhg3ccccd9vGDBw/yyy+/MGXKFMC199L1/O9//+PcuXM88sgjxMTE0LhxYz7++OM077E5c+bw+OOPc/PNNzNy5EgKFizIli1bWLRoEZ07d+a5554jMTGRI0eOMG3aNAAiIiJciiG1zz//nAsXLtC7d2+KFCnC+vXrmTFjBkeOHOHzzz93+/5EJEAZIiIB6P333zcAo3Tp0kbu3LmNr776KsNjR48ebQDGqVOnjJUrVxqAMXXqVPvtpUuXNlq3bu30PYDRp08fwzAMo0mTJkZMTIxx4cIFp8fesGHDdWNcvny5ARjvvfeecerUKePo0aPGokWLjAoVKhgWi8VYv369/dgnnnjCKF68uPHXX3853ccjjzxiREVF2R/7lVdeMQCn53vx4kWjSpUqBmAsX77cPt6oUSMDMGbPnu10nx999JEREhJirF692ml89uzZBmCsWbPGMAzDmDZtmv11y0i7du2Mm2+++bqvg+312r9/v2EYhnHy5EkjLCzMaN68uWG1Wu3HzZw50/56XfscPvzwQ/vY5cuXjZiYGKN9+/ZOj2M79kb2799vAMbYsWONU6dOGcePHzdWrFhh3HbbbQZgzJ8/3ynu+vXrG1evXrV//z///GMULFjQ6Nmzp9P9Hj9+3IiKinIar1mzplG8eHHj7Nmz9rHFixfb37upAcbo0aPtX3fr1s0ICQlJ932WkpJiGIZhfP7552l+7t6M8VqJiYlGeHi4MWTIEKfxyZMnGxaLxTh48KBhGK69l66nTZs2Rr169exfv/XWW0auXLmMkydP2sfOnj1rFChQwKhTp45x8eJFp++3vV6GYRitW7dO93ld+z61sf0ep36Nbb+PqU2cONHpORuG4/8eEQlOWtonIgHtxIkT5MmTh7i4OJeOb9iwIU2aNHFrud6YMWM4fvx4pvdKPf7440RHR1OiRAlatmxJYmIiH330kf0KvmEYzJ8/n/vvvx/DMPjrr7/sHy1atCAxMZHNmzcDsGjRIkqWLEnbtm3t958nTx569uyZ7mOHh4fz2GOPOY19/vnnVK1alSpVqjg9lm1pm212q2DBggB8/fXXpKSkpHv/BQsW5MiRI2zYsMHl1+PHH3/kypUrDBw4kJAQx5+hnj17EhkZybfffut0fEREBF27drV/HRYWxp133smff/7pdNyKFSvcmo0aPXo00dHR9hmOffv28dJLLxEfH+90XM+ePQkNDbV/vWTJEs6ePUunTp2cXr/Q0FDq1Kljf/2OHTvG1q1b6d69O1FRUfbvv/fee6lWrdp1Y0tJSeGrr77i/vvvd1oeZ3Oj/WbZESNAZGQkrVq14rPPPnN67T/99FPuuusuSpUqBbj2XsrI6dOn+eGHH+jUqZN9rH379lgsFj777DOn5/zPP//wzDPPkCdPHqf78PT+vNSz2efPn+evv/7i7rvvxjAMtmzZ4tHHEhH/pURKRALam2++SVhYGC1btmT37t0ufY+7iVFmkq/UXnjhBZYsWcKXX35Jt27dSExMdEogTp06xdmzZ3nrrbeIjo52+rAlQSdPngTMJVPly5dPc2JYoUKFdB+7ZMmShIWFOY398ccf/P7772keq1KlSk6P1bFjR+rVq8eTTz5JsWLFeOSRR/jss8+cToRHjBhBREQEd955JxUrVqRPnz43XK518OBBACpXruw0HhYWRrly5ey328TGxqZ5voUKFeLvv/++7uPcSK9evViyZAlLly5l06ZNnDx5kuHDh6c5rmzZsk5f//HHH4C5p+ra13Dx4sVOPyuAihUrprnPa5/7tU6dOkVSUhLVq1fP1HPLjhhtOnbsyOHDh1m7di1gLpHctGkTHTt2dDrmRu+ljHz66ackJydz2223sXfvXvbu3cuZM2eoU6eOU/U+29LMzL5m7jh06BA9evSgcOHCREREEB0dTaNGjQCzBYOI5AzaIyUiAa1atWp89913NG3alHvvvZc1a9bccHaqYcOGNG7cmMmTJ/PUU0+59DijR4+mcePGvPnmm/ar666qUaMGzZo1A+CBBx7gwoUL9OzZk/r16xMXF2c/mbRVkEvPLbfc4tZj2qS3DywlJYUaNWowderUdL/H9vrlzZuXVatWsXz5cr799lsWLVrEp59+yj333MPixYsJDQ2latWq7N69m4ULF7Jo0SLmz5/PG2+8wQsvvMDYsWMzFfO1Us8GpebO7FN6KlasaP+5XM+1r6Ht5/XRRx8RExOT5nh/qLyXnTHef//95MuXj88++4y7776bzz77jJCQEHshDHDtvZQRW7JUr169dG//888/Myx44Y6MZq2sVmuar++9917OnDnDiBEjqFKlCvnz5ychIYEePXq4PeMmIoHL9//bi4hk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rFkzzp8/f937ff/992nTpg29e/dm3rx5XLx40en2s2fP8p///IdixYqRJ08eqlevzsKFC1mxYgWPPfYYiYmJ9tnDMWPGAGaVyK+++srpfgoWLMicOXPsX48YMYJKlSqRL18+ypUrx/PPP09ycvJ1YxURERERz1Ai5WULFkCHDnDkiPN4QoI57u1kKrW8efM6zTwtXbqU3bt3s2TJEhYuXEhycjItWrSgQIECrF69mjVr1hAREUHLli3t3/fKK68wZ84c3nvvPX766SfOnDnDl19+ed3H7datG/PmzeO1115j586dvPnmm0RERBAXF8f8+fMB2L17N8eOHePVV18FYOLEiXz44YfMnj2b33//nUGDBtG1a1dWrlwJmAlffHw8999/P1u3buXJJ5/kmWeeuW4cXbp04ZtvvuHcuXP2sR9++IELFy7w4IMPcuzYMTp16sTjjz/Ozp07WbFiBfHx8WkSxdQMw+D999+na9euVKlShQoVKjglfCkpKbRq1Yo1a9bw3//+lx07djBp0iRCQ0O5++67mT59OpGRkRw7doxjx44xdOjQ6z6H1AoUKMCcOXPYsWMHr776Km+//TbTpk1z+ftFREREJAsMMRITEw3ASExMTHPbxYsXjR07dhgXL150+36vXjWM2FjDgPQ/LBbDiIszj/O07t27G+3atTMMwzBSUlKMJUuWGOHh4cbQoUPttxcrVsy4fPmy/Xs++ugjo3LlykZKSop97PLly0bevHmNH374wTAMwyhevLgxefJk++3JyclGbGys/bEMwzAaNWpkDBgwwDAMw9i9e7cBGEuWLEk3zuXLlxuA8ffff9vHLl26ZOTLl8/4+eefnY594oknjE6dOhmGYRgjR440qlWr5nT7iBEj0txXasnJycZNN91kfPjhh/axTp06GR07djQMwzA2bdpkAMaBAwfS/f70LF682IiOjjaSk5MNwzCMadOmGY0aNbLf/sMPPxghISHG7t270/3+999/34iKikozDhhffvml01hUVJTx/vvvZxjLlClTjNtvv93+9ejRo41bb701w+Oz8t4WERER8ajz5w0j1TmoL10vN0hNM1JetHp12pmo1AwDDh82j/OGhQsXEhERQZ48eWjVqhUdO3a0Lx0DqFGjBmFhYfavf/31V/bu3UuBAgWIiIggIiKCwoULc+nSJfbt20diYiLHjh2jTp069u/JlSsXtWvXzjCGrVu3EhoaSqNGjVyOe+/evVy4cIF7773XHkdERAQffvgh+/btA2Dnzp1OcQDUrVv3uvebK1cuHn74YT7++GMAzp8/z9dff02XLl0AuPXWW2natCk1atTgoYce4u233+bvv/++7n2+9957dOzYkVy5cgHQqVMn1qxZY49z69atxMbGUqlSJZefv6s+/fRT6tWrR0xMDBEREYwaNYpDhw55/HFEREREvMYwzCICFSvC11/7Ohq35PJ1AMHs2DHPHueuJk2aMGvWLMLCwihRooT9ZN8mf/78Tl+fO3eO22+/3Z5opBYdHZ2pGPLmzev299iW3n377beULFnS6bbw8PBMxWHTpUsXGjVqxMmTJ1myZAl58+alZcuWAISGhrJkyRJ+/vlnFi9ezIwZM3juuedYt24dZcuWTXNftmWNycnJzJo1yz5utVp57733ePHFFzP1/MHcI2Vcs6Qw9f6ntWvX0qVLF8aOHUuLFi2Iiorik08+4ZVXXsnU44mIiIhku+3boW9f+HfrBgMHQvPmkC+fT8NylWakvKh4cc8e5678+fNToUIFSpUqlSaJSk+tWrX4448/KFq0KBUqVHD6iIqKIioqiuLFi7Nu3Tr791y9epVNmzZleJ81atQgJSXFvrfpWrYZMWuqMobVqlUjPDycQ4cOpYkjLi4OgKpVq7J+/Xqn+/rll19u+Bzvvvtu4uLi+PTTT/n444956KGHyJ07t/12i8VCvXr1GDt2LFu2bCEsLCzDPWAff/wxsbGx/Prrr2zdutX+YdtHZrVaueWWWzhy5Ah79uzJ8Plb0ynhGB0dzbFUGfYff/zBhQsX7F///PPPlC5dmueee47atWtTsWJFDh48eMPnLyIiIuJziYlm0lSzpiOJArjlFki1l93fKZHyogYNIDYWLJb0b7dYIC7OPM4fdOnShZtuuol27dqxevVq9u/fz4oVK+jfvz9H/l2jOGDAACZNmsRXX33Frl27ePrpp6/bA6pMmTJ0796dxx9/nK+++sp+n5999hkApUuXxmKxsHDhQk6dOsW5c+coUKAAQ4cOZdCgQXzwwQfs27ePzZs3M2PGDD744AMAnnrqKf744w+GDRvG7t27mTt3rlNFu+vp3Lkzs2fPZsmSJfZlfQDr1q1jwoQJbNy4kUOHDrFgwQJOnTpF1apV072fd999lw4dOlC9enWnjyeeeIK//vqLRYsW0ahRIxo2bEj79u1ZsmQJ+/fv5/vvv2fRokX21+fcuXMsXbqUv/76y54s3XPPPcycOZMtW7awceNGnnrqKaeEr2LFihw6dIhPPvmEffv28dprr92w6IeIiIiIT6WkwAcfQKVK8Oqrjn5A5cvDwoXwv/9B0aK+jdEd2bNly795q9iEYRjG/PlmUQmLJW2hCYvFvN0bUhebcOf2Y8eOGd26dTNuuukmIzw83ChXrpzRs2dP+2uTnJxsDBgwwIiMjDQKFixoDB482OjWrVuGxSYMw3wNBw0aZBQvXtwICwszKlSoYLz33nv228eNG2fExMQYFovF6N69u2EYZoGM6dOnG5UrVzZy585tREdHGy1atDBWrlxp/75vvvnGqFChghEeHm40aNDAeO+9965bbMJmx44dBmCULl3aqbDGjh07jBYtWhjR0dFGeHi4UalSJWPGjBnp3sfGjRsNwFi/fn26t7dq1cp48MEHDcMwjNOnTxuPPfaYUaRIESNPnjxG9erVjYULF9qPfeqpp4wiRYoYgDF69GjDMAwjISHBaN68uZE/f36jYsWKxnfffZem2MSwYcOMIkWKGBEREUbHjh2NadOmORWuULEJERER8RtbthjG3Xc7nxDnzWsY48cbhp+di7habMJiGNep7ZxDJCUlERUVRWJiIpGRkU63Xbp0if3791O2bFny5MmTqftfsAAGDHAuPBEXB9OnQ3x8FgIXyQJPvLdFREREruvvv2HUKJg925yRsomPh6lToXRp38WWgevlBqmp2EQ2iI+Hdu3M6nzHjpl7oho0gNBQX0cmIiIiIuIFKSnw/vvwzDPw11+O8UqVYMYMs6hEgFMilU1CQ6FxY19HISIiIiLiZRs3Qp8+kLowWP788PzzMGgQpGq/E8iUSImIiIiISNb99Rc8+yy88465C8qmY0d4+WWzClsQUSIlIiIiIiKZZ7XC22/Dc8/BmTOO8WrVzGV899zju9i8SImUiIiIiIhkztq1ZlPdzZsdYwUKwJgx0K8fpGrfEmyUSImIiIiIiHtOnjQLSbz/vvN4164webJZXS3IKZESERERERHXXL0Ks2aZhSMSEx3jt9wCM2eapalziBBfPvisWbO45ZZbiIyMJDIykrp16/L999/bb7906RJ9+vShSJEiRERE0L59e06cOOF0H4cOHaJ169bky5ePokWLMmzYMK5evZrdT0VEREREJLitXg233w79+zuSqKgoeO012LQpRyVR4ONEKjY2lkmTJrFp0yY2btzIPffcQ7t27fj9998BGDRoEN988w2ff/45K1eu5OjRo8Sn6mBrtVpp3bo1V65c4eeff+aDDz5gzpw5vPDCC756SiIiIiIiweXYMXj0UWjYEH77zTH+2GOwZ4+5FypXzlvoZjGM1LUJfa9w4cJMmTKFDh06EB0dzdy5c+nQoQMAu3btomrVqqxdu5a77rqL77//njZt2nD06FGKFSsGwOzZsxkxYgSnTp0izMUa9dfrXnzp0iX2799P2bJlyZMnj2efrI81btyYmjVrMn369Gy9z7feeovx48eTkJDA1KlTOXv2LF999RVbt271WBxyY8H83hYREREPSE42q+6NGQP//OMYr1XLXMZXt67PQvOm6+UGqfl0Rio1q9XKJ598wvnz56lbty6bNm0iOTmZZs2a2Y+pUqUKpUqVYu3atQCsXbuWGjVq2JMogBYtWpCUlGSf1UrP5cuXSUpKcvoINj169OCBBx7wdRhpJCUl0bdvX0aMGEFCQgK9evVi6NChLF261H6Mv8YuIiIikmMsXw41a8KQIY4kqlAhc3/U+vVBm0S5w+eJ1LZt24iIiCA8PJynnnqKL7/8kmrVqnH8+HHCwsIoWLCg0/HFihXj+PHjABw/ftwpibLdbrstIxMnTiQqKsr+ERcX59knJRk6dOgQycnJtG7dmuLFi5MvXz4iIiIoUqSIr0MTERERkSNHzAa699wDO3aYYxYL9OplLuN76ikIDfVtjH7C54lU5cqV2bp1K+vWraN37950796dHbYfmpeMHDmSxMRE+8fhw4e9+nj+4Pz583Tr1o2IiAiKFy/OK6+8kuaYy5cvM3ToUEqWLEn+/PmpU6cOK1assN9++vRpOnXqRMmSJcmXLx81atRg3rx5LscwZ84catSoAUC5cuWwWCwcOHCAMWPGULNmTQDGjBnDBx98wNdff43FYsFisTjFICIiIiJecOUKvPQSVKkCn33mGL/zTli3Dt58E266yXfx+SGf7woLCwujQoUKANx+++1s2LCBV199lY4dO3LlyhXOnj3rNCt14sQJYmJiAIiJiWH9+vVO92er6mc7Jj3h4eGEh4dnPujateE6M15eExMDGzdm6luHDRvGypUr+frrrylatCjPPvssmzdvticwAH379mXHjh188sknlChRgi+//JKWLVuybds2KlasyKVLl7j99tsZMWIEkZGRfPvttzz66KOUL1+eO++884YxdOzYkbi4OJo1a8b69euJi4sjOjra6ZihQ4eyc+dOkpKSeP/fvgSFCxfO1HMWERERERcsXmwWjNizxzF2000waZJZUCLE53MvfsnnidS1UlJSuHz5Mrfffju5c+dm6dKltG/fHoDdu3dz6NAh6v67JrNu3bq8+OKLnDx5kqJFiwKwZMkSIiMjqVatmveCPH4cEhK8d/8edu7cOd59913++9//0rRpUwA++OADYmNj7cccOnSI999/n0OHDlGiRAnATGoWLVrE+++/z4QJEyhZsiRDhw61f0+/fv344Ycf+Oyzz1xKpPLmzWtfwhcdHZ1ushsREUHevHm5fPnydZNhEREREcmigwdh8GBYsMAxFhICvXvDuHGgi9nX5dNEauTIkbRq1YpSpUrxzz//MHfuXFasWMEPP/xAVFQUTzzxBIMHD6Zw4cJERkbSr18/6taty1133QVA8+bNqVatGo8++iiTJ0/m+PHjjBo1ij59+mRtxulGfHWCn8nH3bdvH1euXKFOnTr2scKFC1O5cmX719u2bcNqtVKpUiWn7718+bI9+bFarUyYMIHPPvuMhIQErly5wuXLl8mXL1+m4hIRERERH7h0CV5+GSZMgIsXHeN33w2vv24WmZAb8mkidfLkSbp168axY8eIiorilltu4YcffuDee+8FYNq0aYSEhNC+fXsuX75MixYteOONN+zfHxoaysKFC+nduzd169Ylf/78dO/enXHjxnk38Ewur/Nn586dIzQ0lE2bNhF6zQbCiIgIAKZMmcKrr77K9OnTqVGjBvnz52fgwIFcuXLFFyGLiIiIiLu+/RYGDIB9+xxjxYrB5MlmryiLxXexBRifJlLvvvvudW/PkycPr7/+Oq+//nqGx5QuXZrvvvvO06EFlfLly5M7d27WrVtHqVKlAPj777/Zs2cPjRo1AuC2227DarVy8uRJGmTQlXrNmjW0a9eOrl27AuYyzD179nh8GWVYWBhWq9Wj9ykiIiKSo/35JwwcCN984xgLDTX3Ro0ZA1FRvoosYGnnWA4QERHBE088wbBhw1i2bBnbt2+nR48ehKTaOFipUiW6dOlCt27dWLBgAfv372f9+vVMnDiRb7/9FoCKFSuyZMkSfv75Z3bu3Ml//vMfe3EPTypTpgy//fYbu3fv5q+//iI5OdnjjyEiIiKSI1y8CKNHQ7VqzklUw4awZQtMm6YkKpOUSOUQU6ZMoUGDBtx///00a9aM+vXrc/vttzsd8/7779OtWzeGDBlC5cqVeeCBB9iwYYN9FmvUqFHUqlWLFi1a0LhxY2JiYrzSOLdnz55UrlyZ2rVrEx0dzZo1azz+GCIiIiJBzTDgq6/MBGrcOLh82RwvUQLmzoUVK+DftjSSORbDMAxfB+FrSUlJREVFkZiYSGRkpNNtly5dYv/+/ZQtW5Y8efL4KEIRz9N7W0REJEjt2WPug1q0yDGWKxcMGgTPPw8FCvgutgBwvdwgNb8rfy4iIiIiIplw/jy8+CK88orZYNemaVOYMQOqVvVdbEFIiZSIiIiISCAzDPjiC7Mn1JEjjvG4OJg6Fdq3VzU+L1AiJSIiIiISqHbuNCvvLV3qGMudG4YOheeeg/z5fRdbkFMiJSIiIiISaP75xywiMX06XL3qGG/ZEl59FSpV8lloOYUSKRepJocEG72nRUREApBhwLx55ozTsWOO8TJlzKSqbVst48smKn9+A6GhoQBcSb1hTyQIXLhwAYDcuXP7OBIRERFxybZt0LgxdOniSKLCw80+UTt2QLt2SqKykWakbiBXrlzky5ePU6dOkTt3bqcmtiKByDAMLly4wMmTJylYsKD9YoGIiIj4qcREM1maOROsVsf4/febs1DlyvkstJxMidQNWCwWihcvzv79+zl48KCvwxHxmIIFCxITE+PrMERERCQjKSnw0UcwfDicPOkYL1/e3AfVurXvYhMlUq4ICwujYsWKWt4nQSN37tyaiRIREfFnW7dCnz7w88+Osbx5zUp8Q4ZAnjw+C01MSqRcFBISQh69YUVERETEm/7+G0aNgtmzzRkpm/btzUa7pUv7LjZxokRKRERERMTXUlLgvfdg5Ej46y/HeOXK8Npr0Ly572KTdCmREhERERHxpY0bzWV869c7xvLnh+efh0GDICzMd7FJhpRIiYiIiIj4wl9/wbPPwjvvmP2hbDp2hJdfhthY38UmN6RESkREREQkO1mt8NZbZuGIv/92jFerZpY4b9LEd7GJy5RIiYiIiIhkl7VroW9f2LzZMVagAIwda47nzu272MQtSqRERERERLzt5EkYMQLmzHEe79oVJk+G4sV9EpZknhIpERERERFvuXoVZs0yC0ckJjrGb7nFXMbXoIHvYpMsUSIlIiIiIuINq1eby/V++80xFhUF//d/8NRTkEun4oEsxNcBiIiIiIgElWPHzCV7DRs6J1GPPQZ79pjJlZKogKefoIiIiIiIJyQnw4wZMGYM/POPY7xWLXj9dbjrLp+FJp6nREpEREREJKuWLzdnmnbscIwVKgQTJkDPnhAa6rvYxCu0tE9EREREJLOOHDEb6N5zjyOJsligVy9zGd9TTymJClKakRIRERERcdeVKzB1KowfDxcuOMbvvNNcxle7tu9ik2yhREpERERExB2LF0O/fuaMk81NN8GkSWZBiRAt+soJ9FMWEREREXHFwYPQvj20aOFIokJCoE8f8+snnlASlYNoRkpERERE5HouXYKXXzYLR1y86BivV89sqluzps9CE99RIiUiIiIikpFvv4UBA2DfPsdYsWIweTI8+qhZWEJyJM09ioiIiIhc688/4f77oU0bRxIVGgoDB8Lu3dCtm5KoHE4zUiIiIiIiNhcuwEsvmR+XLzvGGzUym+3WqOG72MSvKJESERERETEM+Pprc8bp4EHHeIkS5v6oRx7RDJQ40dI+EREREcnZ9uyB++6DBx90JFG5csGwYbBrF3TqpCRK0tCMlIiIiIjkTOfPw4svwiuvmA12bZo1M5fxVaniu9jE7ymREhEREZGcxTDgiy9g8GA4csQxHhcHU6eavaI0AyU3oERKRERERHKOnTuhXz9YutQxFhYGQ4fCs89C/vy+i00CihIpEREREQl+//wD48bB9Olw9apjvGVLeO01qFjRZ6FJYFIiJSIiIiLByzBg3jxzxunYMcd4mTJmUtW2rZbxSaYokRIRERGR4LRtG/TtC6tWOcbCw+GZZ2DECMib13exScBTIiUiIiIiwSUxEUaPhpkzwWp1jLdtC9OmQblyvotNgoYSKREREREJDikp8NFHMHw4nDzpGC9f3twHdd99votNgo4SKREREREJfFu2mMv4fv7ZMZY3Lzz3HAwZAnny+C42CUpKpEREREQkcJ05A88/D7NnmzNSNu3bm412S5f2XWwS1JRIiYiIiEjgSUmB996DkSPhr78c45Urm8v4mjf3XWx+yGqF1avNwoXFi0ODBhAa6uuo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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "KKnZ8vYZYx4Y"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}