diff --git a/.ipynb_checkpoints/Chapter_1-checkpoint.ipynb b/.ipynb_checkpoints/Chapter_1-checkpoint.ipynb new file mode 100644 index 00000000..286dcb3d --- /dev/null +++ b/.ipynb_checkpoints/Chapter_1-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/.ipynb_checkpoints/Chapter_2-checkpoint.ipynb b/.ipynb_checkpoints/Chapter_2-checkpoint.ipynb new file mode 100644 index 00000000..4fac1c04 --- /dev/null +++ b/.ipynb_checkpoints/Chapter_2-checkpoint.ipynb @@ -0,0 +1,353 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#Classifying with Real-World Examples\n", + "\n", + "##Visualization" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "from sklearn.datasets import load_iris\n", + "from itertools import combinations\n" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nJM//AiNA3E6zq7ItAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\ngg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nIhLs/wPxtGDeaq2rtwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n/j8Gir0p2+OyNQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = load_iris()\n", + "\n", + "features = data.data\n", + "feature_names = data.feature_names\n", + "target = data.target\n", + "target_names = data.target_names\n", + "\n", + "def get_combos(li, r):\n", + " return [c for c in combinations(li, r)]\n", + "\n", + "def plot_features(x, y):\n", + " for t in range(3):\n", + " if t==0:\n", + " c = 'r'\n", + " marker = '>'\n", + " elif t==1:\n", + " c = 'g'\n", + " marker = 'o'\n", + " elif t==2:\n", + " c = 'b'\n", + " marker = 'x'\n", + " plt.scatter(features[target==t,x],\n", + " features[target==t,y],\n", + " marker=marker,\n", + " c=c)\n", + " plt.gca().set_xlabel(feature_names[x])\n", + " plt.gca().set_ylabel(feature_names[y])\n", + "\n", + "for x,y in get_combos(range(4), 2):\n", + " plt.figure()\n", + " plot_features(x,y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "petal length allows us to separate out iris setosa." + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum of setosa: 1.9.\n", + "Minimum of others: 3.0.\n" + ] + } + ], + "source": [ + "labels = target_names[target] #array of strings\n", + "plength = features[:, 2]\n", + "is_setosa = (labels=='setosa')\n", + "\n", + "#important step:\n", + "max_setosa = plength[is_setosa].max()\n", + "min_non_setosa = plength[~is_setosa].min()\n", + "print('Maximum of setosa: {0}.'.format(max_setosa))\n", + "print('Minimum of others: {0}.'.format(min_non_setosa))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Therefore, if petal length is smaller than 2, we can conclude this is an Iris Setosa.\n", + "\n", + "We can only look for \"best possible\" separation between other species." + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, False, False, False], dtype=bool)" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "features = features[~is_setosa]\n", + "labels = labels[~is_setosa]\n", + "is_virginica = (labels == 'virginica')\n", + "is_virginica[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "best_acc = -1.0\n", + "for fi in range(features.shape[1]):\n", + " # We are going to test all possible thresholds\n", + " thresh = features[:, fi]\n", + " for t in thresh:\n", + " feature_i = features[:, fi]\n", + " pred = (feature_i > t) #viginica is greater\n", + " acc = (pred == is_virginica).mean()\n", + " rev_acc = (pred == ~is_virginica).mean()\n", + " if rev_acc > acc:\n", + " reverse = True\n", + " acc = rev_acc\n", + " else:\n", + " reverse = False\n", + " \n", + " if acc > best_acc:\n", + " best_acc = acc\n", + " best_fi = fi\n", + " best_t = t\n", + " best_reverse = reverse" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def is_virginica(fi, t, reverse, example):\n", + " \"Apply threshold model to a new example\"\n", + " test = example[fi] > t\n", + " if reverse:\n", + " test = not test\n", + " return test" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Evaluation\n", + "\n", + "* separate into training and testing sets\n", + "* testing set usually has lower accuracy than training.\n", + "\n", + "###cross validation\n", + "Ideally we'd like to use all of the data for training and testing, but we can't. Leave out a subset of the training set. Train on the rest of the set and test on this subset. Repeat for all elements in the dataset." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "correct = 0.0\n", + "for ei in range(len(features)):\n", + " # select all but the one at 'ei'\n", + " training = np.ones(len(features), bool)\n", + " training[ei] = False\n", + " testing = ~training\n", + " model = fit_model(features[training], is_virginica[training])\n", + " predictions = predict(model, features[testing])\n", + " correct += np.sum(predictions == is_virginica[testing])\n", + "acc = correct/float(len(features))\n", + "print('Accuracy: {0:.1%}'.format(acc))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is computationally expensive though. **x-fold cross validation** attempts to solve this. Instead of leaving one out, leave out say, 20%, in a 5 fold cross validation.\n", + "\n", + "With less data, use up to 10 or 20 folds.\n", + "\n", + "Never report your training accuracy. You will look like a noob\n", + "\n", + "##More Complex Classifiers\n", + "What makes up a classification model?\n", + "* **The Structure of the Model** - how does it make decisions?\n", + "* **The search procedure** - How do we find the model we need to use?\n", + "* **gain or loss function** - Which possibilities tested should be returned? Optimize so that model makes fewer erros of a specific kind.\n", + "\n", + "**feature engineering** - derive new combined features. Should vary with what matters but be invariant with what does not.\n", + "\n", + "**feature selection** is choosing good features automatically.\n", + "\n", + "###Classifying with scikit-learn" + ] + }, + { + "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.3.5" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/.ipynb_checkpoints/chapter_3_clustering-checkpoint.ipynb b/.ipynb_checkpoints/chapter_3_clustering-checkpoint.ipynb new file mode 100644 index 00000000..286dcb3d --- /dev/null +++ b/.ipynb_checkpoints/chapter_3_clustering-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Chapter_1.ipynb b/Chapter_1.ipynb new file mode 100644 index 00000000..f06c597d --- /dev/null +++ b/Chapter_1.ipynb @@ -0,0 +1,430 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Numpy and Scipy\n", + "* always try to move loops into np.... functions\n", + "* tilde (~) unary operator as in c[~np.isnan(c)] will give you all the values in c that are not nan\n", + "\n", + "##First ML Application" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 1.00000000e+00 2.27200000e+03]\n", + " [ 2.00000000e+00 nan]\n", + " [ 3.00000000e+00 1.38600000e+03]\n", + " [ 4.00000000e+00 1.36500000e+03]\n", + " [ 5.00000000e+00 1.48800000e+03]\n", + " [ 6.00000000e+00 1.33700000e+03]\n", + " [ 7.00000000e+00 1.88300000e+03]\n", + " [ 8.00000000e+00 2.28300000e+03]\n", + " [ 9.00000000e+00 1.33500000e+03]\n", + " [ 1.00000000e+01 1.02500000e+03]]\n", + "(743, 2)\n" + ] + } + ], + "source": [ + "url = 'https://raw.githubusercontent.com/goodwordalchemy/BuildingMachineLearningSystemsWithPython/master/ch01/data/web_traffic.tsv'\n", + "import requests\n", + "from io import BytesIO\n", + "import scipy as sp\n", + "\n", + "r=requests.get(url)\n", + "data = sp.genfromtxt(BytesIO(r.content), delimiter='\\t')\n", + "print(data[:10])\n", + "print (data.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = data[:,0]\n", + "y = data[:,1]\n", + "sp.sum(sp.isnan(y))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "x = x[~sp.isnan(y)]\n", + "y = y[~sp.isnan(y)]" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nry8AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "def plot_web_traffic():\n", + " plt.scatter(x,y,s=10)\n", + " plt.title(\"Web traffic over the last month\")\n", + " plt.xlabel(\"Time\")\n", + " plt.ylabel(\"Hits/hour\")\n", + "\n", + " #the following sets the locations and names in the x-axis\n", + " plt.xticks([w*7*24 for w in range(10)],\n", + " ['week %i' % w for w in range(10)])\n", + " plt.autoscale(tight=True)\n", + " plt.grid(True, linestyle='-', color='0.75')\n", + "plot_web_traffic()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model parameters: [ 2.59619213 989.02487106]\n", + "[ 3.17389767e+08]\n" + ] + } + ], + "source": [ + "#for a learned model function f:\n", + "def error(f, x, y):\n", + " return sp.sum((f(x)-y)**2)\n", + "\n", + "fp1, residuals, rank, sv, rcond = sp.polyfit(x,y,1,full=True)\n", + "print('Model parameters: %s' %fp1)\n", + "print(residuals)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "317389767.34\n" + ] + } + ], + "source": [ + "f1 = sp.poly1d(fp1)\n", + "print(error(f1, x, y))" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fx = sp.linspace(0, x[-1], 1000)\n", + "plot_web_traffic()\n", + "plt.plot(fx, f1(fx), linewidth=4)\n", + "plt.legend(['d=%i'%f1.order], loc='upper left')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "degree: 1 317389767.34\n", + "degree: 2 179983507.878\n", + "degree: 3 139350144.032\n", + "degree: 10 121942326.363\n", + "degree: 53 109452403.681\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/davidgoldberg/anaconda/envs/py3k/lib/python3.3/site-packages/numpy/lib/polynomial.py:588: RankWarning: Polyfit may be poorly conditioned\n", + " warnings.warn(msg, RankWarning)\n" + ] + }, + { + "data": { + "image/png": "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\nbNiwYcNGUvh/SCAeFHcD1swAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#fitting higher degrees:\n", + "def plot_higher_degrees():\n", + " degrees = [1,2,3,10,53]\n", + " fx = sp.linspace(0, x[-1]+24*7*2, 1000)\n", + " plot_web_traffic()\n", + " for d in degrees:\n", + " fp = sp.polyfit(x,y,d)\n", + " f = sp.poly1d(fp)\n", + " print('degree:',d,error(f, x, y))\n", + " \n", + " plt.plot(fx, f(fx), linewidth=2, label='d=%d'%f.order)\n", + " plt.ylim(0,10000)\n", + " plt.legend(loc='upper left')\n", + "plot_higher_degrees()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Error inflection=132950348.197616\n" + ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nNQfFpZkY4YSMAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#separating data at inflection point ~3.5 weeks\n", + "inflection = 3.5*7*24\n", + "xa = x[:inflection]\n", + "ya = y[:inflection]\n", + "xb = x[inflection:]\n", + "yb = y[inflection:]\n", + "\n", + "fa = sp.poly1d(sp.polyfit(xa, ya, 1))\n", + "fb = sp.poly1d(sp.polyfit(xb, yb, 1))\n", + "\n", + "fa_error = error(fa, xa, ya)\n", + "fb_error = error(fb, xb, yb)\n", + "print(\"Error inflection=%f\" % (fa_error + fb_error))\n", + "\n", + "plot_web_traffic()\n", + "fxa = sp.linspace(xa[0], xa[-1], 500)\n", + "fxb = sp.linspace(xb[0], xb[-1], 500)\n", + "plt.plot(fxa, fa(fxa), linewidth=5)\n", + "plt.plot(fxb, fb(fxb), linewidth=5)\n", + "plt.plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* underfit data might capture future data better\n", + "\n", + "###Training and Testing\n", + "We can't look into the future, but we can remove a certain percentage of the data and train on the remaining part. Use the held-out set to calculate the rror\n" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Error d=1: 1.8e+07\n", + "Error d=2: 1.7e+07\n", + "Error d=3: 1.8e+07\n", + "Error d=10: 2.8e+07\n", + "Error d=53: 1.3e+09\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/davidgoldberg/anaconda/envs/py3k/lib/python3.3/site-packages/numpy/lib/polynomial.py:588: RankWarning: Polyfit may be poorly conditioned\n", + " warnings.warn(msg, RankWarning)\n", + "/Users/davidgoldberg/anaconda/envs/py3k/lib/python3.3/site-packages/numpy/lib/polynomial.py:588: RankWarning: Polyfit may be poorly conditioned\n", + " warnings.warn(msg, RankWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "frac = 0.3\n", + "split_idx = int(frac * len(xb))\n", + "shuffled = sp.random.permutation(list(range(len(xb))))\n", + "test = sorted(shuffled[split_idx:])\n", + "train = sorted(shuffled[:split_idx])\n", + "plot_web_traffic()\n", + "fx = sp.linspace(0, x[-1]+24*7*2, 1000)\n", + "for d in degrees:\n", + " f = sp.poly1d(sp.polyfit(xb[train], yb[train],d))\n", + " print(\"Error d=%d: %0.2g\"%(d,error(f, xb[test], yb[test])))\n", + " plt.plot(fx, f(fx), linewidth=2, label=\"d=%d\"%d)\n", + "plt.ylim(0,10000)\n", + "plt.legend(loc='upper left')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 2\n", + "0.0988 x - 113.4 x - 6.537e+04\n", + "100000 hits/hour expected at week 9.342779\n" + ] + } + ], + "source": [ + "fbt2 = sp.poly1d(sp.polyfit(xb[train], yb[train], 2))\n", + "print(fbt2-100000)\n", + "from scipy.optimize import fsolve\n", + "reached_max = fsolve(fbt2-100000, x0=800)/(7*24)\n", + "print(\"100000 hits/hour expected at week %f\"%reached_max[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Conclusions:\n", + "* understand your data\n", + "* correct experiment setup - training and testing" + ] + } + ], + "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.3.5" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Chapter_2.ipynb b/Chapter_2.ipynb new file mode 100644 index 00000000..f0236761 --- /dev/null +++ b/Chapter_2.ipynb @@ -0,0 +1,419 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#Classifying with Real-World Examples\n", + "\n", + "##Visualization" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "from sklearn.datasets import load_iris\n", + "from itertools import combinations\n" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nJM//AiNA3E6zq7ItAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\ngg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nIhLs/wPxtGDeaq2rtwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n/j8Gir0p2+OyNQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = load_iris()\n", + "\n", + "features = data.data\n", + "feature_names = data.feature_names\n", + "target = data.target\n", + "target_names = data.target_names\n", + "\n", + "def get_combos(li, r):\n", + " return [c for c in combinations(li, r)]\n", + "\n", + "def plot_features(x, y):\n", + " for t in range(3):\n", + " if t==0:\n", + " c = 'r'\n", + " marker = '>'\n", + " elif t==1:\n", + " c = 'g'\n", + " marker = 'o'\n", + " elif t==2:\n", + " c = 'b'\n", + " marker = 'x'\n", + " plt.scatter(features[target==t,x],\n", + " features[target==t,y],\n", + " marker=marker,\n", + " c=c)\n", + " plt.gca().set_xlabel(feature_names[x])\n", + " plt.gca().set_ylabel(feature_names[y])\n", + "\n", + "for x,y in get_combos(range(4), 2):\n", + " plt.figure()\n", + " plot_features(x,y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "petal length allows us to separate out iris setosa." + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum of setosa: 1.9.\n", + "Minimum of others: 3.0.\n" + ] + } + ], + "source": [ + "labels = target_names[target] #array of strings\n", + "plength = features[:, 2]\n", + "is_setosa = (labels=='setosa')\n", + "\n", + "#important step:\n", + "max_setosa = plength[is_setosa].max()\n", + "min_non_setosa = plength[~is_setosa].min()\n", + "print('Maximum of setosa: {0}.'.format(max_setosa))\n", + "print('Minimum of others: {0}.'.format(min_non_setosa))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Therefore, if petal length is smaller than 2, we can conclude this is an Iris Setosa.\n", + "\n", + "We can only look for \"best possible\" separation between other species." + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, False, False, False], dtype=bool)" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "features = features[~is_setosa]\n", + "labels = labels[~is_setosa]\n", + "is_virginica = (labels == 'virginica')\n", + "is_virginica[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "best_acc = -1.0\n", + "for fi in range(features.shape[1]):\n", + " # We are going to test all possible thresholds\n", + " thresh = features[:, fi]\n", + " for t in thresh:\n", + " feature_i = features[:, fi]\n", + " pred = (feature_i > t) #viginica is greater\n", + " acc = (pred == is_virginica).mean()\n", + " rev_acc = (pred == ~is_virginica).mean()\n", + " if rev_acc > acc:\n", + " reverse = True\n", + " acc = rev_acc\n", + " else:\n", + " reverse = False\n", + " \n", + " if acc > best_acc:\n", + " best_acc = acc\n", + " best_fi = fi\n", + " best_t = t\n", + " best_reverse = reverse" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def is_virginica(fi, t, reverse, example):\n", + " \"Apply threshold model to a new example\"\n", + " test = example[fi] > t\n", + " if reverse:\n", + " test = not test\n", + " return test" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAakAAAEaCAYAAACrcqiAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+cXFWZ5/HP0wZoEgiIzIIaZxEdHSKtJDQJyK9qM07E\n0MPLQEgGgsOP1V0CQ0JMMApiYPgVwSQMJBlkM4AGSQigTiejETFBgpimSYA2ZFhlRpfMCC4/FEzs\nYOhn/7hV6epOd1d1VZ2qe+t+369Xv1J1q/rec6u68tS55znPMXdHREQkjhpq3QAREZGBKEiJiEhs\nKUiJiEhsKUiJiEhsKUiJiEhsDavlwc1MqYUiIgKAu1vfbTUNUgCVToGfP38+8+fPr+g+pbJq/R6t\nWbOmZsdOim9/+9ucc845tW6GDKAe35/W1tZ+t+tyn4iIxJaClEgZWltbB/wGKCLlq/nlvkrLZDK1\nboIUUE/vUVtbW62bEERTU1OtmyCDSNP7Y7Usi2RmrrJMUm0akxKJn9bW1n4TJ3S5T1LDzDDb6zMg\nIjGmICVSBo1JiYRVd2NSItVUr2NSInGhnpSIiMSWgpSIiMSWgpRIGTQmJRKWxqQkNXLTHSqZgq4x\nKZGw1JMSEZHYUpASEZHYUpASKYPGpETC0piUSBk0JiUSlnpSIiISWwpSkhqq3SeSPApSImXQmJRI\nWBqTEimDxqREwlJPSkREYktBSkREYktBSqQMGpMSCUtjUpIaqt0nkjxBe1Jm9mEz25L383szuyzk\nMUVEpH4E7Um5+/PAGAAzawD+E/hOyGOKiEj9qOaY1F8BL7j7i1U8pkhQGpMSCauaY1LTgG9X8Xgi\nwWlMSiSsqgQpM9sXaAW+2Pex+fPn77mdyWTIZDLVaJKIiNRQZ2cnnZ2dBZ9nuYynkMzsDOBid/9U\nn+1ejeOLAHvq9qn3I/m6u7vp6Ohg/fpNALS0jKe5uZmGBs3QqabW1lbcfa/imtW63Pe3wH1VOpZI\n1eTGoxT4kqm7u5sbb1zM00//lq6uGQB0dCxlzJjHmTdvpgJVDAQPUmY2gihp4nOhjyVSbQpOydbR\n0ZENUB1AIwBdXReyZUszHR0djBs3rrYNlPDZfe6+w90Pdfc3Qx9LRGQo1q/flO1BNeZtbaSr62I2\nbGivVbMkj/qyIiISWwpSImXQPKlka2kZT2PjUqArb2sXjY3LyGR0qS8OFKQkNdydSmeTtrW1aVwq\nwZqbmxkz5jAaG5uBJcASGhujbc3NzbVunqACsyKSYg0NDcybN5OOjg42bIi+bGQyk5WCHiMKUiKS\nag0NDYwbN06ZfDGlrwoiZdCYlEhY6kmJlKGexqOSUnkhKe2UylCQEpHEVF5ISjulcvSOSmqY2Z76\nfdJb78oLM4AZdHV1sGXLy3R0dNS6eXskpZ1SOQpSImWolzGppFReSEo7pXJ0uU+kDPU0JiUSR+pJ\niUiwygvd3d20t7ezYMFtLFhwG+3t7XR3d8eunRJf6kmJSLbywuNs2dJMV9fFADQ2Liur8kKIJIcQ\n7ZR4q8qihwMeXIseShWFWPSwntaTyqV258Z2MplxZaV2t7e3c/PND/VaBiPq9TQzd+7kkifPVrqd\nEg8DLXqoICWps2bNmlo3IRUWLLiNjRvPIMrCy7eEk09u44orLq1FsySmBgpS+uohIiKxpSAlIkEo\nyUEqQUFKpAz1Mk8qBC2DIZWgMSlJHY1JVY+SHKRYA41JKQVdRILRMhhSLn2dkdRQ7T6R5FFPSqQM\n9ThPSktgSJwoSImUoR6CE2gJDIkv/eWJiJbAkNhSkBIRLYEhsaUgJVIGzZMSCUtjUpIauTl5lZwn\nVcyYVBISElpaxtPRsZSurgvpXQx2GZnM5Fo2TVJOQUokoKQkJGgJDIkrBSmRgHonJEQ9lK6uC9my\npZmOjo7YTHJtaGhg3ryZ2eoQUe8wk5kcux6fpI+ClEgZCs2TGjwhoS02QQpUHULiSUFKpAz1Mk9K\nJK7UjxcJSMtViJRHQUpSoxa1+7RchUh5dLlPpAyFxqSUkCBSHq0nJamR60VpHEkkfrSelEgdScIE\n4aRIymuZlHZWmoKUSMIkZYJwEiTltUxKO0Oo3zMTqYJa1O5TxfLKScprmZR2hqAgJanh7lR6DLSt\nra3qY1yqWF45SXktk9LOEBSkREQktoIGKTM72MweMLNtZvacmR0f8ngicdTd3U17ezsLFtzGggW3\n0d7eTnd3d8n70wThyknKazlwO5fGqp0hhE6cuBX4V3c/y8yGASMCH0+kqgrNkwox4K2K5ZWTlNdy\n7Nix7L//PXR1NQGzslsXM3z4W4wdO7aWTQsu2DwpMzsI2OLuRw7yHM2Tkqqr5HpShbS3t3PzzQ/1\nqoIefQNuZu7cySUXc82lI+fGIzKZcalIRw4hCa9le3s7X/vag+zadS2wNrt1EvvtdzVXXHFmXRQF\nrsU8qfcD/8/M7gI+BjwFzHT3nQGPKRIroaqgq2J55SThtVy/fhO7dl0CnJn9ieza9VLsqulXWsgg\nNQwYC1zq7k+a2WJgHnB1/pPmz5+/53YmkyGTyQRskqSZKk6IxEdnZyednZ0Fn1cwSJnZR4BTgCMA\nB34FPObuWwv86nZgu7s/mb3/AFGQ6iU/SIkkTaExqbQvy56EKglJaGM9/h01NTXR1NS05/59993X\n7/MGDFJmdh7w98CrQDvw74AB7wZuMbNDgVvdfUV/v+/uL5nZi2b2IXf/P8BfAYUCm0iiFOqVJWVg\nPoQkVElIQhsh3X9Hg/Wk3glMcPc3+3vQzEYC5xfY/98D95rZvsALwAWlNFIkqdJcBb13lYTo239X\n14Vs2dJMR0dHLMZRktBGSPff0YBByt3/cbBfdPc3gELPeQY4rrSmidSHJAzMhxAqaaSSktDGnLT+\nHRUzJnUkUY/oiLznu7v/TcB2iSRCoTEpESlPMdl93wX+N9AG5KbJa3KT1Fx3dzdr165lxYqHAJg+\nfTKTJk0a8PJHbk5eJedJFROckjAwH0Kowf5Kvp71mJBQb4oJUl2FLv2JVFt3dzdnnXUeP/zhVnbs\n+DwAa9dexcSJq1i9+puxCQBJGZgPIcRgf6VfzzQnJCRFwYoT2Sy/DwDrgF257e6+ueyDq+KElKit\nrY2//duvsGPHz8j/BjxixHjuu++6QZfPqIeKE0lR6WoOIV7PJFScSINyKk58BDgPaKHnch/Z+yI1\nsWLFQ9keVO8B7x07Ps+9936nams8FRqTStLAfAiVHuwP8XqmNSEhKYoJUlOA97v7W6EbI5I0SpgQ\nCauYINVJNGfq5cBtESna9OmTWbv2Knbs6D3gPWLENzj33Otq2bRe0j4wX+mkkRCvZ1ISW5LSzkor\nJki9E/g3M3uSnjEppaBLTU2aNImJE1exbt34PYkTI0Z8g4kTm5g0aVK/v1OL2n1pHphPwjIlSUls\nSUo7QygmcSLTz2Z390fLPrgSJ6QMuRT0e+/9DgDnnvuZQVPQQwSpYuZJpXVgPgnLlCQlsSUp7SxH\nOYkT/xf4jbv/EcDM9gcOr3D7RIasoaGB1tbWqiVJ9KeYgJfWgfkkLFOSlMSWpLQzhGK+eqwG3s67\n3w3cH6Y5IiIiPYrpSb0jP7PP3XdlC8ZKnRpqJQcZXFoHvFtaxvPkk0vYteswIDc37XT2228pmcyZ\ng/3qoJJQcWL37t2sXLmSRx6JLklOmDCOadOmMWxYaUv4pTkBp5hX7BUzO8PdvwdgZmcAr4RtltRK\nUio5xEWhMak0D3iPHTuWESPuYdeuLwGzslvnMWLEW4wdO7akfSah4sTu3bu58MLLeP31RmAOAKtW\nLeLhh59g+fJbSwpUaU7AKSZx4oPAvcB7spu2A+e5+y/LPrgSJ2KnnEoOSaGKE9Ux8Lkfy9y5Z5Z0\n7kmoOLFixQpWrdoMPNurjdDE1KnHMn369JL2W+8JOCUnTmSD0XgzOzB7v9/1paQ+xKWSQ71I84D3\nwOc+o+RzT0LFiegS35y92gizeOSRhSUHqbQm4AwYgs3sfDPbE8Tc/c38AGVm+5qZFjEUEZFgBusn\nHgA8aWb3mdkXzOwcMzs3e/s+YBOwf3WaKdUyffpkRoy4g+jyRE6uksNnatWs2CqUAt/SMp59970d\n+BJRGcyPAF9i332XkMnU9zfilpbxNDYupe/fUmPj0pLPfeB9LovN6zlhwjhgEX3bCIuZMEFrwA7V\ngEHK3W8HxgJLgH2Ak4ATiS4R3g6Mdfel1WikVE9UyaGJESPGE731SxgxYvyglRzSrK2tbdC5Uscc\ncwzuLwMPApdkfx7A/WWOOeaYKrWyNsaOHcv++78JNJH7W4Imhg//Q8mJE1ECwWE0Njbv2WdjY3Os\nEgimTZvGIYe8Rd/zPuSQt5g2bVptG5dABRMngh5ciROxNNRKDklTzcSJUIPoSdDe3s7XvvYgu3Zd\nC6zNbp3EfvtdzRVXlJY4AclIIOhJQX8SgAkTjisrBT0NBkqcUJCS1KhF7b4LLriMV16ZA8zo88gS\nDj10IXfddWvV2lJtCxbcxsaNZ9DfuZ98chtXXHFpLZolMTVQkIrPVw+RBKp1WSaReqe+p0gZCvXK\nJkwYx6pVi4DelQLSMIgequJEpaW1IkhSFAxSZtYInAkckfd8d/drA7ZLpC5MmzaNhx9+gtdea6Kn\n6sLiVAyih6g4UWlprgiSFMX0pL4H/A54it45lSJSwLBhw1i+/NbsIPpCID2D6Js3b2bnzgOB/OoQ\nF7Jz57Fs3rw5FpNSOzo6sgGqp41dXReyZUszHR0dsWhj2hXzKXmvu08M3hKRBCpmPalhw4Yxffr0\nus7k60+IihOVluaKIElRTF/2p2b20eAtEQnM3al0NmmheVIiUp4Be1Jm1pm9+Q7gAjP7D3ovH6/A\nJVIjSRjsT8LyEgO3MV7JHWk22OW+XF6tA31z1zW5SaRGkjLYn4TlJaKqGPfQ1dU7sWX48Pgkd6Td\ngEHK3X8FYGbfcvfz8h8zs28B5/X3eyJpUsyYVKUlZbC/oaGBefNmZqtDRK9PJjM5Vj2+KLnjACC/\nKsZN7NhxdWySO9KumMSJo/PvZCujHxumOSLJUovxqCQN9sd9eYn16zexa9clRLNsei7v7dr1Uuxe\ny7QabEzqy0Slm/c3s/w1pP4EfCN0w0SkupIwzhVGN9AGPJS9Pzm7TeJgsCroN7j7gcAt7n5g3s8h\n7j6vim0UqQgz21O/L8lCLFeRG+e6+eaH2LjxDDZuPIObb36Im266le7u+v0PO5MZR0PDPwBfAY7L\n/lxFQ8N1nHpqfVcESYpiLvetNrO+I4i/B37t7rsDtEkkMWoxJhUiISEp41yVFk1JOBj4GfkTjuGj\nFZ+uIKUpJkgtIRqDejZ7vwnYChxkZhe7+7pQjROJu1qMSYVISEjSOFclPfrok3R3z6TveXd3z+Qn\nP2nj+OOPr1XTJKuYIPVfwEXuvhXAzEYD/wBcQXQRV0FKpMrinpAgUinFBKkP5wIUgLs/Z2Z/6e4v\nmJn6w1KU3EKKK1ZEg9PTp08ubyHFN96Abdtg/Pje2zdtgqOOgpEjy2xx5YRISOhZVC9a+G/ChHFl\n1QNM66TWUOed3iSUyivmL3qrmS0DVhJN6j0beM7M9iPK9BMZVHd3N2eddR4//OFWduz4PABr117F\nxImrWL36m6V9cLdtg9NPh9WrIZOJtm3YAFOmwJo1ewevQAqNSYWYeLt7924uvPAyXn+9EZgDwKpV\ni3j44SdYvvzWkgJVWie1hjjvpEy2TopiXq3zgReI3sGZwL8Df0cUoD4RrGVSN9auXZsNUD8jWqV1\nBjt2bGLduk7Wrl1b6Nf7N358FKCmTImCUy5ArV49YICqRe2+3gkJ0bl3dXWwZcvLdHR0lHTMlStX\nZgPUs3v2CZ289tq+rFy5sqR99kxqvYlowYOniCa1HsDmzZtL2mcShDjvEO95mhUMUu6+091vcffP\nZH9uyW7rdvc3C/2+yIoVD2V7UL0Hp3fs+Dz33vud0necyURBqaUl+snvVcXE4AkJ7SXtM7rEN2uv\nfcIsHnnkyZLb2TOp9Z+zP2eya9eMktuZBCHOO8R7nmbFLHp4EvBV9l708MiA7RIRESnqct9yYCFw\nEj2z3YpOKTKzX5nZs2a2xcz0NSKFpk+fzIgRd9B38umIEd/g3HM/U/qOc5f41q+PfnKX/ko0bOdO\nDn7++b22H/z88wzbubPf32ltbd0zLtWfEBNvJ0wYR/SRfBC4IPvzILCo5CXpW1rGs99+S/baZ7TU\ne/1mEIZ4f0LsM82KCVK/c/fvu/vL7v5K7mcIx3Ag4+5j3F3vUAqddtppjBz5R6IpdkuyP00cdFAX\np512Wmk73bSpZwwqk+m59DdlSvRYCQ548UWOu/Za3tXZuWfbuzo7Oe7aazngxRf7/Z1CY1LRxNvD\naGxsJnfujY3NZU28Pfvss9lnn9eJqpblvjfOY599Xufss88uaZ/RUu9/2GufI0b8oa4TJ0K8PyH2\nmWZWaCDZzG4iWlPqIXrWk8LdixpVzK5D1ezur/bzmGtWd/1ra2tj2rSr2LnzanoqTU9i+PBrWLny\n+kF7IgMqIwV9zZo1Az72rs5Oxt50E5vnRZW/crdfbWoaehuzcunIufGITGZcWenI7e3t3HzzQ72q\nQ0Tf1I9l7twzS5o7FWKfSVHp9yfUPutda2sr7r5X3bJigtQG+lk/yt1bijmwmf07URmlt4E73P3O\nvMcUpFJg6tQLuP/+44gynfItYerUp1i58p+r0o5c3b5CVSLe1dnJCV/+MgBP3HBDWQEqhAULbmPj\nxjPo7/U8+eQ2rrji0ljsU2QoBgpSBRMn3D1T5rFPdPffmNmfAQ+b2b+5+2O5B+fPn7/niZlMhkzM\nsrNEBlOL2n0i9aCzs5POvEvrAykmu+9w4Hrgve7+qWxZpBPcfXkxDXH332T//X9m9h2ipIt+g5TU\np//xqVM45LtX809v9Z7V/7/2vYnJE6+tZdP2krvc98QNNwCFL/cVE5yqVx2i9GXZW1rG8+STS9i1\n6zAgdzn09GziRP1WnJDaaWpqoinvc3Xffff1+7xiLpDeDfwQeE/2/i+Ay4tphJkNN7MDs7dHAH8N\nFA6dUlcmvP02S97aztx9jiQ3kDx3nyNZ8tZ2Jrz9dq2bt8fBzz/fKyi92tTE5nnzGHvTTf1m/RUj\nVx1i1arNvPLKHF55ZQ6rVj3FRRfNZPfu0hYRCDEwn9bECYm/YsakOty92cy2uPuY7Lan3f2Ygjs3\nez+Qm605DLjX3W/Me1xjUinRvXAhNmcO3/xY9J/oZ5/pwG+5hYbZs6vWhkJjUsN27uSAF1/kdx/+\ncK/tBz//PH943/vYPXz4kI+5YsUKVq3aTFQdoqfXA01MnXos06dPH/I+IRnJGCJDUfKYFPAHM3tX\n7o6ZHU+UCFGQu/8HUDCYSf1rmD0bGhr4u8uznfBFi7BZswb/pSrbPXz4XgEK6HdbTqExqegS3xz6\nrw6xsOQgVekq6ANXSZhR10t1SPwVE6S+QLS28pFm9lPgz4CzgrZKJIBcr32wFPShUsKESFjFZPc9\nZWanArmvk8+7u6qf16tQS2AsXgyzZ8OiRdH93GW+mPWmKu30U8bw3EM30E7vhIRx3MjoU6pTqb0Y\nIZIxRCphwCBlZmcSzY+yvH8BPmRmuPtDVWifVFuIJTCWL4+C0sKFvYPS7Nlw4IFw0UWVaHksndfc\nTNND32EKM3mUaO7VqVzGan5DZ3Mz/Rdbqr4QS9KLVMJgPalW+pnEm0dBqh7lL4GxenW0rcASGAVN\nnAh33tk7GM2aFQWoiRPLb3MNFRqT+sYzz/AS72E1u5jCaABW8xZTeDeHP/MM02MyUTjEkvQilVAw\nuy/owZXdF18bNkTLX0BUvLWOJllXckyqkAsuuIxXXpnDqYxmA9HrmWE9j7KVQw9dyF133Vq1tojE\n2UDZffqKJCIisaUgVS1vvNF/de5Nm6LH4mL7dpg7d+8lMObOjR4rRYhzL2GfZrZnrlS1TJgwjlO5\nntVMIcN6MqxnNVM4lRtKXlZDJE0UpKoll5CQv97Rhg3Rtm3batWqvS1bBrfcAlOn9iyBMXVqtG3Z\nstL2GeLcY/J6FlpP6uKxY3nAXmIK+/IoW3mUrUxhXx6wl7hYlRxECio2u68vV3bfEIVISAjhi1+E\nnTvh1lvhgx+Mti1dGiU6fPGLpe0zxLnH5PUsNE/qj0ccwdabbuTwzZs59JGFABw+4WS2jh3LH484\nogotFEm2ARMnzOxuBsnuc/cLyj54GhMnkpKQsHgx5FWHqMh8phDnPoR9FrtUh4hU35DLIrn7+UFb\nJCIiUkBRawWY2enAaPIKe7l7vNZYSILcpNj166P7+cuflyJEdYg33oCvfjW63JdfHeLXv4Zrril9\nnytWRPvNP/drroHp00uvYlHp17MEWk9KJKxi1pO6A9gf+ARwJzAF6CetSga1adPe/4nmxlRKreQQ\nojrEggXRpb5LLum5xPfLX0bbhg+H668f+j5Xr4ZLL40qTuTaeeWV0bb99iut4kQJr6dq94kkTzFL\ndXS6e5OZPevuHzWzA4AfuPtJZR88TWNSoWri5YJS3+SBUnsT27dHvai77+69z/PPh5kzYdSooe8z\nvyeVv89yelJlvJ7VnMwrIsUZaEyqmCDV7u7jzOxnwJnAq8DP3f2D5TYqVUEqpBonJNR0nyVQkBKJ\nn3LWk1pjZu8Ebgaeym67s5KNE0kqjUmJhFVMkPqau3cBD5rZWqLkia6wzZKiJCUhYf16+NKX4IUX\neu/zAx+AG2/s6V0NRaDLp7kVb9evj4ZdW1rGD1pkVcFJJKxigtRPgbEA2WDVZWabc9ukhmKSkFDQ\nVVdF+z366J59Hn54tO2qq+Dxx4e+zwBJI93d3dx442Kefvq32VVqoaNjKWPGPM68eTNVDVykBgar\nOPFu4D3AcDMbS8+6UiOB4dVpngxqyhTYtSvqSR1zTLTt+uvh9tujx0px1FF7/yefyUTbjjqqtH1+\n//tw8snw7LNwUjbf5uc/h49+NHqsFCVUnCg0mbejoyMboDrIzbbo6rqQLVua6ejo0BLqIjUwWE/q\nr4HzgfcCX8/b/iZkV2+T2ho5EmbMgNGjK5eQMHJk///Jl1NqaORIeOaZKEDlek0nnggbN5a+T4jO\nc/Xqip37+vWbsj2oxrytjXR1XcyGDW39BimNSYmENVjFiXuAe8zsLHd/oIptEkkMBSeRsIq5yL7R\nzJab2Q8AzGy0mdXvet+hhFquYunSvZfVWLq09H1u3x4t997X8uWlL9UBPb2oE0+Mfh5/vOfSX6ny\nEzxy555fFX2IWlrG09i4lN55QV00Ni4jk9GlPpFaKCZI3Q38kGh8CuAXwOWhGlS3QiwtkUucuPLK\nnmU1cokTuXGaoVq3Dj73uajCRM7ixdG2detK2+ekST0BauPG6CcXqCZNKm2ffRM8cpf+pkzp/8tA\nEZqbmxkz5jAaG5uBJcASGhujbc3NzaW1U0TKUkx236HuvsrM5gG4+5/MbHfgdtWfEEtLhEicuOgi\nePPNqF5fzuzZUQZhKdmCAHPmRP+uXduzbePGKEDlHhuqAAkeDQ0NzJs3k46ODjZsaMvucvKgKega\nkxIJq5iKExuIKk38yN3HmNnxwAJ3P7Xsg6ex4kRSKjmEWKojJlRxQiR+Bqo4Uczlvi8AbcCRZvZT\n4FvAZRVun5Qi1PiRiEhMFLzc5+5PmdkpwIeJ5ko97+5/Ct6yelTpSg658aPhw3v2efrp0cq6d95Z\n+uW5xYujS3z5S3VAXfWmRCQZilmqY39gBnAS0WTex8xsWbb6hBQrRCWHo4+OAtTOnfD009G2nTuj\nbUcfXVo7ly/vGYPKD0qzZ8OBB5Ye+OqUxqREwipmTGo18AawgqgndQ5wkLuXODLfa9/pGZMKtUDh\ntm3wxBO9x49OOKH0fW7fHvXQ+gaj5cth4sTSluqIGY1JicRPOVXQP+Luo/Pu/9jMnqtc01IiVCWH\n8eOjIFWpfY4a1X9vST0oEamBYhInNpvZCbk72ey+pwZ5vvQnxGTe7dth6tSe8aNFi6LbU6fGK3Ei\nxLmXwMz21O8TkWQoJkg1A4+b2a/N7FdEVdGbzazTzJ4N2rp6EmIy71VXwf33wxlnRONHs2ZFt++/\nP3osLkKce0y0trbuGZcSkcor5nLfp4K3Ig1CTOa97jro6oqCUq5CxPe+F/WkrruuMu2uhBDnHhNK\nmBAJq2DiRNCDpylxIifNE29rvHx8oaU6RKR2ypnMKyIiUhPJD1IxGZQvSoWrdrN9O0ybtnfixLRp\n8UqcgMqfe0xoTEokrOQHqaQMygeo2s1VV8GqVXsnTqxaFa/EiRDnXgJ3p9KXl9va2nT5UCSg+hiT\nyn1L7zsoX+Uxj0GFmMy7fTt84QvRuS5cGG2bPTs6/69/PT4Tb0Ocexk0mVckfgYak6qPIAU1H5Sv\nqaQkTsSEgpRI/ChxQiQAjUmJhBU8SJnZO8xsi5mFuXAfYgn1EEIkeGzbBp/85N6JE5/8ZLzG4+qY\nxqREwqpGT2om8BxRBfXKC7GEegghEjzmzIEf/Qg+/vGexImPfzzaVuqKtyIiMVJMxYmSmdko4NPA\n9cDsAk8vTYgl1EMIUXXhjjvgs5+Neo+XXhpte/zxaGzujjsq0+46osm8IskTNEgBi4C5QLj0rZEj\nYcYMGD06/okTudTrSrVz1Cj48Y+jALVkSbTtkkuiAC1VofWkRMIKFqTM7HTgt+6+xcwyAz1v/vz5\ne25nMhkycQwuIgNQcBIpTWdnJ52dnQWfFywF3cxuAM4DdgONRL2pB939s3nPiec8qVALFK5YEV2W\nzG/nNdfA9OmlzxXK9aIuuSS6n7tdam8qZnOaKkmX+0Tiq+op6O7+ZXd/n7u/H5gG/Dg/QFVMiGoG\nIZIcQiR4XHll76B0++3R7SVLosdKkZQKHiKSCqHHpPKF6bIddRSsWdP7m38mE2076qjS9hkiySFE\ngsf06T37ybn9djjooJ7HhqqOl9UIQWNSImHVT8WJEEJUsUhKZYyktLMEqjghEj+qOCEiIomjINWf\nUFUskrKSo8QXAAAKWUlEQVRcRVLaKSJ1r5pjUsmRS3JYuLDnMlcuyWG//eCii4a+z74JHrnjTJmy\n95haLSWlnTGhMSmRsDQm1Z8Q6eJJSe1OSjvLoDEpkfip/6U6Qqjj5IE0U5ASiR8lTkjqmdmeCb0i\nkgzJD1IhlsAAJQ9IUbSelEhYyQ9SISokhKhiIXVJ60mJhJX87L4QFRJCVLEQEZEhS36QgsovgTFy\nZP8BTunXIiJVlfzLfSI1pDEpkbDqI0ilNckhVNJInXJ3Kj3lQWNSImElP0ilOclBy2qISJ1L/phU\nmpMctKyGiNS55AeptCc5VDppRIZEtftEwkp+kBKpIQUnkbCSPya1fTssX7739uXLo8fqXVqTRkQk\nFZIfpNatg899DhYv7tm2eHG0bd262rWrGtKcNFIC1e4TSZ7kX+676CJ4802YPbtn2+zZ0VpQpaz7\nlCRpThqJCY1JiYRVP0t1LF4Ml18e3V60CGbNqsx+pW7kelEKKCLxo6U6REQkcZJ/uQ+iXtTs2VEP\nCnou/ak3JSKSaMkPUsuX94xB5Qel2bPhwAPrf1xKakpjUiJhJX9Mavv2KIuvbzBavhwmToRRo8rb\nv9QdLR8vEj8DjUklvyc1alT/vSX1oEREEi/5iRNpn8wrIlLHkh+k0jyZV2pO60mJhJX8y31pnswr\nNaeECZGwkh+koCerT5N5RUTqSvIv94kUSbX7RJKnPnpSmswrNaJ5UiJhJT9IaTKv1JCCk0hYyQ9S\nEyfCnXf2DkazZkUBauLE2rVLRETKlvwgpcm8IiJ1S4kTImXQPCmRsJLfkxIpUq5OZCVr92lMSiQs\n9aRERCS2FKRERCS2FKREyqAxKZGwNCYlUgaNSYmEFbQnZWaNZrbJzJ42s+fM7MaQx6uYN96ATZv2\n3r5pU/SYiIhURdAg5e5dQIu7HwN8FGgxs5NCHrMitm2D00+HDRt6tm3YEG3btq1WrZIyqXafSPIE\nv9zn7juzN/cF3gG8FvqYZRs/HlavhilTon+h5/b48bVtm8SKaveJhBU8SJlZA7AZ+ACwzN2fC33M\nishkoqDU0hLdX78+2iaSR8FJJKxq9KS6gWPM7CBgnZll3H1D7vH58+fveW4mkyGjQCAiUvc6Ozvp\n7Ows+DzLzcKvBjP7CvBHd78le9+refwh2bCh/8t9CqKJlRuPUu9HJH5aW1tx970GjUNn9x1qZgdn\nb+8PfBLYEvKYFbFpU++glLv0N2VK/1l/klqaJyUSVtCelJk1AfcQBcMG4FvufnPe4/HsSb3xRpTF\n1zdJYtMmOOooGDmyNu2Siqhk7T4RqYyBelJBx6TcvRMYG/IYQYwc2X8WnzL7RESqSmWRREQkthSk\nRMqgMSmRsFS7T6QMyhQUCUs9KRERiS0FKUkN1e4TSR4FKZEyaExKJKy6C1Ib8iuXSyzV03vU1tZW\nl+NSxZSrkdpJ0/ujICVVp/co/tL0n2ASpen9qbsgJSIi9UNBSqQMGpMSCauqVdD3OrhZDAv3iYhI\nLfRXu6+mQUpERGQwutwnIiKxpSAlIiKxpSAlIiKxlcggZWb/bGYvm9mAkwXM7B/N7Bdm9oyZjalm\n+6Twe2RmGTP7vZltyf5cVe02ppmZvc/M1pvZVjP7uZldNsDz9DmqkWLeozR8jpJaBf0u4Dbgm/09\naGafBj7o7n9hZuOBZcDxVWyfFHiPsh5197+pUnuktz8Bl7v702Z2APCUmT3s7ttyT9DnqOYKvkdZ\ndf05SmRPyt0fA14f5Cl/Q7RsPe6+CTjYzA6rRtskUsR7BKBqrzXi7i+5+9PZ238AtgHv6fM0fY5q\nqMj3COr8c5TIIFWE9wIv5t3fDoyqUVukfw58PHsZ6V/NbHStG5RWZnYEMAbY1OchfY5iYpD3qO4/\nR0m93FeMvt8uNCEsXjYD73P3nWZ2GvBd4EM1blPqZC8jPQDMzH5b3+spfe7rc1RlBd6juv8c1WtP\n6j+B9+XdH5XdJjHh7m+6+87s7e8D+5jZITVuVqqY2T7Ag8AKd/9uP0/R56jGCr1Hafgc1WuQ+hfg\nswBmdjzwO3d/ubZNknxmdphlVyA0s3FE1U9eq3GzUiP72i8HnnP3xQM8TZ+jGirmPUrD5yiRl/vM\n7D7gVOBQM3sR+CqwD4C73+Hu/2pmnzazXwI7gAtq19p0KvQeAWcBF5vZbmAnMK1WbU2pE4HpwLNm\ntiW77cvAn4M+RzFR8D0iBZ8j1e4TEZHYqtfLfSIiUgcUpEREJLYUpEREJLYUpEREJLYUpEREJLYU\npEREJLYUpET6MLO/M7N3F/G8u83szBL2/z/N7Lx+th+RW9rEzD6WLXOTe2y+mX2hyP3/yMwOHGq7\n+tnPI5XYj0g5FKRE9nY+/Veb7sspoZZddqLstwo8bQzw6T7HKsjMPgE87+5vDrVd/VgJfK4C+xEp\nmYKU1LVs7+TfzGyFmT1nZqvNbP/sY8ea2QYz6zCzH5jZ4WZ2FtAM3Gtmm82s0cyuNrN2M+s0szv6\nHqLP8f6bmXVkb3/MzLrNbFT2/i/NbP/8XlG2Dc+Y2dPAjOy2fYBrganZhezOzu5+dHYRvBfM7O8H\nOOVzgO/lteezuf2b2T3ZbXeb2VIzeyK7r4yZ3ZN9fe7K29e/UIcVDCRZFKQkDT4ELHH30cAbwAwz\nG0a0KOOZ7t5MtEjj9e7+ANABnOPuY929C7jN3ce5exOwv5mdPtCB3P23QGP2MtnJwJPAKWb234Hf\nuvsf6d0Duwu4xN2PydvHn4CvACvdfYy7308UDP8S+GtgHPBVM3tHP004Mdt+zOwjwJVAS3b/M3OH\nAA529xOAy4mC0deAjwBNZvaxbDteJiprNaLwSywShoKUpMGL7v5E9vYK4CTgw0T/Kf8oWxftSqL1\nk3Lye0ifMLOfmdmzwCeAQmv2/JQoWJwM3Aickj3mT/KfZGYHAQe5+8bspvxLgNanDQ6scfc/ufur\nwG+B/hYgfE9egdFPAPfn7rv77/Ke15b99+fAS+6+1aMaaVuBI/Ke9zK9K6GLVFUiC8yKDFH+eI5l\n7xuw1d0/PtjvmFkjsAQ41t3/08y+CjQWON5PiALTnxNdepuX3d+aAr9XaIXVt/Juv03hz2/uPAfb\nVzewK297d5/95l4vkZpQT0rS4M+zS01ANGbzGPA88Ge57Wa2T96qpm8CI7O3cwHp1ezic1OKON5j\nRNWrf5HtnbxGlASxMe855u6/B35nZidmt52b9/gbQCmZdf+Vt57Qj4Epuftm9s4S9ncY0Yq8IjWh\nICVp8DxwiZk9BxwELMuO+5wFLMgmLWwBTsg+/27gn8xsM9AF3El0WewH9L98d+8N7r/O3sxd3nsM\neD0blPr+3gXAkrylGHLb1xMlSuQnThTTo9kIHJdtx3PA9cCj2XP8+gDt7rvfXC/ycOBVd99RxHFF\ngtBSHVLXzOwIoC2b9FD3zCwDTHX3iyuwr88DI9x9UdkNEymRelKSBqn5JubuG4C/qNAk3KlEvUiR\nmlFPSkREYks9KRERiS0FKRERiS0FKRERiS0FKRERiS0FKRERia3/DyGUapdy3MfzAAAAAElFTkSu\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Evaluation\n", + "\n", + "* separate into training and testing sets\n", + "* testing set usually has lower accuracy than training.\n", + "\n", + "###cross validation\n", + "Ideally we'd like to use all of the data for training and testing, but we can't. Leave out a subset of the training set. Train on the rest of the set and test on this subset. Repeat for all elements in the dataset." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "correct = 0.0\n", + "for ei in range(len(features)):\n", + " # select all but the one at 'ei'\n", + " training = np.ones(len(features), bool)\n", + " training[ei] = False\n", + " testing = ~training\n", + " model = fit_model(features[training], is_virginica[training])\n", + " predictions = predict(model, features[testing])\n", + " correct += np.sum(predictions == is_virginica[testing])\n", + "acc = correct/float(len(features))\n", + "print('Accuracy: {0:.1%}'.format(acc))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is computationally expensive though. **x-fold cross validation** attempts to solve this. Instead of leaving one out, leave out say, 20%, in a 5 fold cross validation.\n", + "\n", + "With less data, use up to 10 or 20 folds.\n", + "\n", + "Never report your training accuracy. You will look like a noob\n", + "\n", + "##More Complex Classifiers\n", + "What makes up a classification model?\n", + "* **The Structure of the Model** - how does it make decisions?\n", + "* **The search procedure** - How do we find the model we need to use?\n", + "* **gain or loss function** - Which possibilities tested should be returned? Optimize so that model makes fewer erros of a specific kind.\n", + "\n", + "**feature engineering** - derive new combined features. Should vary with what matters but be invariant with what does not.\n", + "\n", + "**feature selection** is choosing good features automatically.\n", + "\n", + "###Classifying with scikit-learn\n", + "**k neighbors**\n", + "* normalize to z-scores -- how far from mean inunits of std deviation" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean accuracy: 94.0%\n" + ] + } + ], + "source": [ + "from sklearn.neighbors import KNeighborsClassifier\n", + "from sklearn.cross_validation import KFold\n", + "\n", + "classifier = KNeighborsClassifier(n_neighbors=1)\n", + "kf = KFold(len(features), n_folds=5, shuffle=True)\n", + "means = []\n", + "for training, testing in kf:\n", + " classifier.fit(features[training], labels[training])\n", + " prediction = classifier.predict(features[testing])\n", + " curmean = np.mean(prediction == labels[testing])\n", + " means.append(curmean)\n", + "print('Mean accuracy: {:.1%}'.format(np.mean(means)))" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean accuracy: 94.0%\n" + ] + } + ], + "source": [ + "from sklearn.pipeline import Pipeline\n", + "from sklearn.preprocessing import StandardScaler\n", + "\n", + "classifier = KNeighborsClassifier(n_neighbors=1)\n", + "\n", + "# each step gets (str,clf) pair. str is name of step\n", + "# second is object that performs the transformation.\n", + "classifier = Pipeline([('norm', StandardScaler()),\n", + " ('knn', classifier)])\n", + "\n", + "for training, testing in kf:\n", + " classifier.fit(features[training], labels[training])\n", + " prediction = classifier.predict(features[testing])\n", + " curmean = np.mean(prediction == labels[testing])\n", + " means.append(curmean)\n", + "print('Mean accuracy: {:.1%}'.format(np.mean(means)))" + ] + }, + { + "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.3.5" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/chapter_3_clustering.ipynb b/chapter_3_clustering.ipynb new file mode 100644 index 00000000..4adf7e91 --- /dev/null +++ b/chapter_3_clustering.ipynb @@ -0,0 +1,1123 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Bag of Words** - order of words is ignored and word counts collected.\n", + "1. Extract salient features from each post and store it as a vector per post\n", + "2. Compute clustering on the vectors\n", + "3. From this cluster, fetch a handful of posts having a similarity to the post in question. (diversity)\n", + "\n", + "#Preprocessing\n", + "###Converting raw text into a bag of words" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "CountVectorizer(analyzer='word', binary=False, decode_error='strict',\n", + " dtype=, encoding='utf-8', input='content',\n", + " lowercase=True, max_df=1.0, max_features=None, min_df=1,\n", + " ngram_range=(1, 1), preprocessor=None, stop_words=None,\n", + " strip_accents=None, token_pattern='(?u)\\\\b\\\\w\\\\w+\\\\b',\n", + " tokenizer=None, vocabulary=None)" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.feature_extraction.text import CountVectorizer\n", + "vectorizer = CountVectorizer(min_df=1)\n", + "vectorizer" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['disk', 'format', 'hard', 'how', 'my', 'problems', 'to']" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "content = [\"How to format my hard disk\", \"Hard disk format problems\"]\n", + "X = vectorizer.fit_transform(content)\n", + "vectorizer.get_feature_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1 1]\n", + " [1 1]\n", + " [1 1]\n", + " [1 0]\n", + " [1 0]\n", + " [0 1]\n", + " [1 0]]\n" + ] + } + ], + "source": [ + "print(X.toarray().transpose())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Counting Words" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": { + "collapsed": false + }, + "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", + "
Post FilenamePost Content
001.txtThis is a toy post about machine learning. Act...
102.txtImaging databases provide storage capabilities.
203.txtMost imaging databases save images permanently.\\n
304.txtImaging databases store data.
405.txtImaging databases store data. Imaging database...
\n", + "
" + ], + "text/plain": [ + " Post Filename Post Content\n", + "0 01.txt This is a toy post about machine learning. Act...\n", + "1 02.txt Imaging databases provide storage capabilities.\n", + "2 03.txt Most imaging databases save images permanently.\\n\n", + "3 04.txt Imaging databases store data.\n", + "4 05.txt Imaging databases store data. Imaging database..." + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "def read_directory_to_list(directory='./repo/ch03/data/toy'):\n", + " import os\n", + " result = pd.DataFrame(columns=['Post Filename','Post Content'])\n", + " for fn in os.listdir(directory):\n", + " filename = directory+'/'+fn\n", + " with open(filename, 'r') as f:\n", + " result = result.append({'Post Filename': fn,\n", + " 'Post Content': f.read()},\n", + " ignore_index=True)\n", + " return result\n", + "posts = read_directory_to_list()\n", + "posts" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#samples: 5, #features: 25\n" + ] + } + ], + "source": [ + "from sklearn.feature_extraction.text import CountVectorizer\n", + "vectorizer = CountVectorizer(min_df=1)\n", + "\n", + "#We have to notify the vectorizer about the full dataset up front\n", + "#so that it knows what words are to be expected.\n", + "posts = posts['Post Content']\n", + "X_train = vectorizer.fit_transform(posts)\n", + "num_samples, num_features = X_train.shape\n", + "print(\"#samples: %d, #features: %d\"%(num_samples, num_features))" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Returns sparse array\n", + " (0, 5)\t1\n", + " (0, 7)\t1\n", + "\n", + "to array:\n", + "[[0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n" + ] + } + ], + "source": [ + "#We can now vectorize our new post.\n", + "new_post = \"imaging databases\"\n", + "new_post_vec = vectorizer.transform([new_post]) #note [list]\n", + "\n", + "#returns a sparse matrix\n", + "print(\"Returns sparse array\")\n", + "print(new_post_vec)\n", + "print()\n", + "\n", + "new_post_vec = new_post_vec.toarray()\n", + "print('to array:')\n", + "print(new_post_vec)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###Naive Version - Euclidean distance\n" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "New post: imaging databases\n", + "\n", + "=== Post 0 with dist=4.00: This is a toy post about machine learning. Actually, it contains not much interesting stuff.\n", + "=== Post 1 with dist=1.73: Imaging databases provide storage capabilities.\n", + "=== Post 2 with dist=2.00: Most imaging databases save images permanently.\n", + "\n", + "=== Post 3 with dist=1.41: Imaging databases store data.\n", + "=== Post 4 with dist=5.10: Imaging databases store data. Imaging databases store data. Imaging databases store data.\n", + "Best post is 3 with dist=1.41\n" + ] + } + ], + "source": [ + "import scipy as sp\n", + "def dist_raw(v1, v2):\n", + " delta = v1-v2\n", + " return sp.linalg.norm(delta) #calculates euclidean difference\n", + "\n", + "def find_euclidean_closest(new_post, dist_func, X_train=X_train):\n", + " print(\"New post: %s\"%(new_post))\n", + " print()\n", + " new_post_vec = vectorizer.transform([new_post])\n", + " new_post_vec = new_post_vec.toarray()\n", + " \n", + " best_doc = None\n", + " best_dist = sp.inf\n", + " best_i = None\n", + " for i, post in enumerate(posts):\n", + " if post == new_post:\n", + " continue\n", + " post_vec = X_train.getrow(i).toarray()\n", + " d = dist_func(post_vec, new_post_vec)\n", + " print(\"=== Post %i with dist=%.2f: %s\"%(i,d,post))\n", + " if d\n" + ] + } + ], + "source": [ + "print(X_train.getrow(3).toarray())\n", + "print(X_train.getrow(4).toarray())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Normalizing Word Count Vectors" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "New post: imaging databases\n", + "\n", + "=== Post 0 with dist=1.41: This is a toy post about machine learning. Actually, it contains not much interesting stuff.\n", + "=== Post 1 with dist=0.86: Imaging databases provide storage capabilities.\n", + "=== Post 2 with dist=0.92: Most imaging databases save images permanently.\n", + "\n", + "=== Post 3 with dist=0.77: Imaging databases store data.\n", + "=== Post 4 with dist=0.77: Imaging databases store data. Imaging databases store data. Imaging databases store data.\n", + "Best post is 3 with dist=0.77\n" + ] + } + ], + "source": [ + "def dist_norm(v1, v2):\n", + " v1_normalized = v1/sp.linalg.norm(v1)\n", + " v2_normalized = v2/sp.linalg.norm(v2)\n", + " delta = v1_normalized - v2_normalized\n", + " return sp.linalg.norm(delta)\n", + "\n", + "find_euclidean_closest(\"imaging databases\", dist_norm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Removing Less Important Words\n", + "**stop words** words like \"most\" that appear in all sorts of different contexts." + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['anyone', 'myself', 'cannot', 'my', 'off', 'via', 'also', 'un', 'even', 'sometime', 'whither', 'ever', 'between', 'wherein', 'everyone', 'some', 'someone', 'toward', 'ltd', 'through']\n", + "318\n" + ] + } + ], + "source": [ + "vectorizer = CountVectorizer(min_df=1, stop_words='english')\n", + "print(list(vectorizer.get_stop_words())[:20])\n", + "print(len(list(vectorizer.get_stop_words())))" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#samples: 5, #features: 18\n" + ] + } + ], + "source": [ + "X_train = vectorizer.fit_transform(posts)\n", + "num_samples, num_features = X_train.shape\n", + "print(\"#samples: %d, #features: %d\"%(num_samples, num_features))" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "New post: imaging databases\n", + "\n", + "=== Post 0 with dist=1.41: This is a toy post about machine learning. Actually, it contains not much interesting stuff.\n", + "=== Post 1 with dist=0.86: Imaging databases provide storage capabilities.\n", + "=== Post 2 with dist=0.86: Most imaging databases save images permanently.\n", + "\n", + "=== Post 3 with dist=0.77: Imaging databases store data.\n", + "=== Post 4 with dist=0.77: Imaging databases store data. Imaging databases store data. Imaging databases store data.\n", + "Best post is 3 with dist=0.77\n" + ] + } + ], + "source": [ + "find_euclidean_closest(\"imaging databases\", dist_norm, X_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that post 2 is now on par with post 1, whereas before removing the stop words, it was up at .94\n", + "\n", + "##Stemming\n", + "We currently counts similar words in different variants as different words. E.g. \"imaging\" and \"images.\" **Stemming** reuces words to their specific word stem." + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "graphic\n", + "imag\n", + "imag\n", + "imagin\n", + "imagin\n", + "buy\n", + "buy\n", + "bought\n" + ] + } + ], + "source": [ + "import nltk.stem\n", + "\n", + "s = nltk.stem.SnowballStemmer('english')\n", + "print(s.stem('graphics'))\n", + "print(s.stem('imaging'))\n", + "print(s.stem('image'))\n", + "print(s.stem('imagination'))\n", + "print(s.stem('imagine'))\n", + "print(s.stem('buys'))\n", + "print(s.stem('buying'))\n", + "print(s.stem('bought'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###Extending the vectorizer with NLTK's stemmer\n" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import nltk.stem\n", + "english_stemmer = nltk.stem.SnowballStemmer('english')\n", + "class StemmedCountVectorizer(CountVectorizer):\n", + " def build_analyzer(self):\n", + " analyzer = super(StemmedCountVectorizer, self).build_analyzer()\n", + " return lambda doc: (english_stemmer.stem(w) for w in analyzer(doc))\n", + "vectorizer = StemmedCountVectorizer(min_df=1, stop_words=\"english\")" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#samples: 5, #features: 17\n" + ] + } + ], + "source": [ + "X_train = vectorizer.fit_transform(posts)\n", + "num_samples, num_features = X_train.shape\n", + "print(\"#samples: %d, #features: %d\"%(num_samples, num_features))" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "New post: imaging databases\n", + "\n", + "=== Post 0 with dist=1.41: This is a toy post about machine learning. Actually, it contains not much interesting stuff.\n", + "=== Post 1 with dist=0.86: Imaging databases provide storage capabilities.\n", + "=== Post 2 with dist=0.63: Most imaging databases save images permanently.\n", + "\n", + "=== Post 3 with dist=0.77: Imaging databases store data.\n", + "=== Post 4 with dist=0.77: Imaging databases store data. Imaging databases store data. Imaging databases store data.\n", + "Best post is 2 with dist=0.63\n" + ] + } + ], + "source": [ + "find_euclidean_closest(\"imaging databases\", dist_norm, X_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the stemmed vectorizer collapses imaging and images, post 2 becomes the most similar because \"imag\" appears twice.\n", + "\n", + "###Stop words on Steroids\n", + "\n", + "* `max_df` parameter can be set to fraction, e.g. .9, so that any word that occurs in more than 90 percent of of all posts will be ignored. But how low to set it?\n", + "\n", + "* **Term frequency - inverse document frequency (TF_IDF)** - counting term frequencies for every post and discount those that appear in many posts. We want a high value for a given term in a given post if that term occurs often in that post and very seldom anywhere else.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a:\n", + "0.0\n", + "0.0\n", + "0.0\n", + "\n", + "0.270310072072\n", + "\n", + "0.135155036036\n", + "0.366204096223\n" + ] + } + ], + "source": [ + "#Naive implementation\n", + "import scipy as sp\n", + "def tfidf(term, doc, corpus):\n", + " #normalize so longer docs don't have advantage:\n", + " tf = doc.count(term) / len(doc) \n", + " num_docs_with_term = len([d for d in corpus if term in d])\n", + " idf = sp.log(len(corpus) / num_docs_with_term)\n", + " return tf * idf\n", + "\n", + "a, abb, abc = ['a'], ['a','b','b'], ['a','b','c']\n", + "D = [a, abb, abc]\n", + "print(\"a:\")\n", + "print(tfidf(\"a\", a, D))\n", + "print(tfidf(\"a\", abb, D))\n", + "print(tfidf(\"a\", abc, D))\n", + "print()\n", + "print(tfidf(\"b\", abb, D))\n", + "print()\n", + "print(tfidf(\"b\", abc, D))\n", + "print(tfidf(\"c\", abc, D))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SciKit implements this with TfidfVectorizer, which is inherited from CountVectorizer" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from sklearn.feature_extraction.text import TfidfVectorizer\n", + "import nltk.stem\n", + "english_stemmer = nltk.stem.SnowballStemmer('english')\n", + "class StemmedTfidfVectorizer(TfidfVectorizer):\n", + " def build_analyzer(self):\n", + " analyzer = super(TfidfVectorizer, self).build_analyzer()\n", + " return lambda doc: (\n", + " english_stemmer.stem(w) for w in analyzer(doc))\n", + "vectorizer = StemmedTfidfVectorizer(min_df=1,\n", + " stop_words='english', decode_error='ignore')" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#samples: 5, #features: 17\n" + ] + } + ], + "source": [ + "X_train = vectorizer.fit_transform(posts)\n", + "num_samples, num_features = X_train.shape\n", + "print(\"#samples: %d, #features: %d\"%(num_samples, num_features))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###So far\n", + "1. Tokenize the text\n", + " * lowercase the text\n", + " * Throw away words that only occur once (min_df=1)\n", + " * Throw away stop words\n", + " * Collapse words onto their stems\n", + "2. Toss words that occur way too often to be of any help detcting related posts\n", + "3. Toss words that occur so seldom that they probably won't appear again.\n", + "4. Count Remaining words\n", + "5. Calculate TF-IDF values from counts, considering the whole text corpus\n", + "\n", + "###Limits:\n", + "* **Does not cover word relations** \"Car hits wall\" and \"Wall hits car\" will have same feature vector\n", + "* **Does not capture negations**. This can be fixed by also counting \"bigrams\" and \"trigrams\" in addition to \"unigrams\"\n", + "* **Cannot account for misspelled words**\n", + "\n", + "#Clustering\n", + "* flat - i.e. key means. Divides posts into a set of clusters without relating the clusters to each other. Partitioning. Needs up front number of clusters.\n", + "* hierarchical - clusters get clustered recursively." + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "18846\n" + ] + }, + { + "data": { + "text/plain": [ + "['alt.atheism',\n", + " 'comp.graphics',\n", + " 'comp.os.ms-windows.misc',\n", + " 'comp.sys.ibm.pc.hardware',\n", + " 'comp.sys.mac.hardware',\n", + " 'comp.windows.x',\n", + " 'misc.forsale',\n", + " 'rec.autos',\n", + " 'rec.motorcycles',\n", + " 'rec.sport.baseball',\n", + " 'rec.sport.hockey',\n", + " 'sci.crypt',\n", + " 'sci.electronics',\n", + " 'sci.med',\n", + " 'sci.space',\n", + " 'soc.religion.christian',\n", + " 'talk.politics.guns',\n", + " 'talk.politics.mideast',\n", + " 'talk.politics.misc',\n", + " 'talk.religion.misc']" + ] + }, + "execution_count": 143, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import sklearn.datasets\n", + "all_data = sklearn.datasets.fetch_20newsgroups(subset='all')\n", + "print(len(all_data.filenames))\n", + "all_data.target_names" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3529\n" + ] + } + ], + "source": [ + "groups = ['comp.graphics', 'comp.os.ms-windows.misc',\n", + " 'comp.sys.ibm.pc.hardware','comp.sys.mac.hardware',\n", + " 'comp.windows.x','sci.space']\n", + "train_data = sklearn.datasets.fetch_20newsgroups(\n", + " subset='train', categories=groups)\n", + "print(len(train_data.filenames))" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2349\n" + ] + } + ], + "source": [ + "test_data = sklearn.datasets.fetch_20newsgroups(\n", + " subset='test', categories=groups)\n", + "print(len(test_data.filenames))" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#samples: 3529, #features: 4712\n" + ] + } + ], + "source": [ + "vectorizer = StemmedTfidfVectorizer(\n", + " min_df=10, max_df=0.5,\n", + " stop_words='english',\n", + " decode_error='ignore')\n", + "vectorized = vectorizer.fit_transform(train_data.data)\n", + "num_samples, num_features = vectorized.shape\n", + "print(\"#samples: %d, #features: %d\"% (num_samples, num_features))" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initialization complete\n", + "Iteration 0, inertia 5899.560\n", + "Iteration 1, inertia 3218.298\n", + "Iteration 2, inertia 3184.333\n", + "Iteration 3, inertia 3164.867\n", + "Iteration 4, inertia 3152.004\n", + "Iteration 5, inertia 3143.111\n", + "Iteration 6, inertia 3136.256\n", + "Iteration 7, inertia 3129.325\n", + "Iteration 8, inertia 3124.567\n", + "Iteration 9, inertia 3121.900\n", + "Iteration 10, inertia 3120.210\n", + "Iteration 11, inertia 3118.627\n", + "Iteration 12, inertia 3117.363\n", + "Iteration 13, inertia 3116.811\n", + "Iteration 14, inertia 3116.588\n", + "Iteration 15, inertia 3116.417\n", + "Iteration 16, inertia 3115.760\n", + "Iteration 17, inertia 3115.374\n", + "Iteration 18, inertia 3115.155\n", + "Iteration 19, inertia 3114.949\n", + "Iteration 20, inertia 3114.515\n", + "Iteration 21, inertia 3113.937\n", + "Iteration 22, inertia 3113.720\n", + "Iteration 23, inertia 3113.548\n", + "Iteration 24, inertia 3113.475\n", + "Iteration 25, inertia 3113.447\n", + "Converged at iteration 25\n" + ] + }, + { + "data": { + "text/plain": [ + "KMeans(copy_x=True, init='random', max_iter=300, n_clusters=50, n_init=1,\n", + " n_jobs=1, precompute_distances='auto', random_state=3, tol=0.0001,\n", + " verbose=1)" + ] + }, + "execution_count": 150, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "num_clusters = 50\n", + "from sklearn.cluster import KMeans\n", + "km = KMeans(n_clusters=num_clusters, init='random', \n", + " n_init=1, verbose=1, random_state=3)\n", + "km.fit(vectorized)" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[38 17 47 ..., 41 14 16]\n", + "(3529,)\n" + ] + } + ], + "source": [ + "# each cluster has been assigned a label\n", + "print(km.labels_)\n", + "print(km.labels_.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Putting it all together" + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "166\n" + ] + } + ], + "source": [ + "new_post = \"\"\"\n", + "Disk drive problems. Hi, I have a problem with my hard disk.\n", + "After 1 year it is working only sporadically now.\n", + "I tried to format it, but now it doessn't boot any more.\n", + "Any ideas? Thanks.\n", + "\"\"\"\n", + "\n", + "new_post_vec = vectorizer.transform([new_post])\n", + "new_post_label = km.predict(new_post_vec)[0]\n", + "\n", + "#Now that we have a clustering and a label...\n", + "# `nonzero` makes an array of indices of nonzero numbers\n", + "similar_indices = (km.labels_==new_post_label).nonzero()[0]\n", + "\n", + "similar = []\n", + "for i in similar_indices:\n", + " dist = sp.linalg.norm(\n", + " new_post_vec - vectorized[i].toarray())\n", + " similar.append((dist, train_data.data[i]))\n", + "similar = sorted(similar)\n", + "print(len(similar))" + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(1.0236597431380716,\n", + " \"From: Thomas Dachsel \\nSubject: BOOT PROBLEM with IDE controller\\nNntp-Posting-Host: sdcmvs.mvs.sas.com\\nOrganization: SAS Institute Inc.\\nLines: 25\\n\\nHi,\\nI've got a Multi I/O card (IDE controller + serial/parallel\\ninterface) and two floppy drives (5 1/4, 3 1/2) and a\\nQuantum ProDrive 80AT connected to it.\\nI was able to format the hard disk, but I could not boot from\\nit. I can boot from drive A: (which disk drive does not matter)\\nbut if I remove the disk from drive A and press the reset switch,\\nthe LED of drive A: continues to glow, and the hard disk is\\nnot accessed at all.\\nI guess this must be a problem of either the Multi I/o card\\nor floppy disk drive settings (jumper configuration?)\\nDoes someone have any hint what could be the reason for it.\\nPlease reply by email to GERTHD@MVS.SAS.COM\\nThanks,\\nThomas\\n+-------------------------------------------------------------------+\\n| Thomas Dachsel |\\n| Internet: GERTHD@MVS.SAS.COM |\\n| Fidonet: Thomas_Dachsel@camel.fido.de (2:247/40) |\\n| Subnet: dachsel@rnivh.rni.sub.org (UUCP in Germany, now active) |\\n| Phone: +49 6221 4150 (work), +49 6203 12274 (home) |\\n| Fax: +49 6221 415101 |\\n| Snail: SAS Institute GmbH, P.O.Box 105307, D-W-6900 Heidelberg |\\n| Tagline: One bad sector can ruin a whole day... |\\n+-------------------------------------------------------------------+\\n\")" + ] + }, + "execution_count": 171, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "show_at_1 = similar[0]\n", + "show_at_2 = similar[int(len(similar)/10)]\n", + "show_at_3 = similar[int(len(similar)/ 2)]\n", + "show_at_1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Another look at noise" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(245, 'From: SITUNAYA@IBM3090.BHAM.AC.UK\\nSubject: test....(sorry)\\nOrganization: The University of Birmingham, United Kingdom\\nLines: 1\\nNNTP-Posting-Host: ibm3090.bham.ac.uk\\n\\n==============================================================================\\n', 'comp.graphics')\n" + ] + } + ], + "source": [ + "post_group = zip(train_data.data, train_data.target)\n", + "all = [(len(post[0]), post[0], train_data.target_names[post[1]])\n", + " for post in post_group]\n", + "graphics = sorted([post for post in all if \n", + " post[2]=='comp.graphics'])\n", + "print(graphics[5])" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['situnaya', 'ibm3090', 'bham', 'ac', 'uk', 'subject', 'test', 'sorri', 'organ', 'univers', 'birmingham', 'unit', 'kingdom', 'line', 'nntp', 'post', 'host', 'ibm3090', 'bham', 'ac', 'uk']\n" + ] + } + ], + "source": [ + "noise_post = graphics[5][1]\n", + "analyzer = vectorizer.build_analyzer()\n", + "print(list(analyzer(noise_post)))" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ac', 'birmingham', 'host', 'kingdom', 'nntp', 'sorri', 'test', 'uk', 'unit', 'univers']\n" + ] + } + ], + "source": [ + "useful = set(analyzer(noise_post)).intersection(\n", + " vectorizer.get_feature_names())\n", + "print(sorted(useful))" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IDF(ac)=3.51\n", + "IDF(birmingham)=6.77\n", + "IDF(host)=1.74\n", + "IDF(kingdom)=6.68\n", + "IDF(nntp)=1.77\n", + "IDF(sorri)=4.14\n", + "IDF(test)=3.83\n", + "IDF(uk)=3.70\n", + "IDF(unit)=4.42\n", + "IDF(univers)=1.91\n" + ] + } + ], + "source": [ + "#notice that all of these idf scores are pretty low.\n", + "#also, that the highest rated have nothing to do with \n", + "#computer graphics\n", + "for term in sorted(useful):\n", + " print('IDF(%s)=%.2f'%(term,\n", + " vectorizer._tfidf.idf_[vectorizer.vocabulary_[term]]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Further Reading:\n", + "* Python 3 Text Processing with NLTK 3 Cookbook\n", + "* [sklearn clustering docs](http://scikit-learn.org/dev/modules/clustering.html)\n", + "* sklearn metrics docs - to learn more about measuring kmeans." + ] + }, + { + "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.3.5" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/figure2.png b/figure2.png new file mode 100644 index 00000000..33b06006 Binary files /dev/null and b/figure2.png differ diff --git a/mlbook.pdf b/mlbook.pdf new file mode 100644 index 00000000..a13ae47c Binary files /dev/null and b/mlbook.pdf differ diff --git a/.gitignore b/repo/.gitignore similarity index 100% rename from .gitignore rename to repo/.gitignore diff --git a/LICENSE b/repo/LICENSE similarity index 100% rename from LICENSE rename to repo/LICENSE diff --git a/README.md b/repo/README.md similarity index 100% rename from README.md rename to repo/README.md diff --git a/SimpleImageDataset/building00.jpg b/repo/SimpleImageDataset/building00.jpg similarity index 100% rename from SimpleImageDataset/building00.jpg rename to repo/SimpleImageDataset/building00.jpg diff --git a/SimpleImageDataset/building01.jpg b/repo/SimpleImageDataset/building01.jpg similarity index 100% rename from SimpleImageDataset/building01.jpg rename to repo/SimpleImageDataset/building01.jpg diff --git a/SimpleImageDataset/building02.jpg b/repo/SimpleImageDataset/building02.jpg similarity index 100% rename from SimpleImageDataset/building02.jpg rename to repo/SimpleImageDataset/building02.jpg diff --git a/SimpleImageDataset/building03.jpg b/repo/SimpleImageDataset/building03.jpg similarity index 100% rename from SimpleImageDataset/building03.jpg rename to repo/SimpleImageDataset/building03.jpg diff --git a/SimpleImageDataset/building04.jpg b/repo/SimpleImageDataset/building04.jpg similarity index 100% rename from SimpleImageDataset/building04.jpg rename to repo/SimpleImageDataset/building04.jpg diff --git a/SimpleImageDataset/building05.jpg b/repo/SimpleImageDataset/building05.jpg similarity index 100% rename from SimpleImageDataset/building05.jpg rename to repo/SimpleImageDataset/building05.jpg diff --git a/SimpleImageDataset/building06.jpg b/repo/SimpleImageDataset/building06.jpg similarity index 100% rename from SimpleImageDataset/building06.jpg rename to repo/SimpleImageDataset/building06.jpg diff --git a/SimpleImageDataset/building07.jpg b/repo/SimpleImageDataset/building07.jpg similarity index 100% rename from SimpleImageDataset/building07.jpg rename to repo/SimpleImageDataset/building07.jpg diff --git a/SimpleImageDataset/building08.jpg b/repo/SimpleImageDataset/building08.jpg similarity index 100% rename from SimpleImageDataset/building08.jpg rename to repo/SimpleImageDataset/building08.jpg diff --git a/SimpleImageDataset/building09.jpg b/repo/SimpleImageDataset/building09.jpg similarity index 100% rename from SimpleImageDataset/building09.jpg rename to repo/SimpleImageDataset/building09.jpg diff --git a/SimpleImageDataset/building10.jpg b/repo/SimpleImageDataset/building10.jpg similarity index 100% rename from SimpleImageDataset/building10.jpg rename to repo/SimpleImageDataset/building10.jpg diff --git a/SimpleImageDataset/building11.jpg b/repo/SimpleImageDataset/building11.jpg similarity index 100% rename from SimpleImageDataset/building11.jpg rename to repo/SimpleImageDataset/building11.jpg diff --git a/SimpleImageDataset/building12.jpg b/repo/SimpleImageDataset/building12.jpg similarity index 100% rename from SimpleImageDataset/building12.jpg rename to repo/SimpleImageDataset/building12.jpg diff --git a/SimpleImageDataset/building13.jpg b/repo/SimpleImageDataset/building13.jpg similarity index 100% rename from SimpleImageDataset/building13.jpg rename to repo/SimpleImageDataset/building13.jpg diff --git a/SimpleImageDataset/building14.jpg b/repo/SimpleImageDataset/building14.jpg similarity index 100% rename from SimpleImageDataset/building14.jpg rename to repo/SimpleImageDataset/building14.jpg diff --git a/SimpleImageDataset/building15.jpg b/repo/SimpleImageDataset/building15.jpg similarity index 100% rename from SimpleImageDataset/building15.jpg rename to repo/SimpleImageDataset/building15.jpg diff --git a/SimpleImageDataset/building16.jpg b/repo/SimpleImageDataset/building16.jpg similarity index 100% rename from SimpleImageDataset/building16.jpg rename to repo/SimpleImageDataset/building16.jpg diff --git a/SimpleImageDataset/building17.jpg b/repo/SimpleImageDataset/building17.jpg similarity index 100% rename from SimpleImageDataset/building17.jpg rename to repo/SimpleImageDataset/building17.jpg diff --git a/SimpleImageDataset/building18.jpg b/repo/SimpleImageDataset/building18.jpg similarity index 100% rename from SimpleImageDataset/building18.jpg rename to repo/SimpleImageDataset/building18.jpg diff --git a/SimpleImageDataset/building19.jpg b/repo/SimpleImageDataset/building19.jpg similarity index 100% rename from SimpleImageDataset/building19.jpg rename to repo/SimpleImageDataset/building19.jpg diff --git a/SimpleImageDataset/building20.jpg b/repo/SimpleImageDataset/building20.jpg similarity index 100% rename from SimpleImageDataset/building20.jpg rename to repo/SimpleImageDataset/building20.jpg diff --git a/SimpleImageDataset/building21.jpg b/repo/SimpleImageDataset/building21.jpg similarity index 100% rename from SimpleImageDataset/building21.jpg rename to repo/SimpleImageDataset/building21.jpg diff --git a/SimpleImageDataset/building22.jpg b/repo/SimpleImageDataset/building22.jpg similarity index 100% rename from SimpleImageDataset/building22.jpg rename to repo/SimpleImageDataset/building22.jpg diff --git a/SimpleImageDataset/building23.jpg b/repo/SimpleImageDataset/building23.jpg similarity index 100% rename from SimpleImageDataset/building23.jpg rename to repo/SimpleImageDataset/building23.jpg diff --git a/SimpleImageDataset/building24.jpg b/repo/SimpleImageDataset/building24.jpg similarity index 100% rename from SimpleImageDataset/building24.jpg rename to repo/SimpleImageDataset/building24.jpg diff --git a/SimpleImageDataset/building25.jpg b/repo/SimpleImageDataset/building25.jpg similarity index 100% rename from SimpleImageDataset/building25.jpg rename to repo/SimpleImageDataset/building25.jpg diff --git a/SimpleImageDataset/building26.jpg b/repo/SimpleImageDataset/building26.jpg similarity index 100% rename from SimpleImageDataset/building26.jpg rename to repo/SimpleImageDataset/building26.jpg diff --git a/SimpleImageDataset/building27.jpg b/repo/SimpleImageDataset/building27.jpg similarity index 100% rename from SimpleImageDataset/building27.jpg rename to repo/SimpleImageDataset/building27.jpg diff --git a/SimpleImageDataset/building28.jpg b/repo/SimpleImageDataset/building28.jpg similarity index 100% rename from SimpleImageDataset/building28.jpg rename to repo/SimpleImageDataset/building28.jpg diff --git a/SimpleImageDataset/building29.jpg b/repo/SimpleImageDataset/building29.jpg similarity index 100% rename from SimpleImageDataset/building29.jpg rename to repo/SimpleImageDataset/building29.jpg diff --git a/SimpleImageDataset/scene00.jpg b/repo/SimpleImageDataset/scene00.jpg similarity index 100% rename from SimpleImageDataset/scene00.jpg rename to repo/SimpleImageDataset/scene00.jpg diff --git a/SimpleImageDataset/scene01.jpg b/repo/SimpleImageDataset/scene01.jpg similarity index 100% rename from SimpleImageDataset/scene01.jpg rename to repo/SimpleImageDataset/scene01.jpg diff --git a/SimpleImageDataset/scene02.jpg b/repo/SimpleImageDataset/scene02.jpg similarity index 100% rename from SimpleImageDataset/scene02.jpg rename to repo/SimpleImageDataset/scene02.jpg diff --git a/SimpleImageDataset/scene03.jpg b/repo/SimpleImageDataset/scene03.jpg similarity index 100% rename from SimpleImageDataset/scene03.jpg rename to repo/SimpleImageDataset/scene03.jpg diff --git a/SimpleImageDataset/scene04.jpg b/repo/SimpleImageDataset/scene04.jpg similarity index 100% rename from SimpleImageDataset/scene04.jpg rename to repo/SimpleImageDataset/scene04.jpg diff --git a/SimpleImageDataset/scene05.jpg b/repo/SimpleImageDataset/scene05.jpg similarity index 100% rename from SimpleImageDataset/scene05.jpg rename to repo/SimpleImageDataset/scene05.jpg diff --git a/SimpleImageDataset/scene06.jpg b/repo/SimpleImageDataset/scene06.jpg similarity index 100% rename from SimpleImageDataset/scene06.jpg rename to repo/SimpleImageDataset/scene06.jpg diff --git a/SimpleImageDataset/scene07.jpg b/repo/SimpleImageDataset/scene07.jpg similarity index 100% rename from SimpleImageDataset/scene07.jpg rename to repo/SimpleImageDataset/scene07.jpg diff --git a/SimpleImageDataset/scene08.jpg b/repo/SimpleImageDataset/scene08.jpg similarity index 100% rename from SimpleImageDataset/scene08.jpg rename to repo/SimpleImageDataset/scene08.jpg diff --git a/SimpleImageDataset/scene09.jpg b/repo/SimpleImageDataset/scene09.jpg similarity index 100% rename from SimpleImageDataset/scene09.jpg rename to repo/SimpleImageDataset/scene09.jpg diff --git a/SimpleImageDataset/scene10.jpg b/repo/SimpleImageDataset/scene10.jpg similarity index 100% rename from SimpleImageDataset/scene10.jpg rename to repo/SimpleImageDataset/scene10.jpg diff --git a/SimpleImageDataset/scene11.jpg b/repo/SimpleImageDataset/scene11.jpg similarity index 100% rename from SimpleImageDataset/scene11.jpg rename to repo/SimpleImageDataset/scene11.jpg diff --git a/SimpleImageDataset/scene12.jpg b/repo/SimpleImageDataset/scene12.jpg similarity index 100% rename from SimpleImageDataset/scene12.jpg rename to repo/SimpleImageDataset/scene12.jpg diff --git a/SimpleImageDataset/scene13.jpg b/repo/SimpleImageDataset/scene13.jpg similarity index 100% rename from SimpleImageDataset/scene13.jpg rename to repo/SimpleImageDataset/scene13.jpg diff --git a/SimpleImageDataset/scene14.jpg b/repo/SimpleImageDataset/scene14.jpg similarity index 100% rename from SimpleImageDataset/scene14.jpg rename to repo/SimpleImageDataset/scene14.jpg diff --git a/SimpleImageDataset/scene15.jpg b/repo/SimpleImageDataset/scene15.jpg similarity index 100% rename from SimpleImageDataset/scene15.jpg rename to repo/SimpleImageDataset/scene15.jpg diff --git a/SimpleImageDataset/scene16.jpg b/repo/SimpleImageDataset/scene16.jpg similarity index 100% rename from SimpleImageDataset/scene16.jpg rename to repo/SimpleImageDataset/scene16.jpg diff --git a/SimpleImageDataset/scene17.jpg b/repo/SimpleImageDataset/scene17.jpg similarity index 100% rename from SimpleImageDataset/scene17.jpg rename to repo/SimpleImageDataset/scene17.jpg diff --git a/SimpleImageDataset/scene18.jpg b/repo/SimpleImageDataset/scene18.jpg similarity index 100% rename from SimpleImageDataset/scene18.jpg rename to repo/SimpleImageDataset/scene18.jpg diff --git a/SimpleImageDataset/scene19.jpg b/repo/SimpleImageDataset/scene19.jpg similarity index 100% rename from SimpleImageDataset/scene19.jpg rename to repo/SimpleImageDataset/scene19.jpg diff --git a/SimpleImageDataset/scene20.jpg b/repo/SimpleImageDataset/scene20.jpg similarity index 100% rename from SimpleImageDataset/scene20.jpg rename to repo/SimpleImageDataset/scene20.jpg diff --git a/SimpleImageDataset/scene21.jpg b/repo/SimpleImageDataset/scene21.jpg similarity index 100% rename from SimpleImageDataset/scene21.jpg rename to repo/SimpleImageDataset/scene21.jpg diff --git a/SimpleImageDataset/scene22.jpg b/repo/SimpleImageDataset/scene22.jpg similarity index 100% rename from SimpleImageDataset/scene22.jpg rename to repo/SimpleImageDataset/scene22.jpg diff --git a/SimpleImageDataset/scene23.jpg b/repo/SimpleImageDataset/scene23.jpg similarity index 100% rename from SimpleImageDataset/scene23.jpg rename to repo/SimpleImageDataset/scene23.jpg diff --git a/SimpleImageDataset/scene24.jpg b/repo/SimpleImageDataset/scene24.jpg similarity index 100% rename from SimpleImageDataset/scene24.jpg rename to repo/SimpleImageDataset/scene24.jpg diff --git a/SimpleImageDataset/scene25.jpg b/repo/SimpleImageDataset/scene25.jpg similarity index 100% rename from SimpleImageDataset/scene25.jpg rename to repo/SimpleImageDataset/scene25.jpg diff --git a/SimpleImageDataset/scene26.jpg b/repo/SimpleImageDataset/scene26.jpg similarity index 100% rename from SimpleImageDataset/scene26.jpg rename to repo/SimpleImageDataset/scene26.jpg diff --git a/SimpleImageDataset/scene27.jpg b/repo/SimpleImageDataset/scene27.jpg similarity index 100% rename from SimpleImageDataset/scene27.jpg rename to repo/SimpleImageDataset/scene27.jpg diff --git a/SimpleImageDataset/scene28.jpg b/repo/SimpleImageDataset/scene28.jpg similarity index 100% rename from SimpleImageDataset/scene28.jpg rename to repo/SimpleImageDataset/scene28.jpg diff --git a/SimpleImageDataset/scene29.jpg b/repo/SimpleImageDataset/scene29.jpg similarity index 100% rename from SimpleImageDataset/scene29.jpg rename to repo/SimpleImageDataset/scene29.jpg diff --git a/SimpleImageDataset/text00.jpg b/repo/SimpleImageDataset/text00.jpg similarity index 100% rename from SimpleImageDataset/text00.jpg rename to repo/SimpleImageDataset/text00.jpg diff --git a/SimpleImageDataset/text01.jpg b/repo/SimpleImageDataset/text01.jpg similarity index 100% rename from SimpleImageDataset/text01.jpg rename to repo/SimpleImageDataset/text01.jpg diff --git a/SimpleImageDataset/text02.jpg b/repo/SimpleImageDataset/text02.jpg similarity index 100% rename from SimpleImageDataset/text02.jpg rename to repo/SimpleImageDataset/text02.jpg diff --git a/SimpleImageDataset/text03.jpg b/repo/SimpleImageDataset/text03.jpg similarity index 100% rename from SimpleImageDataset/text03.jpg rename to repo/SimpleImageDataset/text03.jpg diff --git a/SimpleImageDataset/text04.jpg b/repo/SimpleImageDataset/text04.jpg similarity index 100% rename from SimpleImageDataset/text04.jpg rename to repo/SimpleImageDataset/text04.jpg diff --git a/SimpleImageDataset/text05.jpg b/repo/SimpleImageDataset/text05.jpg similarity index 100% rename from SimpleImageDataset/text05.jpg rename to repo/SimpleImageDataset/text05.jpg diff --git a/SimpleImageDataset/text06.jpg b/repo/SimpleImageDataset/text06.jpg similarity index 100% rename from SimpleImageDataset/text06.jpg rename to repo/SimpleImageDataset/text06.jpg diff --git a/SimpleImageDataset/text07.jpg b/repo/SimpleImageDataset/text07.jpg similarity index 100% rename from SimpleImageDataset/text07.jpg rename to repo/SimpleImageDataset/text07.jpg diff --git a/SimpleImageDataset/text08.jpg b/repo/SimpleImageDataset/text08.jpg similarity index 100% rename from SimpleImageDataset/text08.jpg rename to repo/SimpleImageDataset/text08.jpg diff --git a/SimpleImageDataset/text09.jpg b/repo/SimpleImageDataset/text09.jpg similarity index 100% rename from SimpleImageDataset/text09.jpg rename to repo/SimpleImageDataset/text09.jpg diff --git a/SimpleImageDataset/text10.jpg b/repo/SimpleImageDataset/text10.jpg similarity index 100% rename from SimpleImageDataset/text10.jpg rename to repo/SimpleImageDataset/text10.jpg diff --git a/SimpleImageDataset/text11.jpg b/repo/SimpleImageDataset/text11.jpg similarity index 100% rename from SimpleImageDataset/text11.jpg rename to repo/SimpleImageDataset/text11.jpg diff --git a/SimpleImageDataset/text12.jpg b/repo/SimpleImageDataset/text12.jpg similarity index 100% rename from SimpleImageDataset/text12.jpg rename to repo/SimpleImageDataset/text12.jpg diff --git a/SimpleImageDataset/text13.jpg b/repo/SimpleImageDataset/text13.jpg similarity index 100% rename from SimpleImageDataset/text13.jpg rename to repo/SimpleImageDataset/text13.jpg diff --git a/SimpleImageDataset/text14.jpg b/repo/SimpleImageDataset/text14.jpg similarity index 100% rename from SimpleImageDataset/text14.jpg rename to repo/SimpleImageDataset/text14.jpg diff --git a/SimpleImageDataset/text15.jpg b/repo/SimpleImageDataset/text15.jpg similarity index 100% rename from SimpleImageDataset/text15.jpg rename to repo/SimpleImageDataset/text15.jpg diff --git a/SimpleImageDataset/text16.jpg b/repo/SimpleImageDataset/text16.jpg similarity index 100% rename from SimpleImageDataset/text16.jpg rename to repo/SimpleImageDataset/text16.jpg diff --git a/SimpleImageDataset/text17.jpg b/repo/SimpleImageDataset/text17.jpg similarity index 100% rename from SimpleImageDataset/text17.jpg rename to repo/SimpleImageDataset/text17.jpg diff --git a/SimpleImageDataset/text18.jpg b/repo/SimpleImageDataset/text18.jpg similarity index 100% rename from SimpleImageDataset/text18.jpg rename to repo/SimpleImageDataset/text18.jpg diff --git a/SimpleImageDataset/text19.jpg b/repo/SimpleImageDataset/text19.jpg similarity index 100% rename from SimpleImageDataset/text19.jpg rename to repo/SimpleImageDataset/text19.jpg diff --git a/SimpleImageDataset/text20.jpg b/repo/SimpleImageDataset/text20.jpg similarity index 100% rename from SimpleImageDataset/text20.jpg rename to repo/SimpleImageDataset/text20.jpg diff --git a/SimpleImageDataset/text21.jpg b/repo/SimpleImageDataset/text21.jpg similarity index 100% rename from SimpleImageDataset/text21.jpg rename to repo/SimpleImageDataset/text21.jpg diff --git a/SimpleImageDataset/text22.jpg b/repo/SimpleImageDataset/text22.jpg similarity index 100% rename from SimpleImageDataset/text22.jpg rename to repo/SimpleImageDataset/text22.jpg diff --git a/SimpleImageDataset/text23.jpg b/repo/SimpleImageDataset/text23.jpg similarity index 100% rename from SimpleImageDataset/text23.jpg rename to repo/SimpleImageDataset/text23.jpg diff --git a/SimpleImageDataset/text24.jpg b/repo/SimpleImageDataset/text24.jpg similarity index 100% rename from SimpleImageDataset/text24.jpg rename to repo/SimpleImageDataset/text24.jpg diff --git a/SimpleImageDataset/text25.jpg b/repo/SimpleImageDataset/text25.jpg similarity index 100% rename from SimpleImageDataset/text25.jpg rename to repo/SimpleImageDataset/text25.jpg diff --git a/SimpleImageDataset/text26.jpg b/repo/SimpleImageDataset/text26.jpg similarity index 100% rename from SimpleImageDataset/text26.jpg rename to repo/SimpleImageDataset/text26.jpg diff --git a/SimpleImageDataset/text27.jpg b/repo/SimpleImageDataset/text27.jpg similarity index 100% rename from SimpleImageDataset/text27.jpg rename to repo/SimpleImageDataset/text27.jpg diff --git a/SimpleImageDataset/text28.jpg b/repo/SimpleImageDataset/text28.jpg similarity index 100% rename from SimpleImageDataset/text28.jpg rename to repo/SimpleImageDataset/text28.jpg diff --git a/SimpleImageDataset/text29.jpg b/repo/SimpleImageDataset/text29.jpg similarity index 100% rename from SimpleImageDataset/text29.jpg rename to repo/SimpleImageDataset/text29.jpg diff --git a/ch01/analyze_webstats.py b/repo/ch01/analyze_webstats.py similarity index 100% rename from ch01/analyze_webstats.py rename to repo/ch01/analyze_webstats.py diff --git a/ch01/data/web_traffic.tsv b/repo/ch01/data/web_traffic.tsv similarity index 100% rename from ch01/data/web_traffic.tsv rename to repo/ch01/data/web_traffic.tsv diff --git a/ch01/gen_webstats.py b/repo/ch01/gen_webstats.py similarity index 100% rename from ch01/gen_webstats.py rename to repo/ch01/gen_webstats.py diff --git a/ch01/performance_test.py b/repo/ch01/performance_test.py similarity index 100% rename from ch01/performance_test.py rename to repo/ch01/performance_test.py diff --git a/ch01/utils.py b/repo/ch01/utils.py similarity index 100% rename from ch01/utils.py rename to repo/ch01/utils.py diff --git a/ch02/README.rst b/repo/ch02/README.rst similarity index 100% rename from ch02/README.rst rename to repo/ch02/README.rst diff --git a/ch02/chapter.py b/repo/ch02/chapter.py similarity index 100% rename from ch02/chapter.py rename to repo/ch02/chapter.py diff --git a/ch02/data/seeds.tsv b/repo/ch02/data/seeds.tsv similarity index 100% rename from ch02/data/seeds.tsv rename to repo/ch02/data/seeds.tsv diff --git a/ch02/extra/create_tsv.py b/repo/ch02/extra/create_tsv.py similarity index 100% rename from ch02/extra/create_tsv.py rename to repo/ch02/extra/create_tsv.py diff --git a/ch02/figure1.py b/repo/ch02/figure1.py similarity index 100% rename from ch02/figure1.py rename to repo/ch02/figure1.py diff --git a/ch02/figure2.py b/repo/ch02/figure2.py similarity index 100% rename from ch02/figure2.py rename to repo/ch02/figure2.py diff --git a/ch02/figure4_5_no_sklearn.py b/repo/ch02/figure4_5_no_sklearn.py similarity index 100% rename from ch02/figure4_5_no_sklearn.py rename to repo/ch02/figure4_5_no_sklearn.py diff --git a/ch02/figure4_5_sklearn.py b/repo/ch02/figure4_5_sklearn.py similarity index 100% rename from ch02/figure4_5_sklearn.py rename to repo/ch02/figure4_5_sklearn.py diff --git a/ch02/heldout.py b/repo/ch02/heldout.py similarity index 100% rename from ch02/heldout.py rename to repo/ch02/heldout.py diff --git a/ch02/knn.py b/repo/ch02/knn.py similarity index 100% rename from ch02/knn.py rename to repo/ch02/knn.py diff --git a/ch02/load.py b/repo/ch02/load.py similarity index 100% rename from ch02/load.py rename to repo/ch02/load.py diff --git a/ch02/seeds_knn.py b/repo/ch02/seeds_knn.py similarity index 100% rename from ch02/seeds_knn.py rename to repo/ch02/seeds_knn.py diff --git a/ch02/seeds_knn_increasing_k.py b/repo/ch02/seeds_knn_increasing_k.py similarity index 100% rename from ch02/seeds_knn_increasing_k.py rename to repo/ch02/seeds_knn_increasing_k.py diff --git a/ch02/seeds_knn_sklearn.py b/repo/ch02/seeds_knn_sklearn.py similarity index 100% rename from ch02/seeds_knn_sklearn.py rename to repo/ch02/seeds_knn_sklearn.py diff --git a/ch02/seeds_threshold.py b/repo/ch02/seeds_threshold.py similarity index 100% rename from ch02/seeds_threshold.py rename to repo/ch02/seeds_threshold.py diff --git a/ch02/simple_threshold.py b/repo/ch02/simple_threshold.py similarity index 100% rename from ch02/simple_threshold.py rename to repo/ch02/simple_threshold.py diff --git a/ch02/stump.py b/repo/ch02/stump.py similarity index 100% rename from ch02/stump.py rename to repo/ch02/stump.py diff --git a/ch02/tests/test_load.py b/repo/ch02/tests/test_load.py similarity index 100% rename from ch02/tests/test_load.py rename to repo/ch02/tests/test_load.py diff --git a/ch02/threshold.py b/repo/ch02/threshold.py similarity index 100% rename from ch02/threshold.py rename to repo/ch02/threshold.py diff --git a/ch03/README.md b/repo/ch03/README.md similarity index 100% rename from ch03/README.md rename to repo/ch03/README.md diff --git a/ch03/data/toy/01.txt b/repo/ch03/data/toy/01.txt similarity index 100% rename from ch03/data/toy/01.txt rename to repo/ch03/data/toy/01.txt diff --git a/ch03/data/toy/02.txt b/repo/ch03/data/toy/02.txt similarity index 100% rename from ch03/data/toy/02.txt rename to repo/ch03/data/toy/02.txt diff --git a/ch03/data/toy/03.txt b/repo/ch03/data/toy/03.txt similarity index 100% rename from ch03/data/toy/03.txt rename to repo/ch03/data/toy/03.txt diff --git a/ch03/data/toy/04.txt b/repo/ch03/data/toy/04.txt similarity index 100% rename from ch03/data/toy/04.txt rename to repo/ch03/data/toy/04.txt diff --git a/ch03/data/toy/05.txt b/repo/ch03/data/toy/05.txt similarity index 100% rename from ch03/data/toy/05.txt rename to repo/ch03/data/toy/05.txt diff --git a/ch03/noise_analysis.py b/repo/ch03/noise_analysis.py similarity index 100% rename from ch03/noise_analysis.py rename to repo/ch03/noise_analysis.py diff --git a/ch03/plot_kmeans_example.py b/repo/ch03/plot_kmeans_example.py similarity index 100% rename from ch03/plot_kmeans_example.py rename to repo/ch03/plot_kmeans_example.py diff --git a/ch03/rel_post_01.py b/repo/ch03/rel_post_01.py similarity index 100% rename from ch03/rel_post_01.py rename to repo/ch03/rel_post_01.py diff --git a/ch03/rel_post_20news.py b/repo/ch03/rel_post_20news.py similarity index 100% rename from ch03/rel_post_20news.py rename to repo/ch03/rel_post_20news.py diff --git a/ch03/tfidf.py b/repo/ch03/tfidf.py similarity index 100% rename from ch03/tfidf.py rename to repo/ch03/tfidf.py diff --git a/ch03/utils.py b/repo/ch03/utils.py similarity index 100% rename from ch03/utils.py rename to repo/ch03/utils.py diff --git a/ch04/.gitignore b/repo/ch04/.gitignore similarity index 100% rename from ch04/.gitignore rename to repo/ch04/.gitignore diff --git a/ch04/README.rst b/repo/ch04/README.rst similarity index 100% rename from ch04/README.rst rename to repo/ch04/README.rst diff --git a/ch04/blei_lda.py b/repo/ch04/blei_lda.py similarity index 100% rename from ch04/blei_lda.py rename to repo/ch04/blei_lda.py diff --git a/ch04/build_lda.py b/repo/ch04/build_lda.py similarity index 100% rename from ch04/build_lda.py rename to repo/ch04/build_lda.py diff --git a/ch04/data/.gitignore b/repo/ch04/data/.gitignore similarity index 100% rename from ch04/data/.gitignore rename to repo/ch04/data/.gitignore diff --git a/ch04/data/download_ap.sh b/repo/ch04/data/download_ap.sh similarity index 100% rename from ch04/data/download_ap.sh rename to repo/ch04/data/download_ap.sh diff --git a/ch04/data/download_wp.sh b/repo/ch04/data/download_wp.sh similarity index 100% rename from ch04/data/download_wp.sh rename to repo/ch04/data/download_wp.sh diff --git a/ch04/data/preprocess-wikidata.sh b/repo/ch04/data/preprocess-wikidata.sh similarity index 100% rename from ch04/data/preprocess-wikidata.sh rename to repo/ch04/data/preprocess-wikidata.sh diff --git a/ch04/wikitopics_create.py b/repo/ch04/wikitopics_create.py similarity index 100% rename from ch04/wikitopics_create.py rename to repo/ch04/wikitopics_create.py diff --git a/ch04/wikitopics_create_hdp.py b/repo/ch04/wikitopics_create_hdp.py similarity index 100% rename from ch04/wikitopics_create_hdp.py rename to repo/ch04/wikitopics_create_hdp.py diff --git a/ch04/wikitopics_plot.py b/repo/ch04/wikitopics_plot.py similarity index 100% rename from ch04/wikitopics_plot.py rename to repo/ch04/wikitopics_plot.py diff --git a/ch04/wordcloud.py b/repo/ch04/wordcloud.py similarity index 100% rename from ch04/wordcloud.py rename to repo/ch04/wordcloud.py diff --git a/ch05/PosTagFreqVectorizer.py b/repo/ch05/PosTagFreqVectorizer.py similarity index 100% rename from ch05/PosTagFreqVectorizer.py rename to repo/ch05/PosTagFreqVectorizer.py diff --git a/ch05/README.md b/repo/ch05/README.md similarity index 100% rename from ch05/README.md rename to repo/ch05/README.md diff --git a/ch05/chose_instances.py b/repo/ch05/chose_instances.py similarity index 100% rename from ch05/chose_instances.py rename to repo/ch05/chose_instances.py diff --git a/ch05/classify.py b/repo/ch05/classify.py similarity index 100% rename from ch05/classify.py rename to repo/ch05/classify.py diff --git a/ch05/data.py b/repo/ch05/data.py similarity index 100% rename from ch05/data.py rename to repo/ch05/data.py diff --git a/ch05/log_reg_example.py b/repo/ch05/log_reg_example.py similarity index 100% rename from ch05/log_reg_example.py rename to repo/ch05/log_reg_example.py diff --git a/ch05/so_xml_to_tsv.py b/repo/ch05/so_xml_to_tsv.py similarity index 100% rename from ch05/so_xml_to_tsv.py rename to repo/ch05/so_xml_to_tsv.py diff --git a/ch05/utils.py b/repo/ch05/utils.py similarity index 100% rename from ch05/utils.py rename to repo/ch05/utils.py diff --git a/ch06/01_start.py b/repo/ch06/01_start.py similarity index 100% rename from ch06/01_start.py rename to repo/ch06/01_start.py diff --git a/ch06/02_tuning.py b/repo/ch06/02_tuning.py similarity index 100% rename from ch06/02_tuning.py rename to repo/ch06/02_tuning.py diff --git a/ch06/03_clean.py b/repo/ch06/03_clean.py similarity index 100% rename from ch06/03_clean.py rename to repo/ch06/03_clean.py diff --git a/ch06/04_sent.py b/repo/ch06/04_sent.py similarity index 100% rename from ch06/04_sent.py rename to repo/ch06/04_sent.py diff --git a/ch06/README.md b/repo/ch06/README.md similarity index 100% rename from ch06/README.md rename to repo/ch06/README.md diff --git a/ch06/data/corpus.csv b/repo/ch06/data/corpus.csv similarity index 100% rename from ch06/data/corpus.csv rename to repo/ch06/data/corpus.csv diff --git a/ch06/data/missing.tsv b/repo/ch06/data/missing.tsv similarity index 100% rename from ch06/data/missing.tsv rename to repo/ch06/data/missing.tsv diff --git a/ch06/data/not_authorized.tsv b/repo/ch06/data/not_authorized.tsv similarity index 100% rename from ch06/data/not_authorized.tsv rename to repo/ch06/data/not_authorized.tsv diff --git a/ch06/install.py b/repo/ch06/install.py similarity index 100% rename from ch06/install.py rename to repo/ch06/install.py diff --git a/ch06/twitterauth.py b/repo/ch06/twitterauth.py similarity index 100% rename from ch06/twitterauth.py rename to repo/ch06/twitterauth.py diff --git a/ch06/utils.py b/repo/ch06/utils.py similarity index 100% rename from ch06/utils.py rename to repo/ch06/utils.py diff --git a/ch07/.gitignore b/repo/ch07/.gitignore similarity index 100% rename from ch07/.gitignore rename to repo/ch07/.gitignore diff --git a/ch07/README.rst b/repo/ch07/README.rst similarity index 100% rename from ch07/README.rst rename to repo/ch07/README.rst diff --git a/ch07/boston1.py b/repo/ch07/boston1.py similarity index 100% rename from ch07/boston1.py rename to repo/ch07/boston1.py diff --git a/ch07/boston1numpy.py b/repo/ch07/boston1numpy.py similarity index 100% rename from ch07/boston1numpy.py rename to repo/ch07/boston1numpy.py diff --git a/ch07/boston_cv_penalized.py b/repo/ch07/boston_cv_penalized.py similarity index 100% rename from ch07/boston_cv_penalized.py rename to repo/ch07/boston_cv_penalized.py diff --git a/ch07/data/.gitignore b/repo/ch07/data/.gitignore similarity index 100% rename from ch07/data/.gitignore rename to repo/ch07/data/.gitignore diff --git a/ch07/data/download.sh b/repo/ch07/data/download.sh similarity index 100% rename from ch07/data/download.sh rename to repo/ch07/data/download.sh diff --git a/ch07/figure1_2.py b/repo/ch07/figure1_2.py similarity index 100% rename from ch07/figure1_2.py rename to repo/ch07/figure1_2.py diff --git a/ch07/figure3.py b/repo/ch07/figure3.py similarity index 100% rename from ch07/figure3.py rename to repo/ch07/figure3.py diff --git a/ch07/figure4.py b/repo/ch07/figure4.py similarity index 100% rename from ch07/figure4.py rename to repo/ch07/figure4.py diff --git a/ch07/lasso_path_plot.py b/repo/ch07/lasso_path_plot.py similarity index 100% rename from ch07/lasso_path_plot.py rename to repo/ch07/lasso_path_plot.py diff --git a/ch07/lr10k.py b/repo/ch07/lr10k.py similarity index 100% rename from ch07/lr10k.py rename to repo/ch07/lr10k.py diff --git a/ch07/predict10k_en.py b/repo/ch07/predict10k_en.py similarity index 100% rename from ch07/predict10k_en.py rename to repo/ch07/predict10k_en.py diff --git a/ch08/README.rst b/repo/ch08/README.rst similarity index 100% rename from ch08/README.rst rename to repo/ch08/README.rst diff --git a/ch08/all_correlations.py b/repo/ch08/all_correlations.py similarity index 100% rename from ch08/all_correlations.py rename to repo/ch08/all_correlations.py diff --git a/ch08/apriori/.gitignore b/repo/ch08/apriori/.gitignore similarity index 100% rename from ch08/apriori/.gitignore rename to repo/ch08/apriori/.gitignore diff --git a/ch08/apriori/apriori.py b/repo/ch08/apriori/apriori.py similarity index 100% rename from ch08/apriori/apriori.py rename to repo/ch08/apriori/apriori.py diff --git a/ch08/apriori/apriori_example.py b/repo/ch08/apriori/apriori_example.py similarity index 100% rename from ch08/apriori/apriori_example.py rename to repo/ch08/apriori/apriori_example.py diff --git a/ch08/apriori/apriori_naive.py b/repo/ch08/apriori/apriori_naive.py similarity index 100% rename from ch08/apriori/apriori_naive.py rename to repo/ch08/apriori/apriori_naive.py diff --git a/ch08/apriori/download.sh b/repo/ch08/apriori/download.sh similarity index 100% rename from ch08/apriori/download.sh rename to repo/ch08/apriori/download.sh diff --git a/ch08/apriori/histogram.py b/repo/ch08/apriori/histogram.py similarity index 100% rename from ch08/apriori/histogram.py rename to repo/ch08/apriori/histogram.py diff --git a/ch08/averaged.py b/repo/ch08/averaged.py similarity index 100% rename from ch08/averaged.py rename to repo/ch08/averaged.py diff --git a/ch08/chapter.py b/repo/ch08/chapter.py similarity index 100% rename from ch08/chapter.py rename to repo/ch08/chapter.py diff --git a/ch08/corrneighbours.py b/repo/ch08/corrneighbours.py similarity index 100% rename from ch08/corrneighbours.py rename to repo/ch08/corrneighbours.py diff --git a/ch08/data/.gitignore b/repo/ch08/data/.gitignore similarity index 100% rename from ch08/data/.gitignore rename to repo/ch08/data/.gitignore diff --git a/ch08/data/download.sh b/repo/ch08/data/download.sh similarity index 100% rename from ch08/data/download.sh rename to repo/ch08/data/download.sh diff --git a/ch08/figure3.py b/repo/ch08/figure3.py similarity index 100% rename from ch08/figure3.py rename to repo/ch08/figure3.py diff --git a/ch08/load_ml100k.py b/repo/ch08/load_ml100k.py similarity index 100% rename from ch08/load_ml100k.py rename to repo/ch08/load_ml100k.py diff --git a/ch08/norm.py b/repo/ch08/norm.py similarity index 100% rename from ch08/norm.py rename to repo/ch08/norm.py diff --git a/ch08/regression.py b/repo/ch08/regression.py similarity index 100% rename from ch08/regression.py rename to repo/ch08/regression.py diff --git a/ch08/similar_movie.py b/repo/ch08/similar_movie.py similarity index 100% rename from ch08/similar_movie.py rename to repo/ch08/similar_movie.py diff --git a/ch08/stacked.py b/repo/ch08/stacked.py similarity index 100% rename from ch08/stacked.py rename to repo/ch08/stacked.py diff --git a/ch09/01_fft_based_classifier.py b/repo/ch09/01_fft_based_classifier.py similarity index 100% rename from ch09/01_fft_based_classifier.py rename to repo/ch09/01_fft_based_classifier.py diff --git a/ch09/02_ceps_based_classifier.py b/repo/ch09/02_ceps_based_classifier.py similarity index 100% rename from ch09/02_ceps_based_classifier.py rename to repo/ch09/02_ceps_based_classifier.py diff --git a/ch09/Makefile b/repo/ch09/Makefile similarity index 100% rename from ch09/Makefile rename to repo/ch09/Makefile diff --git a/ch09/ceps.py b/repo/ch09/ceps.py similarity index 100% rename from ch09/ceps.py rename to repo/ch09/ceps.py diff --git a/ch09/fft.py b/repo/ch09/fft.py similarity index 100% rename from ch09/fft.py rename to repo/ch09/fft.py diff --git a/ch09/utils.py b/repo/ch09/utils.py similarity index 100% rename from ch09/utils.py rename to repo/ch09/utils.py diff --git a/ch10/.gitignore b/repo/ch10/.gitignore similarity index 100% rename from ch10/.gitignore rename to repo/ch10/.gitignore diff --git a/ch10/README.rst b/repo/ch10/README.rst similarity index 100% rename from ch10/README.rst rename to repo/ch10/README.rst diff --git a/ch10/chapter.py b/repo/ch10/chapter.py similarity index 100% rename from ch10/chapter.py rename to repo/ch10/chapter.py diff --git a/ch10/download.sh b/repo/ch10/download.sh similarity index 100% rename from ch10/download.sh rename to repo/ch10/download.sh diff --git a/ch10/features.py b/repo/ch10/features.py similarity index 100% rename from ch10/features.py rename to repo/ch10/features.py diff --git a/ch10/figure10.py b/repo/ch10/figure10.py similarity index 100% rename from ch10/figure10.py rename to repo/ch10/figure10.py diff --git a/ch10/large_classification.py b/repo/ch10/large_classification.py similarity index 100% rename from ch10/large_classification.py rename to repo/ch10/large_classification.py diff --git a/ch10/lena-ring.py b/repo/ch10/lena-ring.py similarity index 100% rename from ch10/lena-ring.py rename to repo/ch10/lena-ring.py diff --git a/ch10/neighbors.py b/repo/ch10/neighbors.py similarity index 100% rename from ch10/neighbors.py rename to repo/ch10/neighbors.py diff --git a/ch10/scene00.jpg b/repo/ch10/scene00.jpg similarity index 100% rename from ch10/scene00.jpg rename to repo/ch10/scene00.jpg diff --git a/ch10/simple_classification.py b/repo/ch10/simple_classification.py similarity index 100% rename from ch10/simple_classification.py rename to repo/ch10/simple_classification.py diff --git a/ch10/threshold.py b/repo/ch10/threshold.py similarity index 100% rename from ch10/threshold.py rename to repo/ch10/threshold.py diff --git a/ch10/thresholded_figure.py b/repo/ch10/thresholded_figure.py similarity index 100% rename from ch10/thresholded_figure.py rename to repo/ch10/thresholded_figure.py diff --git a/ch11/demo_corr.py b/repo/ch11/demo_corr.py similarity index 100% rename from ch11/demo_corr.py rename to repo/ch11/demo_corr.py diff --git a/ch11/demo_mds.py b/repo/ch11/demo_mds.py similarity index 100% rename from ch11/demo_mds.py rename to repo/ch11/demo_mds.py diff --git a/ch11/demo_mi.py b/repo/ch11/demo_mi.py similarity index 100% rename from ch11/demo_mi.py rename to repo/ch11/demo_mi.py diff --git a/ch11/demo_pca.py b/repo/ch11/demo_pca.py similarity index 100% rename from ch11/demo_pca.py rename to repo/ch11/demo_pca.py diff --git a/ch11/demo_rfe.py b/repo/ch11/demo_rfe.py similarity index 100% rename from ch11/demo_rfe.py rename to repo/ch11/demo_rfe.py diff --git a/ch11/utils.py b/repo/ch11/utils.py similarity index 100% rename from ch11/utils.py rename to repo/ch11/utils.py diff --git a/ch12/.gitignore b/repo/ch12/.gitignore similarity index 100% rename from ch12/.gitignore rename to repo/ch12/.gitignore diff --git a/ch12/README.rst b/repo/ch12/README.rst similarity index 100% rename from ch12/README.rst rename to repo/ch12/README.rst diff --git a/ch12/chapter.py b/repo/ch12/chapter.py similarity index 100% rename from ch12/chapter.py rename to repo/ch12/chapter.py diff --git a/ch12/features.py b/repo/ch12/features.py similarity index 100% rename from ch12/features.py rename to repo/ch12/features.py diff --git a/ch12/image-classification.py b/repo/ch12/image-classification.py similarity index 100% rename from ch12/image-classification.py rename to repo/ch12/image-classification.py diff --git a/ch12/jugfile.py b/repo/ch12/jugfile.py similarity index 100% rename from ch12/jugfile.py rename to repo/ch12/jugfile.py diff --git a/ch12/run-image-classification.sh b/repo/ch12/run-image-classification.sh similarity index 100% rename from ch12/run-image-classification.sh rename to repo/ch12/run-image-classification.sh diff --git a/ch12/run-jugfile.sh b/repo/ch12/run-jugfile.sh similarity index 100% rename from ch12/run-jugfile.sh rename to repo/ch12/run-jugfile.sh diff --git a/ch12/setup-aws.txt b/repo/ch12/setup-aws.txt similarity index 100% rename from ch12/setup-aws.txt rename to repo/ch12/setup-aws.txt