Skip to content

Instantly share code, notes, and snippets.

@omegacoleman
Created January 11, 2023 16:57
Show Gist options
  • Save omegacoleman/57d3cc5619cc39847155547b8bfaf2b7 to your computer and use it in GitHub Desktop.
Save omegacoleman/57d3cc5619cc39847155547b8bfaf2b7 to your computer and use it in GitHub Desktop.
Polynomial Regression
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 15,
"id": "a138393f-f4b9-4a54-916a-543aff70e845",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from scipy.stats import norm\n",
"from sklearn.linear_model import LinearRegression\n",
"import sympy\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "52f32358-9b6c-4ce4-8a15-2313f62fd1b3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f28a3309c90>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(0, 100, 1.0)\n",
"y = norm.pdf(x, 50, 10)\n",
"x_offs = np.random.randn(x.size) * 0.005\n",
"y_offs = np.random.randn(y.size) * 0.005\n",
"x += x_offs\n",
"y += y_offs\n",
"plt.scatter(x, y)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "b88fe20a-7a6d-4206-bff0-61df18c9de42",
"metadata": {},
"outputs": [],
"source": [
"n_degree = 10"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "4ad3393e-de79-4991-b806-2e6949627466",
"metadata": {},
"outputs": [],
"source": [
"def to_x_feats_single(x, n):\n",
" return np.power(np.full((n + 1, ), x), np.arange(0, n + 1))\n",
"\n",
"def to_x_feats(x_arr, n):\n",
" return np.array([to_x_feats_single(x, n) for x in x_arr])\n",
"\n",
"x_feats = to_x_feats(x, n_degree)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "eb5d4587-6843-4982-93d0-f413485b877a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style>#sk-container-id-3 {color: black;background-color: white;}#sk-container-id-3 pre{padding: 0;}#sk-container-id-3 div.sk-toggleable {background-color: white;}#sk-container-id-3 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-3 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-3 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-3 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-3 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-3 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-3 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-3 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-3 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-3 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-3 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-3 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-3 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-3 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-3 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-3 div.sk-item {position: relative;z-index: 1;}#sk-container-id-3 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-3 div.sk-item::before, #sk-container-id-3 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-3 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-3 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-3 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-3 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-3 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-3 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-3 div.sk-label-container {text-align: center;}#sk-container-id-3 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-3 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-3\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" checked><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">LinearRegression</label><div class=\"sk-toggleable__content\"><pre>LinearRegression()</pre></div></div></div></div></div>"
],
"text/plain": [
"LinearRegression()"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model = LinearRegression()\n",
"model.fit(x_feats, y)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "c01877ea-754b-4c51-96e6-147a0d07bfaf",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\displaystyle - 2.21060709982346 \\cdot 10^{-18} x^{10} + 1.06625129282511 \\cdot 10^{-15} x^{9} - 2.10506685768628 \\cdot 10^{-13} x^{8} + 2.16383877434286 \\cdot 10^{-11} x^{7} - 1.20967018139666 \\cdot 10^{-9} x^{6} + 3.43009438786875 \\cdot 10^{-8} x^{5} - 3.72582603621453 \\cdot 10^{-7} x^{4} - 4.6470021654271 \\cdot 10^{-8} x^{3} - 3.33581074195584 \\cdot 10^{-9} x^{2} - 1.76179708062118 \\cdot 10^{-8} x$"
],
"text/plain": [
"-2.21060709982346e-18*x**10 + 1.06625129282511e-15*x**9 - 2.10506685768628e-13*x**8 + 2.16383877434286e-11*x**7 - 1.20967018139666e-9*x**6 + 3.43009438786875e-8*x**5 - 3.72582603621453e-7*x**4 - 4.6470021654271e-8*x**3 - 3.33581074195584e-9*x**2 - 1.76179708062118e-8*x"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x_sym = sympy.symbols('x')\n",
"result = 0\n",
"for i in range(model.coef_.size):\n",
" result += model.coef_[i] * sympy.Pow(x_sym, i)\n",
"result"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "7ee5d4e6-b29c-4b54-9e0e-ddbb0840850c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f28a363ebc0>]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"predicted_x = np.arange(0, 100, 0.1)\n",
"predicted_y = np.array([result.subs(x_sym, x) for x in predicted_x])\n",
"plt.plot(predicted_x, predicted_y)"
]
}
],
"metadata": {
"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.10.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment