{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# CV for KNN\n", "\n", "In this problem, we compare 5-fold cross validation error, training set error, and test set error." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "import idx2numpy\n", "import mnist\n", "import matplotlib.pyplot as plt\n", "from sklearn import neighbors, cross_validation\n", "\n", "train_image_labels = idx2numpy.convert_from_file('train-labels-idx1-ubyte')\n", "train_images = idx2numpy.convert_from_file('train-images-idx3-ubyte')\n", "test_image_labels = idx2numpy.convert_from_file('t10k-labels-idx1-ubyte')\n", "test_images = idx2numpy.convert_from_file('t10k-images-idx3-ubyte')\n", "\n", "flattened_train_images = train_images.reshape((train_images.shape[0],\n", " train_images.shape[1]*train_images.shape[2]), \n", " order='C')\n", "flattened_test_images = test_images.reshape((test_images.shape[0], \n", " test_images.shape[1]*test_images.shape[2]), \n", " order='C')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see how the error rates change as we vary $K$, the number of neighbors." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "k_min = 1\n", "k_max = 31\n", "K = np.arange(k_min, k_max + 1, step=2)\n", "k_fold = cross_validation.KFold(n=len(train_images)//2, # use half the data set for speed\n", " n_folds=5, shuffle=True) \n", "training_set_error = np.empty(len(K), dtype=np.float64)\n", "test_set_error = np.empty_like(training_set_error)\n", "cv_error = np.empty_like(training_set_error)\n", "for i in range(len(K)):\n", " nn_clf = neighbors.KNeighborsClassifier(n_neighbors=K[i], algorithm='brute')\n", " nn_clf.fit(flattened_train_images, train_image_labels)\n", " # test on first 1000 for speed reasons\n", " training_set_error[i] = 1 - nn_clf.score(flattened_train_images[:1000], train_image_labels[:1000])\n", " test_set_error[i] = 1 - nn_clf.score(flattened_test_images[:1000], test_image_labels[:1000])\n", " cv_errors = 1 - cross_validation.cross_val_score(estimator=nn_clf, cv=k_fold,\n", " X=flattened_train_images, y=train_image_labels)\n", " cv_error[i] = np.mean(cv_errors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot these error error rates now." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nVpGfW2L+eWbHtzu8+6Pdvfbttb37o919x7c7Kn3OMMf45z//6dnZ2V5QUFDuNmPHjvU6der4Sy+9\n5O7u33zzjY8ePdr79OnjW7Zs8S1btvhJJ53kt956q7u733zzzf6rX/3KCwoKfN++ff7WW2+5u/tH\nH33kbdu29c8//9zd3Tds2OAff/xxmec84ogj/LXXXitevuSSS/yee+5xd/f33nvPFyxY4IWFhb5h\nwwbv0qWLP/jgg8XbmpmvXbvW3d2HDh3qo0ePdnf3f/zjH3744Yf7ihUrfPfu3T548GDPysoq3vaN\nN97wDz74wN3dly1b5ocffrjPmDHD3d3Xr1/vWVlZXlhYWHyeZ555xk8++WR3d9+2bZs3atTIp0yZ\n4gUFBT5t2jRv1KiRb9u2zd3d+/fv70cccYSvWbPGv/32W+/fv7/ffPPNZX73xYsXe/PmzX3RokVe\nWFjof/7zn719+/b+3Xffubt7+/bt/dhjj/VPP/3Uv/322zLX7d2714844ggfP3687927119//XXP\nycnxVatWFeelYcOGPn/+fHd337Nnz0FxlHctu3v0kQx371DGS1NJawj11YaTivzVpFvT6vqLn3IX\njvIXjvJXtT748gOWf7WcfYX7eP+L98kdn8vYuWMP2m7s3LHlrs8dn8v7X7zPvsJ9rPhqBcu/Wh7z\n+bdu3UrTpk3Jyqr4x8Y+ffpw3nnnAVCvXj2mTp3KmDFjaNKkCU2aNGHMmDE899xzAGRnZ/PZZ5+x\nbt06atWqRd++fQGoVasW3333HR988AH79u2jXbt2dOjQoczzDRo0iKlTpwKQn5/P7NmzGTRoEADH\nHXccvXr1wsxo164dv/zlL3njjTeiftcXX3yRYcOGcfTRR3PIIYcwduzYAz4/5ZRT6Nq1KwDdunVj\n0KBBBx3Xy2mXevnllznyyCMZPHgwWVlZDBo0iM6dOx80etCxY0fq1q3LpZdeytKlS8s81pNPPsn/\n/u//csIJJ2BmDBkyhLp16/Luu+8Wb3P99dfTqlUr6tatW+a6d999l127djFixAhq167Naaedxrnn\nnsu0adOKt7/gggvo3bs3AHXq1Imav5LKvVrM7Hcl3l9S6rO7KnUWEUmITZvgzDPh//0/WLAAfv5z\niHE+moiIpKluzbvRtVlXsrOy6d6iOztG7mBs/7EHbTe2/9hy1+8YuYPuLbqTnZVNl2Zd6Nqsa8zn\n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\nQv3/Fzve1TAqy9UAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,8))\n", "error_rate_lines = plt.plot(K, training_set_error, '-b.',\n", " K, test_set_error, '--r.',\n", " K, cv_error, '-.g.')\n", "plt.legend(error_rate_lines, ('Training set error','Test set error','Cross validation error'),\n", " loc='center left', bbox_to_anchor=(1,0.5))\n", "plt.xlabel(\"Number of neighbors\")\n", "plt.ylabel(\"Error rate\")\n", "plt.title('A comparison of error rates as a function of neighbors')\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As one would expect, the training set error is lowest. Cross validation error is similar to test set error, so it would generally serve as a good proxy when we cannot afford to throw away data. In this particular case, model complexity is a good thing, for as we use more neighbors, all error rates increase." ] } ], "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }