{ "cells": [ { "cell_type": "markdown", "id": "ea0786c2", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# A quick introduction to machine learning\n", "\n", "\n", "- These notebooks are a brief, hands-on, introduction to machine learning.\n", "- We will revise some of the nomenclature, principles, and applications from [Valentina's presentation](https://github.com/oceanhackweek/ohw-tutorials/tree/OHW22/01-Tue/01-machine-learning-intro)." ] }, { "cell_type": "markdown", "id": "2a4c4301", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## ML will solve all of our problems, right?\n", "\n", "![](cow.jpg)" ] }, { "cell_type": "markdown", "id": "987fda81", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## What is Machine Learning (ML)?\n", "\n", "**Caveat:** I'm not a Statistician, Mathematician, or ML expert. I only play one online. You can find my work on movies like \"How to get by with little to no data\" or \"Oh gosh, the PI wants some buzz-words in the report\" and \"Fuzzy logic no longer does it, we need ML → AI → DL\"\n", "\n", "What is ML (a personal point of view):\n", "\n", "* Focus on practical problems\n", "* Learn from the data and/or make predictions with it\n", "* Middle ground between statistics and optimization techniques\n", "* We have fast computers now, right? Let them do the work! ([Must see JVP talk on this](https://www.youtube.com/watch?app=desktop&v=Iq9DzN6mvYA).)" ] }, { "cell_type": "markdown", "id": "00cc5ce5", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "**Oversimplified take:** Fit a model to data and use it to make predictions. (This is how scikit-learn designed its API BTW)." ] }, { "cell_type": "markdown", "id": "b2cf395e", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Vocabulary \n", "\n", "\n", "- **parameters:** Variables that define the model and control its behavior.\n", "\n", "- **model:** Set of mathematical equations used to approximate the data.\n", "\n", "- **labels/classes:** Quantity/category that we want to predict\n", "\n", "- **features:** Observations (information) used as predictors of labels/classes.\n", "\n", "- **training:** Use **features** and known **labels/classes** to fit the **model** estimate its **parameters** (full circle, right? But why stop now?).\n", "\n", "Please check out [this awesome lecture](https://docs.google.com/presentation/d/1Fa9SuyK9DIpd-MkJJjGqjCbAa-sHtr3qufC9MhmewDQ/edit) on ML for climate science." ] }, { "cell_type": "markdown", "id": "ed4313fa", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "- **hyper-parameters:** Variables that influence the **training** and the **model** but are not estimated during training.\n", "- **unsupervised learning:** Extract information and structure from the data without **training** with known **labels**. We will see clustering, and Principal Component Analysis (PCA).\n", "\n", "- **supervised learning:** Fit a model using data to \"train\" it for making predictions. Examples: regression, classification, spam detection, recommendation systems. We'll see KNN, a classification type of ML in this tutorial." ] }, { "cell_type": "markdown", "id": "97fe276c", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Unsupervised: PCA\n", "\n", "The dataset we will use was consists of Red, Green, Blue composites (**parameters**) from plastic pellets photos. We also have some extra information on the pellet size, shape, etc.\n", "\n", "The **labels** are the yellowing index. The goal is to predict the yellowing based the pellets image, broken down to its RGB info." ] }, { "cell_type": "code", "execution_count": 1, "id": "6f449af4", "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "id": "048ff44d", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
rgbsize (mm)colordescriptionerosionerosion indexyellowingyellowing index
image
cl1_p11_moca2_deixa5_a00011521501434.021transparentspherehigh erosion3low1
cl1_p12_lagoinha_deixa1_g00062212182194.244whitelight erosionlow erosion1low1
cl1_p12_lagoinha_deixa1_g00071401371293.946whitenot erosionlow erosion1low1
cl1_p12_lagoinha_deixa1_g00081881781463.948whitemoderate erosionhigh erosion3moderate2
cl1_p12_lagoinha_deixa2_h00042072001896.043whitelight erosionlow erosion1moderate2
.................................
cl1_p6_moca2_deixa3_a00061861931554.546transparentcylindermoderate erosion2low1
cl1_p8_moca2_deixa5_b00011691681063.082transparentspherelow erosion1low1
cl1_p8_moca2_deixa5_b00031911891523.932whitespherelow erosion1low1
cl1_p8_moca2_deixa5_b0004181156703.230whitespheremoderate erosion3moderate2
cl1_p9_moca2_deixa5_b00011931921983.763transparentspherehigh erosion3low1
\n", "

127 rows × 10 columns

\n", "
" ], "text/plain": [ " r g b size (mm) color \\\n", "image \n", "cl1_p11_moca2_deixa5_a0001 152 150 143 4.021 transparent \n", "cl1_p12_lagoinha_deixa1_g0006 221 218 219 4.244 white \n", "cl1_p12_lagoinha_deixa1_g0007 140 137 129 3.946 white \n", "cl1_p12_lagoinha_deixa1_g0008 188 178 146 3.948 white \n", "cl1_p12_lagoinha_deixa2_h0004 207 200 189 6.043 white \n", "... ... ... ... ... ... \n", "cl1_p6_moca2_deixa3_a0006 186 193 155 4.546 transparent \n", "cl1_p8_moca2_deixa5_b0001 169 168 106 3.082 transparent \n", "cl1_p8_moca2_deixa5_b0003 191 189 152 3.932 white \n", "cl1_p8_moca2_deixa5_b0004 181 156 70 3.230 white \n", "cl1_p9_moca2_deixa5_b0001 193 192 198 3.763 transparent \n", "\n", " description erosion \\\n", "image \n", "cl1_p11_moca2_deixa5_a0001 sphere high erosion \n", "cl1_p12_lagoinha_deixa1_g0006 light erosion low erosion \n", "cl1_p12_lagoinha_deixa1_g0007 not erosion low erosion \n", "cl1_p12_lagoinha_deixa1_g0008 moderate erosion high erosion \n", "cl1_p12_lagoinha_deixa2_h0004 light erosion low erosion \n", "... ... ... \n", "cl1_p6_moca2_deixa3_a0006 cylinder moderate erosion \n", "cl1_p8_moca2_deixa5_b0001 sphere low erosion \n", "cl1_p8_moca2_deixa5_b0003 sphere low erosion \n", "cl1_p8_moca2_deixa5_b0004 sphere moderate erosion \n", "cl1_p9_moca2_deixa5_b0001 sphere high erosion \n", "\n", " erosion index yellowing yellowing index \n", "image \n", "cl1_p11_moca2_deixa5_a0001 3 low 1 \n", "cl1_p12_lagoinha_deixa1_g0006 1 low 1 \n", "cl1_p12_lagoinha_deixa1_g0007 1 low 1 \n", "cl1_p12_lagoinha_deixa1_g0008 3 moderate 2 \n", "cl1_p12_lagoinha_deixa2_h0004 1 moderate 2 \n", "... ... ... ... \n", "cl1_p6_moca2_deixa3_a0006 2 low 1 \n", "cl1_p8_moca2_deixa5_b0001 1 low 1 \n", "cl1_p8_moca2_deixa5_b0003 1 low 1 \n", "cl1_p8_moca2_deixa5_b0004 3 moderate 2 \n", "cl1_p9_moca2_deixa5_b0001 3 low 1 \n", "\n", "[127 rows x 10 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(\"pellets-visual-classes-rgb.csv\", index_col=\"image\").dropna()\n", "df[\"yellowing index\"] = df[\"yellowing index\"].astype(int)\n", "df" ] }, { "cell_type": "code", "execution_count": 3, "id": "121bde11", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", "\n", "def histograms():\n", " fig, axes = plt.subplots(figsize=(11, 11), nrows=2, ncols=2)\n", "\n", " axes = axes.ravel()\n", "\n", " df[\"erosion\"].value_counts().plot.barh(ax=axes[0], title=\"erosion\")\n", " df[\"color\"].value_counts().plot.barh(ax=axes[1], title=\"color\")\n", " df[\"description\"].value_counts().plot.barh(ax=axes[2], title=\"description\")\n", " df[\"yellowing\"].value_counts().plot.barh(ax=axes[3], title=\"yellowing\")\n", "\n", " axes[1].yaxis.set_label_position(\"right\")\n", " axes[1].yaxis.tick_right()\n", "\n", " axes[3].yaxis.set_label_position(\"right\")\n", " axes[3].yaxis.tick_right()" ] }, { "cell_type": "code", "execution_count": 4, "id": "5f6c5a63", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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tmyKiorSgQMHNHnyZE2fPl0TJ060G+P333/X/PnztXDhQu3evVuS1LBhQ506dUpLly7Vjh07VL58edWuXVvx8fG21x0+fFiLFi3SkiVLtGTJEq1du1bvvffeA+fq32YxDMNwyJ51Z+VNYmKi1q1bJ+nOqUmenp5q3ry5Zs+eLUk6deqUfH19tWnTJlWuXFnDhg3TwoULFRMTI4vFIkmaNm2aBg0apIsXL+rq1avy9vbW7Nmz1bp1a0lSfHy88ufPr65du2rSpEk6fPiwihUrpj///FN58+a11VOnTh1VqlRJo0ePVlRUlDp16qTdu3crMDAwzfeQmJgoLy8vffXVV2rUqJGkO8nh999/r2bNmtn61ahRQ/Xr19eQIUNsbXPmzNHAgQN14sSJVMcuUKCAxo4dqzZt2tja3n33XS1dulQbN25UXFycChUqpEmTJql37962Pvny5VP37t01dOhQW1ulSpUUHBysqVOnqlevXtq/f79Wrlxpm8O73V3/9OnTNWjQIB0/flxubm6SpKVLl6px48Y6ceKEfHx8FB4erjVr1ujw4cPKlCmTJKlVq1ZycnLSvHnzUow/YsQIRUZGpmj36zNfTlbXVOcCAGBece81fCzjJCQkyNPTUxcvXpSHh8djGfNplzxnHEMBIGN63MfQe0VERGjEiBEp2kNDQxUUFKRJkyZJktasWaOaNWtq0aJFatq06X33Vbp0aXXr1s32H/r+/v564YUX9OWXX0q6c8pVnjx5FBkZqddff/2hvn++/vrr+vjjj21tlStXVvny5e3OPLnb+++/r2+++Ubbt2+XdOc75ujRo/XXX38pV65ckqTVq1frxRdf1JkzZ+wuC1K0aFENHDhQXbt21YgRI/T+++/r1KlTypYtm6Q7AdYvv/yizZs3pzpXjpLZoXuXVLZsWdvPmTJlkre3t8qUKWNr8/HxkSSdOXNGkhQTE6MqVarY/aFXq1ZNly9f1p9//qnz58/r5s2bqlKlim17jhw5VKJECdvznTt3yjAMFS9e3K6WGzduyNvb2/Y8a9asdvUl1/H2229r9erVOn36tBITE3X16tUUyeO9duzYoW3bttmttElMTNT169d19epVubra/8J19uxZHT9+XK+88opeffVVW/vt27dT/KOsWLGi7eeEhASdOHFC1apVs+tTrVo12/Kw8PBw1a1bVyVKlFC9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2fbXX3+pXbt28vb2lqurq4KCgrRjxw7bdrPV7O/vn2KOLRaLunfvbsp6b9++rbfeekuFChWSi4uLChcurJEjRyopKcnWx2w14yliAA40b948I0uWLMb06dONAwcOGL179zbc3NyMo0ePOro0h1q6dKkxbNgwY+HChYYk4/vvv7fb/t577xnZsmUzFi5caOzbt89o3bq14evrayQkJDimYAcKCwszZs6cafz666/G7t27jYYNGxoFChQwLl++bOvDfN2xePFi48cffzRiY2ON2NhYY+jQoUaWLFmMX3/91TAM5iktW7duNfz9/Y2yZcsavXv3trUzX/8TERFhlC5d2jh58qTtcebMGdt25urJMPMxNKMdxzLisSQjf6ZnlM/VjPbZFh8fbxQsWNAIDw83tmzZYhw5csRYuXKl8fvvv5u25jNnztjN74oVKwxJRnR0tCnrfffddw1vb29jyZIlxpEjR4wFCxYY7u7uxqRJk2x9zFYznh6EN3CoSpUqGa+//rpdW8mSJY3Bgwc7qCLzufeX3qSkJCNPnjzGe++9Z2u7fv264enpaXzyyScOqNBczpw5Y0gy1q5daxgG8/UgXl5exueff848peHSpUtGsWLFjBUrVhghISG2LxnMl72IiAgjMDAw1W3M1ZOTUY6hGfE4llGPJRnhMz0jfa5mtM+2QYMGGdWrV09zuxlrvlfv3r2NIkWKGElJSaast2HDhkbnzp3t2po3b260a9fOMIyMMcfIuDhtCg5z8+ZN7dixQ//5z3/s2v/zn/9o48aNDqrK/I4cOaJTp07ZzZvValVISAjzJunixYuSpBw5ckhivtKSmJioefPm6cqVK6pSpQrzlIbu3burYcOGqlOnjl0785XSoUOHlDdvXhUqVEgvvfSS/vjjD0nM1ZOSkY+hGeHvREY7lmSkz/SM9rmakT7bFi9erIoVK6ply5bKnTu3ypUrp+nTp9u2m7Hmu928eVNz5sxR586dZbFYTFlv9erVtWrVKh08eFCStGfPHq1fv14NGjSQZP45RsaW2dEF4Nl17tw5JSYmysfHx67dx8dHp06dclBV5pc8N6nN29GjRx1RkmkYhqG+ffuqevXqeu655yQxX/fat2+fqlSpouvXr8vd3V3ff/+9AgICbL9QME//M2/ePO3cuVPbtm1LsY2/V/aef/55zZ49W8WLF9fp06f1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KpqHkdb7SO8vht7e3jp58mSK9uSLMObMmTNd4wIAng3dunXTe++9py+++ELXr1/X7du39frrr0v63zFkyJAhat68eaqvL1GixEPvK/lYd/LkyRS38z5x4oTdMat27dqS7qyuWbFiherWrWtrf+utt/TLL7/oxo0bDx3ePGxtp0+fVr58+Wztt2/fTvd/sABAWlh5A+Cp4+bmpkqVKum7777T9evXbe2XLl3SDz/8YHveqFEjGYahv/76SxUrVkzxKFOmTIqxLRaLAgMDNXHiRGXPnl07d+6UJNWvX1+S9PHHHz/29/P111/LMAzb86NHj2rjxo0KDQ21tT3KapjatWvrwIEDttqTJd8ppGbNmo+ncADAU8nX11ctW7bUtGnT9Mknn6hx48YqUKCApDvBTLFixbRnz55Uj60VK1ZUtmzZHnpftWrVkiTNmTPHrn3btm2KiYmxBTbJdQUEBGjhwoXasWOHLbypW7euzp49qw8++EAeHh4KDg7+p1MgSapRo4Yk6ZtvvrFr//bbb3X79u3Hsg8ASMbKGwBPpXfeeUf16tVT3bp11a9fPyUmJmrs2LFyc3NTfHy8JKlatWrq2rWrOnXqpO3bt6tGjRpyc3PTyZMntX79epUpU0bdunXTkiVLNG3aNDVr1kyFCxeWYRj67rvvdOHCBdsvhi+88ILat2+vd999V6dPn1ajRo1ktVq1a9cuubq6qmfPnul+L2fOnNGLL76oV199VRcvXlRERIScnZ01ZMgQW5/koGns2LGqX7++MmXKpLJlyypr1qwpxnvzzTc1e/ZsNWzYUCNHjlTBggX1448/atq0aerWrdsjXY8HAPBs6t27t55//nlJ0syZM+22ffrpp6pfv77CwsIUHh6ufPnyKT4+XjExMdq5c6cWLFjw0PspUaKEunbtqo8++khOTk6qX7++7W5Tfn5+evPNN+36165dWx999JFcXFxUrVo1SVKhQoVUqFAhLV++XE2aNHls16MpXbq02rRpowkTJihTpkyqVauW9u/frwkTJsjT01NOTvw/OYDHh/AGwFOpbt26WrRokd566y21bt1aefLk0RtvvKFr164pMjLS1u/TTz9V5cqV9emnn2ratGlKSkpS3rx5Va1aNdsFfYsVK6bs2bNr3LhxOnHihLJmzaoSJUooKipKHTt2tI0VFRWl8uXLa8aMGYqKipKL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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "histograms();" ] }, { "cell_type": "markdown", "id": "d00fb82b", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We will be using only the R, G, B data for now." ] }, { "cell_type": "code", "execution_count": 5, "id": "82ef1547", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "RGB = df[[\"r\", \"g\", \"b\"]]" ] }, { "cell_type": "code", "execution_count": 6, "id": "9c3c0700", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import seaborn\n", "\n", "corr = RGB.corr()\n", "\n", "seaborn.heatmap(corr, vmin=-1, vmax=1, annot=True);" ] }, { "cell_type": "markdown", "id": "614f713c", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The first step to most ML techniques is to standardize the data. We do not want high variance data to bias our model." ] }, { "cell_type": "code", "execution_count": 7, "id": "9dd44aa7", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "r 1.0\n", "g 1.0\n", "b 1.0\n", "dtype: float64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def z_score(x):\n", " return (x - x.mean()) / x.std()\n", "\n", "\n", "zs = RGB.apply(z_score).T\n", "\n", "zs.std(axis=1) # Should be 1" ] }, { "cell_type": "code", "execution_count": 8, "id": "9a5930af", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "r 3.020331e-16\n", "g 4.056248e-16\n", "b -1.188900e-16\n", "dtype: float64" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "zs.mean(axis=1) # Should be zero" ] }, { "cell_type": "code", "execution_count": 9, "id": "82f65e58", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "from sklearn.decomposition import PCA\n", "\n", "pca = PCA(n_components=None)\n", "pca.fit(zs);" ] }, { "cell_type": "markdown", "id": "41df5061", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The pca object, or fitted model, was designed before pandas existed and it is based on numpy arrays. We can do better nowadays and add meaningful labels to it." ] }, { "cell_type": "code", "execution_count": 10, "id": "1f8a6e3a", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TS 1TS 2TS 3
PC 10.106617-0.0200350.796085
PC 20.038558-0.0153770.045291
PC 30.118255-0.029110-0.071213
PC 40.032419-0.036895-0.025253
PC 50.037738-0.0335060.003937
............
PC 1230.0371210.0825800.065741
PC 1240.0232130.0494750.000340
PC 1250.0276630.022751-0.036524
PC 126-0.032039-0.0823550.004122
PC 1270.076820-0.015290-0.064717
\n", "

127 rows × 3 columns

\n", "
" ], "text/plain": [ " TS 1 TS 2 TS 3\n", "PC 1 0.106617 -0.020035 0.796085\n", "PC 2 0.038558 -0.015377 0.045291\n", "PC 3 0.118255 -0.029110 -0.071213\n", "PC 4 0.032419 -0.036895 -0.025253\n", "PC 5 0.037738 -0.033506 0.003937\n", "... ... ... ...\n", "PC 123 0.037121 0.082580 0.065741\n", "PC 124 0.023213 0.049475 0.000340\n", "PC 125 0.027663 0.022751 -0.036524\n", "PC 126 -0.032039 -0.082355 0.004122\n", "PC 127 0.076820 -0.015290 -0.064717\n", "\n", "[127 rows x 3 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "loadings = pd.DataFrame(pca.components_.T)\n", "loadings.index = [\"PC %s\" % pc for pc in loadings.index + 1]\n", "loadings.columns = [\"TS %s\" % pc for pc in loadings.columns + 1]\n", "loadings" ] }, { "cell_type": "code", "execution_count": 11, "id": "78ce6ab9", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "PCs = np.dot(loadings.values.T, RGB)" ] }, { "cell_type": "code", "execution_count": 12, "id": "179811b8", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "marker = {\n", " \"linestyle\": \"none\",\n", " \"marker\": \"o\",\n", " \"markersize\": 7,\n", " \"color\": \"blue\",\n", " \"alpha\": 0.5,\n", "}\n", "\n", "fig, ax = plt.subplots(figsize=(7, 2.75))\n", "ax.plot(PCs[0], PCs[1], label=\"Scores\", **marker)\n", "\n", "ax.set_xlabel(\"PC1\")\n", "ax.set_ylabel(\"PC2\")\n", "\n", "text = [ax.text(x, y, t) for x, y, t in zip(PCs[0], PCs[1] + 0.5, RGB.columns)]" ] }, { "cell_type": "code", "execution_count": 13, "id": "67cbf486", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "perc = pca.explained_variance_ratio_ * 100\n", "perc = pd.DataFrame(\n", " perc,\n", " columns=[\"Percentage explained ratio\"],\n", " index=[\"PC %s\" % pc for pc in np.arange(len(perc)) + 1],\n", ")\n", "ax = perc.plot(kind=\"bar\")" ] }, { "cell_type": "markdown", "id": "b0461500", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The non-projected loadings plot can help us see if the data has some sort of aggregation that we can use." ] }, { "cell_type": "code", "execution_count": 14, "id": "bbabd98c", "metadata": { "scrolled": false, "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "common = {\"linestyle\": \"none\", \"markersize\": 7, \"alpha\": 0.5}\n", "\n", "markers = {\n", " 0: {\"color\": \"black\", \"marker\": \"o\", \"label\": \"no yellowing\"},\n", " 1: {\"color\": \"red\", \"marker\": \"^\", \"label\": \"low\"},\n", " 2: {\"color\": \"blue\", \"marker\": \"*\", \"label\": \"moderate\"},\n", " 3: {\"color\": \"khaki\", \"marker\": \"s\", \"label\": \"high\"},\n", " 4: {\"color\": \"darkgoldenrod\", \"marker\": \"d\", \"label\": \"very high\"},\n", "}\n", "\n", "\n", "def unprojected_loadings():\n", " fig, ax = plt.subplots(figsize=(7, 7))\n", " for x, y, idx in zip(\n", " loadings.iloc[:, 0], loadings.iloc[:, 1], df[\"yellowing index\"]\n", " ):\n", " ax.plot(x, y, **common, **markers.get(idx))\n", "\n", " ax.set_xlabel(\"non-projected PC1\")\n", " ax.set_ylabel(\"non-projected PC2\")\n", " ax.axis([-1, 1, -1, 1])\n", " ax.axis([-0.25, 0.25, -0.4, 0.4])\n", "\n", " # Trick to remove duplicate labels from the for-loop.\n", " handles, labels = ax.get_legend_handles_labels()\n", " by_label = dict(zip(labels, handles))\n", " ax.legend(by_label.values(), by_label.keys())\n", " return fig, ax" ] }, { "cell_type": "code", "execution_count": 15, "id": "ab85edba", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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ghACGzZsgEajse1zww03wGKx2AW25ORkWCwW9oerhyQaulBNAACj0Qi9Xg+DwYDQ0FBvN4eIiFqZ8vJy5OTkoGvXrtBqtc692GAASkub3k+nA/gd51GNnVdHs0eAuxtJREREXqLXyzfyS7ycSkRERKRADHFERERECsQQR0RERKRADHFERERECsQQR0RERKRADHFERERECsQQR0RERKRADHFERERECsQQR0RE1EqcPw+89558709GjRqFBQsWeLsZHscQR0RE1EocOABs3CjfU/NIkoR169Z5uxkAuOwWERGR3zIagZKS6sd79gCFhfL9gAHV21v70qkWiwWSJEGlUlZtS1mtJSIiIoetXg0sWVJ9O3QISEyU72tuX73aPe8/atQoPPLII1iwYAHCwsIQExODd955ByUlJbj77rvRtm1bJCQk4LvvvrO9ZseOHRgyZAiCgoLQoUMHLF68GJWVlbbnS0pKMGfOHLRp0wYdOnTAyy+/XOd9Kyoq8MQTT6Bjx47Q6XQYOnQotm/fbnv+gw8+QLt27fDNN9+gT58+CAoKwqlTp/Dzzz9j7NixiIyMhF6vR3JyMvbv3297XXx8PADgpptugiRJtscAsH79egwaNAharRbdunXD8uXL7drtDgxxREREfqqq2lZSAkREyAGuY0f5PiKiuko3cKD72vCf//wHkZGR2LNnDx555BH86U9/wq233orhw4dj//79GD9+PFJSUlBaWopz585h0qRJuPbaa3HgwAG8+eabeO+99/Dcc8/Zjvf4449j27Zt+Oqrr7B582Zs374d+/bts3vPu+++Gz/99BM+++wzHDx4ELfeeismTJiA48eP2/YpLS3FihUr8O677+LXX39FdHQ0iouLceedd2Lnzp1IS0tD9+7dMWnSJBQXFwMAfv75ZwDA6tWrkZuba3u8adMmzJ49G/Pnz8fhw4fx9ttv44MPPsDzzz/vvh8sAAhqlMFgEACEwWDwdlOIiKgVKisrE4cPHxZlZWXNev327ULceacQd90lxNKl1bc775RvO3a4rKl1JCcni+uuu872uLKyUuh0OpGSkmLblpubKwCI3bt3i7/85S+iZ8+ewmq12p5//fXXRZs2bYTFYhHFxcUiMDBQfPbZZ7bni4qKRHBwsHj00UeFEEJkZWUJSZLEuXPn7Npy4403iiVLlgghhFi9erUAIDIz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UFj7cupvv/2G6667DlqtFn369MH3338PSZKwbt06u2OeOHECN9xwA0JCQnD11Vdj9+7djv6YWowhjoiIyE8JIXAhazNMJfkIahtr91xQ21iYSvJwIWsTXD3b2K233orCwkJs27bNtu3SpUvYtGkT7rjjDgDApk2bMHv2bMyfPx+HDx/G22+/jQ8++KDOWqlLly7F9OnTcejQIdxzzz245557sHr1art93n//fYwcORIJCQkNtmnbtm3Izs7Gtm3b8J///AcffPABPvjgg3r3tVqtmDFjBkJCQpCeno533nkHTz31VL37PvXUU/jzn/+MzMxM9OjRA3/84x/tgqg7McQRERH5KXNZIQy5e6HRtoMk2X/lS5IKGm0YDLl7YS4rcun7hoeHY8KECfjkk09s2z7//HOEh4fjxhtvBAA8//zzWLx4Me68805069YNY8eOxbPPPou3337b7lizZs3CPffcg27duqFLly64++67cfToUezZs0f+jGYzPv74Y9xzzz2NtiksLAyvvfYaevXqhSlTpmDy5MnYsmVLvftu3rwZ2dnZ+PDDD3H11VfjuuuuqxMuq/z5z3/G5MmT0aNHDyxfvhynTp1CVpZnpnBhiCMiIvJTmuBI6DsMhrn8MoSwv7QphBXm8svQxw6GJjjC5e99xx134L///a9tvfI1a9Zg5syZUKvVAIB9+/bhmWeeQZs2bWy3efPmITc3F6WlpbbjDB482O64HTp0wOTJk/H+++8DAL755huUl5fj1ltvbbQ9ffv2tb131XEKCuq/lHz06FHExcWhffv2tm1Dhgypd9/+/fvbHRNAg8d1NYY4IiIiPyVJEqISxyFIFwNT8Xm750zF5xGki0FUwnhIkuTy9546dSqsViu+/fZbnDlzBjt37sTs2bNtz1utVixfvhyZmZm226FDh3D8+HG7FQzqGzE6d+5cfPbZZygrK8Pq1atx++23NzkoQaPR2D2WJKlOn70qQgiHfyY1j1v1moaO62qcYoSIiMiPBeliEJkwDucOfoxAXQxUag2slgqYyw3o2D8FQbpot7xvcHAwbr75ZqxZswZZWVno0aMHBg0aZHv+mmuuwdGjR5GYmOj0sSdNmgSdToc333wT3333HX744QdXNh29evXC6dOnkZ+fj5iYGADyFCS+hiGOiIjIz4V3Scbls+koM5yGLjwBZYYz0IV3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nnjiCYSHh6N9+/ZYtmyZ3T6nT5/G9OnT0aZNG4SGhuK2225Dfn6+7flly5ZhwIAB+OijjxAfHw+9Xo+ZM2eiuLi40feOj4/Hs88+i1mzZqFNmzaIjY3Fq6++arePJEl46623MH36dOh0Ojz33HMAgDfffBMJCQkIDAxEz5498dFHH9U5ds3KmcFgwH333Yfo6GiEhoZi9OjROHDggN1rvv76awwePBharRaRkZG4+eabbT+jU6dOYeHChbYKWZVdu3bh+uuvR3BwMOLi4jB//nyUlJTYni8oKMDUqVMRHByMrl27Ys2aNY3+TKoEBASgffv26NixI6ZMmYL58+dj8+bNKCsrw9mzZzF//nzMnz8f77//PkaNGoX4+Hhcf/31ePfdd/H0008DAHQ6Hd58803MmzcP7du3d+h9ich1GOKIyO3+85//QKfTIT09HS+88AKeeeYZpKamAgCEEJgxYwYuXryIHTt2IDU1FdnZ2bj99tvtjpGdnY1169bhm2++wTfffIMdO3bgH//4R5Pv/eKLL6J///7Yv38/lixZgoULF9reu8rSpUsxffp0HDp0CPfccw+++uorPProo3jsscfwyy+/4P7778fdd9+Nbdu21fseQghMnjwZeXl52LBhA/bt24drrrkGN954Iy5evAgA+Pbbb3HzzTdj8uTJyMjIwJYtWzB48GAAwJdffolOnTrhmWeeQW5uLnJzcwEAhw4dwvjx43HzzTfj4MGDWLt2LX788Uc8/PDDtve+6667cPLkSWzduhVffPEF3njjDRQUFDh4ZqoFBwfDarWisrISn3/+OSoqKvDEE0/Uu2+7du2cPj4RuYEgInKj5ORkcd1119ltu/baa8WTTz4phBBi8+bNQq1Wi9OnT9ue//XXXwUAsWfPHiGEEEuXLhUhISHCaDTa9nn88cfF0KFDG33vLl26iAkTJthtu/3228XEiRNtjwGIBQsW2O0zfPhwMW/ePLttt956q5g0aZLdsV955RUhhBBbtmwRoaGhory83O41CQkJ4u233xZCCJGUlCTuuOOORttadbwqKSkp4r777rPbtnPnTqFSqURZWZk4evSoACDS0tJszx85ckQAqHOsmpYuXSquvvpqu9ckJiaKIUOGCCGE+NOf/iRCQ0MbfH197rzzTjF9+nSnXkNELcNKHBG5Xf/+/e0ed+jQwVYtOnLkCOLi4hAXF2d7vk+fPmjXrh2OHDli2xYfH4+2bdvWe4w1a9agTZs2ttvOnTtt+yUlJdm9d1JSkt1xAdgqYlWOHDmCESNG2G0bMWJEnddV2bdvH65cuYKIiAi7duTk5CA7OxsAkJmZiRtvvLHe1zdk3759+OCDD+yOOX78eFitVuTk5ODIkSMICAiwa3+vXr0cqpQdOnQIbdq0QXBwMPr06YO4uDjbpVghhN0lXSLyTQHebgAR+T+NRmP3WJIkWK1WAA0HhtrbGzvGtGnTMHToUNtzHTt2bLQ9td9Pp9M1uU9jwcZqtaJDhw7Yvn17neeqAlVwcHCjbWrouPfffz/mz59f57nOnTvj6NGj9bbVET179sTXX38NtVqN2NhYBAUF2Z7r0aMHDAYDcnNz0aFDB6ePTUSewUocEXlVnz59cPr0aZw5c8a27fDhwzAYDOjdu7dDx2jbti0SExNtt5qBKS0tzW7ftLQ09OrVq9Hj9e7dGz/++KPdtl27djXYnmuuuQZ5eXkICAiwa0diYiIiIyMByNXILVu2NPiegYGBsFgsdY7766+/1jlmYmIiAgMD0bt3b1RWVmLv3r221xw9ehSXL19u9PNVvV9iYiK6du1qF+AA4JZbbkFgYCBeeOGFel/ryPGJyP1YiSMirxozZgz69++PO+64A6tWrUJlZSUefPBBJCcn17nM2Rw//fQTXnjhBcyYMQOpqan4/PPP8e233zb6mscffxy33XabbXDC+vXr8eWXX+L7779v8DMkJSVhxowZ+H//7/+hZ8+eOH/+PDZs2IAZM2Zg8ODBWLp0KW688UYkJCRg5syZqKysxHfffWcbPBAfH48ffvgBM2fORFBQECIjI/Hkk09i2LBheOihhzBv3jzodDocOXIEqampePXVV9GzZ09MmDAB8+bNwzvvvIOAgAAsWLCgWVW/muLi4vDKK6/g4YcfhtFoxJw5cxAfH4+zZ8/iww8/RJs2bWzTjBw+fBgVFRW4ePEiiouLkZmZCQAYMGBAi9pARE1jJY6IvEqSJKxbtw5hYWG4/vrrMWbMGHTr1g1r1651yfEfe+wx7Nu3DwMHDsSzzz6Ll19+GePHj2/0NTNmzMA///lPvPjii+jbty/efvttrF69GqNGjWrwM2zYsAHXX3897rnnHvTo0QMzZ87EyZMnERMTA0CeRuTzzz/H119/jQEDBmD06NFIT0+3HeOZZ57ByZMnkZCQgKioKABy9W7Hjh04fvw4Ro4ciYEDB+Jvf/ub3SXO1atXIy4uDsnJybj55ptt05y01IMPPojNmzfj3LlzuOmmm9CrVy/MnTsXoaGh+POf/2zbb9KkSRg4cCDWr1+P7du3Y+DAgRg4cGCL35+ImiYJIYS3G0FE5A7x8fFYsGABFixY4PJjd+jQAc8++yzmzp3r8mMTETmCl1OJiJxQWlqKn376Cfn5+ejbt6+3m0NErRgvpxIROeGdd97BzJkzsWDBgjrTlxAReRIvpxIREREpECtxRERERArEEEdERESkQAxxRERERArEEEdERESkQAxxRERERArEEEdERESkQAxxRERERArEEEdERESkQP8fZ91p7Kgj42wAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "unprojected_loadings();" ] }, { "cell_type": "markdown", "id": "e33ab2a8", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Summary\n", "\n", "- PCA is probably be most robust, and easy to perform, non-supervised ML technique (it has been a common technique in ocean sciences since before the ML hype);\n", "- We learned that a single RGB value does not have enough predictive power to be used alone, we'll need at least a combination of Reds and Greens;\n", "- The loading plot show that the moderate and the low yellowing have some overlaps. That can be troublesome when using this model for predictions." ] } ], "metadata": { "celltoolbar": "Slideshow", "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.11.4" }, "livereveal": { "auto_select": "none", "footer": " ", "header": "", "start_slideshow_at": "selected" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }