{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"Open" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "from IPython.display import Image\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "import scipy as sc\n", "import scipy.stats as stats\n", "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.colors as mcolors\n", "from matplotlib import cm\n", "\n", "plt.style.use('fivethirtyeight')\n", "\n", "plt.rcParams['font.family'] = 'sans-serif'\n", "plt.rcParams['font.serif'] = 'Ubuntu'\n", "plt.rcParams['font.monospace'] = 'Ubuntu Mono'\n", "plt.rcParams['font.size'] = 10\n", "plt.rcParams['axes.labelsize'] = 10\n", "plt.rcParams['axes.labelweight'] = 'bold'\n", "plt.rcParams['axes.titlesize'] = 10\n", "plt.rcParams['xtick.labelsize'] = 8\n", "plt.rcParams['ytick.labelsize'] = 8\n", "plt.rcParams['legend.fontsize'] = 10\n", "plt.rcParams['figure.titlesize'] = 12\n", "plt.rcParams['image.cmap'] = 'jet'\n", "plt.rcParams['image.interpolation'] = 'none'\n", "plt.rcParams['figure.figsize'] = (16, 8)\n", "plt.rcParams['lines.linewidth'] = 2\n", "plt.rcParams['lines.markersize'] = 8\n", "\n", "colors = ['xkcd:pale orange', 'xkcd:sea blue', 'xkcd:pale red', 'xkcd:sage green', 'xkcd:terra cotta', 'xkcd:dull purple', 'xkcd:teal', 'xkcd:goldenrod', 'xkcd:cadet blue', \n", " 'xkcd:scarlet']\n", "cmap_big = cm.get_cmap('Spectral', 512)\n", "cmap = mcolors.ListedColormap(cmap_big(np.linspace(0.7, 0.95, 256)))\n", "\n", "bbox_props = dict(boxstyle=\"round,pad=0.3\", fc=colors[0], alpha=.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Definizione della funzione (sconosciuta) alla base del dataset" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "def f(x):\n", " return np.sin(x)*(np.cos(x))**2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Funzione che genera i valori target di un insieme di punti, associando ad un valore $x$ il valore \n", "$y=f(x)+\\varepsilon$, con $\\varepsilon$ distribuito secondo una gaussiana di media $0$ e varianza $0.1$ " ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "def p(r):\n", " return [stats.norm.rvs(loc=f(x), scale=0.1, size=1) for x in r]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Numero di elementi nel training e nel test set" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "n_train = 30\n", "n_test = 30" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Genera casualmente il training set" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "x_train = stats.uniform.rvs(size=n_train, loc=-2, scale=4).reshape(-1,1)\n", "y_train = np.array(p(x_train)).reshape(-1,1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Genera casualmente il test set" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "x_test = stats.uniform.rvs(size=n_test, loc=-2, scale=4).reshape(-1,1)\n", "y_test = np.array(p(x_test)).reshape(-1,1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Riporta il plot della funzione e i due dataset" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "image/png": "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AACeQVABAAAAAAA8g6ACAAAAAAB4RtqCipdfflkTJ07U1VdffdLzf/rTn3TVVVdp9uzZqq+vP+UxAAAAAACQOYza2lo3HXdcW1urcDis66+/XosWLWp1LpFI6LrrrtMLL7yg559/Xnv27NGXvvSlDxz7yle+ko6hAwAAAACAdpK2FRVFRUUKBoMnPbd161YNHz5cPp9PV1xxhZYvX37SYwAAAAAAILN4skZFXV2d8vPzJUkFBQWqq6s76TEAAAAAAJBZfO19B1VVVbrttttaHSsvL9dvfvObU35PQUGBGhoaJEkNDQ0qLCw86TEAAAAAAJBZ2j2oKC8v14IFC87qewYNGqRNmzbJtm299tprmjhx4kmPAQAAAACAzNLuQcWprF69Wt///ve1adMmXX/99Xrqqae0dOlS2batadOm6dZbb9X06dNVVFSkX/3qV/L7/R84BgAAAAAAMkvaun60lccee0x/+MMfJEn/8i//ok984hOtzi9evFg//OEPFQwG9d///d/q2bNnOoaJNvbyyy/r29/+trp06fKBrjGSNGHCBJWXl0uSHnroIQ0bNqyjh4g29mFz/qc//Um//vWvVVxcrF/96lcqKChIwyjRlhoaGvSFL3xBtbW1+tznPqdPf/rTrc7zOM8sc+fO1Zo1azRq1Cg98MADLcc3bdqkOXPmyHVdPfTQQ6qoqEjjKNGWTjXnX/rSl/Tuu+8qFArpc5/73Ade26Fz2r9/v2bPnq0tW7Zo79698vmOv1/K4zxznW7eeaxnphUrVujb3/62TNPU2LFjdd9997Wc279/v774xS8qFovp29/+tq644opT3o4ni2mejalTp+qVV17RwoUL9fDDD3/g/Lx58/Tss8/q+9//vn7605+mYYRoDxMnTtTSpUtPeb5r165asGCBFixYwMVLhjjdnCcSCf32t7/Viy++qNmzZ+uxxx7r2MGhXfzud7/TjTfeqBdffFGPP/644vF4q/M8zjPHmjVr1NTUpIULFyqRSGjVqlUt5+699179+te/1m9/+1vde++9aRwl2tLp5lySfvWrX2nBggVcuGSQ4uJiPf/885owYcIHzvE4z1ynm3eJx3om6t27t55//nktWrRIhw4d0saNG1vO/fSnP9V3vvMdPfvss5o3b95pb6fTBxV9+/aVJPl8vlYJnSRFIhGFw2Hl5+drwoQJeuedd9IxRLSD07W3laQjR45o+vTp+trXvqZoNNqBI0N7OduWxuj8VqxYoalTp8qyLFVUVOjdd99tdZ7HeeY4NteSNGXKlFaP4draWvXq1Us9evSg41cGOd2cG4ahO+64Q7Nnz9auXbvSNUS0sVAopKKiopOe43GeuU437zzWM1N5eblCoZCk1DW6ZVkt5zZt2qSLLrpIeXl5ysvLU319/Slvp9MHFcf85je/0TXXXNPq2IktTSXJcZyOHhbSZNGiRVq4cKF69+7Nu+tZgPbFmenEeS0sLPzAvPI4zxynm+sT/+923U69WxUnON2c33vvvfrrX/+qr33ta/rud7+briGiA/E4z0481jPbhg0bdPjw4VarXm3blmEYkk7+2u5EaSumebZO1+Z0xYoV+utf/6onnnii1fkTW5pKkmlmTC6TNc6lva2UWmYmSTNnztQjjzzSbuND22urlsboPE4158fmNRQKqb6+/gPzyuM8c5z4GH7/XB97QSPx/3gmOd2cH3tsX3LJJfqP//iPtIwPHYvHeXbisZ65jhw5om984xsfeCPpxMf3yV7bnajTBBWnanO6b98+ffe739WTTz7ZalmJJOXm5qq5uVmNjY3asmULe5g7oXNpbxuPx+W6roLBoN566y3179+/nUaH9tBWLY3ReZxqzh9++GEtXrxYs2bN0vr16zVkyJCWczzOM8vEiRP12GOPadasWVq8eLFuvvnmlnPFxcXau3evTNNstUoSndvp5ry+vl4FBQWqrKwkeM4SPM6zE4/1zJRMJvXFL35RP/zhD1uKnh8zYsQILV++XCNGjFBDQ8Npi993mqDiVH784x/r4MGD+sxnPiNJ+r//+z9VVlZqzZo1uuWWW3TnnXdq1qxZCgaD+uUvf5nm0aKtnK697dixY3XTTTcpNzdXRUVFevTRR9M9XLSBs21pjM7vlltu0e23365HH31Ut956qwKBgF555RUe5xlozJgxCgaDmj59uioqKtSrVy89+OCDuvPOOzV37tyWFTcfVngLncfp5vz2229XXV2dDMPQQw89lO6hoo0kEgnddNNN2rBhg2644QZ985vf1JtvvsnjPMOdbt55rGemv/zlL1q1apXuvvtuSdL3vvc9Pf3005o3b56++tWv6o477lA0GtXcuXNPezudvj0pAAAAAADIHGwCAwAAAAAAnkFQAQAAAAAAPIOgAgAAAAAAeAZBBQAAAAAA8AyCCgAAAAAA4BkEFQAAAAAAwDMIKgAAAAAAgGcQVAAAAM+YOXOm/v73v0uSfvjDH+ob3/hGmkcEAAA6mi/dAwAAADhm7ty5+tGPfqTq6mqtW7dOTz75ZLqHBAAAOphRW1vrpnsQAAAAx1xzzTVqamrS/PnzlZ+fn+7hAACADsbWDwAA4BkbN25UVVWVAoEAIQUAAFmKoAIAAHjCgQMHdPvtt+uJJ55Qbm6uXnnllXQPCQAApAFBBQAASLtIJKLPfvazuvfeezV06FB94xvf0AMPPJDuYQEAgDSgRgUAAAAAAPAMVlQAAAAAAADPIKgAAAAAAACeQVABAAAAAAA8g6ACAAAAAAB4BkEFAAAAAADwDIIKAAAAAADgGQQVAAAAAADAM/7/wEV4IfTB6fgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(16, 8))\n", "x = np.linspace(-2, 2, 1000)\n", "plt.plot(x, f(x), linewidth=2, alpha = .7)\n", "plt.scatter(x_train, y_train, s=30, color='C1')\n", "plt.scatter(x_test, y_test, s=30, color='C2')\n", "plt.xlim(-2, 2)\n", "plt.ylim(-1,1)\n", "plt.xlabel('$x$')\n", "plt.ylabel(r'$y$')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Funzione che effettua le previsioni di $y$ per tutti gli elementi in $t$ mediante un polinomio i cui coefficienti sono specificati in $\\theta$" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "def predictions(theta, x):\n", " return np.polyval(theta[::-1],x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Funzione di costo, definita sul dataset $x,t$ e sul modello rappresentato dai coefficienti $\\theta$ del polinomio" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "def cost(theta, x, t):\n", " n = x.shape[0]\n", " y = predictions(theta,x)\n", " return round(np.sqrt(np.sum((t-y)**2)/float(2*n)), 4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Grado del polinomio utilizzato" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [], "source": [ "degree = 12" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcola matrice delle nuove features corrispondenti ai termini $1, x, x^2, \\ldots$" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [], "source": [ "X = np.ones(n_train).reshape(-1,1)\n", "Z = x_train\n", "for i in range(degree):\n", " X = np.column_stack((X, Z))\n", " Z = Z*x_train" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcola vettore con valore ottimo dei coefficienti" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [], "source": [ "theta = np.dot(np.dot(np.linalg.inv(np.dot(X.T, X)) , X.T), y_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcola costo su train e test set" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [], "source": [ "c_train = cost(theta,x_train,y_train)\n", "c_test = cost(theta,x_test,y_test)" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABCoAAAILCAYAAAAudX1jAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAAsTAAALEwEAmpwYAADDOElEQVR4nOzdd3xb9fX/8dfVlrzjFTvOjrM3GYSEDHbYFCiUsjf9QltmSynd+bELXbQUOoAWKFDKDhvCSMgkezk7sR0n8R7aur8/bCsJZMe2LOn9fDzySCRdXR35Xju+R+dzjlFTU2MiIiIiIiIiItIJWGIdgIiIiIiIiIhIKyUqRERERERERKTTUKJCRERERERERDoNJSpEREREREREpNNQokJEREREREREOg0lKkRERERERESk01CiQkRERGLqvvvu4/rrr491GCIiItJJKFEhIiIiCeevf/0rU6dOJS8vj5tuummvx+bPn8+5555Lr1696Nu3L1dccQXbt2+PUaQiIiLydUpUiIiISJsJhUKxDgGArl27cscdd3DppZd+47GamhquvPJKli5dyrJly0hNTeX//u//YhCliIiI7IsSFSIiInJQixcv5vjjj6eoqIgrrriCq666it/85jd89tlnDB48mMcee4z+/fvzve99j5qaGi666CL69u1Lz549ueiiiygtLY3ua9OmTZx++ukUFRVx7rnnUlVVtddrvf322xx77LH06NGDM844gzVr1hx2vGeffTZnnnkmXbp0+cZjJ598Mueeey7p6el4PB6uu+465s6de/hfFBEREWkXSlSIiIjIAQUCAS699FIuueQSNm7cyPnnn8+bb74ZfbyiooLq6mqWLVvG7373OyKRCJdccgnLli1j+fLluFwu7rzzzuj21113HSNHjmT9+vXceeedPP/889HH1q1bx7XXXst9993H+vXrOeWUU7j44osJBAIAXHTRRfTo0WOffy666KIjen+zZ89m4MCBR/jVERERkbZmi3UAIiIi0rnNnz+fcDjMjTfeiGEYnH322RxzzDHRxy0WC3fffTdOpxMAt9vNOeecE3389ttv56yzzgJg69atLFq0iFdffRWn08nEiRM57bTTotu+8sornHLKKUybNg2AW265hb/85S/MnTuX448/nv/85z9t+t6WL1/Ogw8+yHPPPdem+xUREZEjp0SFiIiIHND27dspKCjAMIzofd26dYv+OycnB5fLFb3d1NTET37yEz744ANqa2sBqK+vJxwOs337djIzM0lJSYlu37179+jSkO3bt9O9e/foYxaLhW7dulFeXt7m72vDhg1ceOGF3H///Rx33HFtvn8RERE5Mlr6ISIiIgeUn59PeXk5pmlG79uz58SeCQyAP/7xj5SUlPDhhx+ydetW3nrrLQBM0yQ/P5+amhoaGxuj22/bti36765du7J169bobdM0KS0tpaCgAIALLriAbt267fPPBRdccMjvacuWLZxzzjnceeedXHzxxYf8PBEREWl/SlSIiIjIAY0bNw6r1cpf//pXQqEQb731FgsXLtzv9g0NDbjdbjIyMqiuruaBBx6IPtajRw9GjRrFfffdRyAQYM6cObzzzjvRx8877zzee+89Zs2aRTAY5I9//CMOh4Px48cD8PLLL1NaWrrPPy+//HJ0P6FQCJ/PRzgcJhwO4/P5ohNJysrKOPvss7n++uu5+uqr2/rLJSIiIkdJiQoRERE5IIfDwbPPPsuzzz5Lz549efHFFzn11FNxOBz73P6mm27C6/XSt29fTjrpJE466aS9Hn/qqadYuHAhvXv35oEHHtiroqG4uJgnnniCu+66i759+zJz5kxeeOGF/b7W/jz00EN07dqVRx99lBdffJGuXbvy0EMPAfDMM8+wadMm7r///r0qMkRERKRzMGpqasyDbyYiIiKy24knnshVV13FpZdeGutQREREJMGookJEREQO6vPPP6eiooJQKMRzzz3HihUrvlEpISIiItIWNPVDREREDmrdunVcddVVNDU10bNnT55++mm6du0a67BEREQkAcV06Ud5eTkXXXQRa9asobS0FJttd95k5cqV3HbbbZimySOPPMLQoUP3eZ+IiIiIiIiIJI6YLv3Iysri9ddfZ8yYMd94bMaMGTz11FP84x//YMaMGfu9T0REREREREQSR0yXfrhcLlwu1z4fq6mpoaioCIDa2tr93iciIiIiIiIiiaPTNtOMRCLRf5umud/7RERERERERCRxdNpEhWEY0X9bLJb93iciIiIiIiIiiaPTTv3IysqitLQUi8VCWlrafu+T5FZSUkJxcXGsw5AOpuOefHTMk4+OeXLScW9/oXCIB164BV+wiR9+6wGy02M7vedAx/y9BS/y2fK3mDriHE4c9a0O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SrpmmpJwYlZRUVtbS69evQDIyMhg9erVez0eDAZZuXIlI0eOBODGG2/k7rvvZv369dx8883MnDlzv/suKSlpr7ClE9LxTk467slHxzz56JgnJx33Ayuv2Ugg5CfTk8eOskp2UBnrkI7a0RzzFEc6db4qFq9YQFZKXhtGFd927mquMqmuqu6U31OdMSZpH8XFR9ZHJ2aJivT0dOrr6wGoq6sjIyNjr8c///xzJk2aFL2dlZUFQN++fQ+67yP9Ykj8KSkp0fFOQjruyUfHPPnomCcnHfeDWzd/AQBD+4xJiK/V0R7zvI3dqCurIj3bQ3H3+P96tJWNdV/BNsjNzet054m+z+VQxGzpx9ixY5k1axYAs2bNYuzYsXs9/vVlH3V1dQBUVlYSCoU6LlARERERkU6iZJvGku4pKy0HgOp69anYUySiHhUS32KWqBg5ciROp5Pp06djsVgoKiri4YcfBsA0TebNm8eECROi2//sZz/j1FNP5eKLL+bnP/95rMIWEREREYmJmoZd7KzVWNI9qaHmvkXM1qkfGk8q8Smm84z2HEkKcMcddwBgGAafffbZXo899thjHRWWiIiIiEins7almqJv4dCkHku6J40o3Tc105R4pxSbiIiIiEgcWFvaPJa0uNuwGEfSeWSmZANQ06hExZ5al35YDCUqJD4pUSEiIiIi0smFwkE2lq8C1J9iT5mpzT0qahvjf/pJW4ou/bDock/ik85cEREREZFObnPFWgIhP/lZ3UlP6RLrcDqNFFc6Nosdr78Rf9AX63A6jXDr0g9VVEicUqJCRERERKSTW7utedmHqin2ZhgGGanNiZuaBi3/aBUxW5Z+qKJC4pTOXBERERGRTm5taXMjzeIiJSq+LjNFyz++rrWZppquSrxSokJEREREpBOrrt/JrtpynHY3PfL6xTqcTicjtaWhZoMSFa2iFRUaTypxSmeuiIiIiEgn1lpN0bdwiD4h3wdN/vimcCQEaDypxC8lKkREREREOjH1pziw3ZM/qmIcSefROp7UqkSFxCklKkREREREOqlA0M+GspUA9C8aEeNoOqeM1ooKNdOMio4n1dIPiVM6c0VEREREOqn15SsIRYIU5fQhzZMZ63A6pcyWHhVqprlba0WFln5IvFKiQkRERESkk1q7bTEA/buPjGkcnVm6pwsGBnVN1dHeDMmudeqHKiok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/L5ggorjueuuu3TgwAF96lOfkiT97ne/U1VVldauXavFixfrtttu04IFC+R2u/Xzn/88x6tFTznReNvp06fr+uuvl9/vV2lpqZYtW5br5aIHnOpIYxS+xYsX6+abb9ayZct04403yuVyacWKFbzOLWjatGlyu92aM2eOpkyZomHDhulHP/qRbrvtNt1+++2ZipuTNd5C4TjROb/55pvV1NQkwzB0991353qp6CHxeFzXX3+91q9fr+uuu05f+9rX9MYbb/A6t7gTnXde69b0xz/+Ue+8846+9a1vSZK+/e1v68knn9TSpUv1la98RV/4whcUiUR0++23n/BxCn48KQAAAAAAsA42gQEAAAAAgLxBUAEAAAAAAPIGQQUAAAAAAMgbBBUAAAAAACBvEFQAAAAAAIC8QVABAAAAAADyBkEFAAAAAADIGwQVAAAgb8yfP18vv/yyJOn73/++vvrVr+Z4RQAAINscuV4AAABAm9tvv10/+MEPdPDgQb3//vt6/PHHc70kAACQZUZjY6OZ60UAAAC0mTt3rlpbW/XMM8+ouLg418sBAABZxtYPAACQNzZs2KC6ujq5XC5CCgAA+iiCCgAAkBdqa2t1880367HHHpPf79eKFStyvSQAAJADBBUAACDnQqGQPv3pT2vJkiWaMGGCvvrVr+qHP/xhrpcFAABygB4VAAAAAAAgb1BRAQAAAAAA8gZBBQAAAAAAyBsEFQAAAAAAIG8QVAAAAAAAgLxBUAEAAAAAAPIGQQUAAAAAAMgbBBUAAAAAACBvEFQAAAAAAIC88f8BS3cMEyLysBcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(16, 8))\n", "x = np.linspace(-2, 2, 1000)\n", "plt.plot(x, f(x), lw=2, ls='dashed', alpha = .7)\n", "plt.scatter(x_train, y_train, s=20, color='C1')\n", "plt.scatter(x_test, y_test, s=20, color='C2')\n", "plt.plot(x, predictions(theta,x), color='C3', linewidth=2, alpha=1)\n", "plt.xlim(-2, 2)\n", "plt.ylim(-1,1)\n", "plt.xlabel('$x$')\n", "plt.ylabel('$y$')\n", "plt.title('grado={0:d}'.format(degree), fontsize=12)\n", "plt.text(0.9, 0.9, 'Costo\\ntrain: {0:.3f}\\ntest: {1:.3f}'.format(c_train, c_test), fontsize=12, \n", " transform=ax.transAxes, bbox=bbox_props)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcola costo su training e test set al variare del grado del polinomio " ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "maxdeg = 20\n", "costs_train = [] \n", "costs_test = [] " ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [], "source": [ "for degree in range(0, maxdeg):\n", " X = np.ones(n_train).reshape(-1,1)\n", " Z = x_train\n", " for i in range(degree):\n", " X = np.column_stack((X, Z))\n", " Z=Z*x_train\n", " \n", " theta = np.dot(np.dot(np.linalg.inv(np.dot(X.T, X)), X.T), y_train)\n", " \n", " costs_train.append(cost(theta,x_train,y_train))\n", " costs_test.append(cost(theta,x_test,y_test))" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "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", " \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", "
traintestratio
00.17901.557000e-018.698324e-01
10.15341.315000e-018.572360e-01
20.14022.270000e-011.619116e+00
30.11951.142000e-019.556485e-01
40.07456.499000e-018.723490e+00
50.06642.328000e-013.506024e+00
60.06156.437000e-011.046667e+01
70.06101.139800e+001.868525e+01
80.06108.527000e-011.397869e+01
90.06081.234000e+002.029605e+01
100.05862.408840e+014.110648e+02
110.05581.653656e+022.963541e+03
120.05543.541684e+026.392931e+03
130.05526.490590e+011.175832e+03
140.05524.760100e+018.623370e+02
150.05522.160621e+023.914168e+03
160.05534.064284e+037.349520e+04
170.10595.959927e+055.627882e+06
180.09587.857815e+048.202312e+05
192.39402.021641e+068.444614e+05
200.17901.557000e-018.698324e-01
210.15341.315000e-018.572360e-01
220.14022.270000e-011.619116e+00
230.11951.142000e-019.556485e-01
240.07456.499000e-018.723490e+00
250.06642.328000e-013.506024e+00
260.06156.437000e-011.046667e+01
270.06101.139800e+001.868525e+01
280.06108.527000e-011.397869e+01
290.06081.234000e+002.029605e+01
300.05862.408840e+014.110648e+02
310.05581.653656e+022.963541e+03
320.05543.541684e+026.392931e+03
330.05526.490590e+011.175832e+03
340.05524.760100e+018.623370e+02
350.05522.160621e+023.914168e+03
360.05534.064284e+037.349520e+04
370.10595.959927e+055.627882e+06
380.09587.857815e+048.202312e+05
392.39402.021641e+068.444614e+05
\n", "
" ], "text/plain": [ " train test ratio\n", "0 0.1790 1.557000e-01 8.698324e-01\n", "1 0.1534 1.315000e-01 8.572360e-01\n", "2 0.1402 2.270000e-01 1.619116e+00\n", "3 0.1195 1.142000e-01 9.556485e-01\n", "4 0.0745 6.499000e-01 8.723490e+00\n", "5 0.0664 2.328000e-01 3.506024e+00\n", "6 0.0615 6.437000e-01 1.046667e+01\n", "7 0.0610 1.139800e+00 1.868525e+01\n", "8 0.0610 8.527000e-01 1.397869e+01\n", "9 0.0608 1.234000e+00 2.029605e+01\n", "10 0.0586 2.408840e+01 4.110648e+02\n", "11 0.0558 1.653656e+02 2.963541e+03\n", "12 0.0554 3.541684e+02 6.392931e+03\n", "13 0.0552 6.490590e+01 1.175832e+03\n", "14 0.0552 4.760100e+01 8.623370e+02\n", "15 0.0552 2.160621e+02 3.914168e+03\n", "16 0.0553 4.064284e+03 7.349520e+04\n", "17 0.1059 5.959927e+05 5.627882e+06\n", "18 0.0958 7.857815e+04 8.202312e+05\n", "19 2.3940 2.021641e+06 8.444614e+05\n", "20 0.1790 1.557000e-01 8.698324e-01\n", "21 0.1534 1.315000e-01 8.572360e-01\n", "22 0.1402 2.270000e-01 1.619116e+00\n", "23 0.1195 1.142000e-01 9.556485e-01\n", "24 0.0745 6.499000e-01 8.723490e+00\n", "25 0.0664 2.328000e-01 3.506024e+00\n", "26 0.0615 6.437000e-01 1.046667e+01\n", "27 0.0610 1.139800e+00 1.868525e+01\n", "28 0.0610 8.527000e-01 1.397869e+01\n", "29 0.0608 1.234000e+00 2.029605e+01\n", "30 0.0586 2.408840e+01 4.110648e+02\n", "31 0.0558 1.653656e+02 2.963541e+03\n", "32 0.0554 3.541684e+02 6.392931e+03\n", "33 0.0552 6.490590e+01 1.175832e+03\n", "34 0.0552 4.760100e+01 8.623370e+02\n", "35 0.0552 2.160621e+02 3.914168e+03\n", "36 0.0553 4.064284e+03 7.349520e+04\n", "37 0.1059 5.959927e+05 5.627882e+06\n", "38 0.0958 7.857815e+04 8.202312e+05\n", "39 2.3940 2.021641e+06 8.444614e+05" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame()\n", "df['train'] = costs_train\n", "df['test'] = costs_test\n", "df['ratio'] = df.test/df.train\n", "df" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "top = maxdeg\n", "fig, axarr = plt.subplots(2, sharex=True, figsize=(12, 6))\n", "axarr[0].plot(df.index[:top], df.train[:top], linewidth=2, alpha = .7, marker = 'o', markersize=5)\n", "axarr[0].set_title('Train')\n", "axarr[0].set_xlabel('$d$')\n", "axarr[0].set_ylabel('$E_{RMS}$')\n", "axarr[1].plot(df.index[:top], df.test[:top], linewidth=2, alpha = .7, marker = 'o', markersize=5, color='C1')\n", "axarr[1].set_title('Test')\n", "plt.xlim(-0.1, df.index[top-1]+.1)\n", "axarr[1].set_xlabel('$d$')\n", "axarr[1].set_ylabel('$E_{RMS}$')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "top = maxdeg\n", "fig, ax = plt.subplots(figsize=(12, 6))\n", "plt.plot(df.index[:top], df.ratio[:top], linewidth=2, alpha = .7, marker = 'o', markersize=5)\n", "plt.xlim(-0.1, df.index[top-1]+.1)\n", "plt.xlabel('$d$')\n", "plt.ylabel(r'$ratio$')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3.8", "language": "python", "name": "python3.8" }, "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.8.0" }, "vscode": { "interpreter": { "hash": "ce48646bb6368aff8c12a2b8eeb9d1b908c9dd0a6e2925fc70e8d8f5f2053bd1" } } }, "nbformat": 4, "nbformat_minor": 4 }