{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4e860ae3",
   "metadata": {
    "id": "4e860ae3"
   },
   "source": [
    "# Lecture 20 - Evaluating ML models: Baselines and Metrics"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a21c895c",
   "metadata": {
    "id": "a21c895c"
   },
   "source": [
    "#### Announcements\n",
    "\n",
    "* Project Milestone is in!\n",
    "* Ethics 3 is out!\n",
    "  * Currently scheduled for next Friday. Should we swap it to Monday?\n",
    "\n",
    "  \n",
    "#### Goals\n",
    "* Understand the properties of a good evaluation environment\n",
    "* Be able to design good baselines for a variety of prediction tasks.\n",
    "* Know how to think about errors in machine learning systems, and a few ways they can be measured.\n",
    "    * Regression: absolute, relative, squared; MSE, RMSE, MAE, coefficient of determination\n",
    "    * Binary Classification: accuracy, precision, recall, F-score\n",
    "    * Multiclass classification: acccuracy, precision, recall, confusion matrices"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1482d023",
   "metadata": {
    "id": "1482d023"
   },
   "source": [
    "# So you've made some predictions. How good are they?\n",
    "\n",
    "How good are they? Assume we're in a **supervised** setting, so we have some ground truth labels for our training and validation data. Should you call it good and present your results, or keep tweaking your model?"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d0672e9-7a12-4457-831d-573c22b1fd30",
   "metadata": {
    "id": "43873f91"
   },
   "source": [
    "You need an **evaluation environment**. What do you need to make this?\n",
    "\n",
    "* Data splits: train, val[idation], and test (terminology varies; the book confusingly calls these train, test, and evaluation)\n",
    "* Evaluation metrics: hard numbers that you can compare from one run to the next\n",
    "* Baselines: simple approaches that hint at how hard the problem is, and how well you can expect to do\n",
    "\n",
    "## Make it convenient; make it informative\n",
    "With good reason, the book recommends that you package all your evaluation machinery into a *single-command program* (this could also be a single notebook or sequence of cells in a notebook).\n",
    "\n",
    "You should output your candidate model's performance:\n",
    "* on all the relevant performance metrics\n",
    "* in comparison with your baselines and other candidate models\n",
    "\n",
    "It's also a good idea to output:\n",
    "* Statistics and/or distributions of errors - Do you have lots of small errors and a few big ones? All medium-sized errors? One giant outlier?\n",
    "* If your data has natural categories or segments, break the errors out by categories:\n",
    "    * Looking at data over 10 years? Check if your errors are getting better or worse with time.\n",
    "    * Multiclass classification? Look at your accuracy on each class.\n",
    "    * etc."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9f8237b7-0c33-4c27-ab37-ebb8facd8170",
   "metadata": {
    "id": "3c31920f"
   },
   "source": [
    "## Baselines\n",
    "\n",
    "The first rule of machine learning is to **start without machine learning**. (Google [says so](https://developers.google.com/machine-learning/guides/rules-of-ml), so it must be true.)\n",
    "\n",
    "Why?\n",
    "* If you aren't learning from data, you can't overfit to it.\n",
    "* It gives you hints about **how hard your problem is**, putting your model's performance in perspective.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b4262fb7-458c-4ec7-b25f-d0000d397c86",
   "metadata": {
    "id": "aea0f38f"
   },
   "source": [
    "### Baseline Brainstorm\n",
    "\n",
    "Example prediction problems:\n",
    "* Biomedical image classification: predict whether an MRI scan shows a tumor or not.\n",
    "    * Training data contains 90% non-tumor images (negative examples) and 10% tumor images (positive examples).\n",
    "    \n",
    "\n",
    "* Spam email classification: predict whether a message is spam.\n",
    "    * Training data contains equal numbers of spam (positive) and non-spam (negative) examples.\n",
    "    \n",
    "   \n",
    "    \n",
    "* Weather prediction: given all weather measurements from today and prior,\n",
    "    * Predict whether it will rain tomorrow\n",
    "    * Predict the amount of rainfall tomorrow\n",
    "    \n",
    "    \n",
    "    \n",
    "* Body measurements: predict leg length given height"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b28cf470-60f0-4bd7-a302-286e3eafccac",
   "metadata": {
    "id": "S37xdP6_EWW7"
   },
   "source": [
    "\n",
    "What generic strategies can we extract from the above?\n",
    "\n",
    "* Flip a coin\n",
    "* Nearest neighbor\n",
    "* History repeats\n",
    "* Predict the most common label\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7ccdd398-f67f-4e13-90f3-9f127ba2bb9a",
   "metadata": {
    "id": "o8rOQpkdEZSq"
   },
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64b09379-ab86-472b-9a61-b02298af718b",
   "metadata": {
    "id": "1a9f48ff"
   },
   "source": [
    "General baseline strategies:\n",
    "* Guess randomly\n",
    "* Guess the mean/median/mode\n",
    "* History repeats itself\n",
    "\n",
    "Slightly more advanced:\n",
    "* Single-feature model\n",
    "* Linear regression\n",
    "\n",
    "Special mention:\n",
    "* Upper-bound baselines"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "66a6f461",
   "metadata": {
    "id": "66a6f461"
   },
   "source": [
    "## Metrics: Regression\n",
    "\n",
    "Let's consider **regression** first. Our model is some function that maps an input datapoint to a numerical value:\n",
    "\n",
    "$y_i^\\mathrm{pred} = f(x_i)$\n",
    "\n",
    "and we have a ground-truth value $y_i^\\mathrm{true}$ for $x_i$.\n",
    "\n",
    "How do we measure how wrong we are?\n",
    "* **Error** is pretty simple to define:\n",
    "\n",
    "    $y_i^\\mathrm{true} - y_i^\\mathrm{pred}$\n",
    "\n",
    "\n",
    "* But we want to evaluate our model on the whole train or val set. **Average error** is a bad idea:\n",
    "\n",
    "    $\\sum_i y_i^\\mathrm{true} - y_i^\\mathrm{pred}$\n",
    "    \n",
    "    \n",
    "* **Absolute error** solves this problem:\n",
    "    \n",
    "    $|y_i^\\mathrm{true} - y_i^\\mathrm{pred}|$\n",
    "    \n",
    "   \n",
    "* **Mean absolute error** measures performance on a whole train or val set:\n",
    "\n",
    "    $\\frac{1}{n} \\sum_i |y_i^\\mathrm{true} - y_i^\\mathrm{pred}$|\n",
    "    \n",
    "\n",
    "* **Squared error** disproportionately punishes larger errors. This may be desirable or not.\n",
    "\n",
    "    $\\sum_i \\left(y_i^\\mathrm{true} - y_i^\\mathrm{pred}\\right)^2$\n",
    "\n",
    "\n",
    "* **Mean squared error (MSE)** does the same over a collection of training exaples:\n",
    "\n",
    "    $\\frac{1}{n} \\sum_i \\left(y_i^\\mathrm{true} - y_i^\\mathrm{pred}\\right)^2$\n",
    "    \n",
    "\n",
    "* MSE becomes more interpretable if you square-root it, because now it's in the units of the input. This gives us **Root Mean Squared Error (RMSE)**:\n",
    "\n",
    "    $\\sqrt{ \\frac{1}{n} \\sum_i \\left(y_i^\\mathrm{true} - y_i^\\mathrm{pred}\\right)^2}$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "96336df7",
   "metadata": {
    "id": "96336df7"
   },
   "source": [
    "**Problem** with any of the above:\n",
    "\n",
    "You can make your error metric go as small as you want! Just scale the data:\n",
    "$$ X \\leftarrow X / k $$\n",
    "$$ \\mathbf{y}^\\mathrm{true} \\leftarrow \\mathbf{y}^\\mathrm{true} / k $$\n",
    "$$ \\mathbf{y}^\\mathrm{pred} \\leftarrow \\mathbf{y}^\\mathrm{pred} / k $$\n",
    "\n",
    "**Also**:\n",
    "  Is 10 vs 12 is a bigger error than 1 vs 2?\n",
    "\n",
    "**Solutions**:\n",
    "* **Relative error**:\n",
    "\n",
    "    $|y_i^\\mathrm{true} - y_i^\\mathrm{pred}|$\n",
    "\n",
    "* Coefficient of determination:\n",
    "    \n",
    "    * Let $\\bar{y}$ be the mean of $\\mathbf{y}^\\mathrm{true}$.\n",
    "    * Let $SS_\\mathrm{tot} = \\sum_i \\left(y_i^\\mathrm{true} - \\bar{y}\\right)^2$.\n",
    "    * Let $SS_\\mathrm{res} = \\sum_i \\left(y_i^\\mathrm{true} - y_i^\\mathrm{pred}\\right)^2$.\n",
    "    * Then the **coefficient of determination**, denoted $R^2$, is: $1 - \\frac{SS_\\mathrm{res}}{SS_\\mathrm{tot}}$\n",
    "    \n",
    "    * **Exercise** - $R^2$ is:\n",
    "        * ________ if you're perfect\n",
    "        * ________ if you predict the mean\n",
    "        * ________ if you do worse than the mean-prediction baseline!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e817dfe6-f86a-4b6a-b529-c35ea9cc1ed9",
   "metadata": {
    "id": "2f2402cc"
   },
   "source": [
    "## Metrics: Binary Classification\n",
    "Evaluating binary classification is trickier than regression, and the reason is that most intuitive metrics can be gamed using a well-chosen baseline.\n",
    "\n",
    "Simplest metric - accuracy: on what % of the examples were you correct?\n",
    "\n",
    "There are different kinds of right and wrong:\n",
    "  * TP - True positives (correctly labeled positive)\n",
    "  * TN - True negatives (correctly labeled negative)\n",
    "  * FP - False positives (incorrectly labeled positive; was actually negative)\n",
    "  * FN - False negatives (incorrectly labeled negative; was actually positive)\n",
    "  "
   ]
  },
  {
   "attachments": {
    "12ec6fec-2e5b-45de-8a2a-751622097e9d.png": {
     "image/png": "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\n9PT0EB8fT3Nz8ynP29zcfM72/bi4OBwOBxs2bODBBx88paYy8tz/WHuJj48nJiaGK664gvvvv/+M\njznXfBF5jvk0I6+1pKSERx999IzPfT7Pc67fycvL49/+7d9wOp00NjbyjW98g0cffZT169cTFxf3\nT59TUSKBmgdyAaSUpxUmmZmZrF+/nt/97neUlpbi9Xrx+Xx0dnZSXl6Ox+MJDc09duwYjY2N9PT0\nhIannuk5R74/YtWqVSQkJPDYY4/R2tqK3+/H4/HQ0NBAdXV16HezsrJYv349v/3tb3n++ee58sor\nQ00/MTEx3HDDDWzdupVXX301NM+kv7+f/fv309XVRXx8POvXr+f111+nrKwMv9/PsWPH+MMf/oDb\n7T5r0KWlpXHllVfy+9//nl27doXOQXd3N2VlZaeFj67rpKenc8UVV/Dcc8+xe/fu0GO6urooKyvD\n4/EghPin5+ZM7098fDzXX389r776Km+99RYejwe/309vby/l5eWhIcznIyEhAb/fz4EDB+jt7cXp\ndNLZ2UllZSX9/f2YzWamTZtGVlYWfr9/Us1xUZRLpWogF2Ck+erkgtRsNvONb3yDBx54gM9//vMU\nFBRgNptpbW0lOTmZxx9/HKvVysaNG9m2bRuf/vSnSUxM5Gtf+xrz58/HbrefNn9BCHFKs9GMGTN4\n+OGHeeihh7jpppvIzc3F7/fT2NjIjTfeGOpf0DSNG264gRdffBFN09i4ceMpz3vbbbdx9OhRvv3t\nb/P000/jcDjo7u7G6/XyX//1XyQmJnL77bdTVlbG5z//eebNm0dPTw9ms5n09PSzBojJZOL++++n\nvb2d22+/nYKCAiwWC+3t7TgcDjZv3ozNZsNsNofmWBiNRh544AEeeOABbr/9dmbNmoXFYqGtrY24\nuDg2b96Mw+E4ZU7GyefcarWecjz/2LR411130djYyL333ktBQQFRUVGcOHECgCeffBKHwxF6npON\nNCmOzBdZvHgxJSUlfPvb3yY1NZUrrriC9evXc//99+NwOEhKSqK7u5u6ujruu+8+4uPjw/0xVZRx\no7a0vQDNzc0cPHiQlStXEhUVdcrPent72b59O4cOHUJKyfTp01m6dGmoU1bXderq6jh8+DBer5fi\n4mLS0tJ47733mDVrFtOmTQs9l8fj4f333ycvLy80PwOgrq6O7du3c/z4caKiopg7dy7FxcWnFFpu\nt5tt27ZhMBhYvXr1aQWkx+Nh9+7doZpBeno6JSUlzJo1KxRkLS0tvPnmm3R0dDB//nzmzZvHoUOH\nKC4uPuucDhiaCLljxw4OHjyIruvk5uaydOlSpk2bhqZpVFRU4PV6WbJkSaivoa+vj+3bt1NdXY2u\n66HzNm3aNKSUlJWVAVBUVBQq1A8ePEhXVxfLly8PHXNDQwNHjhxh1apVodfsdDr58MMP2b9/Pz6f\nj6ysLJYuXUpeXh4Gg4Gqqip6e3tZvnx5KKxPnDhBeXk5JSUlofPa1dVFZWUlnZ2dZGdnM3/+fCor\nK9m/fz+dnZ1ER0ezfPlyFi9efM6+IkWJNCpAFEVRlIui+kAURVGUi6ICRFEURbkoKkAURVGUi6IC\nRFEURbkoKkAURVGUi6ICRFEURbkoKkAURVGUi6ICRFEURbkoKkAURVGUi6ICRFEURbko/w/GZgVC\n1FypPQAAAFBlWElmTU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMA\nAAABAAEAAKACAAQAAAABAAADIKADAAQAAAABAAADxAAAAAAPHYI+AAAAJXRFWHRkYXRlOmNyZWF0\nZQAyMDI1LTExLTI0VDE5OjI0OjQ3KzAwOjAw/200PQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNS0x\nMS0yNFQxOToyNDo0NyswMDowMI4wjIEAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjUtMTEtMjRU\nMTk6MjY6NTArMDA6MDDU3UNzAAAAEXRFWHRleGlmOkNvbG9yU3BhY2UAMQ+bAkkAAAASdEVYdGV4\naWY6RXhpZk9mZnNldAAzOK24viMAAAAYdEVYdGV4aWY6UGl4ZWxYRGltZW5zaW9uADgwMEnje+IA\nAAAYdEVYdGV4aWY6UGl4ZWxZRGltZW5zaW9uADk2NIQZkzwAAAASdEVYdHRpZmY6T3JpZW50YXRp\nb24AMber/DsAAAAASUVORK5CYII=\n"
    }
   },
   "cell_type": "markdown",
   "id": "78a9bc17-8f18-4b7d-99b4-988325db49f8",
   "metadata": {},
   "source": [
    "![TNFNTPFP.png](attachment:12ec6fec-2e5b-45de-8a2a-751622097e9d.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "921df030-ff09-4851-ab90-452eec5eca05",
   "metadata": {
    "id": "2f2402cc"
   },
   "source": [
    "**Exercise**: let TP be the number of true positives, and so on for the other three. Define **accuracy** in terms of these quantities."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6364c3eb-c075-432c-9cae-151b691ab9c7",
   "metadata": {
    "id": "9VmwgX-TBdwb"
   },
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6d7cea96-c0d6-476b-b3ff-db6e6ee7cbf7",
   "metadata": {
    "id": "5f2bb567"
   },
   "source": [
    "**Accuracy** = $\\frac{TP + TN}{(TP + TN + FP + FN)}$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69e2db76-7ea4-40f9-8e5c-1c6610e35acc",
   "metadata": {
    "id": "c4831376"
   },
   "source": [
    "**Exercise**: Game this metric. *Hint*: suppose the classes are unbalanced (95% no-tumor, 5% tumor)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c68dc9d8-f7c9-4a0d-bf61-a389b9c90bce",
   "metadata": {
    "id": "d2e61b9c"
   },
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b08638d4-e69c-40cf-9c27-0df67545084e",
   "metadata": {
    "id": "M8XEHzYUBtSS"
   },
   "source": [
    "Problem: if you just say no cancer all the time, you get 95% accuracy."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6f5f2b04-b30e-40f2-a92a-026c57d6d01d",
   "metadata": {
    "id": "afaade04"
   },
   "source": [
    "Okay, what's **really** important is how often you're right when you *say* it's positive:\n",
    "\n",
    "**Precision** = $\\frac{TP}{(TP + FP)}$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "22f30eff-9794-453c-b55d-a91d321ad5b5",
   "metadata": {
    "id": "989d9dd2"
   },
   "source": [
    "Anything wrong with this?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fe012146-b1df-4311-895c-584597d0fa8e",
   "metadata": {
    "id": "dadb2625"
   },
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5fd02993-5e27-4160-9e86-7cf6eb1823c8",
   "metadata": {
    "id": "HtjRc3-xCgqD"
   },
   "source": [
    "Problem: incentivizes only saying \"yes\" when very sure (or never)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "40a276b8-259e-4445-bb04-2840b28a408c",
   "metadata": {
    "id": "87ed4d8b"
   },
   "source": [
    "Okay, what's **really** important is the fraction of all *real* cancer cases that you correctly identify.\n",
    "\n",
    "**Recall** = $\\frac{TP}{(TP + FN)}$\n",
    "\n",
    "\n",
    "**Exercise:** Game this metric."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7b0af568-9731-44e5-90eb-430f4184cf3a",
   "metadata": {
    "id": "5ad6f559"
   },
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3a8dc178-1b8c-45e8-aaf8-3e1f1ac46dd8",
   "metadata": {
    "id": "7sXHRb1sCt1e"
   },
   "source": [
    "Problem: you get perfect recall if you say everyone has cancer."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "606a9bdd-5360-4f1b-a965-fc4964fe3721",
   "metadata": {
    "id": "b2b2aa8a"
   },
   "source": [
    "Can't we just have one number? Sort of. Here's one that's hard to game:\n",
    "\n",
    "**F-score** $= 2 *\\frac{\\textrm{precision } * \\textrm{ recall}}{\\textrm{precision } + \\textrm{ recall}}$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4314abe4-9a4c-4138-81c5-27391ed71814",
   "metadata": {
    "id": "77ae7160"
   },
   "source": [
    "Here's a visual summary (By Walber - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=36926283\n",
    "![](Precisionrecall.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b419e97d-c3ba-4ed9-b9dd-8cd8dfe6dd1f",
   "metadata": {
    "id": "9afde732"
   },
   "source": [
    "## Tuning a Binary Classifier\n",
    "\n",
    "Sometimes your classifier will have a built-in threshold that you can tune. The simplest example is a simple threshold classifier that says \"positive\" if a single input feature exceeds some value, and negative otherwise.\n",
    "\n",
    "Consider trying to predict sex (Male or Female) given height:\n",
    "![](https://fw.cs.wwu.edu/~wehrwes/courses/data311_23w/lectures/L23/height.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "061dfd52-b071-4292-aab9-62fce57d605b",
   "metadata": {
    "id": "1206c5c8"
   },
   "source": [
    "If you move the line left or right, you can trade off between error types (FP and FN).\n",
    "\n",
    "The possibilities in this space of trade-offs can be summarized by plotting FP vs TP:\n",
    "![](https://fw.cs.wwu.edu/~wehrwes/courses/data311_23w/lectures/L23/height_roc.png)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3895d918-d654-456f-ac30-cfa1c1ec74c3",
   "metadata": {
    "id": "035109c2"
   },
   "source": [
    "## Metrics: Multi-Class Classification"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3afb75f6-948a-4547-b84f-2a59c5d53200",
   "metadata": {
    "id": "9c906e0d"
   },
   "source": [
    "Usually, a multiclass classifier will output a score or probability for each class; the prediction will then be the one with the highest score or probability.\n",
    "\n",
    "#### Metrics:\n",
    "\n",
    "* Accuracy - still possible, but random guess baseline gets worse fast, and good accuracy is very hard to get with many classes.\n",
    "* **Top-k accuracy**: does the correct class lie in the $k$ most likely classes? Easier, and gives \"partial credit\"\n",
    "* Precision and recall can be defined for each class:\n",
    "    * Precision for class $c$: $\\frac{\\textrm{\\# correctly labeled } c}{\\textrm{\\# labeled class } c}$\n",
    "    * Recall for class $c$: $\\frac{\\textrm{\\# correctly labeled } c}{\\textrm{\\# with true label } c}$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed2acc59-5159-4cb2-9632-a83122f73069",
   "metadata": {
    "id": "d36c81ac"
   },
   "source": [
    "The full performance details can be represented using a **confusion matrix**:\n",
    "\n",
    "![](https://fw.cs.wwu.edu/~wehrwes/courses/data311_23w/lectures/L23/confusion.png)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "47ccb13e-c29d-400c-8034-98c7d87adc33",
   "metadata": {
    "id": "Yn7a4tbW-nDI"
   },
   "source": [
    "**Exercises:** \n",
    "Given a confusion matrix, how would you calculate:\n",
    "* the precision for a certain class?\n",
    "* the recall for a certain class?"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "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.12.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
