{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example of overfitting\n", "\n", "If we do not have enough data then a more complex model will overift. Try changing the number_of_samples to 100 and see that we get something closer to a straightline. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import operator\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.metrics import mean_squared_error, r2_score\n", "from sklearn.preprocessing import PolynomialFeatures\n", "from sklearn.pipeline import make_pipeline\n", "from sklearn.linear_model import Ridge\n", "\n", "number_of_samples = 15\n", "np.random.seed(0)\n", "x = np.random.uniform(0, 2, number_of_samples)\n", "y = (2+np.random.normal(0,0.1,number_of_samples))*x #+ np.random.normal(0, 0.5, number_of_samples)\n", "#x_plot = np.linspace(np.min(x),np.max(x),100)\n", "x_plot = np.linspace(0,2,100)\n", "y_true = (2+np.random.normal(0,0.1,len(x_plot)))*x_plot\n", "\n", "x_plot = x_plot[:,np.newaxis]\n", "# transforming the data to include another axis\n", "x = x[:, np.newaxis]\n", "y = y[:, np.newaxis]\n", "lw = 2\n", "plt.scatter(x, y,color='red', s=30, marker='o',label=\"Training data\" )\n", "#plt.plot(x_plot,y_true,linewidth=lw,color='green',label=\"Ground Truth\")\n", "for degree in [1,13]:\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, linewidth=lw,\n", " label=\"degree %d\" % degree)\n", "\n", "plt.legend(loc='upper left')\n", "plt.savefig(\"overfitting.png\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Code taken from https://scikit-learn.org/stable/" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Code source: Gaël Varoquaux\n", "# Andreas Müller\n", "# Modified for documentation by Jaques Grobler\n", "# License: BSD 3 clause\n", "# Minor modification see https://scikit-learn.org/stable/ for the original code.\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.colors import ListedColormap\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.datasets import make_moons, make_circles, make_classification\n", "from sklearn.neural_network import MLPClassifier\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.svm import SVC\n", "from sklearn.gaussian_process import GaussianProcessClassifier\n", "from sklearn.gaussian_process.kernels import RBF\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier\n", "from sklearn.naive_bayes import GaussianNB\n", "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\n", "\n", "h = .02 # step size in the mesh\n", "\n", "names = [\"Nearest Neighbors\", \n", " #\"Linear SVM\", \n", " #\"RBF SVM\", \n", " #\"Gaussian Process\",\n", " \"Decision Tree\", \n", " #\"Random Forest\",\n", " #\"Neural Net\", \n", " #\"AdaBoost\",\n", " #\"Naive Bayes\",\n", " #\"QDA\"\n", " ]\n", "\n", "classifiers = [\n", " KNeighborsClassifier(3),\n", " #SVC(kernel=\"linear\", C=0.025),\n", " #SVC(gamma=2, C=1),\n", " #GaussianProcessClassifier(1.0 * RBF(1.0)),\n", " DecisionTreeClassifier(max_depth=5),\n", " #RandomForestClassifier(max_depth=5, n_estimators=10, max_features=1),\n", " #MLPClassifier(alpha=1, max_iter=1000),\n", " #AdaBoostClassifier(),\n", " #GaussianNB(),\n", " #QuadraticDiscriminantAnalysis()\n", " ]\n", "\n", "X, y = make_classification(n_features=2, n_redundant=0, n_informative=2,\n", " random_state=1, n_clusters_per_class=1)\n", "rng = np.random.RandomState(2)\n", "X += 2 * rng.uniform(size=X.shape)\n", "linearly_separable = (X, y)\n", "\n", "datasets = [make_moons(noise=0.3, random_state=0),\n", " make_circles(noise=0.2, factor=0.5, random_state=1),\n", " linearly_separable\n", " ]\n", "\n", "figure = plt.figure(figsize=(5, 3))\n", "i = 1\n", "# iterate over datasets\n", "for ds_cnt, ds in enumerate(datasets):\n", " # preprocess dataset, split into training and test part\n", " X, y = ds\n", " X = StandardScaler().fit_transform(X)\n", " X_train, X_test, y_train, y_test = \\\n", " train_test_split(X, y, test_size=.4, random_state=42)\n", "\n", " x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5\n", " y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5\n", " xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n", " np.arange(y_min, y_max, h))\n", "\n", " # just plot the dataset first\n", " cm = plt.cm.RdBu\n", " cm_bright = ListedColormap(['#FF0000', '#0000FF'])\n", " ax = plt.subplot(len(datasets), len(classifiers) + 1, i)\n", " if ds_cnt == 0:\n", " ax.set_title(\"Input data\")\n", " # Plot the training points\n", " ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train, cmap=cm_bright,\n", " edgecolors='k')\n", " # Plot the testing points\n", " ax.scatter(X_test[:, 0], X_test[:, 1], c=y_test, cmap=cm_bright, alpha=0.6,\n", " edgecolors='k')\n", " ax.set_xlim(xx.min(), xx.max())\n", " ax.set_ylim(yy.min(), yy.max())\n", " ax.set_xticks(())\n", " ax.set_yticks(())\n", " i += 1\n", "\n", " # iterate over classifiers\n", " for name, clf in zip(names, classifiers):\n", " ax = plt.subplot(len(datasets), len(classifiers) + 1, i)\n", " clf.fit(X_train, y_train)\n", " score = clf.score(X_test, y_test)\n", "\n", " # Plot the decision boundary. For that, we will assign a color to each\n", " # point in the mesh [x_min, x_max]x[y_min, y_max].\n", " if hasattr(clf, \"decision_function\"):\n", " Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])\n", " else:\n", " Z = clf.predict_proba(np.c_[xx.ravel(), yy.ravel()])[:, 1]\n", "\n", " # Put the result into a color plot\n", " Z = Z.reshape(xx.shape)\n", " ax.contourf(xx, yy, Z, cmap=cm, alpha=.8)\n", "\n", " # Plot the training points\n", " ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train, cmap=cm_bright,\n", " edgecolors='k')\n", " # Plot the testing points\n", " ax.scatter(X_test[:, 0], X_test[:, 1], c=y_test, cmap=cm_bright,\n", " edgecolors='k', alpha=0.6)\n", "\n", " ax.set_xlim(xx.min(), xx.max())\n", " ax.set_ylim(yy.min(), yy.max())\n", " ax.set_xticks(())\n", " ax.set_yticks(())\n", " if ds_cnt == 0:\n", " ax.set_title(name)\n", " ax.text(xx.max() - .3, yy.min() + .3, ('%.2f' % score).lstrip('0'),\n", " size=15, horizontalalignment='right')\n", " i += 1\n", "\n", "plt.tight_layout()\n", "plt.savefig(\"classification.png\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "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tcpCAyI0Hfl5LV0OOTkUCXkvPs3LF79M2qg0M0WsEZeHEt8B24DtRjJakaaNi3ozoAzEdKoZk7/99tty++23+6Vuu90uBw4cqNcx5eXlDTpXSUmJFBcXi4hIXl6e2O122bVrl4iInH766bJ06VJxOp0yZswYmTdvnoiITJ06VZ588kkREXnyySflb3/7m8e6A/75O50iHTqIgMjGjScUuwyxhxjG3ZvwryG2OzlHcyT6AaQCpBSku81Wr/P+9lKaCMj3/WP9KKV3lFLaqNxDstvt9boWajAmb3LFV59Uq5I0XjTTUy3s2LFDevbsKbfccov07t1bLrjgAiksLPS472+//SYXXXSRDB48WM4++2zZsmWLiIjMmTNH+vTpI/3795eRI0dKSUmJJCUlSevWrWXAgAHywQcfVFGaEyZMkNtuu02GDRsmnTt3loULF8pNN90kPXv2lAkTJlSe77bbbpMhQ4ZI79695eGHHxYRkZdeeklCQ0Olb9++MmrUKBERef/996Vv377Sp0+fKgopOjpa7r77bunfv7/88MMPct9990mvXr2kX79+cs8999R6b6pz8OBBSUpKkl27dsnu3bulR48elWXvv/++TJo0SUREunfvLrt37xYRkd27d0v37t091hfwSlJEZNw4/R5Nm3ZCkct75FbjXXsP87xramPGezOENGRja33uofVU0D+M7CMCMrV//ZWSGVR63nhQkPXFUpKNoCSDg4NlzZo1IiJy7bXXysyZMz3u+7vf/U5+/fVXERH56aefZPTo0SIi0rdvX8nJyRERkdzcXBE5sSVZXUlef/314nQ65dNPP5WYmBhZv369VFRUyODBgytlOXTokIjoVuC5554r69atE5GqLcldu3ZJUlKS7N+/X8rKymT06NHyySefGLcUmT17tohoBde9e3dxOp1V5MzIyJABAwackK6++upK2bOzs6Vfv34SGRkp0wxlsWLFCjnvvPMq91m8eLFceumlIiISFxdXme90Oqt8dqdZKMkZM/R7dM01JxS5WkPTjXftL8YXXSnld7FsdpuQhrwzQJ/7tnoomYyMDNkQrY8763R9XGO1gN1liIqKqqIgGypDTUry5BqT9JearAP1jSc5cOBAJk+ezJ49OvKpK57k66+/XudlEjzFkwwKCqqMJwkwZ84cBg8ezKBBg9i0aRObN28+oR73eJIh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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Author: Noel Dawe \n", "#\n", "# License: BSD 3 clause\n", "\n", "# importing necessary libraries\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.tree import DecisionTreeRegressor\n", "from sklearn.ensemble import AdaBoostRegressor\n", "\n", "# Create the dataset\n", "rng = np.random.RandomState(1)\n", "X = np.linspace(0, 6, 100)[:, np.newaxis]\n", "y = np.sin(X).ravel() + np.sin(6 * X).ravel() + rng.normal(0, 0.1, X.shape[0])\n", "\n", "# Fit regression model\n", "regr_1 = DecisionTreeRegressor(max_depth=4)\n", "\n", "regr_2 = AdaBoostRegressor(DecisionTreeRegressor(max_depth=4),\n", " n_estimators=300, random_state=rng)\n", "\n", "regr_1.fit(X, y)\n", "regr_2.fit(X, y)\n", "\n", "# Predict\n", "y_1 = regr_1.predict(X)\n", "y_2 = regr_2.predict(X)\n", "\n", "# Plot the results\n", "plt.figure()\n", "plt.scatter(X, y, c=\"k\", label=\"training samples\")\n", "plt.plot(X, y_1, c=\"g\", label=\"n_estimators=1\", linewidth=2)\n", "plt.plot(X, y_2, c=\"r\", label=\"n_estimators=300\", linewidth=2)\n", "plt.xlabel(\"data\")\n", "plt.ylabel(\"target\")\n", "plt.title(\"Boosted Decision Tree Regression\")\n", "plt.legend()\n", "plt.savefig(\"regression.png\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# An Elphant\n", "\"With four parameters I can fit an elephant, and with five I can\n", "make him wiggle his trunk.\" Attributed to John von Neumann.\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\"\"\"\n", "Author: Piotr A. Zolnierczuk (zolnierczukp at ornl dot gov)\n", "\n", "Based on a paper by:\n", "Drawing an elephant with four complex parameters\n", "Jurgen Mayer, Khaled Khairy, and Jonathon Howard,\n", "Am. J. Phys. 78, 648 (2010), DOI:10.1119/1.3254017\n", "\"\"\"\n", "import numpy as np\n", "import pylab\n", "\n", "# elephant parameters\n", "p1, p2, p3, p4 = (50 - 30j, 18 + 8j, 12 - 10j, -14 - 60j )\n", "p5 = 40 + 20j # eyepiece\n", "\n", "def fourier(t, C):\n", " f = np.zeros(t.shape)\n", " A, B = C.real, C.imag\n", " for k in range(len(C)):\n", " f = f + A[k]*np.cos(k*t) + B[k]*np.sin(k*t)\n", " return f\n", "\n", "def elephant(t, p1, p2, p3, p4, p5):\n", " npar = 6\n", " Cx = np.zeros((npar,), dtype='complex')\n", " Cy = np.zeros((npar,), dtype='complex')\n", "\n", " Cx[1] = p1.real*1j\n", " Cx[2] = p2.real*1j\n", " Cx[3] = p3.real\n", " Cx[5] = p4.real\n", "\n", " Cy[1] = p4.imag + p1.imag*1j\n", " Cy[2] = p2.imag*1j\n", " Cy[3] = p3.imag*1j\n", "\n", " x = np.append(fourier(t,Cx), [-p5.imag])\n", " y = np.append(fourier(t,Cy), [p5.imag])\n", "\n", " return x,y\n", "\n", "x, y = elephant(np.linspace(0,2*np.pi,1000), p1, p2, p3, p4, p5)\n", "#pylab.figure(figsize=(1, 2))\n", "pylab.plot(y,-x,'.')\n", "pylab.savefig(\"elephant.png\")\n", "pylab.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Very silly machine learning example" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "theta_0 =1.0 theta_1=3.0 rms = 33.53666666666666\n", "theta_0 =1.5 theta_1=2.0 rms = 2.4283333333333332\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "\n", "import numpy as np\n", "\n", "x_training = [3,6,9]\n", "y_training = [6.9,12.1,16]\n", "plt.scatter(x_training, y_training,color='red', s=30, marker='o',label=\"Training data\" )\n", "\n", "def h(theta0,theta1,x):\n", " return theta0 + theta1*x\n", "\n", "\n", "def rms(theta0,theta1,x,y):\n", " error = 0.0\n", " for (xi,yi) in zip(x,y):\n", " error = error + (h(theta0,theta1,xi) - yi)*(h(theta0,theta1,xi) - yi)\n", " return 0.5*(1/len(x))*error\n", "\n", "print(\"theta_0 =1.0 theta_1=3.0 rms = \",rms(1.0,3.0,x_training,y_training))\n", "print(\"theta_0 =1.5 theta_1=2.0 rms = \",rms(1.5,2.0,x_training,y_training))\n", "x_plot = np.linspace(0,9,100)\n", "y_plot_1 = 1.0 + 3.0*x_plot\n", "y_plot_2 = 0.1 + 2.0*x_plot\n", "plt.plot(x_plot,y_plot_1,color='blue',label='theta0 = 1.0, theta1 = 3.0')\n", "plt.plot(x_plot,y_plot_2,color='green',label=\"theta0 = 1.5, theta1 = 2.0\")\n", "\n", "plt.legend(loc='upper left')\n", "plt.savefig('silly.png')\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "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.9" } }, "nbformat": 4, "nbformat_minor": 2 }