{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5f7acb7f",
   "metadata": {},
   "source": [
    "# Day 2: Machine Learning Workflow and First Models\n",
    "\n",
    "**Python + Machine Learning for Engineering Research, Day 2 of 4**\n",
    "\n",
    "Today we will use the same four-step process for every model:\n",
    "\n",
    "> **Define the problem → Prepare the data → Train the model → Use and evaluate the model**\n",
    "\n",
    "### Today\n",
    "\n",
    "| Part | Topic |\n",
    "|---|---|\n",
    "| 0 | Review the Assignment 1 solution |\n",
    "| 1 | What machine learning is trying to learn |\n",
    "| 2 | Define the prediction problem |\n",
    "| 3 | Split the data before training |\n",
    "| 4 | Prepare data safely with pipelines |\n",
    "| 5 | k-nearest neighbours |\n",
    "| 6 | Cross-validation and choosing k |\n",
    "| 7 | Linear regression and error measures |\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5d7e688",
   "metadata": {},
   "source": [
    "## Part 0. Assignment 1 solution\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f3b59a6b",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "## Part 1. What learning means\n",
    "\n",
    "Suppose we have $n$ examples. Each example has features $\\mathbf{x}_i$ and a target $y_i$.\n",
    "All feature rows form $\\mathbf{X}$, and all targets form $\\mathbf{y}$.\n",
    "\n",
    "A **loss function** measures how wrong a prediction is. Our real goal is low loss on new data:\n",
    "\n",
    "$$R(f)=\\mathbb{E}[L(y,f(\\mathbf{x}))].$$\n",
    "\n",
    "We do not know the full population, so we train with average loss on the available data:\n",
    "\n",
    "$$\\hat R(f)=\\frac{1}{n}\\sum_{i=1}^{n}L(y_i,f(\\mathbf{x}_i)).$$\n",
    "\n",
    "A model can memorize training data and still fail on new data. Test sets, cross-validation, and\n",
    "regularization help us detect or reduce this problem.\n",
    "\n",
    "| Problem | Target | Example |\n",
    "|---|---|---|\n",
    "| Classification | a category | Which species is this penguin? |\n",
    "| Regression | a number | What is this penguin's body mass? |\n",
    "| Clustering | no target | Do the measurements form groups? |\n",
    "\n",
    "**Supervised learning** uses known targets. **Unsupervised learning** does not. Also ask whether\n",
    "a simple formula or physical model already solves the problem before choosing machine learning.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "94d2077a",
   "metadata": {},
   "source": [
    "## Part 2. Define the problem\n",
    "\n",
    "**Goal:** use four body measurements to predict one of three penguin species.\n",
    "\n",
    "We will not use `island`. In this dataset, some species occur on only one island, so island\n",
    "almost reveals the answer. A model should use information that will be available in the real\n",
    "task and should not receive a hidden copy of the target.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "2bb28d7b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "X: (342, 4)  y: (342,)\n",
      "species\n",
      "Adelie       151\n",
      "Gentoo       123\n",
      "Chinstrap     68\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "FEATURES = [\"bill_length_mm\", \"bill_depth_mm\", \"flipper_length_mm\", \"body_mass_g\"]\n",
    "penguins = pd.read_csv(\"../data/penguins.csv\").dropna(subset=FEATURES)\n",
    "\n",
    "X = penguins[FEATURES]\n",
    "y = penguins[\"species\"]\n",
    "print(\"X:\", X.shape, \" y:\", y.shape)\n",
    "print(y.value_counts().to_string())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fb08a694",
   "metadata": {},
   "source": [
    "## Part 3. Split before training\n",
    "\n",
    "A model should not be tested on the same rows it used for training. That would measure memory,\n",
    "not performance on new data.\n",
    "\n",
    "We keep a test set separate until the end. `stratify=y` keeps similar species proportions in\n",
    "the training and test sets, including the smaller Chinstrap class.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "b87fcd12",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train 256  test 86\n",
      "           train   test\n",
      "species                \n",
      "Adelie     0.441  0.442\n",
      "Gentoo     0.359  0.360\n",
      "Chinstrap  0.199  0.198\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# stratify=y:training and testing subsets have the exact same proportion of \n",
    "# class labels as the original dataset\n",
    "X_train, X_test, y_train, y_test = train_test_split(\n",
    "    X, y, test_size=0.25, random_state=10, stratify=y)\n",
    "\n",
    "print(f\"train {len(X_train)}  test {len(X_test)}\")\n",
    "print(pd.DataFrame({\"train\": y_train.value_counts(normalize=True),\n",
    "                    \"test\": y_test.value_counts(normalize=True)}).round(3))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bdb2293a",
   "metadata": {},
   "source": [
    "## Part 4. Prepare data safely\n",
    "\n",
    "### Standardization\n",
    "\n",
    "The columns use very different scales. Body mass spans thousands of grams, while bill depth\n",
    "spans only a few millimetres. A distance-based model would give body mass too much influence.\n",
    "\n",
    "Standardization changes each value using:\n",
    "\n",
    "$$z_{ij}=\\frac{x_{ij}-\\mu_j}{\\sigma_j}.$$\n",
    "\n",
    "Each resulting feature has mean 0 and standard deviation 1, so the scales are comparable.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "25a7da90",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>bill_length_mm</th>\n",
       "      <th>bill_depth_mm</th>\n",
       "      <th>flipper_length_mm</th>\n",
       "      <th>body_mass_g</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>32.1</td>\n",
       "      <td>13.1</td>\n",
       "      <td>172.0</td>\n",
       "      <td>2700.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>59.6</td>\n",
       "      <td>21.5</td>\n",
       "      <td>231.0</td>\n",
       "      <td>6300.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>43.9</td>\n",
       "      <td>17.2</td>\n",
       "      <td>200.9</td>\n",
       "      <td>4201.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>5.5</td>\n",
       "      <td>2.0</td>\n",
       "      <td>14.1</td>\n",
       "      <td>802.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      bill_length_mm  bill_depth_mm  flipper_length_mm  body_mass_g\n",
       "min             32.1           13.1              172.0       2700.0\n",
       "max             59.6           21.5              231.0       6300.0\n",
       "mean            43.9           17.2              200.9       4201.8\n",
       "std              5.5            2.0               14.1        802.0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(X.describe().loc[[\"min\", \"max\", \"mean\", \"std\"]].round(1))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a9f8370f",
   "metadata": {},
   "source": [
    "### Data leakage and pipelines\n",
    "\n",
    "The scaler must learn its mean and standard deviation from the **training data only**. If it\n",
    "uses the test data, information from the test set enters training. This is called **data\n",
    "leakage**, and it makes the final score look better than it should.\n",
    "\n",
    "A scikit-learn `Pipeline` joins preparation steps and a model. When we call `fit`, every step\n",
    "learns only from the training data. When we call `predict`, the pipeline applies the same\n",
    "saved steps to new data.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "355e0491",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "kNN with standardization: 0.988\n",
      "kNN on raw features:      0.733\n"
     ]
    }
   ],
   "source": [
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "knn_pipe = Pipeline([\n",
    "    (\"scale\", StandardScaler()),\n",
    "    (\"knn\", KNeighborsClassifier(n_neighbors=5)),\n",
    "])\n",
    "knn_pipe.fit(X_train, y_train)\n",
    "\n",
    "raw_knn = KNeighborsClassifier(n_neighbors=5).fit(X_train, y_train)\n",
    "\n",
    "print(f\"kNN with standardization: {knn_pipe.score(X_test, y_test):.3f}\")\n",
    "print(f\"kNN on raw features:      {raw_knn.score(X_test, y_test):.3f}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3cca2dc8",
   "metadata": {},
   "source": [
    "Scaling changes the kNN score even though the kNN settings stay the same. This shows that data\n",
    "preparation is part of the full model.\n",
    "\n",
    "### Tables with numbers and categories\n",
    "\n",
    "Real tables often contain both numeric and categorical columns. **One-hot encoding** creates a\n",
    "0/1 column for each category without inventing an order. `ColumnTransformer` sends numeric\n",
    "and categorical columns through different preparation steps.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "f6076fbe",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "mixed feature pipeline: 1.000\n",
      "encoded column names: ['cat__sex_female', 'cat__sex_male']\n"
     ]
    }
   ],
   "source": [
    "from sklearn.compose import ColumnTransformer\n",
    "from sklearn.preprocessing import OneHotEncoder\n",
    "\n",
    "demo = penguins.dropna(subset=[\"sex\"])\n",
    "Xd, yd = demo[FEATURES + [\"sex\"]], demo[\"species\"]\n",
    "\n",
    "preprocess = ColumnTransformer([\n",
    "    (\"num\", StandardScaler(), FEATURES),\n",
    "    (\"cat\", OneHotEncoder(handle_unknown=\"ignore\"), [\"sex\"]),\n",
    "])\n",
    "mixed_pipe = Pipeline([(\"prep\", preprocess), (\"knn\", KNeighborsClassifier(5))])\n",
    "\n",
    "Xd_tr, Xd_te, yd_tr, yd_te = train_test_split(Xd, yd, test_size=0.25,\n",
    "                                              random_state=42, stratify=yd)\n",
    "mixed_pipe.fit(Xd_tr, yd_tr)\n",
    "print(f\"mixed feature pipeline: {mixed_pipe.score(Xd_te, yd_te):.3f}\")\n",
    "print(\"encoded column names:\", list(mixed_pipe[:-1].get_feature_names_out())[-2:])\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6383d185",
   "metadata": {},
   "source": [
    "<!-- Composite estimator pattern from the scikit-learn user guide,\n",
    "https://scikit-learn.org/stable/modules/compose.html -->\n",
    "This is a useful pattern for table data: prepare each type of column with a\n",
    "`ColumnTransformer`, place the model last, and call `fit` once.\n",
    "\n",
    "## Part 5. Model 1: k-nearest neighbours\n",
    "\n",
    "To classify a new row, kNN finds the `k` closest training rows and lets them vote.\n",
    "\n",
    "A common distance is:\n",
    "\n",
    "$$d_q(\\mathbf{a}, \\mathbf{b}) = \\left(\\sum_{j=1}^{p}|a_j-b_j|^q\\right)^{1/q}.$$\n",
    "\n",
    "When $q=2$, this is Euclidean distance. When $q=1$, it is Manhattan distance. kNN does not\n",
    "learn coefficients; it stores the training data and does most of its work during prediction.\n",
    "\n",
    "<img src=\"../figures/KNN_decision_surface_animation.gif\" alt=\"knn demo\" width=\"800\">"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "bd913f2b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "prediction: Chinstrap\n",
      "vote shares: {'Adelie': np.float64(0.0), 'Chinstrap': np.float64(0.6), 'Gentoo': np.float64(0.4)}\n",
      "\n",
      "the five nearest training birds:\n",
      "  distance 2.375  species Chinstrap\n",
      "  distance 2.686  species Chinstrap\n",
      "  distance 2.689  species Gentoo\n",
      "  distance 2.719  species Gentoo\n",
      "  distance 2.744  species Chinstrap\n"
     ]
    }
   ],
   "source": [
    "# Predict one new bird and show the five neighbours that voted.\n",
    "new = pd.DataFrame([[45.0, 15.0, 220.0, 2000.0]], columns=FEATURES)\n",
    "print(\"prediction:\", knn_pipe.predict(new)[0])\n",
    "print(\"vote shares:\", dict(zip(knn_pipe.classes_, knn_pipe.predict_proba(new)[0])))\n",
    "\n",
    "distances, indices = knn_pipe[-1].kneighbors(knn_pipe[:-1].transform(new))\n",
    "neighbours = y_train.iloc[indices[0]]\n",
    "print(\"\\nthe five nearest training birds:\")\n",
    "for d, sp in zip(distances[0], neighbours):\n",
    "    print(f\"  distance {d:.3f}  species {sp}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "25f96a83",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmoAAAHWCAYAAADHMqXsAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAybNJREFUeJzsnXd8VFXagJ87PckkAUJC6FUpgoLICihNFFQs2Asi2EXQ1f3sDdQVFHvHiu6Kq2vBCioK0rEgLCBFQDqEFELaZMqde74/LjPMJJPJTDKTTJLz8MuPzL3nnvOecyd33nnPWxQhhEAikUgkEolEknAY6lsAiUQikUgkEklopKImkUgkEolEkqBIRU0ikUgkEokkQZGKmkQikUgkEkmCIhU1iUQikUgkkgRFKmoSiUQikUgkCYpU1CQSiUQikUgSFKmoSSQSiUQikSQoUlGTSCQSiUQiSVCkohbAtGnTUBSF/Pz8+hZFEgLf/anNtZHcW0VRmDJlSo3GaUo89dRTdOnSBaPRSN++fQHo1KkTEydOjNuY7777LoqisHPnTv+xTp06cc4551R77U8//YSiKPz0009xkw9g+PDhDB8+PK5j1ESOnTt3oigK7777blzHrc3fKcC///1vevTogdlsplmzZkD9rmmk8xk+fDi9e/euA4liT129N2rCzJkz6dGjB5qmAUdlffrpp+tZssj59ttvsdvt5OXl1eh6qahJIsLhcDBt2rS4f8hJGgbff/89d999N6eccgqzZ89m+vTp9S2SpBGwefNmJk6cSNeuXXnzzTd544036lskST1SXFzMk08+yT333IPBUDfqSmlpKVOnTuXMM8+kRYsWYRXYiRMnoihKpZ8ePXoEtTvzzDPp1q0bM2bMqJFMphpdJWlyOBwOHnnkEYB6+2b74IMPcu+999bL2JJgFi5ciMFg4O2338ZisdTZuOPHj+fyyy/HarXW2ZiSuuOnn35C0zReeOEFunXr5j/+/fff16NUkvrinXfeQVVVrrjiijobMz8/n0cffZQOHTpwwgknVGucsFqtvPXWW0HH0tPTK7W76aabuPPOO3nkkUdITU2NSiapqDVSysrKSElJqW8xYorJZMJkalpvWSEETqeTpKSk+hYliNzcXJKSkupUSQMwGo0YjcY6HVNSd+Tm5gL4tzx91PX7TFI7YvX5M3v2bM477zxsNlsMpIqM1q1bc+DAAbKzs/ntt98YMGBA2PYmk4mrrrqq2n4vuugibr31Vj7++GOuvfbaqGSSW5/VsGvXLrp160bv3r05ePBgle18fgzbtm1j4sSJNGvWjPT0dK655hocDkel9u+//z79+/cnKSmJFi1acPnll7Nnz56gNkuXLuWSSy6hQ4cOWK1W2rdvzx133EF5eXlQu4kTJ2K329m+fTtnn302qampjBs3DgBN03j++ec57rjjsNlstGrViptuuonCwsKgPn777TdGjx5Ny5YtSUpKonPnzv43086dO8nMzATgkUce8Zt3p02bVuV6+HyJli9fzj/+8Q8yMzNJSUnhggsuCLlPP3/+fIYMGUJKSgqpqamMGTOGP/74I+QaB1JeXs5tt91Gy5YtSU1N5bzzzmPfvn1Vynf48OGI7g/AnDlz6N69Ozabjf79+7NkyZJKbdasWcNZZ51FWloadrudkSNHsmrVqmrlDlyjUP5W3333HSeddBJJSUm8/vrrACxYsIBTTz2VZs2aYbfb6d69O/fff39Qn7t372bz5s0h5xOI2+3m4Ycfpn///qSnp5OSksKQIUNYtGhRtdcqisLs2bMpKyvzvxfC+bYcPnyY22+/nfbt22O1WunWrRtPPvmk3+dECMGIESPIzMz0f1D7ZOzTpw9du3alrKysyjXz8f3339O3b19sNhu9evXis88+q3YuAD///DNnnnkm6enpJCcnM2zYMJYvXx7RtZGSm5vLddddR6tWrbDZbJxwwgm89957ldr5rEl9+vTBZrORmZnJmWeeyW+//eZvM3v2bE477TSysrKwWq306tWL1157LWqZZs+ejaIorFmzptK56dOnYzQa2bdvX9g+li1bxoABA7DZbHTt2tX/Xg1Fdc+8Tp06MXXqVAAyMzOD/oYr+qj5/A3/+9//8vjjj9OuXTtsNhsjR45k27ZtlcaO9B5HM5+qWL16NYMHD/Y/R2fNmlWpTSTvh6p8KkP5k/k+A/bt28fYsWOx2+1kZmZy55134vV6g673PQPT09Np1qwZEyZM4PDhw5VkXLduHRMnTqRLly7YbDays7O59tprKSgoCGrne75t3LiRK6+8kubNm3PqqafW+v21Y8cO1q1bx+mnn15lGx9CCG688UYsFkvEf/dVYbVayc7Ojuoar9dLcXFx2DZZWVkcf/zxfPHFF1HL1LTME1Gyfft2TjvtNFq0aMGCBQto2bJltddceumldO7cmRkzZvD777/z1ltvkZWVxZNPPulv8/jjj/PQQw9x6aWXcv3115OXl8dLL73E0KFDWbNmjf/b5Mcff4zD4WDSpElkZGTwyy+/8NJLL7F3714+/vjjoHFVVWX06NGceuqpPP300yQnJwO6ufXdd9/lmmuu4bbbbmPHjh28/PLLrFmzhuXLl2M2m8nNzWXUqFFkZmZy77330qxZM3bu3Ol/w2dmZvLaa68xadIkLrjgAi688EIAjj/++GrX49Zbb6V58+ZMnTqVnTt38vzzzzNlyhQ++ugjf5t///vfTJgwgdGjR/Pkk0/icDh47bXXOPXUU1mzZg2dOnWqsv+JEyfy3//+l/HjxzNw4EAWL17MmDFjanV/ABYvXsxHH33EbbfdhtVq5dVXX+XMM8/kl19+8TsM//HHHwwZMoS0tDTuvvtuzGYzr7/+OsOHD2fx4sWcfPLJ1a5PKLZs2cIVV1zBTTfdxA033ED37t35448/OOecczj++ON59NFHsVqtbNu2rdKHzdVXX83ixYsRQoQdo7i4mLfeeosrrriCG264gZKSEt5++21Gjx7NL7/84g8OCMW///1v3njjDX755Re/yX/w4MEh2zocDoYNG8a+ffu46aab6NChAytWrOC+++7jwIEDPP/88yiKwjvvvMPxxx/PzTff7H/fTZ06lT/++IOffvqp2m/nW7du5bLLLuPmm29mwoQJzJ49m0suuYRvv/2WM844o8rrFi5cyFlnnUX//v2ZOnUqBoPBrwgtXbqUv/3tb2HHjYTy8nKGDx/Otm3bmDJlCp07d+bjjz9m4sSJHD58mL///e/+ttdddx3vvvsuZ511Ftdffz2qqrJ06VJWrVrFSSedBMBrr73Gcccdx3nnnYfJZOKrr77illtuQdM0Jk+eHLFcF198MZMnT2bOnDn069cv6NycOXMYPnw4bdu2rfL69evX+58b06ZNQ1VVpk6dSqtWrSq1jeSZ9/zzz/Ovf/2LuXPn8tprr2G326t9xjzxxBMYDAbuvPNOioqKmDlzJuPGjePnn3/2t4n0Hkczn6ooLCzk7LPP5tJLL+WKK67gv//9L5MmTcJisfi/+EbzfogGr9fL6NGjOfnkk3n66af54YcfeOaZZ+jatSuTJk0CdIXm/PPPZ9myZdx888307NmTuXPnMmHChEr9LViwgL/++otrrrmG7Oxs/vjjD9544w3++OMPVq1aVenL5yWXXMIxxxzD9OnTEULU+v21YsUKAE488cRq533ttdfy0UcfMXfuXP/zX9M0Dh06VP3CoW9Vms3miNpWxOFwkJaWhsPhoHnz5lxxxRU8+eST2O32Sm379+/P559/Hv0gQuJn6tSpAhB5eXli06ZNok2bNmLAgAHi0KFDEV977bXXBh2/4IILREZGhv/1zp07hdFoFI8//nhQu/Xr1wuTyRR03OFwVBpnxowZQlEUsWvXLv+xCRMmCEDce++9QW2XLl0qADFnzpyg499++23Q8blz5wpA/Prrr1XOLy8vTwBi6tSpVbYJZPbs2QIQp59+utA0zX/8jjvuEEajURw+fFgIIURJSYlo1qyZuOGGG4Kuz8nJEenp6UHHfWvsY/Xq1QIQt99+e9C1EydOrCRrpPdHCCEAAYjffvvNf2zXrl3CZrOJCy64wH9s7NixwmKxiO3bt/uP7d+/X6SmpoqhQ4dWKXfFNdqxY4f/WMeOHQUgvv3226C2zz33nP+9GY5hw4aFHKsiqqoKl8sVdKywsFC0atWq0hqFYsKECSIlJaXS8Y4dO4oJEyb4Xz/22GMiJSVF/Pnnn0Ht7r33XmE0GsXu3bv9x15//XUBiPfff1+sWrVKGI3GSvc23Jp9+umn/mNFRUWidevWol+/fv5jixYtEoBYtGiREEIITdPEMcccI0aPHh30HnU4HKJz587ijDPOqHYdQjFs2DAxbNgw/+vnn3/ePy8fbrdbDBo0SNjtdlFcXCyEEGLhwoUCELfddlulPivKV5HRo0eLLl26hJVjx44dAhCzZ8/2H7viiitEmzZthNfr9R/7/fffK7ULxdixY4XNZgt6Fm3cuFEYjcag92A0z7zAZ3C4ufjuZc+ePYPexy+88IIAxPr164UQ0d3jSOdTFb6/vWeeecZ/zOVyib59+4qsrCzhdruFEJG/Hyq+X32Euo++z4BHH300qG2/fv1E//79/a8///xzAYiZM2f6j6mqKoYMGVKpz1Dvs//85z8CEEuWLPEf892zK664olL72ry/HnzwQQGIkpKSkPN/6qmnhMfjEZdddplISkoS3333Xch2kfxUXGMfv/76a1hZ7733XnHPPfeIjz76SPznP//x34dTTjlFeDyeSu2nT58uAHHw4MGwc6+I3PoMwYYNGxg2bBidOnXihx9+oHnz5hFfe/PNNwe9HjJkCAUFBX6z6GeffYamaVx66aXk5+f7f7KzsznmmGOCtp4C/ZLKysrIz89n8ODBCCFCmpN935p8fPzxx6Snp3PGGWcEjdW/f3/sdrt/LJ8F7+uvv8bj8UQ810i48cYbg755DRkyBK/Xy65duwD9W9vhw4e54oorgmQ0Go2cfPLJYbfivv32WwBuueWWoOO33nprlddUd398DBo0iP79+/tfd+jQgfPPP5/vvvsOr9eL1+vl+++/Z+zYsXTp0sXfrnXr1lx55ZUsW7asWlN4VXTu3JnRo0cHHfPdoy+++MK/ZRiKn376qVprGui+Xj6/H983T1VVOemkk/j9999rJHcoPv74Y4YMGULz5s2D7u/pp5+O1+sN2k6+8cYbGT16NLfeeivjx4+na9euEUeTtmnThgsuuMD/Oi0tjauvvpo1a9aQk5MT8pq1a9eydetWrrzySgoKCvyylZWVMXLkSJYsWRJ2rSNl3rx5ZGdnBzlEm81mbrvtNkpLS1m8eDEAn376KYqi+Lf/Agn8Gwp8LhQVFZGfn8+wYcP466+/KCoqikq2q6++mv379wf9nc2ZM4ekpCQuuuiiKq/zer189913jB07lg4dOviP9+zZs9J7N5pnXrRcc801Qf5rQ4YMAeCvv/4CIr/H0cwnHCaTiZtuusn/2mKxcNNNN5Gbm8vq1auByN8PNSHU8823Fr6xTSZT0GeF0WgM+cwMfJ85nU7y8/MZOHAgQMhnRMWxoebvL4CCggJMJlNIyxTorhGXXHIJX3/9NfPmzWPUqFFB57Ozs1mwYEFEPyeccEJYWapixowZPPHEE1x66aVcfvnlvPvuuzz++OMsX76cTz75pFJ7ny4RbQowufUZgnPPPZdWrVrx3XffVfkmqYrAP3I4emMKCwtJS0tj69atCCE45phjQl4faH7dvXs3Dz/8MF9++WUln7KKD2STyUS7du2Cjm3dupWioiKysrJCjuXzBxo2bBgXXXQRjzzyCM899xzDhw9n7NixXHnllbWOrgu3Hj4ZAU477bSQ16elpVXZ965duzAYDHTu3DnoeGC0WDTyBI4V6v4ce+yxOBwOv4+dw+Gge/fuldr17NkTTdPYs2cPxx13XJWyVEXF+QBcdtllvPXWW1x//fXce++9jBw5kgsvvJCLL764xmHr7733Hs888wybN28OUtBDjV9Ttm7dyrp16/w+jhUJ9EkDePvtt+natStbt25lxYoVEQdRdOvWrdJWzLHHHgvoPj2hfE58771Q2z4+ioqKovqiFopdu3ZxzDHHVLpPPXv29J8H3dWiTZs2tGjRImx/y5cvZ+rUqaxcubKSf2VRUVHIiLOqOOOMM2jdujVz5sxh5MiRaJrGf/7zH84///ywkWl5eXmUl5eH/Dvp3r078+bN87+O5pkXLZE+X6q7xy6XK+L5hKNNmzaVtukD34cDBw6M+P0QLT6fxkCaN28e9Nmxa9cuWrduXelzLdRz7NChQzzyyCN8+OGHlf5OQ30hCPXcqOn7KxJmzJhBaWkp8+fPD5mJwGazReTfFmvuuOMOHnroIX744Qcuv/zyoHO+L9HR5hmUiloILrroIt577z3mzJkT9O0oEqqKSPPdIE3TUBSF+fPnh2zr+wPyer2cccYZHDp0iHvuuYcePXqQkpLCvn37mDhxYqVv+lartdIfvqZpZGVlMWfOnJAy+f6oFUXhk08+YdWqVXz11Vd89913XHvttTzzzDOsWrUqamU1kEjWA3S/p1AfprGO8qxOnnhQ1R9lRSdfH6GUk6SkJJYsWcKiRYv45ptv+Pbbb/noo4847bTT+P7776OOhHz//feZOHEiY8eO5a677iIrKwuj0ciMGTPYvn17VH2FQ9M0zjjjDO6+++6Q530fYj5++uknXC4XoPsMDRo0KGayhJIN9MS9Vfnk1ea9Hw+2b9/OyJEj6dGjB88++yzt27fHYrEwb948nnvuuagtgEajkSuvvJI333yTV199leXLl7N///6IotgiJdJnXk2I9PlS3T32vecSiWifG7GOhr700ktZsWIFd911F3379sVut6NpGmeeeWbI91mo51Zt3l8ZGRmoqkpJSUlIpW706NF8++23zJw5k+HDh1eKDPV6vREnmG3RokXMIouTkpLIyMgI6R/nU5oj8XcPRCpqIXjqqacwmUzccsstpKamcuWVV8as765duyKEoHPnzpU+pAJZv349f/75J++99x5XX321//iCBQuiGuuHH37glFNOicgyMXDgQAYOHMjjjz/OBx98wLhx4/jwww+5/vrra5VpvDoZQY+IifbbT8eOHdE0jR07dgR9Ew4V9RUtvm/igfz5558kJyf7Fdzk5GS2bNlSqd3mzZsxGAy0b98eOPot//Dhw0FpB6L95mwwGBg5ciQjR47k2WefZfr06TzwwAMsWrQo6rX75JNP6NKlC5999lnQvQ217VYbunbtSmlpaUTyHThwgFtvvZVRo0ZhsVi48847GT16NB07dqz22m3btiGECJrLn3/+CVBlMIrvvZeWlhbXb94dO3Zk3bp1aJoW9GXKF53rm1/Xrl357rvvOHToUJVWta+++gqXy8WXX34ZZE2qzfbh1VdfzTPPPMNXX33F/PnzyczMrHa7LzMzk6SkpJB/JxX/JiJ95sWDSO9xNPMJx/79+yulpqj4Poz0/RD43AikphY3X98//vgjpaWlQQpyxTkWFhby448/8sgjj/Dwww/7j4dan+qoyfsL8CeN3bFjR8igkoEDB3LzzTdzzjnncMkllzB37tygL/Z79uyJeHdg0aJFMcsPWlJSQn5+fshdhB07dtCyZcsqdxiqQvqohUBRFN544w0uvvhiJkyYwJdffhmzvi+88EKMRiOPPPJIJSuOEMIf+uz7dhTYRgjBCy+8EPFYl156KV6vl8cee6zSOVVV/Q+AwsLCSrL4vn36vmn6okhDhXHXhtGjR5OWlsb06dND+seF+0bk+2N/9dVXg46/9NJLtZZr5cqVQX4Ye/bs4YsvvmDUqFH+XF6jRo3iiy++CEoVcfDgQT744ANOPfVU/1aq78Mi0B+rrKwsZHqGqgj17aziPYLI03OEen/9/PPPrFy5MmKZIuHSSy9l5cqVfPfdd5XOHT58GFVV/a9vuOEGNE3j7bff5o033sBkMnHddddFZO3cv38/c+fO9b8uLi7mX//6F3379q0y1L5///507dqVp59+mtLS0krna1rupSJnn302OTk5QZHOqqry0ksvYbfbGTZsGKBb8oUQ/sTSgfjWINR9KyoqYvbs2TWW7/jjj+f444/nrbfe4tNPP+Xyyy+v1pJtNBoZPXo0n3/+Obt37/Yf37RpU6V7HekzLx5Eeo+jmU84VFUNSunhdrt5/fXXyczM9Pu8Rvp+6NixI0ajsVJaoIrPu2g4++yzUVU1KJ2L1+ut9MwM9T4DeP7556MesybvL8BvTQ9MTVOR008/nQ8//JBvv/2W8ePHB1n64u2j5nQ6KSkpqXT8scceQwjBmWeeWenc6tWra7RLIC1qVWAwGHj//fcZO3Ysl156KfPmzavSjyoaunbtyj//+U/uu+8+du7cydixY0lNTWXHjh3MnTuXG2+8kTvvvJMePXrQtWtX7rzzTvbt20daWhqffvppJV+1cAwbNoybbrqJGTNmsHbtWkaNGoXZbGbr1q18/PHHvPDCC1x88cW89957vPrqq1xwwQV07dqVkpIS3nzzTdLS0jj77LMB3Zzbq1cvPvroI4499lhatGhB7969a13bLi0tjddee43x48dz4okncvnll5OZmcnu3bv55ptvOOWUU3j55ZdDXtu/f38uuuginn/+eQoKCvzpOXzfYGtjBezduzejR48OSs8BBH2I/vOf//TnNrvlllswmUy8/vrruFwuZs6c6W83atQoOnTowHXXXcddd92F0WjknXfe8c8zEh599FGWLFnCmDFj6NixI7m5ubz66qu0a9eOU0891d8u0vQc55xzDp999hkXXHABY8aMYceOHcyaNYtevXqF/ECrKXfddRdffvkl55xzDhMnTqR///6UlZWxfv16PvnkE3bu3EnLli2ZPXs233zzDe+++67f1/Kll17iqquu4rXXXqsUMFKRY489luuuu45ff/2VVq1a8c4773Dw4MGwCozBYOCtt97irLPO4rjjjuOaa66hbdu27Nu3j0WLFpGWlsZXX33lb68oCsOGDYu6jNqNN97I66+/zsSJE1m9ejWdOnXik08+Yfny5Tz//PP+bZ0RI0Ywfvx4XnzxRbZu3erfYlq6dCkjRoxgypQpfmvjueeey0033URpaSlvvvkmWVlZHDhwICq5Arn66qu58847ASLe9nzkkUf49ttvGTJkCLfccotf2TjuuONYt26dv12kz7x4EM09jnQ+4WjTpg1PPvkkO3fu5Nhjj+Wjjz5i7dq1vPHGG35fvEjfD+np6VxyySW89NJLKIpC165d+frrryv5i0XDueeeyymnnMK9997Lzp07/fkGK/qcpaWlMXToUGbOnInH46Ft27Z8//337Nixo0bj1uT91aVLF3r37s0PP/wQNkHs2LFjmT17NldffTVpaWl+Rbk2Pmovv/wyhw8fZv/+/YBuyd67dy+gB6ulp6eTk5NDv379uOKKK/zWv++++4558+Zx5plncv755wf1mZuby7p166JKoeMnqhjRRk6o0HCHwyGGDRsm7Ha7WLVqVVTXChE6nYAQQnz66afi1FNP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T2LJkiVxudfcuXNRW1uL//iP/8CGDRtw5MgRbN26Ff/93/+NXbt2hVVGbm4uFi5ciGXLlmHjxo348ssvsWjRIsiy7NOFO3r0aGzevBnHjh1De3t71DHLsoy5c+fio48+iroMLWzZsgWXX355UmMgojOYqBFRQtx0003o6+vDRRddhMWLF2PJkiVxW4FfkiS8/fbbmDFjBn74wx9i/PjxuOGGG/DVV195xnOF4/HHH0dtbS3+/d//HXPnzsUll1yCqqoqn3FkDz/8MI4cOYKxY8fG3F14yy23YN26dZp1v0bKarXitddew6233pqU+xPRQJIINmiCiIg8enp6cM4552DlypVYtGiR5uULIVBTU4N7770X3/3udzUvP5SnnnoKr776KjZs2JDwexNRYGxRIyIaxGeffYaXX34Zhw4dwqeffooFCxYAAK699tq43E+SJDzzzDNwOp1xKT8Ug8EwYF01IkoutqgREQ3is88+wy233IL6+noYjUZUV1fj8ccf91kag4gonpioEREREaUodn0SERERpSgmakREREQpiokaERERUYpiokZERESUopioEREREaUoJmpEREREKYqJGhEREVGKYqJGRERElKL+Pza97FkUSmxqAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 700x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Draw a two-dimensional decision boundary so we can see it.\n",
    "from matplotlib.colors import ListedColormap\n",
    "\n",
    "two = [\"bill_length_mm\", \"flipper_length_mm\"]\n",
    "knn2 = Pipeline([(\"scale\", StandardScaler()),\n",
    "                 (\"knn\", KNeighborsClassifier(15))]).fit(X_train[two], y_train)\n",
    "\n",
    "xx, yy = np.meshgrid(np.linspace(30, 62, 300), np.linspace(165, 240, 300))\n",
    "grid = pd.DataFrame({two[0]: xx.ravel(), two[1]: yy.ravel()})\n",
    "zz = pd.Categorical(knn2.predict(grid), categories=knn2.classes_).codes.reshape(xx.shape)\n",
    "\n",
    "colors = {\"Adelie\": \"tab:blue\", \"Chinstrap\": \"tab:orange\", \"Gentoo\": \"tab:green\"}\n",
    "fig, ax = plt.subplots(figsize=(7, 5))\n",
    "ax.contourf(xx, yy, zz, levels=[-0.5, 0.5, 1.5, 2.5], alpha=0.18,\n",
    "            colors=[\"tab:blue\", \"tab:orange\", \"tab:green\"])\n",
    "for sp, grp in penguins.groupby(\"species\"):\n",
    "    ax.scatter(grp[two[0]], grp[two[1]], s=20, alpha=0.8, color=colors[sp], label=sp)\n",
    "ax.set_xlabel(\"bill length (mm)\")\n",
    "ax.set_ylabel(\"flipper length (mm)\")\n",
    "ax.set_title(\"k nearest neighbours: a flexible, locally defined boundary (k=15)\")\n",
    "ax.legend(frameon=False)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0a05d72f",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "### Too many dimensions\n",
    "\n",
    "kNN assumes nearby points tend to have the same label. With many features, points become far\n",
    "apart and a “local” neighbourhood can cover much of the data range.\n",
    "\n",
    "For a neighbourhood containing a fraction $r$ of the data in $p$ dimensions, the fraction\n",
    "of each axis it spans is:\n",
    "\n",
    "$$e_p(r)=r^{1/p}.$$\n",
    "\n",
    "For $r=0.01$ and $p=10$, it spans about 63% of every axis. The neighbourhood is no longer\n",
    "very local.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "45afc411",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "p=   1: a neighbourhood holding 1% of the data spans 0.010 of each axis\n",
      "p=   2: a neighbourhood holding 1% of the data spans 0.100 of each axis\n",
      "p=   5: a neighbourhood holding 1% of the data spans 0.398 of each axis\n",
      "p=  10: a neighbourhood holding 1% of the data spans 0.631 of each axis\n",
      "p=  50: a neighbourhood holding 1% of the data spans 0.912 of each axis\n",
      "p= 100: a neighbourhood holding 1% of the data spans 0.955 of each axis\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 650x340 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "r = 0.01\n",
    "for p in [1, 2, 5, 10, 50, 100]:\n",
    "    print(f\"p={p:>4}: a neighbourhood holding 1% of the data spans {r**(1/p):.3f} of each axis\")\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(6.5, 3.4))\n",
    "ps = np.arange(1, 101)\n",
    "for frac, style in [(0.01, \"-\"), (0.1, \"--\")]:\n",
    "    ax.plot(ps, frac ** (1 / ps), style, label=f\"{frac:.0%} of the data\")\n",
    "ax.set_xlabel(\"number of features p\")\n",
    "ax.set_ylabel(\"fraction of each axis spanned\")\n",
    "ax.set_title(\"The curse of dimensionality: neighbourhoods stop being local\")\n",
    "ax.legend(frameon=False)\n",
    "ax.grid(alpha=0.3)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ccb1a1c7-d113-4ee9-abb8-2636f1503bef",
   "metadata": {},
   "source": [
    "Why High Dimensions Hurt KNN\n",
    "\n",
    "Data Sparsity: Points sit far apart in high-dimensional spaces.\n",
    "\n",
    "Loss of Locality: Neighbors are no longer close or similar.\n",
    "\n",
    "Distance Decay: Distances between all pairs of points become nearly equal.\n",
    "\n",
    "Overfitting: Models pick up noise instead of real patterns."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "210c780d-ee5b-4e41-ab0e-56bee6fcb2f3",
   "metadata": {},
   "source": [
    "Distance-based methods often become weaker when there are many features. Feature selection or\n",
    "dimensionality reduction can help. Our example has only four features."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a13c9e42",
   "metadata": {},
   "source": [
    "### kNN from scratch\n",
    "\n",
    "The library handles the details for us, but the kNN algorithm is short:\n",
    "\n",
    "1. Standardize the features using the training-set mean and standard deviation.\n",
    "2. Calculate the distance from a new row to every training row.\n",
    "3. Keep the $k$ rows with the smallest distances.\n",
    "4. Return the label that appears most often among those neighbours.\n",
    "\n",
    "Let's implements these steps with NumPy. It does not call scikit-learn's\n",
    "`KNeighborsClassifier`.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "9ba2271a-5076-4250-9421-4b9c420e6524",
   "metadata": {},
   "outputs": [],
   "source": [
    "# kNN keeps the training examples because it will search them during prediction.\n",
    "X_train_array = X_train.to_numpy()  # stored feature rows\n",
    "X_test_array = X_test.to_numpy()    # unseen rows to predict\n",
    "y_train_array = y_train.to_numpy()  # label attached to each stored row\n",
    "\n",
    "# Learn scaling values from the training data only.\n",
    "train_mean = X_train_array.mean(axis=0)  # centre of each feature\n",
    "train_std = X_train_array.std(axis=0)    # scale of each feature\n",
    "\n",
    "# Put every feature on a comparable scale before calculating distances.\n",
    "X_train_scaled = (X_train_array - train_mean) / train_std\n",
    "X_test_scaled = (X_test_array - train_mean) / train_std\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "b24d0f53",
   "metadata": {},
   "outputs": [],
   "source": [
    "def knn_predict_one(X_train, y_train, x_new, k=5):\n",
    "    \"\"\"Predict one label using Euclidean distance and majority voting.\"\"\"\n",
    "    # Distance from the new row to every stored training row.\n",
    "    distances = np.sqrt(np.sum((X_train - x_new) ** 2, axis=1))\n",
    "\n",
    "    # Indices of the k smallest distances: these rows are the neighbours.\n",
    "    nearest_indices = np.argsort(distances)[:k]\n",
    "    nearest_labels = y_train[nearest_indices]  # labels that will vote\n",
    "\n",
    "    # Count each label and return the label with the most votes.\n",
    "    labels, counts = np.unique(nearest_labels, return_counts=True)\n",
    "    return labels[np.argmax(counts)]\n",
    "\n",
    "\n",
    "def knn_predict(X_train, y_train, X_new, k=5):\n",
    "    \"\"\"Predict one label for every row in X_new.\"\"\"\n",
    "    # kNN predicts rows one at a time using the same stored training data.\n",
    "    return np.array([\n",
    "        knn_predict_one(X_train, y_train, row, k)\n",
    "        for row in X_new\n",
    "    ])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "c35e1a64",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "from-scratch kNN test accuracy: 1.000\n",
      "new bird prediction: Gentoo\n"
     ]
    }
   ],
   "source": [
    "# Predict labels for test rows that were not stored with the training data.\n",
    "scratch_predictions = knn_predict(\n",
    "    X_train_scaled, y_train_array, X_test_scaled, k=5\n",
    ")\n",
    "\n",
    "# Accuracy is the fraction of test predictions equal to the known labels.\n",
    "scratch_accuracy = np.mean(scratch_predictions == y_test.to_numpy())\n",
    "print(f\"from-scratch kNN test accuracy: {scratch_accuracy:.3f}\")\n",
    "\n",
    "# A new penguin must use the training mean and standard deviation too.\n",
    "new_bird = np.array([45.0, 15.0, 220.0, 5000.0])\n",
    "new_bird_scaled = (new_bird - train_mean) / train_std\n",
    "\n",
    "# Search the stored training rows and let the five nearest labels vote.\n",
    "print(\"new bird prediction:\",\n",
    "      knn_predict_one(X_train_scaled, y_train_array, new_bird_scaled, k=5))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a4d45e89",
   "metadata": {},
   "source": [
    "### Why does kNN seem to do almost nothing during `fit()`?\n",
    "\n",
    "The word **fit** means “prepare this model from the training data,” but different models prepare in different ways.\n",
    "\n",
    "| Model | What happens during training | What happens during prediction |\n",
    "|---|---|---|\n",
    "| kNN | Store the training features and labels. A library may also build a structure that makes neighbour searches faster. | Calculate distances to stored rows, find neighbours, and vote. |\n",
    "| Linear regression | Calculate and store the intercept and slope. | Insert a new value into the fitted line. |\n",
    "\n",
    "kNN is sometimes called a **lazy-learning** or **instance-based** method because most of its calculation happens when we ask for a prediction. It does not learn an equation with coefficients.\n",
    "\n",
    "Our from-scratch kNN code did not have a separate `fit()` function because the training arrays were already stored in variables. Scikit-learn still requires `fit()` so that every model has the same interface and so kNN can validate and save its training data.\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "01ab6d0b-327d-45f0-9b0d-f1c7dedb2624",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "Q: how confident are we when given test score = 1.000?"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c6f01a45",
   "metadata": {},
   "source": [
    "## Part 6. Cross-validation: choose k without using the test set\n",
    "\n",
    "### Define the problem\n",
    "\n",
    "The kNN model needs us to choose the number of neighbours, `k`. We should not try many values of `k` on the test set and keep the winner. Every look at the test score gives us information about the test data, so the test set slowly becomes part of model selection.\n",
    "\n",
    "Instead, we use **cross-validation on the training data**. The test set stays untouched until we have made our choice.\n",
    "\n",
    "In **five-fold cross-validation**:\n",
    "\n",
    "1. Split the training rows into five groups, called folds.\n",
    "2. Train on four folds and validate on the remaining fold.\n",
    "3. Repeat five times, changing the validation fold each time.\n",
    "4. Average the five validation scores.\n",
    "\n",
    "Here, “five-fold” refers to five data groups. It is different from the `k` in kNN, which means the number of neighbours.\n",
    "\n",
    "![Five-fold cross-validation](../figures/grid_search_cross_validation.png)\n",
    "\n",
    "*Figure: scikit-learn documentation, BSD licence,\n",
    "https://scikit-learn.org/stable/modules/cross_validation.html*\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "d7a12b56",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "five validation scores: [1.    0.961 1.    0.98  0.98 ]\n",
      "mean validation accuracy: 0.984\n",
      "variation across folds:   0.015\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import cross_val_score, GridSearchCV\n",
    "\n",
    "# Repeat training five times using a different validation fold each time.\n",
    "# Only X_train and y_train are used, so the test set remains untouched.\n",
    "fold_scores = cross_val_score(\n",
    "    knn_pipe,   # the scaler and kNN model are refitted inside every fold\n",
    "    X_train,\n",
    "    y_train,\n",
    "    cv=5,       # split the training rows into five folds\n",
    "    scoring=\"accuracy\",\n",
    ")\n",
    "\n",
    "# Each value is accuracy on one held-out validation fold.\n",
    "print(\"five validation scores:\", fold_scores.round(3))\n",
    "print(f\"mean validation accuracy: {fold_scores.mean():.3f}\")  # expected performance\n",
    "print(f\"variation across folds:   {fold_scores.std():.3f}\")    # score stability\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e8b23c67",
   "metadata": {},
   "source": [
    "The five scores are not identical because each fold contains different penguins. Their average is usually more dependable than one validation split.\n",
    "\n",
    "The pipeline is important here. For each fold, scikit-learn fits the scaler using only that fold's training rows. This prevents the validation fold from leaking into data preparation.\n",
    "\n",
    "### Use cross-validation to choose the number of neighbours\n",
    "\n",
    "`GridSearchCV` repeats cross-validation for every candidate value of `k`. We will keep this search simple and change only the number of neighbours.\n",
    "\n",
    "The safe workflow is:\n",
    "\n",
    "1. keep the test set separate;\n",
    "2. compare candidate settings with cross-validation on the training set;\n",
    "3. choose the setting with the best mean validation score;\n",
    "4. fit that model on all training rows;\n",
    "5. check the test set once.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "f9c34d78",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>k</th>\n",
       "      <th>mean_validation_accuracy</th>\n",
       "      <th>fold_to_fold_variation</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0.988</td>\n",
       "      <td>0.010</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>0.992</td>\n",
       "      <td>0.016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>0.984</td>\n",
       "      <td>0.015</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7</td>\n",
       "      <td>0.980</td>\n",
       "      <td>0.012</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>9</td>\n",
       "      <td>0.977</td>\n",
       "      <td>0.015</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>15</td>\n",
       "      <td>0.977</td>\n",
       "      <td>0.015</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>25</td>\n",
       "      <td>0.977</td>\n",
       "      <td>0.015</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    k  mean_validation_accuracy  fold_to_fold_variation\n",
       "0   1                     0.988                   0.010\n",
       "1   3                     0.992                   0.016\n",
       "2   5                     0.984                   0.015\n",
       "3   7                     0.980                   0.012\n",
       "4   9                     0.977                   0.015\n",
       "5  15                     0.977                   0.015\n",
       "6  25                     0.977                   0.015"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x380 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "best k when other settings stay fixed: {'knn__n_neighbors': 3}\n"
     ]
    }
   ],
   "source": [
    "# These are the neighbour counts that cross-validation will compare.\n",
    "candidate_k = [1, 3, 5, 7, 9, 15, 25]\n",
    "\n",
    "# Train and validate a fresh pipeline for every candidate k and every fold.\n",
    "knn_search = GridSearchCV(\n",
    "    Pipeline([\n",
    "        (\"scale\", StandardScaler()),       # refitted inside each fold\n",
    "        (\"knn\", KNeighborsClassifier()),\n",
    "    ]),\n",
    "    param_grid={\"knn__n_neighbors\": candidate_k},  # setting to compare\n",
    "    cv=5,\n",
    "    scoring=\"accuracy\",\n",
    ")\n",
    "\n",
    "# Run the search using training data only.\n",
    "knn_search.fit(X_train, y_train)\n",
    "\n",
    "# Summarize the average score and its fold-to-fold variation for each k.\n",
    "cv_results = pd.DataFrame({\n",
    "    \"k\": candidate_k,\n",
    "    \"mean_validation_accuracy\": knn_search.cv_results_[\"mean_test_score\"],\n",
    "    \"fold_to_fold_variation\": knn_search.cv_results_[\"std_test_score\"],\n",
    "})\n",
    "display(cv_results.round(3))\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(7, 3.8))\n",
    "ax.errorbar(\n",
    "    cv_results[\"k\"],\n",
    "    cv_results[\"mean_validation_accuracy\"],\n",
    "    yerr=cv_results[\"fold_to_fold_variation\"],  # error bars show fold variation\n",
    "    marker=\"o\",\n",
    "    capsize=4,\n",
    ")\n",
    "ax.axvline(\n",
    "    knn_search.best_params_[\"knn__n_neighbors\"],  # k with the best mean score\n",
    "    color=\"tab:red\",\n",
    "    linestyle=\"--\",\n",
    "    label=f\"chosen k = {knn_search.best_params_['knn__n_neighbors']}\",\n",
    ")\n",
    "ax.set_xlabel(\"k, number of neighbours\")\n",
    "ax.set_ylabel(\"mean cross-validation accuracy\")\n",
    "ax.set_title(\"First search: compare only the number of neighbours\")\n",
    "ax.legend(frameon=False)\n",
    "ax.grid(alpha=0.3)\n",
    "plt.show()\n",
    "\n",
    "print(\"best k when other settings stay fixed:\", knn_search.best_params_)\n",
    "# Do not use the test set yet; we still want to compare two more settings.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0ad56e90",
   "metadata": {},
   "source": [
    "### Search more than one kNN setting\n",
    "\n",
    "The first search changed only the number of neighbours. kNN has two other useful settings:\n",
    "\n",
    "- `weights=\"uniform\"` gives every neighbour one equal vote.\n",
    "- `weights=\"distance\"` gives closer neighbours more influence.\n",
    "- `p=1` uses Manhattan distance.\n",
    "- `p=2` uses Euclidean distance.\n",
    "\n",
    "`GridSearchCV` tries every combination. With 7 values of `k`, 2 weighting methods, and 2\n",
    "distance measures, it compares $7 \\times 2 \\times 2 = 28$ combinations. Each combination is\n",
    "evaluated with five-fold cross-validation.\n",
    "\n",
    "Searching more settings takes more time, but the rule does not change: make all choices using\n",
    "the training data, then evaluate the selected combination on the test set once.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "1be67fa1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>k</th>\n",
       "      <th>weights</th>\n",
       "      <th>p</th>\n",
       "      <th>mean_validation_accuracy</th>\n",
       "      <th>fold_to_fold_variation</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>3</td>\n",
       "      <td>uniform</td>\n",
       "      <td>2</td>\n",
       "      <td>0.992</td>\n",
       "      <td>0.016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>3</td>\n",
       "      <td>distance</td>\n",
       "      <td>2</td>\n",
       "      <td>0.992</td>\n",
       "      <td>0.016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>uniform</td>\n",
       "      <td>1</td>\n",
       "      <td>0.988</td>\n",
       "      <td>0.010</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>distance</td>\n",
       "      <td>1</td>\n",
       "      <td>0.988</td>\n",
       "      <td>0.010</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>distance</td>\n",
       "      <td>2</td>\n",
       "      <td>0.988</td>\n",
       "      <td>0.010</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   k   weights  p  mean_validation_accuracy  fold_to_fold_variation\n",
       "6  3   uniform  2                     0.992                   0.016\n",
       "7  3  distance  2                     0.992                   0.016\n",
       "0  1   uniform  1                     0.988                   0.010\n",
       "1  1  distance  1                     0.988                   0.010\n",
       "3  1  distance  2                     0.988                   0.010"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chosen combination: {'knn__n_neighbors': 3, 'knn__p': 2, 'knn__weights': 'uniform'}\n",
      "final test accuracy: 0.988\n"
     ]
    }
   ],
   "source": [
    "# Compare every combination of neighbour count, voting rule, and distance.\n",
    "expanded_knn_search = GridSearchCV(\n",
    "    Pipeline([\n",
    "        (\"scale\", StandardScaler()),  # scaling is learned separately in every fold\n",
    "        (\"knn\", KNeighborsClassifier()),\n",
    "    ]),\n",
    "    param_grid={\n",
    "        \"knn__n_neighbors\": candidate_k,\n",
    "        \"knn__weights\": [\"uniform\", \"distance\"],\n",
    "        \"knn__p\": [1, 2],\n",
    "    },\n",
    "    cv=5,\n",
    "    scoring=\"accuracy\",\n",
    ")\n",
    "\n",
    "# All model selection still happens inside the training data.\n",
    "expanded_knn_search.fit(X_train, y_train)\n",
    "\n",
    "# Show the five combinations with the highest mean validation accuracy.\n",
    "expanded_results = pd.DataFrame(expanded_knn_search.cv_results_)\n",
    "display(\n",
    "    expanded_results[[\n",
    "        \"param_knn__n_neighbors\",\n",
    "        \"param_knn__weights\",\n",
    "        \"param_knn__p\",\n",
    "        \"mean_test_score\",\n",
    "        \"std_test_score\",\n",
    "    ]]\n",
    "    .sort_values(\"mean_test_score\", ascending=False)\n",
    "    .head()\n",
    "    .rename(columns={\n",
    "        \"param_knn__n_neighbors\": \"k\",\n",
    "        \"param_knn__weights\": \"weights\",\n",
    "        \"param_knn__p\": \"p\",\n",
    "        \"mean_test_score\": \"mean_validation_accuracy\",\n",
    "        \"std_test_score\": \"fold_to_fold_variation\",\n",
    "    })\n",
    "    .round(3)\n",
    ")\n",
    "\n",
    "print(\"chosen combination:\", expanded_knn_search.best_params_)\n",
    "\n",
    "# GridSearchCV refits the winning pipeline on all training rows.\n",
    "# Now model selection is finished, so touch the test set once.\n",
    "print(f\"final test accuracy: {expanded_knn_search.score(X_test, y_test):.3f}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aa0b6c13",
   "metadata": {},
   "source": [
    "## Part 7. Model 2: linear regression\n",
    "\n",
    "New goal: **predict body mass from flipper length**.\n",
    "\n",
    "For one feature, linear regression predicts a straight line:\n",
    "\n",
    "$$\\hat y_i = \\beta_0 + \\beta_1 x_i.$$\n",
    "\n",
    "Least squares chooses the intercept and slope that minimize:\n",
    "\n",
    "$$\\mathrm{SSE} = \\sum_i (y_i - \\hat y_i)^2.$$\n",
    "\n",
    "The next cell fits the line with scikit-learn. The following cells show the same training calculation directly with NumPy.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "4d0798a4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sklearn: intercept   -5741.26   slope  49.506\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n",
    "\n",
    "Xr = penguins[[\"flipper_length_mm\"]]\n",
    "yr = penguins[\"body_mass_g\"]\n",
    "Xr_tr, Xr_te, yr_tr, yr_te = train_test_split(Xr, yr, test_size=0.25, random_state=42)\n",
    "\n",
    "lin = LinearRegression().fit(Xr_tr, yr_tr)\n",
    "print(f\"sklearn: intercept {lin.intercept_:10.2f}   slope {lin.coef_[0]:7.3f}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d46f2b75",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "### How least squares trains the line\n",
    "\n",
    "For one feature, linear regression predicts a straight line:\n",
    "\n",
    "$$\\hat y_i = b_0 + b_1x_i.$$\n",
    "\n",
    "- $x_i$ is the flipper length of penguin $i$.\n",
    "- $y_i$ is its measured body mass.\n",
    "- $\\hat y_i$ is the mass predicted by the line.\n",
    "- $y_i-\\hat y_i$ is the **residual**, or prediction error.\n",
    "- $b_1$ is the slope: the predicted change in body mass when flipper length increases by 1 mm.\n",
    "- $b_0$ is the intercept: it positions the line vertically.\n",
    "\n",
    "Least squares chooses $b_0$ and $b_1$ so the sum of squared residuals is as small as possible.\n",
    "Squaring prevents positive and negative errors from cancelling and gives more weight to large\n",
    "errors.\n",
    "\n",
    "The next cell derives the slope and intercept using ordinary algebra and derivatives. It does\n",
    "not use matrices.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2cf780b2",
   "metadata": {},
   "source": [
    "### Deriving the one-feature slope and intercept\n",
    "\n",
    "<!-- Formula reference requested by the instructor:\n",
    "https://baike.baidu.com/item/最小二乘法/2522346 -->\n",
    "\n",
    "Suppose we have $n$ training pairs $(x_i,y_i)$ and predict with\n",
    "\n",
    "$$\\hat y_i=b_0+b_1x_i.$$\n",
    "\n",
    "#### Step 1: write the quantity we want to minimize\n",
    "\n",
    "The residual for row $i$ is $y_i-b_0-b_1x_i$. The total squared error is\n",
    "\n",
    "$$\n",
    "Q(b_0,b_1)=\\sum_{i=1}^{n}(y_i-b_0-b_1x_i)^2.\n",
    "$$\n",
    "\n",
    "Training means finding the values of $b_0$ and $b_1$ at the bottom of this quadratic surface.\n",
    "\n",
    "#### Step 2: set both derivatives to zero\n",
    "\n",
    "At the minimum, a small change in either parameter does not lower $Q$. Therefore,\n",
    "\n",
    "$$\n",
    "\\frac{\\partial Q}{\\partial b_0}\n",
    "=-2\\sum_{i=1}^{n}(y_i-b_0-b_1x_i)=0,\n",
    "$$\n",
    "\n",
    "and\n",
    "\n",
    "$$\n",
    "\\frac{\\partial Q}{\\partial b_1}\n",
    "=-2\\sum_{i=1}^{n}x_i(y_i-b_0-b_1x_i)=0.\n",
    "$$\n",
    "\n",
    "The factor $-2$ does not affect where the derivative is zero, so we can remove it.\n",
    "\n",
    "#### Step 3: solve the first condition for the intercept\n",
    "\n",
    "From the derivative with respect to $b_0$,\n",
    "\n",
    "$$\n",
    "\\sum_{i=1}^{n}y_i-nb_0-b_1\\sum_{i=1}^{n}x_i=0.\n",
    "$$\n",
    "\n",
    "Move the other terms to the right and divide by $n$:\n",
    "\n",
    "$$\n",
    "b_0=\\frac{1}{n}\\sum_{i=1}^{n}y_i\n",
    "-b_1\\frac{1}{n}\\sum_{i=1}^{n}x_i.\n",
    "$$\n",
    "\n",
    "Because $\\bar y=\\frac{1}{n}\\sum_i y_i$ and\n",
    "$\\bar x=\\frac{1}{n}\\sum_i x_i$,\n",
    "\n",
    "$$\n",
    "\\boxed{b_0=\\bar y-b_1\\bar x}.\n",
    "$$\n",
    "\n",
    "This also shows that the fitted line passes through the point $(\\bar x,\\bar y)$.\n",
    "\n",
    "#### Step 4: substitute the intercept into the second condition\n",
    "\n",
    "The derivative with respect to $b_1$ gives\n",
    "\n",
    "$$\n",
    "\\sum_{i=1}^{n}x_i y_i\n",
    "-b_0\\sum_{i=1}^{n}x_i\n",
    "-b_1\\sum_{i=1}^{n}x_i^2=0.\n",
    "$$\n",
    "\n",
    "Substitute $b_0=\\bar y-b_1\\bar x$ and use\n",
    "$\\sum_i x_i=n\\bar x$:\n",
    "\n",
    "$$\n",
    "\\sum_i x_i y_i\n",
    "-(\\bar y-b_1\\bar x)(n\\bar x)\n",
    "-b_1\\sum_i x_i^2=0.\n",
    "$$\n",
    "\n",
    "Expand and collect the terms containing $b_1$:\n",
    "\n",
    "$$\n",
    "\\sum_i x_i y_i-n\\bar x\\bar y\n",
    "=b_1\\left(\\sum_i x_i^2-n\\bar x^2\\right).\n",
    "$$\n",
    "\n",
    "Finally, divide by the term in parentheses:\n",
    "\n",
    "$$\n",
    "\\boxed{\n",
    "b_1=\n",
    "\\frac{\\sum_{i=1}^{n}x_i y_i-n\\bar x\\bar y}\n",
    "{\\sum_{i=1}^{n}x_i^2-n\\bar x^2}\n",
    "}.\n",
    "$$\n",
    "\n",
    "This is the slope formula used in the linked reference. An equivalent, often easier-to-read\n",
    "form is\n",
    "\n",
    "$$\n",
    "\\boxed{\n",
    "b_1=\n",
    "\\frac{\\sum_{i=1}^{n}(x_i-\\bar x)(y_i-\\bar y)}\n",
    "{\\sum_{i=1}^{n}(x_i-\\bar x)^2}\n",
    "}.\n",
    "$$\n",
    "\n",
    "Then calculate the intercept with\n",
    "\n",
    "$$\n",
    "\\boxed{b_0=\\bar y-b_1\\bar x}.\n",
    "$$\n",
    "\n",
    "The denominator is positive when the training rows contain at least two different $x$ values.\n",
    "In that case, the squared-error function has one minimum, so these values give the\n",
    "least-squares line.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e57a3c86",
   "metadata": {},
   "outputs": [],
   "source": [
    "# High-level outline only. The assignment asks you to complete the arithmetic.\n",
    "def fit_simple_linear_regression(x, y):\n",
    "    \"\"\"Learn an intercept and slope from training values.\"\"\"\n",
    "    # 1. Convert x and y to one-dimensional numeric arrays.\n",
    "    # 2. Calculate the mean of x and the mean of y.\n",
    "    # 3. Use deviations from the means to calculate the slope.\n",
    "    # 4. Use the means and slope to calculate the intercept.\n",
    "    # 5. Return the two learned values.\n",
    "    pass\n",
    "\n",
    "\n",
    "def predict_simple_linear_regression(x, intercept, slope):\n",
    "    \"\"\"Use the learned line to predict new values.\"\"\"\n",
    "    # Apply: prediction = intercept + slope * x\n",
    "    pass\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f68b4d97",
   "metadata": {},
   "source": [
    "This is intentionally an **outline**, not a finished implementation.\n",
    "\n",
    "The important structure is:\n",
    "\n",
    "1. `fit` receives training values and learns two numbers: the intercept and slope;\n",
    "2. the fitted model stores those two numbers;\n",
    "3. `predict` uses them to calculate outputs for new values.\n",
    "\n",
    "Unlike kNN, linear regression does real parameter calculation during training. Once the two\n",
    "parameters are known, prediction is very quick.\n",
    "\n",
    "You will complete these functions from scratch in Assignment 2. The formulas above provide the\n",
    "mathematical instructions, but the code and intermediate calculations are left to you.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "406af576",
   "metadata": {},
   "source": [
    "### Three regression error measures\n",
    "\n",
    "$$\\mathrm{MAE}=\\frac{1}{n}\\sum_i|y_i-\\hat y_i|,$$\n",
    "\n",
    "$$\\mathrm{RMSE}=\\sqrt{\\frac{1}{n}\\sum_i(y_i-\\hat y_i)^2},$$\n",
    "\n",
    "$$R^2=1-\\frac{\\sum_i(y_i-\\hat y_i)^2}{\\sum_i(y_i-\\bar y)^2}.$$\n",
    "\n",
    "- **MAE** is the average absolute error in the target's units.\n",
    "- **RMSE** gives extra weight to large errors.\n",
    "- **$R^2$** compares the model with always predicting the mean. Zero means no improvement over\n",
    "  that baseline; a poor model can have a negative value.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "fc3943b7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MAE  =   282.0 g\n",
      "RMSE =   348.0 g\n",
      "R2   =   0.783\n",
      "a mean-only baseline would give R2 = -0.022\n"
     ]
    }
   ],
   "source": [
    "pred = lin.predict(Xr_te)\n",
    "print(f\"MAE  = {mean_absolute_error(yr_te, pred):7.1f} g\")\n",
    "print(f\"RMSE = {mean_squared_error(yr_te, pred) ** 0.5:7.1f} g\")\n",
    "print(f\"R2   = {r2_score(yr_te, pred):7.3f}\")\n",
    "print(f\"a mean-only baseline would give R2 = {r2_score(yr_te, np.full_like(pred, yr_tr.mean())):.3f}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "4d727a65",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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okVWHS11Zd/k4OBAZGQkiqJQWFgIVL5vzencuTN+fn4sXrzY5M6dH374gcOHDxMTE1PhPe+8847x/4qi8M4772Bvb0///v3NxqhWq423rZetIzY2ll27dpnt/zMzMykqKrpm7FBa7zAqKorly5ezdOlSHBwcGDZsmMk8lq4rOjqaoqIi3n//fePrxcXFZj9rIaqjX79+dO3alQULFpCXl4efnx/9+vXjgw8+ICkpqcL85Y/zr/x+ubq6EhYWdtU778qSf//9739NpptrL1u2bIlerzcpSZOUlMSqVatM5isbpXZlCZwrL6aZY0k7BqWJkfLnDJYaMGAADg4O/Pe//zWJ75NPPkGv1xvbtetp/xwcHFi5ciVdunRh6NCh/P7771WO73rXbYni4uIK53F+fn4EBQWZrKey872rKUs4la+VeunSpQojSQcNGoSbmxtz584lLy/P5LUrjwPMxWBuPcXFxXz44YcWxxobG8u5c+f46KOPKrxmMBi4dOmSxcsqHy9Y1rdeLa7q9H1VaSvMsaR/tpSl3zMo/Ux/++03CgoKjNPWrl3LmTNnrrqOwMBAOnTowGeffWbyt7Jp06YKtXSv5vz58yZtWFZWFp9//jkdOnQgICAAsN5xybVER0fz+++/s2vXLuO0S5cu8eGHH9K8efMq1T4G6+eJZESwEHWIWq3m448/ZsiQIbRt25axY8cSHBzMuXPn+Pnnn3F3d+f777+3yro6derEsmXLeOqpp+jSpQuurq4MHTqUli1b4uHhweLFi3Fzc8PFxYVu3boRGhpqcWyzZ89mw4YN9O7dm8cee4yioiIWLVpE27ZtTQ44a0PLli155ZVXmD59OidPnmTYsGG4ublx4sQJVq1axYQJE5g2bVqtxiSEEDWpb9++PPLII8ydO5f9+/czaNAg7O3tSUhI4JtvvmHhwoXcfffd+Pr6Mm3aNObOncttt91GdHQ0+/bt44cffjC55d4ctVrN+++/z9ChQ+nQoQNjx44lMDCQf/75h0OHDhkPsDt16gSUPrwoKioKjUbDvffeWysxQukDed5++20GDx7MyJEjSU1N5d133yUsLMykP+rUqRN33XUXCxYsID09nZtvvplff/3VOJKk/OiS2267jf/973/odDoiIyPZtWsXmzdvxtvbu8qfVWUGDRpEQEAAPXv2xN/fn8OHD/POO+8QExODm5ubyb6dMWMG9957L/b29gwdOtR4Eluevb09r7/+OmPHjqVv377cd999pKSksHDhQpo3b87UqVNN5ndycmLDhg2MHj2abt268cMPP7Bu3Tqef/55Y9mO8ePHc/HiRW699VaaNGnCqVOnWLRoER06dDDWwHv66adZs2YNt912G2PGjKFTp05cunSJAwcOsGLFCk6ePGnR5whwzz338MADD/Dee+8RFRVV4SGFlq5r6NCh9OzZk+eee46TJ08SGRnJypUrq5wsEcISTz/9NCNGjGDJkiVMnDiRd999l169etG+fXsefvhhWrRoQUpKCrt27eLs2bP89ddfQOnDiPr160enTp3w8vLijz/+YMWKFSYPcbxShw4duO+++3jvvffQ6/X06NGDLVu2mL2z4d577+XZZ5/lzjvv5MknnyQ3N5f333+fiIgIk3qcgwYNMo4sfOSRR8jJyeGjjz7Cz8/PbIKqPEvaMSgtIdG3b98qPzDO19eX6dOnM3v2bAYPHsztt9/OkSNHeO+99+jSpYvxoZxVbf/KaLVa1q5dy6233sqQIUP49ddfq1wP93rXfS3Z2dk0adKEu+++mxtvvBFXV1c2b97Mnj17TO5Wqex872oGDRpEs2bNeOihh3j66afRaDR8+umn+Pr6miTs3d3dmT9/PuPHj6dLly6MHDkST09P/vrrL3Jzc42J48piaNu2LTfffDPTp0/n4sWLeHl5sXTp0iol4kaNGsXy5cuZOHEiP//8Mz179qS4uJh//vmH5cuX8+OPPxrLtcyaNYvZs2fz888/X3WEd4cOHdBoNLz++uvo9XocHR259dZbK32mgTnW6PssbSvMsaR/tpSl37Oy9a5YsYLBgwcTGxvLsWPH+OKLLyrULTdn7ty5xMTE0KtXL8aNG8fFixeN+QNziU9zIiIieOihh9izZw/+/v58+umnpKSkmFy4suZxydU899xzfP311wwZMoQnn3wSLy8vPvvsM06cOMG3335rcQmYMlbPEylCCKuYNGmSUtlX6ueff1YA5ZtvvjGZfuLECQVQ4uLiTKbv27dPGT58uOLt7a04OjoqISEhSmxsrLJly5ZrxgEokyZNMrv+n3/+2TgtJydHGTlypOLh4aEASkhIiPG17777TomMjFTs7OwqxGdpbL/++qvSqVMnxcHBQWnRooWyePFiZebMmZXuo/JGjx5t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pVKhUqnCpq6iKNhstoDUrfv3Gay60PTfcnu+Rixbd4Cvdh4lOkJDlygVJouDr3ceRXHYuW+Ca06wp2uEN+rW9eca4c/fcmvqNnW8g43fT6iHDh3i448/JiMjo1U7/uWXXygqKmLo0KHuMofDwffff88LL7yAxWJx/8HVMnLkSACys7Pp06cPKSkp/Pzzz/XqFBYWAri9EVNSUtxldetER0d7VDQBPPDAA9x9993u3ysqKujevXsLeyoIFOGkcA0JCZkuOwhFOaUIdlipNvbyeFxsDqd/Cc8WWE/4SlN+vYrVSvErr1L88stQewOUJOJmzKDLggWoouosruNHjN7Ol/goLRWldo+xCASBZMiQIT6/LN22bZtP9cS9U9AR6Ejes2VlZfz8889cfPHF7sHM+eefH+qwWo1QzQnChczMTJ588kmuu+46fvvtt1CH0yRWq5VffvmFBx54wF0myzJjx45l48aNHrfxNptm6dKlHl/4ZmZmMmPGDPfvf//7370mkHr27MmsWbPcvy9btoyamhqPdbt27cott9zi/v3FF1+kvLzcY90uXbrw//7f/3P//uqrr3L8+HGPdWNiYurZSr311lscO3bMY12DwVAv4f/uu+/yxx9/uH8fVfuDCeTdGqIuP2VJ+eGHH3Lw4EGP7QI88sgj7p/XfvkFjr1767Xn2A7/2O76VTXkSjb8XobZ5uAM+wGSbAVe2/3zn//sXgj066+/ZuvWrV7r3nnnncSenN24fv16r+cEwLx589wK8g0bNvDdd995rTt79mzS0lxme5s2bWLdunVe686cOZNevXoBrmfK//u///Na95prruG001zJ9l27dvHZZ595rTt16lQGDBgAwL59+1ixYoXXuldccQWDBw8GXM+m//3vf73WveSSS9y2Krm5ubz99tte644dO5ZzzjkHgPz8fF577TWvdc8//3wuuOACAI4fP85LL73ktW5WVhbjxo0DoLy8nGXLlnmtO2zYMCZOnAhATU0Nf//7373WPfPMM5k8eTLgSmg+8cQTXuv279+fadOmuX9vqm57vUbUWlKNcuwmqqKyXh3Hdnhie/PXiLpoNBr++te/un/35xrx6aefsnfvXq91H3jgAXfieNWqVfz6669e6zZ1jTDXmQHd1vidCB4zZgy//vprqxPBY8aMYdeuXfXKbrzxRk4//XTuv//+RgNZ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cePcdQvKzVgdTtK7ROJUXN7FLtsKfJ526il+gUAg6IgYjUavC62+++67WK1W3njjDbRaLQMGDGDHjh08++yz7kTwsmXLmDBhAvfeey8AixcvZu3atbzwwgssX768zfohaD+090RqKBKL4rmk9QhrLQGEOBH8wAMPcMkll9CjRw8qKyt57733+Pbbb/n666/5/fffee+997j00ktJSEhg586dLFiwgPPOO49BgwYBMG7cOPr378/111/P008/TUFBAQ899BC33XabW5U0d+5cXnjhBe677z5uuukm/ve///Hhhx+yevXqUHY9YPirqg0q2eth5Tywm0GlgyObIH+Hyx/YQzLYm6q2rpK18ptvKHj0Mex11Gn6oUNJXbKYM3r3BiC33MqxMtMppWypiUidmm5xni9wnmwOjlda0KhkZNk1NUeWZTQqmeMVnpMr3tpBpUaSZFQnfYuRFEAGlec/tcjKHByyBk5+f0gSDklDrOmPRmrm938+QtfY+je9/HITeaUmYd0gEHQSxH0zvGn4cO3pYbu2LL/c5PO00CqLnWXrDvD9gWLX4ixqyNIcRjmRC8CgQYOYNGkSGo3GvU39aacadCe9ictqbM1OO224v0B5FwsEAkG48uSTT7J48WJ69OjBjBkzWLBgAWq163q3ceNGzjvvPLTaU36u48eP56mnnqK0tJS4uDg2btxYzx6pts7KlSvbshuCdkRHUWi2RWJRPJcIBIElpH81RUVF3HDDDeTn5xMTE8OgQYP4+uuvufjiizly5Ajr1q3j+eefp7q6mu7duzNlyhQeeugh9/YqlYpVq1Yxb948srKyiIyMZObMmSxatMhdJz09ndWrV7NgwQKWLVtGt27deO211xg/fnwouuwT/nj++qqqbRM2v+xKAhsSXYlNRYGaEle5h0RwU4uQHfnf+5ieW4rjYJW7vmww0OWeu4m75hok+dSgOfdEDWmxEUgSVFkcRMW7vHOPlNb4HHoXo47fiyqpMCk4FQlZcq3s3jPB4JfKmZQz4dC34LABDkAGtRZSB3msXm1MJ6FkO3ZFcR8zlWKj3NibhsYOAf2u/ekTwfehFggEviHumx0Hf6aFLlt3gC935RMdoSHF4KRH6Q4UZxUgMX78OEaOHOl+IdyS9htSd3+JRm2LvYsFAoGgPTB//nyGDh1KfHw8P/30Ew888AD5+fk8++yz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J+Pnn3+GWq0GABQUFGDMmDFKzmrRogW++eYbAPefL4cOHYrz58+jYcOGBnsZAxXny8aNG2Pt2rXYsGED2rVrh/nz5+Ojjz4yxrCV8MUXX8DZ2RmhoaGIiIhAeHg4OnTooBx3cnLCunXr0KNHDwQGBmL+/PlYsWIFWrduDZ1Oh3379uGJJ55AixYtMH36dHz++efo27dvmecbOXIkVq5caTDZ/MUXXyAkJARPPvkkwsLC0KVLFwQGBhrk/mvXruHQoUN48cUXa2QciIjquxdeeAE5OTl45JFHMGbMGEyYMAGjRo0q9zlt27bF3r17ERMTg65du6J9+/Z455134O3trdRZunQpvL290b17dzz99NMYNWoU3N3dy2xTrVZj+/btcHd3xxNPPIGgoCDMmTNHWZn8zDPPoE+fPnj88cfh5uaGFStWQKVSYcuWLejWrRtefPFFtGjRAn//+99x5coVZT/8QYMGYcaMGXjzzTfRsWNHXLlyBa+++qoRRs6QhYUFVq5ciePHj6NNmzZ4/fXX8emnnxrUcXBwwCeffIJOnTrh4YcfxuXLl7FlyxZYWFjAyckJixYtQpcuXdC2bVvs3LkTP//8M1xcXEo9n6WlJV588UXl3gPFZRs2bEBWVhYefvhhjBw5EtOmTQNguA//xo0b0bhxY3Tt2tXo40BUHpWIiKmDIKoPVCoV1q9fr6xkutfly5fh5+eHkydP4qGHHqrV2GpSr1694Onpif/7v/+rkfYnT56MjIwMLFiwoEbaL8+5c+fQo0cPxMTEwNHRsdbPT0REVJtEBMHBwXj99dcxePDgUuvcvn0bDRs2xOeff66s8J4yZQpu3bqFhQsX1ma4RET1wmOPPYaHHnoI//rXv0wdClVDcnIyWrdujRMnTpS5cvjgwYN49NFHERcXp3zStHPnzhg/fjyGDBlSm+ES8WZxRFR52dnZmD9/PsLDw2FpaYkVK1YoG+nXlGnTpuGbb75BYWHhfa+KrqqkpCR8//33nAQmIqIHgkqlwsKFCw32Qjx58iQuXryIRx55BOnp6Zg1axYAoH///kodd3f3Eh+9JSIiehB4enri22+/RWJiojIRvH79etjb26N58+aIi4vDhAkT0KVLF2USODU1FU8//XSZf3QlqkmcCCaiSiv+2M+HH36I3NxcBAQEYO3atQgLC6uxczo5OeHtt9+usfbLU5P9IiIiqoseeuihEp9c+uyzzxAdHQ21Wo2OHTti//79yrZWAPDGG2/UcpRERER1x72fCs7MzMSUKVOQmJgIV1dXhIWF4fPPP1eOu7q64s0336zlKImKcGsIIiIiIiIiIiIionqON4sjIiIiIiIiIiIiquc4EUxERERERERERERUz3EimIiIiIiIiIiIiKie40QwERERERERERERUT3HiWAiIiIiIiIiIiKieo4TwURERERERERERET1HCeCiYiIiIiIiIiIiOo5TgQTERERERERERER1XOcCCYiIiIiIiIiIiKq5/4fUTjlXNUgkywAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1400x400 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 3, figsize=(14, 4))\n",
    "\n",
    "axes[0].scatter(Xr_tr, yr_tr, s=16, alpha=0.5, label=\"train\")\n",
    "axes[0].scatter(Xr_te, yr_te, s=16, alpha=0.85, color=\"tab:orange\", label=\"test\")\n",
    "xs = np.linspace(Xr.min().iloc[0], Xr.max().iloc[0], 50)\n",
    "axes[0].plot(xs, lin.predict(pd.DataFrame({\"flipper_length_mm\": xs})),\n",
    "             color=\"tab:red\", lw=2, label=\"least squares fit\")\n",
    "axes[0].set_xlabel(\"flipper length (mm)\"); axes[0].set_ylabel(\"body mass (g)\")\n",
    "axes[0].set_title(\"The fitted line\"); axes[0].legend(frameon=False)\n",
    "\n",
    "axes[1].scatter(yr_te, pred, s=20, alpha=0.75)\n",
    "lims = [yr.min(), yr.max()]\n",
    "axes[1].plot(lims, lims, \"--\", color=\"gray\")\n",
    "axes[1].set_xlabel(\"observed mass (g)\"); axes[1].set_ylabel(\"predicted mass (g)\")\n",
    "axes[1].set_title(\"Predicted against observed\")\n",
    "\n",
    "residuals = yr_te - pred\n",
    "axes[2].scatter(pred, residuals, s=20, alpha=0.75)\n",
    "axes[2].axhline(0, color=\"gray\", ls=\"--\")\n",
    "axes[2].set_xlabel(\"predicted mass (g)\"); axes[2].set_ylabel(\"residual (g)\")\n",
    "axes[2].set_title(\"Residuals: look for structure, there should be none\")\n",
    "\n",
    "fig.tight_layout()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4ce758e2-32c0-40b4-a76c-38234025e494",
   "metadata": {},
   "source": [
    "Always inspect residuals: observed values minus predictions. A good residual plot looks like a\n",
    "random band around zero. A curve suggests a missing nonlinear pattern. A widening shape\n",
    "suggests that error size changes with the prediction."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b959ca64",
   "metadata": {},
   "source": [
    "## Assignment 2: linear regression from scratch (about 30 minutes)\n",
    "\n",
    "Implement simple linear regression using **one feature**: predict body mass from flipper length.\n",
    "\n",
    "Do not call scikit-learn's `LinearRegression` inside your functions.\n",
    "\n",
    "Each function tells you:\n",
    "\n",
    "- what input it receives,\n",
    "- what result it should return, and\n",
    "- which idea from Part 7 to revisit.\n",
    "\n",
    "Work from top to bottom, then run the check cell.\n",
    "\n",
    "Remember the difference between the models:\n",
    "\n",
    "- kNN `fit` mainly stores training examples; prediction does most of the work;\n",
    "- linear-regression `fit` calculates the intercept and slope; prediction then uses a short formula.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7cee69fd",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T22:13:19.740191Z",
     "iopub.status.busy": "2026-08-18T22:13:19.739992Z",
     "iopub.status.idle": "2026-08-18T22:13:19.743429Z",
     "shell.execute_reply": "2026-08-18T22:13:19.742795Z"
    }
   },
   "outputs": [],
   "source": [
    "def fit_simple_linear_regression(x, y):\n",
    "    \"\"\"Return the least-squares intercept and slope for one feature.\"\"\"\n",
    "    # Make one numeric value per training row.\n",
    "    x = np.asarray(x, dtype=float).reshape(-1)  # feature: flipper length\n",
    "    y = np.asarray(y, dtype=float).reshape(-1)  # target: body mass\n",
    "\n",
    "    # These are the centres used by the least-squares formulas.\n",
    "    x_mean = x.mean()  # average feature value\n",
    "    y_mean = y.mean()  # average target value\n",
    "\n",
    "    # TODO 1: calculate the slope.\n",
    "    #         It represents the predicted change in y when x increases by 1.\n",
    "    #         Hint: return to the slope formula in Part 7.\n",
    "    #         Use x_mean, y_mean, and np.sum for its two sums.\n",
    "    # TODO 2: calculate the intercept.\n",
    "    #         It positions the fitted line.\n",
    "    #         Hint: use the shorter formula directly below the slope formula.\n",
    "    # TODO 3: return intercept, slope.\n",
    "    pass\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e7328fbe",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T22:13:19.745084Z",
     "iopub.status.busy": "2026-08-18T22:13:19.744897Z",
     "iopub.status.idle": "2026-08-18T22:13:19.747658Z",
     "shell.execute_reply": "2026-08-18T22:13:19.747016Z"
    }
   },
   "outputs": [],
   "source": [
    "def predict_simple_linear_regression(x, intercept, slope):\n",
    "    \"\"\"Predict y values using a fitted intercept and slope.\"\"\"\n",
    "    x = np.asarray(x, dtype=float).reshape(-1)\n",
    "\n",
    "    # TODO: calculate and return the predictions.\n",
    "    # Hint: use the fitted straight-line equation from Part 7.\n",
    "    pass\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "003e11d3",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T22:13:19.749312Z",
     "iopub.status.busy": "2026-08-18T22:13:19.749121Z",
     "iopub.status.idle": "2026-08-18T22:13:19.751885Z",
     "shell.execute_reply": "2026-08-18T22:13:19.751249Z"
    }
   },
   "outputs": [],
   "source": [
    "def mean_absolute_error_from_scratch(y_true, y_pred):\n",
    "    \"\"\"Return the average absolute difference between actual and predicted values.\"\"\"\n",
    "    y_true = np.asarray(y_true, dtype=float)\n",
    "    y_pred = np.asarray(y_pred, dtype=float)\n",
    "\n",
    "    # TODO: calculate and return MAE.\n",
    "    # Hint: find every absolute error with np.abs, then take their mean.\n",
    "    pass\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "21dc4474",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T22:13:19.753506Z",
     "iopub.status.busy": "2026-08-18T22:13:19.753322Z",
     "iopub.status.idle": "2026-08-18T22:13:20.453918Z",
     "shell.execute_reply": "2026-08-18T22:13:20.453174Z"
    }
   },
   "outputs": [],
   "source": [
    "# First check the functions on a line whose answer is known: y = 1 + 2x.\n",
    "toy_x = np.array([0, 1, 2, 3], dtype=float)\n",
    "toy_y = np.array([1, 3, 5, 7], dtype=float)\n",
    "\n",
    "toy_intercept, toy_slope = fit_simple_linear_regression(toy_x, toy_y)\n",
    "assert np.isclose(toy_intercept, 1.0), toy_intercept\n",
    "assert np.isclose(toy_slope, 2.0), toy_slope\n",
    "print(\"OK  fit -> intercept 1, slope 2\")\n",
    "\n",
    "toy_prediction = predict_simple_linear_regression(\n",
    "    np.array([4, 5]), toy_intercept, toy_slope\n",
    ")\n",
    "assert np.allclose(toy_prediction, [9, 11]), toy_prediction\n",
    "print(\"OK  predict ->\", toy_prediction)\n",
    "\n",
    "toy_mae = mean_absolute_error_from_scratch([1, 2], [1.5, 1.5])\n",
    "assert np.isclose(toy_mae, 0.5), toy_mae\n",
    "print(\"OK  MAE ->\", toy_mae)\n",
    "\n",
    "# Now train on the real training rows and evaluate unseen test rows.\n",
    "scratch_intercept, scratch_slope = fit_simple_linear_regression(\n",
    "    Xr_tr[\"flipper_length_mm\"], yr_tr\n",
    ")\n",
    "scratch_prediction = predict_simple_linear_regression(\n",
    "    Xr_te[\"flipper_length_mm\"], scratch_intercept, scratch_slope\n",
    ")\n",
    "scratch_mae = mean_absolute_error_from_scratch(yr_te, scratch_prediction)\n",
    "\n",
    "print(f\"penguin intercept: {scratch_intercept:.2f}\")\n",
    "print(f\"penguin slope:     {scratch_slope:.3f} grams per mm\")\n",
    "print(f\"penguin test MAE:  {scratch_mae:.1f} g\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1381bce3",
   "metadata": {},
   "source": [
    "\n",
    "We will review the solution at the start of tomorrow.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a3243a24",
   "metadata": {},
   "source": [
    "## Recap\n",
    "\n",
    "- Define the prediction problem and choose valid features.\n",
    "- Split the data before training, and keep the test set separate.\n",
    "- Put scaling and encoding inside a pipeline to prevent leakage.\n",
    "- kNN predicts from stored nearby examples and does most of its work during prediction.\n",
    "- Use cross-validation on the training data to choose model settings.\n",
    "- Linear regression learns an intercept and slope for predicting a number.\n",
    "- MAE, RMSE, and $R^2$ describe regression errors in different ways.\n",
    "- Residual plots help reveal patterns that a single score can hide.\n",
    "\n",
    "**Next:** regularization, bias and variance, decision trees, ensemble models, better\n",
    "evaluation, learning curves, clustering, and PCA.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b6a4eec8-e527-42da-81f7-a5511f21433e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ML Workshop (Python 3.11)",
   "language": "python",
   "name": "mlworkshop"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
