Files
FYS-STK4155/doc/Programs/JupyterFiles/Examples/Scikit-Learn Website Examples/Polynomial Interpolation.ipynb
T
2018-05-06 22:19:59 -04:00

108 lines
28 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10dbe07b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import random\n",
"\n",
"from sklearn.linear_model import Ridge\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.pipeline import make_pipeline\n",
"\n",
"\n",
"def f(x):\n",
" \"\"\" function to approximate by polynomial interpolation\"\"\"\n",
" return x*np.sin(x)\n",
"\n",
"\n",
"\"\"\"sample = 200\n",
"x = np.arange(sample)\n",
"noise = 1e-8*np.asarray(random.sample(range(0,200),sample))\n",
" \n",
"y = x**3*noise\n",
"y_norm=x**3*1e-6\n",
"plt.plot(x, y, label='Cubic With Noise')\n",
"plt.plot(x,y_norm, label='Cubic Without Noise')\n",
"plt.legend()\n",
"plt.show()\"\"\"\n",
"\n",
"# generate points used to plot\n",
"x_plot = np.linspace(0, 10, 100)\n",
"\n",
"# generate points and keep a subset of them\n",
"x = np.linspace(0, 10, 100)\n",
"rng = np.random.RandomState(0)\n",
"rng.shuffle(x)\n",
"x = np.sort(x[:20])\n",
"y = f(x)\n",
"\n",
"# create matrix versions of these arrays\n",
"X = x[:, np.newaxis]\n",
"X_plot = x_plot[:, np.newaxis]\n",
"\n",
"lw = 2\n",
"plt.plot(x_plot, f(x_plot), color='cornflowerblue', linewidth=lw,\n",
" label=\"ground truth\")\n",
"plt.scatter(x, y, color='navy', s=30, marker='o', label=\"training points\")\n",
"\n",
"degree=3\n",
"model = make_pipeline(PolynomialFeatures(degree), Ridge())\n",
"model.fit(X, y)\n",
"y_plot = model.predict(X_plot)\n",
"plt.plot(x_plot, y_plot, color='green', linewidth=lw,\n",
" label=\"degree %d\" % degree)\n",
"\n",
"plt.legend(loc='lower left')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}