diff --git a/wyk/02_Regresja_liniowa.ipynb b/wyk/02_Regresja_liniowa.ipynb index 66086cd..8d481a7 100644 --- a/wyk/02_Regresja_liniowa.ipynb +++ b/wyk/02_Regresja_liniowa.ipynb @@ -40,7 +40,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "slideshow": { "slide_type": "notes" @@ -48,13 +48,16 @@ }, "outputs": [], "source": [ + "# Przydatne importy\n", + "\n", "import numpy as np\n", "import matplotlib\n", - "import matplotlib.pyplot as pl\n", + "import matplotlib.pyplot as plt\n", "import ipywidgets as widgets\n", + "import pandas as pd\n", "\n", "%matplotlib inline\n", - "%config InlineBackend.figure_format = 'svg'\n", + "%config InlineBackend.figure_format = \"svg\"\n", "\n", "from IPython.display import display, Math, Latex" ] @@ -66,66 +69,13 @@ "slide_type": "slide" } }, - "source": [ - "### Dane" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "slideshow": { - "slide_type": "fragment" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "6.1101,17.592\n", - "\n", - "5.5277,9.1302\n", - "\n", - "8.5186,13.662\n", - "\n", - "7.0032,11.854\n", - "\n", - "5.8598,6.8233\n", - "\n", - "8.3829,11.886\n", - "\n", - "7.4764,4.3483\n", - "\n", - "8.5781,12\n", - "\n", - "6.4862,6.5987\n", - "\n", - "5.0546,3.8166\n", - "\n" - ] - } - ], - "source": [ - "with open('data01_train.csv') as data:\n", - " for line in data.readlines()[:10]:\n", - " print(line)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, "source": [ "### Wczytanie danych" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "metadata": { "slideshow": { "slide_type": "fragment" @@ -136,24 +86,37 @@ "name": "stdout", "output_type": "stream", "text": [ - "x = [6.1101, 5.5277, 8.5186, 7.0032, 5.8598, 8.3829, 7.4764, 8.5781, 6.4862, 5.0546]\n", - "y = [17.592, 9.1302, 13.662, 11.854, 6.8233, 11.886, 4.3483, 12.0, 6.5987, 3.8166]\n" + " x y\n", + "0 6.1101 17.5920\n", + "1 5.5277 9.1302\n", + "2 8.5186 13.6620\n", + "3 7.0032 11.8540\n", + "4 5.8598 6.8233\n", + "5 8.3829 11.8860\n", + "6 7.4764 4.3483\n", + "7 8.5781 12.0000\n", + "8 6.4862 6.5987\n", + "9 5.0546 3.8166\n" ] } ], "source": [ - "import csv\n", - "\n", - "reader = csv.reader(open('data01_train.csv'), delimiter=',')\n", - "\n", - "x = list()\n", - "y = list()\n", - "for xi, yi in reader:\n", - " x.append(float(xi))\n", - " y.append(float(yi)) \n", - " \n", - "print('x = {}'.format(x[:10])) \n", - "print('y = {}'.format(y[:10]))" + "data = pd.read_csv(\"data01_train.csv\", names=[\"x\", \"y\"])\n", + "print(data[:10])" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [], + "source": [ + "x = data[[\"x\"]].to_numpy().flatten()\n", + "y = data[[\"y\"]].to_numpy().flatten()" ] }, { @@ -267,12 +230,58 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 50, "metadata": { "slideshow": { "slide_type": "skip" } }, + "outputs": [], + "source": [ + "# Funkcje rysujące wykres kropkowy oraz prostą regresyjną\n", + "\n", + "def regdots(x, y): \n", + " fig = plt.figure(figsize=(16*.6, 9*.6))\n", + " ax = fig.add_subplot(111)\n", + " fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n", + " ax.scatter(x, y, c='r', s=50, label='Dane')\n", + " \n", + " ax.set_xlabel(u'Wielkość miejscowości [dzies. tys. mieszk.]')\n", + " ax.set_ylabel(u'Dochód firmy [dzies. tys. dolarów]')\n", + " ax.margins(.05, .05)\n", + " plt.ylim(min(y) - 1, max(y) + 1)\n", + " plt.xlim(min(x) - 1, max(x) + 1)\n", + " return fig\n", + "\n", + "def regline(fig, fun, theta, x):\n", + " ax = fig.axes[0]\n", + " x0, x1 = min(x), max(x)\n", + " X = [x0, x1]\n", + " Y = [fun(theta, x) for x in X]\n", + " ax.plot(X, Y, linewidth='2',\n", + " label=(r'$y={theta0}{op}{theta1}x$'.format(\n", + " theta0=theta[0],\n", + " theta1=(theta[1] if theta[1] >= 0 else -theta[1]),\n", + " op='+' if theta[1] >= 0 else '-')))\n", + "\n", + "def legend(fig):\n", + " ax = fig.axes[0]\n", + " handles, labels = ax.get_legend_handles_labels()\n", + " # try-except block is a fix for a bug in Poly3DCollection\n", + " try:\n", + " fig.legend(handles, labels, fontsize='15', loc='lower right')\n", + " except AttributeError:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, "outputs": [ { "data": { @@ -317,89 +326,89 @@ "C -3.535534 0.937635 -3.163008 1.836992 -2.5 2.5 \r\n", "C -1.836992 3.163008 -0.937635 3.535534 0 3.535534 \r\n", "z\r\n", - "\" id=\"md053813acf\" style=\"stroke:#ff0000;\"/>\r\n", + "\" id=\"m60bb03830c\" style=\"stroke:#ff0000;\"/>\r\n", " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -408,10 +417,10 @@ " \r\n", " \r\n", + "\" id=\"m083554a0d3\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -479,7 +488,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -505,7 +514,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -536,7 +545,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -578,7 +587,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -594,7 +603,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -610,7 +619,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -626,7 +635,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1057,10 +1066,10 @@ " \r\n", " \r\n", + "\" id=\"mb721cc4e99\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1073,7 +1082,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1086,7 +1095,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1100,7 +1109,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1114,7 +1123,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1128,7 +1137,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1348,7 +1357,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1384,7 +1393,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -1401,48 +1410,13 @@ } ], "source": [ - "# Funkcje rysujące wykres kropkowy oraz prostą regresyjną\n", - "\n", - "def regdots(x, y): \n", - " fig = pl.figure(figsize=(16*.6, 9*.6))\n", - " ax = fig.add_subplot(111)\n", - " fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n", - " ax.scatter(x, y, c='r', s=50, label='Dane')\n", - " \n", - " ax.set_xlabel(u'Wielkość miejscowości [dzies. tys. mieszk.]')\n", - " ax.set_ylabel(u'Dochód firmy [dzies. tys. dolarów]')\n", - " ax.margins(.05, .05)\n", - " pl.ylim(min(y) - 1, max(y) + 1)\n", - " pl.xlim(min(x) - 1, max(x) + 1)\n", - " return fig\n", - "\n", - "def regline(fig, fun, theta, x):\n", - " ax = fig.axes[0]\n", - " x0, x1 = min(x), max(x)\n", - " X = [x0, x1]\n", - " Y = [fun(theta, x) for x in X]\n", - " ax.plot(X, Y, linewidth='2',\n", - " label=(r'$y={theta0}{op}{theta1}x$'.format(\n", - " theta0=theta[0],\n", - " theta1=(theta[1] if theta[1] >= 0 else -theta[1]),\n", - " op='+' if theta[1] >= 0 else '-')))\n", - "\n", - "def legend(fig):\n", - " ax = fig.axes[0]\n", - " handles, labels = ax.get_legend_handles_labels()\n", - " # try-except block is a fix for a bug in Poly3DCollection\n", - " try:\n", - " fig.legend(handles, labels, fontsize='15', loc='lower right')\n", - " except AttributeError:\n", - " pass\n", - "\n", "fig = regdots(x,y)\n", "legend(fig)" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 52, "metadata": { "slideshow": { "slide_type": "notes" @@ -1458,7 +1432,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 53, "metadata": { "slideshow": { "slide_type": "notes" @@ -1479,7 +1453,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 55, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1489,7 +1463,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ee3dee078fac4b469781165479aab88d", + "model_id": "f54c3887f3474dd5873fd23e9e8f2c1a", "version_major": 2, "version_minor": 0 }, @@ -1506,7 +1480,7 @@ "" ] }, - "execution_count": 7, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1633,7 +1607,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 56, "metadata": { "slideshow": { "slide_type": "fragment" @@ -1649,7 +1623,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 59, "metadata": { "slideshow": { "slide_type": "notes" @@ -1666,12 +1640,12 @@ " X = [x0, x1]\n", " Y = [fun(theta, x) for x in X]\n", " cost = J(fun, theta, xx, yy)\n", - " ax.plot(X, Y, linewidth='2',\n", + " ax.plot(X, Y, linewidth=\"2\", \n", " label=(r'$y={theta0}{op}{theta1}x, \\; J(\\theta)={cost:.3}$'.format(\n", " theta0=theta[0],\n", " theta1=(theta[1] if theta[1] >= 0 else -theta[1]),\n", " op='+' if theta[1] >= 0 else '-',\n", - " cost=cost)))\n", + " cost=str(cost))))\n", "\n", "sliderTheta02 = widgets.FloatSlider(min=-10, max=10, step=0.1, value=0, description=r'$\\theta_0$', width=300)\n", "sliderTheta12 = widgets.FloatSlider(min=-5, max=5, step=0.1, value=0, description=r'$\\theta_1$', width=300)\n", @@ -1695,7 +1669,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 60, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1705,7 +1679,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "11d4fe5294534f8bb1b7f92d0b101618", + "model_id": "426285fc9dee403da315e39906ebee75", "version_major": 2, "version_minor": 0 }, @@ -1722,7 +1696,7 @@ "" ] }, - "execution_count": 10, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -1757,7 +1731,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 63, "metadata": { "slideshow": { "slide_type": "notes" @@ -1771,7 +1745,7 @@ " return lambda theta: J(fun, theta, x, y)\n", "\n", "def costplot(hypothesis, x, y, theta1=1.0):\n", - " fig = pl.figure(figsize=(16*.6, 9*.6))\n", + " fig = plt.figure(figsize=(16*.6, 9*.6))\n", " ax = fig.add_subplot(111)\n", " fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n", " ax.set_xlabel(r'$\\theta_0$')\n", @@ -1792,7 +1766,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 64, "metadata": { "slideshow": { "slide_type": "subslide" @@ -1802,7 +1776,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "87612824448b43d68e93ffefa96e08ea", + "model_id": "cef353c79906496e9f3eef01996a3cda", "version_major": 2, "version_minor": 0 }, @@ -1819,7 +1793,7 @@ "" ] }, - "execution_count": 12, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -1830,7 +1804,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 66, "metadata": { "slideshow": { "slide_type": "notes" @@ -1846,7 +1820,7 @@ "%matplotlib inline\n", "\n", "def costplot3d(hypothesis, x, y, show_gradient=False):\n", - " fig = pl.figure(figsize=(16*.6, 9*.6))\n", + " fig = plt.figure(figsize=(16*.6, 9*.6))\n", " ax = fig.add_subplot(111, projection='3d')\n", " fig.subplots_adjust(left=0.0, right=1.0, bottom=0.0, top=1.0)\n", " ax.set_xlabel(r'$\\theta_0$')\n", @@ -1871,7 +1845,7 @@ " ax.set_zlim3d(-100, 800);\n", "\n", " N = range(0, 800, 20)\n", - " pl.contour(X, Y, Z, N, zdir='z', offset=-100, cmap='coolwarm', alpha=1)\n", + " plt.contour(X, Y, Z, N, zdir='z', offset=-100, cmap='coolwarm', alpha=1)\n", " \n", " ax.plot([-3.89578088] * 2,\n", " [ 1.19303364] * 2,\n", @@ -1900,7 +1874,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 67, "metadata": { "slideshow": { "slide_type": "subslide" @@ -2787,12 +2761,12 @@ " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18626,7 +18600,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 68, "metadata": { "slideshow": { "slide_type": "notes" @@ -18635,7 +18609,7 @@ "outputs": [], "source": [ "def costplot2d(hypothesis, x, y, gradient_values=[], nohead=False):\n", - " fig = pl.figure(figsize=(16*.6, 9*.6))\n", + " fig = plt.figure(figsize=(16*.6, 9*.6))\n", " ax = fig.add_subplot(111)\n", " fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n", " ax.set_xlabel(r'$\\theta_0$')\n", @@ -18650,7 +18624,7 @@ " for xRow, yRow in zip(X, Y)])\n", " \n", " N = range(0, 800, 20)\n", - " pl.contour(X, Y, Z, N, cmap='coolwarm', alpha=1)\n", + " plt.contour(X, Y, Z, N, cmap='coolwarm', alpha=1)\n", "\n", " ax.scatter([-3.89578088], [1.19303364], c='r', s=80, marker='x',\n", " label=r'minimum: $J(-3.90, 1.19) = 4.48$')\n", @@ -18673,7 +18647,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 69, "metadata": { "slideshow": { "slide_type": "subslide" @@ -18717,10 +18691,10 @@ "L 4.472136 -4.472136 \r\n", "M -4.472136 -4.472136 \r\n", "L 4.472136 4.472136 \r\n", - "\" id=\"m58175b0180\" style=\"stroke:#ff0000;stroke-width:1.5;\"/>\r\n", + "\" id=\"m46e2a1b010\" style=\"stroke:#ff0000;stroke-width:1.5;\"/>\r\n", " \r\n", - " \r\n", - " \r\n", + " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18729,10 +18703,10 @@ " \r\n", " \r\n", + "\" id=\"m670fcc112f\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18797,7 +18771,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18848,7 +18822,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18864,7 +18838,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18906,7 +18880,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18921,7 +18895,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18936,7 +18910,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18951,7 +18925,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -18966,7 +18940,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -19019,10 +18993,10 @@ " \r\n", " \r\n", + "\" id=\"m9f75fed3bf\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -19036,7 +19010,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -19049,7 +19023,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -19062,7 +19036,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -19075,7 +19049,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -19122,7 +19096,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -19161,7 +19135,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", @@ -21448,7 +21422,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -21706,7 +21680,7 @@ " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -21778,7 +21752,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 70, "metadata": { "slideshow": { "slide_type": "subslide" @@ -22665,12 +22639,12 @@ " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", + "\" id=\"m00b4411bb7\" style=\"stroke:#008000;stroke-width:1.3;\"/>\r\n", " \r\n", - " \r\n", - " \r\n", + " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", - " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", - " \r\n", + " \r\n", " \r\n", " \r\n", " \r\n", @@ -38509,7 +38483,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 71, "metadata": { "slideshow": { "slide_type": "notes" @@ -38531,7 +38505,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 72, "metadata": { "slideshow": { "slide_type": "subslide" @@ -38541,7 +38515,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8bd13af9114746ea84731e492d2fc8a4", + "model_id": "75c2279c34ad46d5994601e3ac48cc77", "version_major": 2, "version_minor": 0 }, @@ -38558,7 +38532,7 @@ "" ] }, - "execution_count": 19, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -38667,7 +38641,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 73, "metadata": { "slideshow": { "slide_type": "notes" @@ -38689,7 +38663,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 93, "metadata": { "slideshow": { "slide_type": "fragment" @@ -38708,10 +38682,9 @@ " theta[1] - alpha/float(m) * sum((h(theta, x[i]) - y[i]) * x[i]\n", " for i in range(m))]\n", " theta = new_theta # jednoczesna aktualizacja - używamy zmiennej tymaczasowej\n", - " try:\n", - " prev_cost = current_cost\n", - " current_cost = cost_fun(h, theta, x, y)\n", - " except OverflowError:\n", + " prev_cost = current_cost\n", + " current_cost = cost_fun(h, theta, x, y)\n", + " if current_cost > prev_cost:\n", " print(\"Zbyt duża długość kroku!\")\n", " break\n", " if abs(prev_cost - current_cost) <= eps:\n", @@ -38722,7 +38695,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 94, "metadata": { "slideshow": { "slide_type": "subslide" @@ -38732,7 +38705,7 @@ { "data": { "text/latex": [ - "$\\displaystyle \\large\\textrm{Wynik:}\\quad \\theta = \\left[\\begin{array}{r}-3.0174 \\\\ 1.1330 \\\\ \\end{array}\\right] \\quad J(\\theta) = 4.7632 \\quad \\textrm{po 1020 iteracjach}$" + "$\\displaystyle \\large\\textrm{Wynik:}\\quad \\theta = \\left[\\begin{array}{r}-3.4894 \\\\ 1.1786 \\\\ \\end{array}\\right] \\quad J(\\theta) = 4.7371 \\quad \\textrm{po 22362 iteracjach}$" ], "text/plain": [ "" @@ -38743,7 +38716,7 @@ } ], "source": [ - "best_theta, log = gradient_descent(h, J, [0.0, 0.0], x, y, alpha=0.01, eps=0.0001)\n", + "best_theta, log = gradient_descent(h, J, [0.0, 0.0], x, y, alpha=0.001, eps=0.0000001)\n", "\n", "display(Math(r'\\large\\textrm{Wynik:}\\quad \\theta = ' + \n", " LatexMatrix(np.matrix(best_theta).reshape(2,1)) + \n", @@ -38753,7 +38726,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 95, "metadata": { "slideshow": { "slide_type": "notes" @@ -38771,7 +38744,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 96, "metadata": { "scrolled": true, "slideshow": { @@ -38782,7 +38755,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ddb258323ef24cd491d401b0f3882188", + "model_id": "9c29e853a32c4fe8b7b43b736c2edc0e", "version_major": 2, "version_minor": 0 }, @@ -38799,7 +38772,7 @@ "" ] }, - "execution_count": 24, + "execution_count": 96, "metadata": {}, "output_type": "execute_result" } @@ -38885,7 +38858,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 97, "metadata": { "slideshow": { "slide_type": "subslide" @@ -38896,7 +38869,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "57.711124440555636\n" + "59.68111013077243\n" ] } ], @@ -38973,7 +38946,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 98, "metadata": {}, "outputs": [], "source": [ @@ -38987,7 +38960,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 99, "metadata": { "slideshow": { "slide_type": "subslide" @@ -38998,7 +38971,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "3.713536032914909\n" + "3.4988278621350606\n" ] } ],