{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Polynomial Regression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What if your data doesn't look linear at all? Let's look at some more realistic-looking page speed / purchase data:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Sor69eun/fv3hzuUdpeVldUsUe/bt6++/vrrMEUUXocPH9b69ev1b//2b+EOxSdGUBDRnE6nHnroIa1cuVIffvihcnJywh2SqTidTlVXV4c7jHZ1/fXXN1up8vOf/1wXX3yxZs+erdjY2DBFFn7V1dX64osv9OMf/zjcobS7YcOGNWtBsG/fPvXs2TNMEYWXa0HB+PHjwx2KTyQoEaqyslIHDhxw3y8pKdHu3buVnp6uHj16hDGy9jV9+nQtX75c77zzjlJTU2W32yVJVqtVnTp1CnN07esXv/iFxo0bp+7du+vkyZNasWKFPvzww2YrnaJdampqsxqklJQUZWRkdLjapMcff1wTJkxQjx49VFZWpl/96leqqKjQ1KlTwx1au3v00Uc1dOhQLViwQLfeeqt27NihxYsXa/HixeEOrd3V19fr9ddf19SpUxUXZ+I0wImI9MEHHzglNbtNnTo13KG1K28/A0nO119/Pdyhtbt77rnH2bNnT2dCQoLzvPPOc15//fXOdevWhTssUxgxYoTzkUceCXcY7e62225zZmVlOePj453Z2dnOSZMmOffs2RPusMJmzZo1zry8PGdiYqLz4osvdi5evDjcIYXF+++/75Tk/PLLL8Mdil8Wp9PpDE9qBAAA4B1FsgAAwHRIUAAAgOmQoAAAANMhQQEAAKZDggIAAEyHBAUAAJgOCQoAADAdEhQAAGA6JCgAAMB0SFAAAIDpkKAAAADTIUEBAACm838BgLzdKL8dfgIAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"from pylab import *\n",
"import numpy as np\n",
"\n",
"np.random.seed(2)\n",
"pageSpeeds = np.random.normal(3.0, 1.0, 1000)\n",
"purchaseAmount = np.random.normal(50.0, 10.0, 1000) / pageSpeeds\n",
"\n",
"scatter(pageSpeeds, purchaseAmount)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"numpy has a handy polyfit function we can use, to let us construct an nth-degree polynomial model of our data that minimizes squared error. Let's try it with a 4th degree polynomial:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"x = np.array(pageSpeeds)\n",
"y = np.array(purchaseAmount)\n",
"\n",
"p4 = np.poly1d(np.polyfit(x, y, 4))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We'll visualize our original scatter plot, together with a plot of our predicted values using the polynomial for page speed times ranging from 0-7 seconds:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"xp = np.linspace(0, 7, 100)\n",
"plt.scatter(x, y)\n",
"plt.plot(xp, p4(xp), c='r')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Looks pretty good! Let's measure the r-squared error:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.8293766396303072\n"
]
}
],
"source": [
"from sklearn.metrics import r2_score\n",
"\n",
"r2 = r2_score(y, p4(x))\n",
"\n",
"print(r2)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Activity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Try different polynomial orders. Can you get a better fit with higher orders? Do you start to see overfitting, even though the r-squared score looks good for this particular data set?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:base] *",
"language": "python",
"name": "conda-base-py"
},
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}