From 4f801e31115ea3162bcdf69be0cf871501a809cc Mon Sep 17 00:00:00 2001 From: Alan Grissett Date: Wed, 11 Feb 2015 07:23:33 -0500 Subject: [PATCH] Notebook testing many methods of machine learning. --- spambase.ipynb | 1204 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1204 insertions(+) create mode 100644 spambase.ipynb diff --git a/spambase.ipynb b/spambase.ipynb new file mode 100644 index 0000000..531a365 --- /dev/null +++ b/spambase.ipynb @@ -0,0 +1,1204 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:cf4efd6286bc94cf20ff115121279da52b3af2f1b90a19860f43be7989102381" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "from sklearn.naive_bayes import GaussianNB, MultinomialNB\n", + "from sklearn.svm import SVC, LinearSVC\n", + "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier, ExtraTreesClassifier, AdaBoostClassifier\n", + "from sklearn.metrics import classification_report, f1_score, accuracy_score, confusion_matrix\n", + "from sklearn.cross_validation import cross_val_score, train_test_split \n", + "from sklearn.feature_selection import SelectKBest, chi2" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 2 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 3 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "spam_data = pd.read_csv(\"spambase.data\", header=None)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 4 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def show_binary_plot(data, prediction):\n", + " plt.matshow(confusion_matrix(data, prediction), cmap=plt.cm.binary, interpolation='nearest')\n", + " plt.title('confusion matrix')\n", + " plt.colorbar()\n", + " plt.ylabel('expected label')\n", + " plt.xlabel('predicted label')" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 5 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def show_results(data, prediction):\n", + " print(classification_report(data, prediction))\n", + " print(confusion_matrix(data, prediction))\n", + " print(f1_score(data, prediction))" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 6 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "spam_data.info()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Int64Index: 4601 entries, 0 to 4600\n", + "Data columns (total 58 columns):\n", + "0 4601 non-null float64\n", + "1 4601 non-null float64\n", + "2 4601 non-null float64\n", + "3 4601 non-null float64\n", + "4 4601 non-null float64\n", + "5 4601 non-null float64\n", + "6 4601 non-null float64\n", + "7 4601 non-null float64\n", + "8 4601 non-null float64\n", + "9 4601 non-null float64\n", + "10 4601 non-null float64\n", + "11 4601 non-null float64\n", + "12 4601 non-null float64\n", + "13 4601 non-null float64\n", + "14 4601 non-null float64\n", + "15 4601 non-null float64\n", + "16 4601 non-null float64\n", + "17 4601 non-null float64\n", + "18 4601 non-null float64\n", + "19 4601 non-null float64\n", + "20 4601 non-null float64\n", + "21 4601 non-null float64\n", + "22 4601 non-null float64\n", + "23 4601 non-null float64\n", + "24 4601 non-null float64\n", + "25 4601 non-null float64\n", + "26 4601 non-null float64\n", + "27 4601 non-null float64\n", + "28 4601 non-null float64\n", + "29 4601 non-null float64\n", + "30 4601 non-null float64\n", + "31 4601 non-null float64\n", + "32 4601 non-null float64\n", + "33 4601 non-null float64\n", + "34 4601 non-null float64\n", + "35 4601 non-null float64\n", + "36 4601 non-null float64\n", + "37 4601 non-null float64\n", + "38 4601 non-null float64\n", + "39 4601 non-null float64\n", + "40 4601 non-null float64\n", + "41 4601 non-null float64\n", + "42 4601 non-null float64\n", + "43 4601 non-null float64\n", + "44 4601 non-null float64\n", + "45 4601 non-null float64\n", + "46 4601 non-null float64\n", + "47 4601 non-null float64\n", + "48 4601 non-null float64\n", + "49 4601 non-null float64\n", + "50 4601 non-null float64\n", + "51 4601 non-null float64\n", + "52 4601 non-null float64\n", + "53 4601 non-null float64\n", + "54 4601 non-null float64\n", + "55 4601 non-null int64\n", + "56 4601 non-null int64\n", + "57 4601 non-null int64\n", + "dtypes: float64(55), int64(3)\n", + "memory usage: 2.1 MB\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "results = spam_data[57]\n", + "spam_data = spam_data.drop(57, axis=1)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 8 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train_data, test_data, train_results, test_results = train_test_split(spam_data, results, \n", + " test_size=0.6, random_state=0)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Gaussian Naive Bayes" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"Create Gaussian Naive Bayes learner and apply it to test data. Then make predictions on test data\"\"\"\n", + "gaussian_learner = GaussianNB()\n", + "gaussian_learner.fit(train_data, train_results)\n", + "gaussian_predictions = gaussian_learner.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 10 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, gaussian_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.95 0.75 0.84 1633\n", + " 1 0.73 0.94 0.82 1128\n", + "\n", + "avg / total 0.86 0.83 0.83 2761\n", + "\n", + "[[1231 402]\n", + " [ 64 1064]]\n", + "0.820354664611\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, gaussian_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Multinominal Naive Bayes" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"Create Gaussian Naive Bayes learner and apply it to test data. Then make predictions on test data\"\"\"\n", + "multinomial_learner = MultinomialNB()\n", + "multinomial_learner.fit(train_data, train_results)\n", + "multinomial_predictions = multinomial_learner.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 13 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, multinomial_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.82 0.88 0.85 1633\n", + " 1 0.80 0.72 0.76 1128\n", + "\n", + "avg / total 0.81 0.81 0.81 2761\n", + "\n", + "[[1434 199]\n", + " [ 314 814]]\n", + "0.760392340028\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, multinomial_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nSUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Support Vector Machines" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "svc_learner = SVC()\n", + "svc_learner.fit(train_data, train_results)\n", + "svc_learner_predictions = svc_learner.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 16 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, svc_learner_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.81 0.84 0.83 1633\n", + " 1 0.76 0.72 0.74 1128\n", + "\n", + "avg / total 0.79 0.79 0.79 2761\n", + "\n", + "[[1371 262]\n", + " [ 317 811]]\n", + "0.736937755566\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, svc_learner_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nFd+bZgAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "linear_svc = LinearSVC()\n", + "linear_svc.fit(train_data, train_results)\n", + "linear_svc_predictions = linear_svc.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 19 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, linear_svc_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.85 0.95 0.90 1633\n", + " 1 0.91 0.75 0.82 1128\n", + "\n", + "avg / total 0.87 0.87 0.87 2761\n", + "\n", + "[[1550 83]\n", + " [ 280 848]]\n", + "0.823700825644\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, linear_svc_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAQoAAADvCAYAAAAKNZpMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGmtJREFUeJzt3XucnFWd5/HPNwFMCAbI4IRwSWJigiSDCMQEYVmCAi9E\nDOyuI4Iw3FadQQUvw0DAUWZmlwF8qYMo4yLLfRKJim5wFIhIlItcDBAYk8jF3AATiBkuRkIS8ts/\nzql0penu56nqrlRX9ff9etUrTz3XU53uX53nnPOcnyICM7OeDGp2Acys/3OgMLNCDhRmVsiBwswK\nOVCYWSEHCjMr5EDRBJKuk7RW0gO9OMdhkpb0ZbmaRdJoSa9KUrPLYl2Tx1FsW5IOA2YBEyJifbPL\n02iSlgFnRsTPm10Wq992zS7AADQGWDYQgkQWQLc1BUnbRcSmbVieppNU07dzRDS9puVbjx5I2lvS\nrZJekLRG0pV5/SBJX5S0TNJqSTdIGp63jZW0WdJfSVou6UVJF+ZtZwHfAd6bq9oXSzpd0j2drrtZ\n0ri8fKyk30h6RdKzkr6Q10+XtLLqmH0lzZf0n5L+Q9KHqrZdL+lbkn6cz/NA5fxdfOZK+U+XtELS\nHyT9taT3SHo8n//Kqv3HS/p5/vm8KOlmSTvnbTcBo4Hb8uf926rznylpOfAzSWPyukGSRkhaKem4\nfI6dJD0t6ZRe/4f2I5JKvfqNiPCrixcwGFgIfBUYCrwFOCRvOxN4ChgLDAN+ANyYt40FNgP/Jx/z\nLmA9sE/efhpwT9V1Tq9+n9dtBsbl5d8Dh+blnYED8vJ0YGVe3h54GriAVEs8AngFmJi3Xw+sAabk\nz3UzMLubz10p/1XADsBRwOvAD4HdgD2A1cB/zfuPB96fy7Ab8Avg61XnWwq8r4vzX1/1c62sG5T3\nOSp/7reRAuucZv8+9PHvVgwaNKjUK/2JNr/MrlF0byowCjgvIl6LiNcj4v687WPAVyNiWUSsA2YC\nH5VU/fP8h3zM46SAs39eX+vXxAZgsqThEfFyRDzaxT4HA8Mi4tKI2BQRdwM/Bk6q2ufWiPh1RLwB\n/Bvw7oLr/lNEbIiIecCrwKyIWBMRzwP3AAcARMQzEXFXRGyMiDXA14HDS3yuiys/184b8jW/B/wc\nOAb4ZInztZRWq1E4UHRvb2B5RGzuYtsoYHnV+xWkb/KRVetWVS3/CdipznL8D+BYYFm+tTi4i332\nAFZ2Wrc8r4fUTrC6attrJcrTef8uj5c0UtJ3823Ry8BNwJ8VnJsuytvZd4DJwPUR8Z8lztdSBg0a\nVOrVX/SfkvQ/K4HRkgZ3se15UnW5YjSwia3/mMpaB+xYeSNp9+qNuRZwAqka/iNgTjfl2btT9+IY\n4Lk6ylNWpUHuEuAN4C8iYmfgVLb+vequ4a7bBr38M78auBH4lKTxvS9u/+IaRft4kHSffKmkHSUN\nkXRI3jYb+FxumNuJ9Mfy3W5qH0UWkm4t9pc0BLi4skHS9pI+JmnnfMvwKumPsquy/gn4u3zMdOA4\n4LuVU9VRrp5Un28nUrB7RdKewHmd9l1NaseoxYWkz3kG8BXgxk63dS3PgaJN5D/6DwHvIN1arAQ+\nkjdfS6pi/xL4HemP9DPVh/d06urtEfEk8I/Az4Dfku7/q48/BViaq/WfILWPbHWdiNiQy/oB4EXg\nm8Cp+dxvumbJMvakevs/AAcCLwO3kRp2q7f/M/DF3Fvy+R7OHwCSDgI+B/xVpJa/y/K28wvK1FJa\nLVB4wFVJko4B/oXUa3BNRFzW5CK1HUnXAh8EXoiI/ZpdnkaRFEOHDi2172uvvUZ4HEVryPfM3yS1\nwE8CTpK0b3NL1ZauI/2M216r1SgcKMqZCjydu0M3ku79j29ymdpORNwDtF0PR1daLVB4CHc5e7J1\nd96zwLQmlcXaQH/q+izDgaIcN+RYn+pPtYUyHCjKeY40AKtib1KtwqwurRYoWqv+0zy/BibkcRM7\nACcCc5tcJmthrdZG4UBRQqTHoD8N3AEsAm6JiMXNLVX7kTQbuB+YmJ8gPaPZZWqUVgsUHkdhto1J\nihEjRpTad+3atf1iHIXbKMyaoD/VFsrwrYdZE9T79Kika5UmS3qii21fUJoAaETVupmSnpK0RNLR\nVesPkvRE3nZFYXl78VnNrE69aKPocvSqpL1JE/4sr1o3idTwPikfc5U6TvqvwFkRMYHUUN/jiFgH\nCrMmqDdQ9DB69WvA33VadzxpJrONEbGMNAvaNEmjgLdGxEN5vxuBE3oqr9sozJqgL9soJB0PPBsR\nj3c67x5AdUqIZ0mjjDey9Tig5/L6bjU1UKjG2YjN+rNaeie6CxSvv/46GzZsKH1NSTuS5u84qnp1\n6ROU5FuPAaDZE7PW+vryl7/c9DLU+qpVd7caQ4YMYfjw4VteJYwnzba2UNJSYC9ggaSRvHlE8V6k\nmsRzebl6fY+zoTlQmDVBXw24iognImJkRLw9It5OCgQHRsRq0ujhj0raQdLbgQnAQxGxijQj2bTc\nuHkqaZrFbrmNwqwJ6n16NI9ePRz4M6W8Ll+KiOuqdqmePW2RpDmk0cSbgLOjo/pzNh0pE34SEbf3\neN1mjsx0G8W20Wqjb+fPn8/06dObXYyaSCrdRiEpRo8eXeq8K1as8MhMs660WpCoR6uNzHSgMGsC\nBwozK+RAYWaFHCjMrJDnzDSzQq5RmFkhBwozK+RAYWaFHCjMrJADhZkVcqAws0LuHjWzQq5RmFkh\nBwozK+RAYWaFHCjMrJADhZkVcqAws0LuHjWzQq5RmFmhVgsUrVX/MWsT9eb16CqbuaSvSFosaaGk\nWyXtXLXN2czNWlUfZzO/E5gcEfsDTwIz8zWczdyslfVlNvOImBcRm/PbB+lIF+hs5matrIFtFGcC\ns/Nye2QzNxuoGtE9KukiYENEzOrrcztQmDVBdzWKl156iZdffrme850OHAu8v2p1n2Uzd6Awa4Lu\nAsWuu+7KrrvuuuX9ihUrypzrGOA84PCIWF+1aS4wS9LXSLcWlWzmIekVSdOAh0jZzL/R0zUcKMya\noN42iqps5rvlbOZfJvVy7ADMy+f9VUSc7WzmVpNWy2beimrNZl42EfP8+fOdzdxsoGq1kZkOFGZN\n4EBhZoX89KiZFXKNwswKtVqgaGj9R9Ix+am1pySd38hrmbWSXjwU1hQNq1FIGgx8EziSNOrrYUlz\nI2Jxo65p1ir6UxAoo5E1iqnA0xGxLCI2At8lPc1mNuC5RtFhT2Bl1ftngWkNvJ5Zy3CvRwcPBzTr\nRn+qLZTRyEDR+cm1vdn6GXizljV//nzmz59f9/GtFiga9qyHpO2A35Iee32e9JTaSdWNmX7WY9vw\nsx6NV+uzHjNmzCh13rlz57b3sx4RsUnSp4E7gMHA/3WPh1nSajWKhg64ioifAj9t5DXMWpEDhZkV\ncqAws0LuHjWzQq5RmFkhBwozK9Q2gULSlT0cFxFxTgPKYzYgtE2gABbQMQy78qkiL3sEj1kvtE2g\niIjrq99LGhYR6xpeIrMBoBfT9V8LfBB4ISL2y+tGALcAY4BlwEci4qW8bSYpzeAbwDkRcWdefxBp\nuv4hpOn6z+3puoV9NJIOkbQIWJLfv1vSVXV8RjPLBg0aVOrVha6ymV8AzIuIicBd+f02z2b+L/ki\nawAi4jFSAhIzq1NfZjMHZgA35OUb6MhMvm2zmUfEik6F3lTmODPrWh+3UYyMiNV5eTUwMi9v02zm\nKyQdCiBpB+AcwA93mfVCoxozc17RPu9sKBMo/ga4ghRxngPuBD7V1wUxG0i6CxSrVq1i1apVtZ5u\ntaTdI2JVvq14Ia/fdtnMI+JF4ORaSm1mPesuUIwaNYpRo0Zteb9w4cIyp5sLnAZclv/9UdX6Pslm\nXqbXY7yk2yStkfSipP8naVyZ0ptZ1+ptzMzZzO8H9pG0UtIZwKXAUZKeBN6X3xMRi4BKNvOf8uZs\n5tcAT5Emwe4xm3mZW49ZpGn3/3t+fyIwG0+Ua1a3ep8ejYiTutl0ZDf7XwJc0sX6BcB+Za9bprRD\nI+Km3MWyMSJuJg3SMLM6tc10/Xm0l4Cf5tFds/OmE/GsVWa90p+CQBk93Xo8wtbPdHwi/1t51uOC\nRhXKrN21TaCIiLHbsBxmA0rbBIpqkv6CNF58S9tERNzYqEKZtbu2CxSSLiY92zEZ+HfgA8C9pPHh\nZlaHVgsUZXo9Pkzqevl9RJwB7A/s0tBSmbW5Xjw92hRlbj1ei4g3JG2StDNpeOjeRQeZWfdarUZR\nJlA8LGlX4DvAr4F1pJFhZlantgsUEXF2Xvy2pDuA4RFRagC6mXWtbQJFniqry8dVJR0YEY80rFRm\nba5tAgXwVXqeRPeIPi6L2YDRNoEiIqZvw3KYDSj9qUejDCcAMmuCtqlRmFnjOFCYWaG2CRRVvR5d\nZgZzr4dZ/domUNDR6zEUOAh4PK9/F2ng1XsbWzSz9tVqgaLbpteImB4RRwDPAwdGxEERcRBwQF5n\nZnVqmxmuqrwzIp6ovImI/5C0bwPLZNb22rF79HFJ1wA3k9orTgY8hNusF/pTbaGMMoHiDFISoEq2\n41+SEpyaWZ3aLlBExGuSvk1Kjb5kG5TJrO31JlDkya5PATYDT5C+zIcBtwBjgGXARyLipar9zwTe\nAM6JiDtrvWaZBEAzgEeB2/P7AyTNrfVCZtahFwmAxgIfJ3Uw7AcMBj5Kmux6XkRMBO7K75E0iTRz\n/iTgGOAqSTU3kJS59biYlOznboCIeLQvM4U988wzfXUq68aFF17Y7CJYJ72oUbxCyka+o6Q3gB1J\nvZAzSVNWAtwAzCcFi+OB2RGxEVgm6WlgKltnOS9UJrJsrFRhqmyu5SJmtrV6axQRsZY0xmkFKUC8\nFBHzgJERsTrvthoYmZf3ICUmrniWlIe0JmUCxW8kfQzYTtIESVfiGa7MeqXeOTMljQc+C4wlBYGd\nJJ1SvU/OL9rTFBE9betSmVuPzwAXAa+TsoXdAfxTrRcysw7d3XosXbqUpUuX9nToFOD+iPhDPs+t\npFHSqyTtHhGrJI0izW0L8Bxbz3G7V15XkzKB4tiIuBDYcqMr6S+B79V6MTNLugsU48aNY9y4jibA\nu+++u/MuS4C/lzQUWE+aIf8h0ly2pwGX5X9/lPefC8yS9DXSLceEvH9NygSKC3lzUOhqnZmVVG9j\nZkQslHQj6XmrzaTUn1cDbwXmSDqL3D2a918kaQ6wCNgEnJ1vTWrS09OjHwCOBfaU9A3SqExygTbW\neiEz69CbcRQRcTlweafVa0m1i672vwS4pO4L0nON4nlgAal7ZQEdj5u/CnyuNxc1G+jaZmRmnpJ/\nYW4sWRcRbwBIGgy8ZRuVz6wttVqgKNM9eidpToqKHYGfNaY4ZgNDO6YUHBIRf6y8iYhXJe3YwDKZ\ntb12rFGsy9PiASBpCvBa44pk1v7aceKazwLfk1SZ1WoU6SETM6tTfwoCZZR5zPxhSfsA+5B6Ppbk\nB0zMrE5tFygkDQM+D4yOiI/n5z32iYgfN754Zu2p1QJFmTaK64ANwCH5/fPA/25YicwGgFZroygT\nKMZHxGWkYEFErGtskczaXzt2j76eH0ABtjzm+nrjimTW/vpTbaGMsjNc3Q7sJWkWcChwegPLZNb2\n2i5QRMSdkh4hTYcn0uScaxpeMrM21naBQukTHQ78F9JDYdsDP2xwuczaWtsFCuAqYDxpdisBn5R0\nVESc3dCSmbWxdgwURwCTImIzgKTrSZNgmFmd+lOPRhllSvs0MLrq/ei8zszq1GrjKMrUKIYDiyU9\nRGqjmAo8LOk20oS/MxpZQLN21J+CQBllAsWXulgXdMx4ZWY1asdA8UJEbNUmIWl6RMxvTJHM2l+r\nBYoybRRzJJ2vZMecAOjSRhfMrJ21WhtFmUAxjZRA5FekfAC/p+MBMTOrQ28ChaRdJH1f0mJJiyRN\nkzRC0jxJT0q6U9IuVfvPlPSUpCWSjq6nvGUCxSbSjFZDgSHA7ypdpWZWn14+FHYF8JOI2Bd4Fykp\nUEOzmZc54CFSRqIpwGHAyZKc/MesF+qtUUjaGTgsIq4FiIhNEfEyMIOUxZz87wl5eUs284hYRhra\nMLXW8pZpzPyfEfFwXv49MEPSqbVeyMw69KL94e3Ai5KuA/Yn5dz5LD1nM3+g6viGZTNfIOlUSV8C\nkDQaeLLWC5lZh160UWwHHAhcFREHknKOXlC9Q7OymV9FynH4PuAfgT8C3yLdiphZHbqrUSxatIjF\nixf3dOizwLNVtfzvAzPpB9nMp0XEAZIeBYiItZK2r/VCZtahu0AxefJkJk+evOX9rbfeutX2HAhW\nSpoYEU+S8o3+Jr+ams18g1IaQQAkvY1UwzCzOvVyjMRngH+TtAPwDHAGMJhmZDOvciVp/ok/l3QJ\n8GHgi7VeyMw69Obp0ZwX+D1dbGpKNvPKRW6WtAB4f151fET0eBNlZj3rT6MuyyhToyAHBgcHsz7S\nloHCzPpWqwWKhk6zI+laSaslPdHI65i1mnZ8KKw3riONLzezKq0WKBp66xER90ga28hrmLWi/hQE\nynAbhVkTtNrkug4UZk3gGkWNrrjiii3L06ZN4+CDD25iaczKWb58OStWrKj7eAeKGp177rnNLoJZ\nzcaMGcOYMWO2vL/33ntrOr7VAkWju0dnA/cDE/ODLGc08npmrcK9HlUi4qRGnt+sVfWnIFBG0289\nzAYiBwozK+TuUTMr5BqFmRVyoDCzQg4UZlbIgcLMCjlQmFkh93qYWSHXKMysUKsFitaq/5i1id4+\n6yFpsKRHJd2W34+QNE/Sk5LulLRL1b4zJT0laYmko+sprwOFWRP0wUNh55KS+lSS+VwAzIuIicBd\n+T2SJgEnApNI01JeJanmv3sHCrMm6E2gkLQXcCxwDVDZaQZwQ16+ATghLx8PzI6IjRGxDHgamFpr\neR0ozJqglzWKrwPnsXVqz5ERsTovrwZG5uU9SImNK54l5SCtiQOFWRMMGjSo1KszSccBL0TEo3TU\nJraSc4v2lF+0IblHzayPdVdbWLBgAY888khPhx4CzJB0LDAEGC7pJmC1pN1ztvNRwAt5/+eAvauO\n3yuvq4kDhVkTdBcopkyZwpQpU7a8v+aaa7baHhEXAhfmcxwO/G1EnCrpcuA04LL874/yIXOBWZK+\nRrrlmAA8VGt5HSjMmqAPx1FUbiMuBeZIOgtYBnwEICIWSZpD6iHZBJydb01q4kBh1gR9ESgi4hfA\nL/LyWuDIbva7BLikN9dyoDBrglYbmelAYdYEDhRmVshPj5pZIdcozKyQA4WZFXKgMLNCDhRmVsiB\nwswKOVCYWSF3j5pZIdcozKyQA4WZFXKgMLNCDhRmVsiBwswKOVCYWaFW6x5trdL2Aw888ECzi9D2\nli9f3uwiNFwfJADaphwoavTggw82uwhtb8WKFc0uQsO1WqDwrYdZE/SnIFCGA4VZE7RaoFAdM3f3\n3cWl5l3crI9FRKm/fknx3HPlcvDsueeeW51X0t7AjcCfk6bqvzoiviFpBHALMIY8XX9EvJSPmQmc\nCbwBnBMRd5b+UJXrNjNQmA1EkuL5558vte8ee+zROVDsDuweEY9J2glYQEpIfAawJiIul3Q+sGtE\nXJCzmc8C3kNKAPQzYGJEbH7TxXrgxkyzJqg392hErIqIx/LyH4HFpADgbOZm7aYvej0kjQUOAB6k\nwdnM3Zhp1gS9bczMtx0/AM6NiFerzxcRUdD+55SCZq2gu0Bx3333cd999xUduz0pSNwUEZVkxA3N\nZu7GzH5O0nTgCxHxIUkfAiZFxGXd7LszcHJE/GuN17gYeDUivlpmfad9rgdui4gflLzW2Lz/frWU\nsZ1IijVr1pTad7fdduvcmClSG8QfIuJzVesvz+suk3QBsEunxsypdDRmvqPWRMWuUTSJpEG1tjxH\nxG3AbT3ssitwNlBToKD7qmiZXyZ/09ShF7cehwKnAI9LejSvm0mDs5m7MbOPSRoraYmkmyUtkvQ9\nSUPztmWSLpW0APhLSUdLul/SAklzJA3L+x0jaXHe779Vnft0SVfm5ZGSfijpsfx6L+mXZbykRyVd\nlvc7T9JDkhbmGkLlXBdJ+q2ke4B9Snyuj+fzPCbp+5XPlB0p6eF8vg/m/QdL+krVtT/Ryx9tW+lF\nr8e9ETEoIt4dEQfk1+0RsTYijoyIiRFxdGUMRT7mkoh4R0S8MyLuqKu8vfis1r2JwLciYhLwCulb\nHtK375qIOAi4C7gIeH9+vwD4vKQhwNXAcXn97nT9rf0N4O6IeDdwIPAb4HzgmfzLc76ko0nVzKmk\n1vGDJB0m6SDgRGB/4FhSH3vRt8wPImJqvt5i4Ky8XsCYiHgP8EHg25Lekre/lK89Ffh4vu0w/KyH\nJSsj4ld5+WbgHKByn39L/vdgYBJwf/6F2AG4n/TtvjQinqk6vqtv4yNIVVDyLcwreXRetaOBo6uq\nqMOACcBbgVsjYj2wXtJc0h98T/aT9L+AnYGdgNvz+gDm5HI8Lel3wDvztfeT9OG833DgHaR+/AGv\nPwWBMhwoGqP621md3q+rWp4XESdXHyhp/07n6uk3qsxv2z9HxNWdrnFup2N7Ok+l7NcDMyLiCUmn\nAdNLHPPpiJjX6dpji4vc/lotUPjWozFGSzo4L58M3NPFPg8Ch0oaDyBpmKQJwBJgrKRxeb+TurnG\nXcDf5GMHSxoOvEqqLVTcAZxZ1faxp6S3Ab8ETpA0RNJbgePo/taj8hu9E7Aqd82dUrW/SO0typ9l\nXP4MdwBnS9ouX3uipB27ucaA41sPA/gt8ClJ15LaDiq9EFv+GCPiRUmnA7PzPT3ARRHxVG74+3dJ\nfyIFmWFVx1fOcS5wdW7lfgP464h4UNJ9kp4AfpLbKfYFfpV/6V4FTomIRyXdAiwk9bc/1MNnqVzv\n70nB7cX8705V21fkcwwHPhkRGyRdA4wFHsldei/QMax4wPeU9KcgUIbHUfQxeZyAFZAU69atK94R\nGDZsWOmnUhvJNYrGcPS1HrXanJmuUZhtY5Ji/fr1pfYdMmSIaxRmA1WrtVE4UJg1gQOFmRVyoDCz\nQg4UZlbIgcLMCrVa96gDhVkTtFqNwuMozKxQa9V/zKwpHCjMrJADhZkVcqAws0IOFGZW6P8DFeas\nI0CWrwMAAAAASUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Random Forest Classifier" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "random_forest_learner = RandomForestClassifier(n_estimators=500)\n", + "random_forest_learner.fit(train_data, train_results)\n", + "random_forest_predictions = random_forest_learner.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 22 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, random_forest_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.94 0.97 0.95 1633\n", + " 1 0.96 0.90 0.93 1128\n", + "\n", + "avg / total 0.94 0.94 0.94 2761\n", + "\n", + "[[1588 45]\n", + " [ 110 1018]]\n", + "0.929256047467\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, random_forest_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAQoAAADvCAYAAAAKNZpMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGRVJREFUeJzt3X+0nFV97/H3JwHML4lNVYKYEBKBQooIRxMkFw0KLESM\ndtW2gNAAXrWiQrGlGNArtVcKdYlWlHqRQgQKigpdwaIQlEjuDQKGmCBJBCQJ4UcSaPhlJJCQ7/1j\n75MzOZwzzzMzZzJn5nxea83KPL/3nJzznf3svZ/9VURgZlbNsFYXwMwGPwcKMyvkQGFmhRwozKyQ\nA4WZFXKgMLNCDhQtIOkqSRsl/bKBcxwhaeVAlqtVJE2U9IIktbos1jd5HMXOJekI4Dpg34jY3Ory\nNJuk1cDpEfHzVpfF6rdLqwswBO0NrB4KQSILoN+agqRdImLrTixPy0mq6ds5Ilpe0/KtRxWSJki6\nUdIGSU9LujSvHybp85JWS1ov6buSds/bJknaJumvJa2R9JSk8/K2jwLfAd6Zq9oXSDpV0sJe190m\naXJ+f5ykByQ9L+kxSX+X18+UtLbimAMkLZD0jKTfSPpAxba5kr4l6cf5PL/sPn8fn7m7/KdKelTS\nf0v6G0nvkLQsn//Siv2nSPp5/vk8JelaSWPztmuAicDN+fP+fcX5T5e0Brhd0t553TBJ4yStlXR8\nPscYSQ9LOrnh/9BBRFKp16AREX718QKGA0uBrwIjgdcAh+dtpwMPAZOA0cCPgKvztknANuD/5GPe\nCmwG9s/bZwMLK65zauVyXrcNmJzfPwnMyO/HAofk9zOBtfn9rsDDwOdItcQjgeeB/fL2ucDTwNvz\n57oWuL6fz91d/suA3YCjgZeAm4DXA28C1gPvyvtPAd6by/B64BfA1yrOtwp4Tx/nn1vxc+1eNyzv\nc3T+3G8gBdYbWv37MMC/WzFs2LBSr/Qn2voyu0bRv2nAnsA5EfFiRLwUEYvyto8AX42I1RGxCZgD\nnCCp8uf5j/mYZaSAc3BeX+vXxMvAVEm7R8RzEbGkj30OA0ZHxEURsTUi7gB+DJxYsc+NEfGriHgF\n+A/gbQXX/aeIeDki5gMvANdFxNMR8QSwEDgEICJ+FxE/i4gtEfE08DXg3SU+1wXdP9feG/I1fwD8\nHDgW+ESJ87WVdqtROFD0bwKwJiK29bFtT2BNxfKjpG/yPSrWrat4/wdgTJ3l+HPgOGB1vrU4rI99\n3gSs7bVuTV4PqZ1gfcW2F0uUp/f+fR4vaQ9J38u3Rc8B1wB/XHBu+ihvb98BpgJzI+KZEudrK8OG\nDSv1GiwGT0kGn7XAREnD+9j2BKm63G0isJUd/5jK2gSM6l6QNL5yY64FfIhUDf9P4IZ+yjOhV/fi\n3sDjdZSnrO4GuQuBV4A/jYixwCns+HvVX8Ndvw16+Wd+OXA18ClJUxov7uDiGkXnuJt0n3yRpFGS\nRkg6PG+7Hjg7N8yNIf2xfK+f2keRpaRbi4MljQAu6N4gaVdJH5E0Nt8yvED6o+yrrH8A/iEfMxM4\nHvhe96nqKFc1lecbQwp2z0vaCzin177rSe0YtTiP9DlPA74CXN3rtq7tOVB0iPxH/wHgLaRbi7XA\nX+bNV5Kq2HcCj5D+SD9TeXi1U1duj4gHgS8BtwO/Jd3/Vx5/MrAqV+s/Tmof2eE6EfFyLuv7gKeA\nbwKn5HO/6poly1hN5fZ/BA4FngNuJjXsVm7/Z+Dzubfks1XOHwCSuoCzgb+O1PJ3cd52bkGZ2kq7\nBQoPuCpJ0rHA10m9BldExMUtLlLHkXQl8H5gQ0Qc1OryNIukGDlyZKl9X3zxRcLjKNpDvmf+JqkF\n/kDgREkHtLZUHekq0s+447VbjcKBopxpwMO5O3QL6d7/gy0uU8eJiIVAx/Vw9KXdAoWHcJezFzt2\n5z0GTG9RWawDDKauzzIcKMpxQ44NqMFUWyjDgaKcx0kDsLpNINUqzOrSboGiveo/rfMrYN88bmI3\n4K+AeS0uk7WxdmujcKAoIdJj0J8GbgWWA9+PiBWtLVXnkXQ9sAjYLz9Belqry9Qs7RYoPI7CbCeT\nFOPGjSu178aNGwfFOAq3UZi1wGCqLZThQGHWAu4eNbNCrlGYWSEHCjMr5EBRA9U4G7HZYFZL70S9\ngaLaE7ZKEy9/BXh9RGzM6+aQ5nh9BTgzIm7L67tI85aOAG6JiLOqXbe9WlSsLq2emLXW1xe/+MWW\nl6HWV60aGEfR5xO2kiaQJiVeU7HuQNLgwAPzMZdVzIL2b8BHI2Jf0mDCqk/tOlCYtUC9gaLKE7aX\nAP/Qa90HSbOtb4mI1aSZ2qdL2hN4bUTck/e7GvhQtfK6jcKsBQaye1TSB4HHImJZr+DyJqAybeVj\npCeht7Djs0qP5/X9cqCwQWfmzJmtLkLTDVRjpqRRpDlGj65cPSAnr+BAYYPOUA4UmzdvZvPmmrJN\nTiHNCL80n/PNwGJJ03n1U89vJtUkHs/vK9dXnbHdgcKsBfoLFCNHjqRyPs3nnnuu6nki4n4q8slI\nWgV0RcRGSfOA6yRdQrq12Be4JyJCKbXkdOAeUoqFb1S7jhszzVqg3sbMEk/YVs7wvpyUB2Y58BPg\njOjpojkDuIKUGvPhiPhp1fK28ulRj6PYOfyEcPNJKj2OQlJMntxnjuhXeeSRR/z0qNlQ5YfCzKyQ\nh3CbWSEHCjMr5EBhZoUcKMyskAOFmRVyoDCzQu4eNbNCrlGYWSEHCjMr5EBhZoUcKMyskAOFmRVy\noDCzQu4eNbNCrlGYWSEHCjMr5EBhZoUcKMysULsFivZqejXrEA3Mwn2lpPWS7q9Y9xVJKyQtlXSj\npLEV2+ZIekjSSknHVKzvknR/3vavReV1oDBrgWHDhpV69aGvJMW3AVMj4mDgQWAOOEmxWdsbyCTF\nETE/IrblxbvpyQLmJMVm7ayJbRSnA9fn905SbNbOmhEoJJ0PvBwR1w30uR0ozFqgv0DxzDPP8Oyz\nz9ZzvlOB44D3Vqx2kmKzdtZfoBg3bhzjxo3bvrxmzZoy5zoWOAd4d0RUpkIfsCTFDhRmLVDvrUdO\nUvxu4PWS1gJfJPVy7AbMz+e9KyLOiIjlkrqTFG/l1UmK5wIjgVucpNicpHgnqDVJ8VFHHVXqvLff\nfruTFJsNVe02MtOBwqwF2i1QNHXAlaRj89DRhySd28xrmbWTegdctUrTahSShgPfBI4idb3cK2le\nRKxo1jXN2sVgCgJlNLNGMQ14OCJWR8QW4HukIaVmQ55rFD32AtZWLD8GTG/i9czahufM7OE+ObN+\nDKbaQhnNDBS9h49OYMcHUcza1oIFC1iwYEHdx7dboGjagCtJuwC/JY09f4I0VPTEysZMD7jaOTzg\nqvlqHXA1a9asUuedN29eZw+4ioitkj4N3AoMB/7dPR5mSbvVKJo64CoifgL8pJnXMGtHDhRmVsiB\nwswKuXvUzAq5RmFmhRwozKxQxwQKSZdWOS4i4swmlMdsSOiYQAEspmcYdvenivzeI3jMGtAxgSIi\n5lYuSxodEZuaXiKzIaDdAkVhH42kwyUtB1bm5bdJuqzpJTPrYA2kFGyJMiX5Oilv4dMAEfFr0izA\nZlanAU5SPE7SfEkPSrpN0usqtu28JMUR8WivVVvLHGdmfWtg4pq+khR/DpgfEfsBP8vLOz1J8aOS\nZuQL7ybp7wE/3GXWgIFMUgzMAr6b33+XnoTDA5akuEyg+CTwKdKMVY8Dh+RlM6vTAE+Ft0dErM/v\n1wN75PdvYsc5YLqTFPde33iS4oh4CjipZIHNrIRm9XrkdIEDPnyhMFBImkJq0HwnafzEIuDsiHhk\noAtjNlT0FyiefPJJ1q1bV+vp1ksaHxHr8m3Fhrx+wJIUl7n1uA64AdiTVGX5AXB9qeKbWZ/66w7d\na6+96Orq2v4qaR4wO7+fDfxnxfoTctviPvQkKV4HPC9pem7cPKXimL7LW6IQIyPimtwgsiUirgVG\nlP0EZvZqDXSPXk+q1e8vaa2k04CLgKMlPQi8Jy8TEctJX/LLSRNI9U5SfAXwECmtRtUkxdWe9RhH\nGq79E0lz6KlF/BWetcqsIfW2UUTEif1s6jPrcURcCFzYx/rFwEFlr1utjeI+dnym4+P53+5nPT5X\n9iJmtqN2G8Jd7VmPSTuxHGZDSscEikqS/pQ0umt720REXN2sQpl1uo4LFJIuID3bMRX4L+B9wP8l\njeYyszq0W6Ao0+vxYVJDyZMRcRpwMPC66oeYWTXt9vRomVuPFyPiFUlbJY0lDeaYUHSQmfWv3WoU\nZQLFvZL+CPgO8CtgE6kf18zq1HGBIiLOyG+/LelWYPeIWNrcYpl1to4JFJK66GduTEmHRsR9TSuV\nWYfrmEABfJXqk+geOcBlMRsyOiZQRMTMnVgOsyFlMPVolOEEQGYt0DE1CjNrHgcKMyvUMYGiotej\nz8xg7vUwq1/HBAp6ej1GAl3Asrz+raSBV+9sbtHMOle7BYp+m14jYmZEHAk8ARwaEV0R0UWahfuJ\nnVVAs040wLNwN12ZNoo/iYjtWYki4jeSDmhimcw6Xid2jy6TdAVwLam94iTAQ7jNGjCYagtllAkU\np5GSAJ2Vl+8kpSMzszp1XKCIiBclfRu4JSJW7oQymXW8RgJFnuz6ZGAbcD/py3w08H1gb2A18JcR\n8WzF/qcDrwBnRsRttV6z8EZJ0ixgCfDTvHyIpHm1XsjMejQwXf8k4GOkDoaDgOHACdSWqLjmBpIy\ntx4XANOBOwAiYomkybVeqD+bNm0aqFNZP2bPnl28k+1UDdQonge2AKMkvQKMIvVCziFNWQkpUfEC\nUrDYnqgYWC3pYWAa8MtaLlomsmzprsJU2FbLRcxsRw1kM99IGuP0KClAPBsR86k9UXFNygSKByR9\nBNhF0r6SLsUzXJk1pN45M3Mu4L8FJpGCwBhJJ1fuk7OBVZsiouYkxmVuPT4DnA+8RMoWdivwT7Ve\nyMx69HfrsWrVKlatWlXt0LcDiyLiv/N5biSNkl5XQ6LiqgmJ+1ImUBwXEecB53WvkPQXpGTFZlaH\n/gLF5MmTmTy5pwnwjjvu6L3LSuALkkYCm0kz5N9Dmst2NnAxr05UfJ2kS0i3HPvm/WtSJlCcx6uD\nQl/rzKykBnKPLpV0Nel5q22k1J+XA68FbpD0UXL3aN5/uaTuRMVb2TFRcWnVnh59H3AcsJekb5BG\nZZILtKXWC5lZj0bGUUTEvwD/0mv1RmpMVFyLajWKJ4DFpO6VxfQ8bv4CcHYjFzUb6jpmZGaekn9p\nbizZFBGvAEgaDrxmJ5XPrCO1W6Ao0z16G2lOim6jgNubUxyzoaETUwqOiIjfdy9ExAuSRjWxTGYd\nrxNrFJvytHgASHo78GLzimTW+Tpx4pq/BX4gqXtWqz1JD5mYWZ0GUxAoo8xj5vdK2h/Yn9TzsTI/\nYGJmdeq4QCFpNPBZYGJEfCw/77F/RPy4+cUz60ztFijKtFFcBbwMHJ6XnwC+3LQSmQ0B7dZGUSZQ\nTImIi0nBgojwBBJmDerE7tGX8gMowPbHXF9qXpHMOt9gqi2UUXaGq58Cb5Z0HTADOLWJZTLreB0X\nKCLiNkn3kabDE2lyzqebXjKzDtZxgULpE70b+B+kh8J2BW5qcrnMOlrHBQrgMmAKaXYrAZ+QdHRE\nnNHUkpl1sE4MFEcCB0bENgBJc0mTYJhZnQZTj0YZZUr7MDCxYnliXmdmdWq3cRRlahS7Aysk3UNq\no5gG3CvpZtKEv7OaWUCzTjSYgkAZZQLF/+pjXdAz45WZ1agTA8WGiNihTULSzIhY0JwimXW+dgsU\nZdoobpB0rpJROQHQRc0umFkna6SNQtLrJP1Q0gpJyyVNlzRO0nxJD0q6TdLrKvafI+khSSslHVNP\necsEiumkBCJ3kfIBPEnPA2JmVocGGzP/FbglIg4A3krK9dHUJMVlDthKmtFqJDACeKS7q9TM6tNA\nSsGxwBERcSVARGyNiOeAWaTkxOR/P5Tfb09SHBGrST2W02oub4l97iFlJHo7cARwkiQn/zFrQAM1\nin2ApyRdJek+Sd/Jc8a0PEnx/4yIL+SI9GTuDp1X64XMrEcDgWIX4FDgsog4lJRK8HOVO7QqSfFi\nSacA+0TElyRNBB6s9UJm1qO/9ofly5ezYsWKaoc+BjwWEffm5R8CcxgESYovI+U4fA/wJeD3wLdI\ntyJmVof+AsXUqVOZOnXq9uWbbtrx+cscCNZK2i8iHiSlEXwgv1qapHh6RBwiaUku6EZJu9Z6ITPr\n0eA4is8A/yFpN+B3wGnAcFqRpLjCy0ppBAGQ9AZSDcPM6tRIoMjpPt/Rx6aWJCnudilp/ok3SroQ\n+DDw+UYuajbUtdvTo2VmuLpW0mLgvXnVByOiamuLmVXXbkO4y9QoyIHBwcFsgHRkoDCzgdVugaKp\nN0qSrpS0XtL9zbyOWbtpt4lrmt2ichXpQRQzq9BugaKptx4RsVDSpGZew6wdDaYgUIbbKMxaoOO6\nR81s4LlGUaMvf7knMfoRRxzBu971rhaWxqycdevWsW7durqPd6Co0fnnn9/qIpjVbPz48YwfP377\n8rJly2o6vt0CRbO7R68HFgH75SfeTmvm9czahXs9KkTEic08v1m7GkxBoIyW33qYDUUOFGZWyN2j\nZlbINQozK+RAYWaFHCjMrJADhZkVardA0V5Nr2Ydot6Ugt0kDZe0RNLNebnlSYrNbIANwMjMs0hT\n8HdPvd/yJMVmNsAaCRSS3gwcB1wBdO/U8iTFZjbAGqxRfA04hx3z6zQ1SbEbM81aoL8gcN9997Fk\nyZJqxx0PbIiIJZJm9rVPRISknZ6k2MwGWH+Boquri66uru3LV111Ve9dDgdmSToOGAHsLukaYH0z\nkxT71sOsBeq99YiI8yJiQkTsA5wA/DwiTiElI56dd+udpPgESbtJ2ocmJik2swE2gA+Fdd9GXESL\nkxSb2QAbiAFXEfEL4Bf5/UZanKTYzAZYu43MdKAwawEHCjMr5EBhZoUcKMyskAOFmRXynJlmVsg1\nCjMr5EBhZoUcKMyskAOFmRVyoDCzQg4UZlbI3aNmVsg1CjMr5EBhZoUcKMyskAOFmRVyoDCzQg4U\nZlao3bpH26u0g8Cdd97Z6iJ0vHXr1rW6CE1X73T9kiZIukPSA5J+I+nMvN5JigeThQsXtroIHc+B\nompKwS3A2RExFTgM+JSkA3CSYrPO00ACoHUR8ev8/vfAClIuUScpNus0DSYp7j7HJOAQ4G46PUnx\n6NGjW12Eml14YUO5VKyEZcuWtboITdVfEFi0aBF33XVXmePHAD8CzoqIFyrP13FJiiOivfqIzAZI\nf4FixowZzJgxY/vyJZdc0texu5KCxDUR0Z1j1EmKzTrNsGHDSr16U4ow/w4sj4ivV2xykmKzTtPA\ngKsZwMnAMklL8ro5NDlJseo4xswaICk2bNhQvCPwxje+cVDcortGYdYC7TaE220Ug5ykmZJuzu8/\nIOncKvuOlfTJOq5xgaS/K7u+1z5zJf15DdeaJOn+WsvYaQaie3RncqBokXpGx0XEzRFxcZVd/gg4\no47i9Hf/Wea+1PeudXCgGOLyN+ZKSddKWi7pB5JG5m2rJV0kaTHwF5KOkbRI0mJJN0ganfc7VtKK\nvN+fVZz7VEmX5vd7SLpJ0q/z652kBq0pkpZIujjvd46keyQtlXRBxbnOl/RbSQuB/Ut8ro/l8/xa\n0g+7P1N2lKR78/nen/cfLukrFdf+eIM/2o5Sb69HqwyeknSW/YBvRcSBwPP0fMsH8HREdJHG458P\nvDcvLwY+K2kEcDlwfF4/nr6/tb8B3BERbwMOBR4AzgV+FxGHRMS5Sg8AvSUippFG8HVJOkJSF2n8\n/8HAccA7+rlGpR9FxLR8vRXAR/N6AXtHxDuA9wPflvSavP3ZfO1pwMfySEKj/WoUbsxsjrUR0T28\n7lrgTOCrefn7+d/DSA/qLMq/ELsBi0jf7qsi4ncVx/f1bXwkqZuMiNgGPC9pXK99jgGOqehGG03q\nR38tcGNEbAY2S5pH+oOv5iBJ/xsYC4wBfprXB3BDLsfDkh4B/iRf+yBJH8777Q68hfSswZA3mIJA\nGQ4UzVH57axey5sq3s+PiJMqD5R0cK9zVfuNKvPb9s8RcXmva5zV69hq5+ku+1xgVkTcL2k2MLPE\nMZ+OiPm9rj2puMidr90ChW89mmOipMPy+5OAvp5NvxuYIWkKgKTRkvYFVgKTJE3O+53YzzV+Bnwy\nHztc0u7AC6TaQrdbgdMr2j72kvQG4E7gQ5JGSHotcDz933p0/0aPAdYpDR8+uWJ/kdpblD/L5PwZ\nbgXOkLRLvvZ+kkb1c40hx7ceBvBb0jwBV5LaDv4tr9/+xxgRT0k6Fbg+39MDnB8RD+WGv/+S9AdS\nkBldcXz3Oc4CLlcaifcK8DcRcbek/6fU/XhLbqc4ALgr/9K9AJwcEUskfR9YSnomoNqQ3u7rfYEU\n3J7K/46p2P5oPsfuwCci4mVJVwCTgPuULr6Bnkefh3xPyWAKAmV4ZOYAy1XrmyPioBYXxQYpSbFp\n06biHUlPV3tkZudy9LWqBlPXZxmuUZjtZJJi8+bNpfYdMWKEaxRmQ1W7tVE4UJi1gAOFmRVyoDCz\nQg4UZlbIgcLMCrVb96gDhVkLtFuNwuMozKxQe9V/zKwlHCjMrJADhZkVcqAws0IOFGZW6P8DWqU8\nLoV81oYAAAAASUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Gradient Boosting Classifier" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "gradient_learner = GradientBoostingClassifier(n_estimators=500, learning_rate=1, max_depth=1, random_state=0)\n", + "gradient_learner.fit(train_data, train_results)\n", + "gradient_predictions = gradient_learner.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 316 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, gradient_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.94 0.95 0.95 1363\n", + " 1 0.93 0.91 0.92 938\n", + "\n", + "avg / total 0.94 0.94 0.94 2301\n", + "\n", + "[[1301 62]\n", + " [ 84 854]]\n", + "0.921251348436\n" + ] + } + ], + "prompt_number": 317 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, gradient_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 318 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Extra Tree Classifier" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "extra_tree = ExtraTreesClassifier(n_estimators=10, max_depth=None, min_samples_split=1, random_state=0)\n", + "extra_tree.fit(train_data, train_results)\n", + "extra_tree_predictions = extra_tree.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 319 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, extra_tree_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.94 0.96 0.95 1363\n", + " 1 0.94 0.91 0.93 938\n", + "\n", + "avg / total 0.94 0.94 0.94 2301\n", + "\n", + "[[1312 51]\n", + " [ 87 851]]\n", + "0.925\n" + ] + } + ], + "prompt_number": 320 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, extra_tree_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nVfX/Ada03+dDL4NGAAAAAElFTkSuQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 321 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Finding and Removing Less Useful Columns + Bagging" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "new_data = SelectKBest(chi2, k=50).fit_transform(spam_data, results)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 322 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train_data, test_data, train_results, test_results = train_test_split(new_data, results, \n", + " test_size=0.4, random_state=0)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 323 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "random_forest_learner = RandomForestClassifier(n_estimators=500)\n", + "random_forest_learner.fit(train_data, train_results)\n", + "random_forest_predictions = random_forest_learner.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 324 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, random_forest_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.95 0.97 0.96 1097\n", + " 1 0.95 0.92 0.94 744\n", + "\n", + "avg / total 0.95 0.95 0.95 1841\n", + "\n", + "[[1064 33]\n", + " [ 61 683]]\n", + "0.935616438356\n" + ] + } + ], + "prompt_number": 325 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, random_forest_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 326 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "gradient_learner = GradientBoostingClassifier(n_estimators=70, learning_rate=1, max_depth=1, random_state=0)\n", + "gradient_learner.fit(train_data, train_results)\n", + "gradient_predictions = gradient_learner.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 327 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, gradient_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.94 0.96 0.95 1097\n", + " 1 0.94 0.91 0.93 744\n", + "\n", + "avg / total 0.94 0.94 0.94 1841\n", + "\n", + "[[1055 42]\n", + " [ 64 680]]\n", + "0.927694406548\n" + ] + } + ], + "prompt_number": 328 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, gradient_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAQoAAADxCAYAAAAz6fmnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG2ZJREFUeJzt3Xu81XWd7/HXe2OG4i1Gh6uEGoh0USExLQ9YxkPN0KaL\no13QnLJIc2qmo1YnHedkOvPIqSztmKmYA0WOebCboifMczQ1BEURkRIFhY2mqQMSoJ/zx++7YO01\ne+3fb629F2uvtd/Px2M9+P2+v9t3bdb6rO/t9/sqIjAz60lHszNgZv2fA4WZ5XKgMLNcDhRmlsuB\nwsxyOVCYWS4HCrMWIukaSZ2SlpalDZW0QNIKSbdJ2iulj5X0iqTF6XVF2TGTJS2V9Likb+dd14HC\nrLVcCxxbkXYesCAixgN3pPWSlRFxaHrNKku/EjgjIsYB4yRVnrMLB4omkHStpOcl/a4X5zhK0vK+\nzFezSBoj6WVJanZe+ruIuAt4oSJ5BjA7Lc8GTurpHJJGALtHxH0p6fq8YxwodjBJRwHHACMj4h31\nnici7oqICX2Xs8aQtErSu3vaJyKeiojdw8OE6zUsIjrTcicwrGzbfqnasVDSu1LaKGBN2T5Pp7Sq\nduqzrFpRbwRWRcSmZmdkBwmgaklB0k4RsXUH5qfpJNUUECOicEkrIqLs/M8A+0bEC5ImATdLenMt\n1y5xiaIHkvaVdJOk9ZKek3R5Su+Q9NX0a9kpabakPdK2sZJek/QJSU9KelbSl9O2M4AfAEekovaF\nkk6TdFfFdV+TtH9aPl7SI5JekrRG0j+k9GmSVpcdc1D61XhB0sOS3l+27TpJ35P083Se35XO3817\nLuX/NElPSfqTpM9IOkzSQ+n8l5ftf4Ck/5P+Ps9KukHSnmnbj4AxwC3p/f5j2fk/KelJ4HZJb0xp\nHalhbrWkE9I5dpO0UtLHev0f2o9I6vZVp05Jw9N5RwDrASJic0S8kJYfAP4AjCMrQYwuO350Sqsu\nIvzq5gUMAh4EvgnsArweODJt+yTwODAWGAL8B3B92jYWeA34X+mYtwGbgAPT9pnAXWXXOa18PaW9\nBuyfltcC70zLewKHpuVpwOq0/DpgJVkj1k7A0cBLwPi0/TrgOeDt6X3dAMyt8r5L+b8C2Bl4L/AX\n4GfA3sBIsuLtf0v7HwC8J+Vhb+BO4N/KzvcE8O5uzn9d2d+1lNaR9nlvet/7kAXWec3+PPTxZys6\nOjoKvbKvaLf/R0vL1v8FODctnwdckpb3Bgal5f3Jqht7pfV7gcPJSnu/BI7tMc/N/qP11xdwBFlk\n7uhm2x3AZ8rWxwObyUpopQ/9yLLt9wIfSctdAkOBQPEk8Glgj4p9ygPFUcDaiu1zgAvS8nXAVWXb\njgMerfK+S/kfUZb2HPDhsvUbgXOqHH8S8EDZerVAMbabtI6ytO8AS4HVwBua/Xno489WDBo0qNCr\nMlAAc8mqFJvT3+Z0YChwO7ACuK0sGPwN8DCwGFgEvK/sPJPT33cl8J28PLuNorp9gScj4rVuto0g\n+wKXPEX2S17eiLSubHkjsFud+fgg8FXgEkkPAedFRGVvyUiyD025J1M6ZO0EnWXbXimQn8r9uz1e\n0jDg28C7gN3JguXzOeemm/xW+gFwFvD1SMXndtLRUazW/+qrr3ZZj4hTqux6TGVCRNwE3NTdzhGx\nCHhroUzgNoqerAbGSBrUzbZnyH4FS8YAW+n6ZSpqA7BraaVU1yyJiN9HxElkxfCbgXlV8rNvRffi\nG8mrd/ZOqcHsYuBV4C0RsSfwcbp+rqo13FVt0Et/86vIuu0+J+mA3me3f6nWRtFHbRZ9zoGiunvJ\n6smXSNpV0mBJR6Ztc4EvpIa53ci+LD+uUvrI8yDwZkkHSxoMXFjaIOl1kj4qac+IeBV4mexL2V1e\nNwL/PR0zDTgB+HHpVHXkqyfl59uNLNi9JGkU8KWKfTvJ2jFq8WWy93k68K/A9ZLa6rPqQNEm0pf+\n/cCbyKoWq4GPpM3XAD8Cfgv8kexLenb54T2dunx7RKwALiKrYz4G3FVx/MeAJyS9SNZW8dHK60TE\n5pTX44Bnge8CH0/n/i/XLJjHnpRv/ydgEvAicAtZw2759m8AX029JV/s4fwB2dBi4AvAJyKrTF+a\ntp2bk6eW0mqBQqlhw3IoG+L6LbJeg6sj4tImZ6ntSLoGeB+wPiIK159bjaTYZZddCu37yiuvEDWM\no2gUlygKSHXm75KNsZ8InCLpoObmqi11dx9DW2q1EoUDRTFTyG6uWRURW8jq/ic2OU9tJ7q/j6Et\ntVqgcPdoMaPo2p23hmywilldinaP9hcOFMW4Icf6VH8qLRThQFHM02QDsEr2pevdd2Y1abVA0Vrl\nn+b5PdnDPcZK2hk4GZjf5DxZC2u1NgoHigIiuw36LOBWYBnwk4h4tLm5aj+S5gJ3A+PTHaSnNztP\njdJqgcLjKMx2MEkxdOjQQvs+//zz/WIchdsozJqgP5UWinCgMGsCd4+aWS6XKMwslwOFmeVyoKiB\nanwasVl/VkvvRKsFitZqUbG6NPsZkbW+LrjggqbnodZXrVptHIWrHmZN0J+CQBEOFGZN4O5Rs16a\nNm1as7PQcC5RmPWSA0X/40Bh1gStFihaq6Jk1iZ60+sh6RxJS5XNMXtOShsqaYGkFZJuk7RX2f7n\nS3pc0nJJ0+vJrwOFWRPUGygkvQX4O+Aw4GDgBGUTJJ0HLIiI8WRTXp6X9p9I9vyUiWQPLr5CdcyR\n4kBh1gQdHR2FXt2YANwbEZvSpFB3kk07OQOYnfaZTTYHLGQPgZ4bEVsiYhXZXKNTas5vrQeYWe/1\nourxMHBUqmrsChwPjAaGRURpSstOts+DO5Kuj21cQ/aw6Jq4MdOsCeptzIyI5ZIuJZu1fAOwhIpp\nJiMicm6PqHkoqQOFWRNUCxQbN25k48aNPR4bEdeQTWuJpK+TlRI6JQ2PiHWSRgDr0+6VD4YeTR2T\nV7vqYdYE1aoaQ4YMYZ999tn2qnLsX6d/xwB/A8whe9jzzLTLTLKZ70npfytpZ0n7AeOA+2rNr0sU\nZk3Qy3EUN0r6K2ALMCsiXpR0CTBP0hnAKtKE2hGxTNI8sodCb03711z1aOrDdX2b+Y7hByg3nqTC\nt5lLiokTJxY677Jly/xwXbOByjeFmVmuVhvC7UBh1gQOFGaWy4HCzHI5UJhZLgcKM8vlQGFmudw9\nama5XKIws1wOFGaWy4HCzHI5UJhZLgcKM8vlQGFmudw9ama5XKIws1wOFGaWy4HCzHI5UJhZLgcK\nM8vlQGFmudw9ama5XKIws1ytFigaWv6RdKyk5ZIel3RuI69l1krqnc1c0oGSFpe9XpR0jqQLJa0p\nSz+u7Jjz03dwuaTp9eS3YSUKSYOA7wLHkE2Ker+k+RHxaKOuadYqejGb+WPAoekcHWTfrZuATwKX\nRcRlFdeZCJwMTARGAbdLGh8Rr9Vy3UaWKKYAKyNiVURsAX4MnNjA65m1jHpLFBWOIfuOrQaUXpVO\nBOZGxJaIWAWsJPtu1qSRgWIUsLpsfU1KMxvwOjo6Cr1y/C0wNy0HcLakByX9UNJeKX0k2XevpK7v\nYSMDhWfGNauityUKSTsD7wd+mpKuBPYDDgHWAt/s4fI1fzcb2evxNLBv2fq+dI1sZi1r4cKFLFy4\nsO7jqwWB5557jj/96U9FTnEcsCgingWIiPVl574auCWtVn4PR6e02vIb0Zgffkk7AY8B7wGeAe4D\nTilvzJTkUscO0Kj/Y9tOEhFRqIVSUsyYMaPQeefPn9/teSX9GPhVRMxO6yMiYm1a/gJwWEScmhoz\n55C1S4wCbgfeFDV+KBpWooiIrZLOAm4FBgE/dI+HWaY34ygkDSFryPxUWfKlkg4hq1Y8AZwJEBHL\nJM0DlgFbgVm1BgloYImi0MVdotghXKJovFpLFCeddFKh8958882Fz9tIHplp1gStNjLTgcKsCXxT\nmJnlconCzHI5UJhZrrYJFJIu7+G4iIjPNyA/ZgNC2wQKYBHbh3qW3lWkZfe3mfVC2wSKiLiufF3S\nkIjY0PAcmQ0ArRYocvtoJB0paRmwPK0fIumKhufMrI310d2jO0yRnHwLOBZ4DiAilgBTG5kps3bX\nR8+j2GEK9XpExFMVmd7amOyYDQz9KQgUUSRQPCXpnbDtHvjPA765y6wX2jFQfBb4Ntktqk8DtwGf\na2SmzNpd2wWK9GCMU3dAXswGjFYLFEV6PQ6QdIuk5yQ9K+l/S9p/R2TOrF21WmNmkV6POcA8YATZ\ngzp/yvYHeppZHdqxe3SXiPhRetz3loi4ARjc6IyZtbNWK1H0dK/HULLh2r+SdD7bSxEnA7/aAXkz\na1v9KQgU0VNj5gN0vafj0+nf0r0e5zUqU2btrm0CRUSM3YH5MBtQ2iZQlJP0FrK5C7e1TUTE9Y3K\nlFm7a7tAIelCsns73gz8gmzikf8LOFCY1anVAkWRXo8Pkc0hsDYiTgcOBvbq+RAz60mrdY8WqXq8\nEhGvStoqaU9gPV2nKDOzGrVjieJ+SW8AfgD8HlgM3N3QXJm1ud6Mo5C0l6QbJT0qaZmkwyUNlbRA\n0gpJt5XNZo6k8yU9Lmm5pOn15Dc3UETErIh4ISK+D0wHZqYqiJnVqZcDrr4N/DIiDgLeRvZQqfOA\nBRExHrgjrZPmHj2ZrDPiWOAKSTXXaXoacDWZKs/GlDQpIh6o9WJmlqm36pGq/0dFxEzI5vgFXpQ0\ng+0PlJoNLCQLFicCcyNiC7BK0kqyCYt/V8t1e2qj+CY9P0T36FouZGbb9aKNYj/gWUnXknUsLAL+\nHhgWEZ1pn05gWFoeSdegsIbskRE16WnA1bRaT2ZmxfSiR2MnYBJwVkTcL+lbVIySjojImQC85qfo\newIgsyaoVqJYvXo1q1ev7unQNcCaiLg/rd8InA+skzQ8ItZJGkHWOwnZw6bKeylHp7SaOFCYNUG1\nQDFmzBjGjBmzbf2ee+7psj0FgtWSxkfECrIxTo+k10zg0vTvzemQ+cAcSZeRVTnGAffVml8HCrMm\n6OU4irOBf0/PsP0DcDowCJgn6QxgFfARgIhYJmkesIzsodizIqLvqh5lvR7dzgzmXg+z+vUmUETE\ng8Bh3Ww6psr+FwMX131BivV67AJMBh5K6W8jG3h1RG8ubDaQtc3IzIiYFhFHA88AkyJickRMBg5N\naWZWp7Z5wlWZCRGxtLQSEQ9LOqiBeTJre/3phq8iigSKhyRdDdxA1l5xKvBgQ3Nl1ub6U2mhiCKB\n4nSySYDOSeu/Ba5sWI7MBoC2CxQR8Yqk75PdhLJ8B+TJrO21WqAoMgHQDLJby3+d1g+VNL/RGTNr\nZ+3YmHkhcDjwG4CIWNyXM4Vt3ry5r05lVcycObPZWbAK/SkIFFEkUGyJiD9XvLHXGpQfswGhHQPF\nI5I+CuwkaRzwefyEK7NeabXu0SK5PZvsCdx/IZst7CWy+9/NrE7t2EZxfER8GfhyKUHSh8kmKzaz\nOvSnIFBEkRLFlwummVlBbVOikHQccDwwStJ3yEZlAuwObNkBeTNrW/0pCBTRU9XjGbLn8Z2Y/i3d\nbv4y8IXGZ82sfbVNoEj3vD8o6SZgQ0S8CiBpEPD6HZQ/s7bUaoGiSBvFbWTPpCjZFbi9MdkxGxja\ncUrBwRHxn6WViHhZ0q4NzJNZ22vHEsWG9Fg8ACS9HXilcVkya39t0+tR5u+Bn0oqPdVqBNkUZWZW\np/4UBIoocpv5/ZIOBA4k6/lYnqYnM7M6tV2gkDQE+CIwJiI+JWmcpAMj4ueNz55Ze2q1QFGkjeJa\nYDNwZFp/Bvh6w3JkNgC0WhtFkUBxQERcShYsiIgNjc2SWftrte7RIjn5i6Rt4ygkHUB2J6mZ1am3\nJQpJgyQtlnRLWr9Q0pqUtjjdglHa93xJj0taLml6Pfkt+oSrXwOjJc0B3gmcVs/FzCzTB9WKc8im\nCdw9rQdwWURcVnGdiWS9lBPJ5h69Xdm8pTU9fCq3RBERtwEfJAsOc4DJEfGbWi5iZl31pkQhaTTZ\nDZtXs/1mTZUtlzsRmBsRWyJiFbASmFJrfos8XFfAVLJ5Dd8NHFXrRcysq15WPf4N+BJdH0kZwNmS\nHpT0Q0l7pfSRwJqy/daQlSxqUqSN4grgTLK5Rx8GzpR0Ra0XMrPt6g0Ukk4A1kfEYrqWIK4E9gMO\nAdaSzR1cTd/NZl7maGBiqU4j6TqyupGZ1alaj8Zjjz3GihUrejr0SGCGpOOBwcAekq6PiE+UdlA2\ns98tafVpYN+y40entJoUCRQrgTHAqrQ+JqWZWZ2qVSsmTJjAhAkTtq3//OddxzWWP5ZS0lTgHyPi\nE5JGRMTatNsHgNJ8wfOBOZIuI6tyjAPuqzW/RQLFHsCjku4jK7JMAe5P3TIRETNqvajZQNdHg6lK\nD5MC+BdJB6f1J8iaC4iIZZLmkdUCtgKzIqIhVY+vdZMWFZk0sxr0RaCIiIXAwrT88R72uxi4uDfX\nKhIo1kdElzYJSdNSJs2sDv1peHYRRXo95kk6V5ldJV0OXNLojJm1s3a81+NwslbTe8gaQday/QYx\nM6tDqwWKIlWPrWRPtNqFrDvmj7UO/zSzrvrTDV9FFMntfcAm4O1kozJPleRZwsx6oR1LFH8XEfen\n5bVkgz2qtrCaWb7+FASKKFKiWCTp45K+BiBpDNDj0DEz61mrlSiK3utxBHBqWv9P4HsNy5HZANBq\ngaJI1ePwiDhU0mKAiHhe0usanC+zttafgkARRQLFZmXTCAIgaR+63t5qZjVqx0BxOfAz4K8lXQx8\nCPhqQ3Nl1uZarXu0yLweN0haBLwnJZ0YEY82Nltm7a0dSxSkwODgYNZH2jJQmFnfarVA0dCKkqRr\nJHVKWpq/t9nA0Wrdo41uUbkWOLbB1zBrOa0WKBpa9YiIuySNbeQ1zFpRfwoCRbiNwqwJ2q571Mz6\nnksUNbrooou2LU+dOpWpU6c2MTdmxaxbt45169bVfbwDRY2+9rXunt1r1r8NHz6c4cOHb1t/6KGH\najq+1QJFo7tH5wJ3A+MlrZZ0eiOvZ9Yq3OtRJiJOaeT5zVpVfwoCRTS96mE2ELVaoGitPhqzNtHR\n0VHoVUnSYEn3SloiaZmkb6T0oZIWSFoh6TZtn80cSedLelzScknT68pv3e/UzOpWbxtFRGwCjo6I\nQ4C3AUdLehdwHrAgIsYDd6R1JE0ETgYmko2SvkJSzd97BwqzJuhNY2ZEbEyLOwODgBeAGcDslD4b\nOCktnwjMjYgtEbGKbILxKbXm14HCrAl6EygkdUhaAnQCv4mIR4BhEdGZdukEhqXlkcCassPXkM1q\nXhM3Zpo1QW8aM9MEXIdI2hO4VdLRFdtDUk8TiDdkNnMz62PVAsWSJUtYsmRJoXNExIuSfgFMBjol\nDY+IdZJGAOvTbk+TTQlaMjql1cSBwqwJqt0UNmnSJCZNmrRt/frrr++yXdLewNaI+LOkXYD3Av8E\nzAdmApemf29Oh8wH5ki6jKzKMY5s9r+aOFCYNUEvqh4jgNmp56ID+FFE3JGm05gn6QxgFfARgIhY\nJmkesIxsHuFZEeGqh1krqDdQRMRSYFI36c8Dx1Q55mLg4roumDhQmDVBq43MdKAwawIHCjPL5UBh\nZrkcKMwsl5+ZaWa5XKIws1wOFGaWy4HCzHI5UJhZLgcKM8vlQGFmudw9ama5XKIws1wOFGaWy4HC\nzHI5UJhZLgcKM8vlQGFmudw9ama5XKIws1wOFGaWy4HCzHI5UJhZLgcKM8vVaoGitfpozNpER0dH\noVclSddI6pS0tCztQklrJC1Or+PKtp0v6XFJyyVNrzu/9R44UN15553NzkLbW7duXbOz0HCSCr26\ncS1wbEVaAJdFxKHp9at0jYnAycDEdMwVac7SmjlQ1MiBovEcKKoHioi4C3ihu1N2k3YiMDcitkTE\nKmAlMKWe/DpQmDVBL0oU1Zwt6UFJP5S0V0obCawp22cNMKqe/Lox06wJqgWBu+++m3vuuafW010J\nXJSW/xn4JnBGlX2j1pMDKKKu4/qEpOZd3KyPRUShIoCkePrppwudc9SoUf/lvJLGArdExFu7Ofe2\nbZLOS/m6JG37NXBBRNxb6OJlmlqiKPqHNWs3fdk9KmlERKxNqx8ASj0i84E5ki4jq3KMA+6r5xqu\nepg1Qb13j0qaC0wF9pa0GrgAmCbpELJqxRPAmQARsUzSPGAZsBWYFXVWIZpa9TAbiCRFZ2dnoX2H\nDRvWL0reLlGYNUGrjcx0oDBrglYLFB5H0c9JmibplrT8fknn9rDvnpI+W8c1LpT0D0XTK/a5TtIH\na7jW2PLhxwNVA8ZRNJQDRZPUM5Q2Im6JiEt72OUNwKw6slOtoapIA5YbuergQDHApV/M5ZJukLRM\n0k8l7ZK2rZJ0iaRFwIclTZd0t6RFkuZJGpL2O1bSo2m/D5Sd+zRJl6flYZJ+JmlJeh0BXAIckG4M\nujTt9yVJ96VRexeWnesrkh6TdBdwYIH39al0niWSbiy9p+QYSfen870v7T9I0r+WXfvTvfzTtpV6\nbwprlv6Tk/YyHvheREwEXmL7r3wAz0XEZOAO4CvAe9L6IuCLkgYDVwEnpPThdP+r/R3gNxFxCDAJ\neAQ4F/hDujHoXGV3C74pIqYAhwKTJR0laTLZzUIHA8cDh1W5Rrn/iIgp6XqPsn3kn4A3RsRhwPuA\n70t6fdr+53TtKcCn0mAgo/VKFG7MbIzVEVEah3sD8HmyYbUAP0n/voPsrr670wdiZ+Busl/3JyLi\nD2XHd/drfDTwMYCIeA14SdLQin2mA9MlLU7rQ8gG3ewO3BQRm4BNkubT/U1F5d4q6X8CewK7Ab9O\n6QHMS/lYKemPwIR07bdK+lDabw/gTWQ3Jg14/SkIFOFA0Rjlv86qWN9QtrwgIk4tP1DSwRXn6ukT\nVeTT9o2IuKriGudUHNvTeUp5vw6YERFLJc0EphU45qyIWFBx7bH5WW5/rRYoXPVojDGS3pGWTwXu\n6mafe4F3SjoAQNIQSeOA5cBYSfun/U6pco07gM+mYwdJ2gN4may0UHIr8Mmyto9RkvYBfgucJGmw\npN2BE6he9Sh9oncD1kl6HVlJJsq2f1iZA4D903u4FZglaad07fGSdq1yjQHHVQ8DeAz4nKRryNoO\nrkzp276MEfGspNOAualOD/CViHg8Nfz9QtJGsiAzpOz40jnOAa6SdAbwKvCZiLhX0v9T1v34y9RO\ncRBwT/rQvQx8LCIWS/oJ8CCwnp7H/5eu9z/Igtuz6d/dyrY/lc6xB3BmRGyWdDUwFnhA2cXXAydV\n/h0Gqv4UBIrwEO4+ph7u7DODbAj3hg0b8ncEhgwZ4iHcbczR13rUn7o+i3CJwmwHkxSbNm0qtO/g\nwYNdojAbqFqtjcKBwqwJHCjMLJcDhZnlcqAws1wOFGaWq9W6Rx0ozJqg1UoUHkdhZrlaq/xjZk3h\nQGFmuRwozCyXA4WZ5XKgMLNc/x+uCKv+07TW6QAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 329 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "extra_tree = ExtraTreesClassifier(n_estimators=10, max_depth=None, min_samples_split=1, random_state=0)\n", + "extra_tree.fit(train_data, train_results)\n", + "extra_tree_predictions = extra_tree.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 112 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, extra_tree_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.93 0.97 0.95 1097\n", + " 1 0.96 0.90 0.93 744\n", + "\n", + "avg / total 0.94 0.94 0.94 1841\n", + "\n", + "[[1066 31]\n", + " [ 77 667]]\n", + "0.925104022191\n" + ] + } + ], + "prompt_number": 113 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, extra_tree_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 114 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "gaussian_learner = GaussianNB()\n", + "gaussian_learner.fit(train_data, train_results)\n", + "gaussian_predictions = gaussian_learner.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 115 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, gaussian_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.95 0.73 0.83 1097\n", + " 1 0.70 0.94 0.81 744\n", + "\n", + "avg / total 0.85 0.82 0.82 1841\n", + "\n", + "[[804 293]\n", + " [ 45 699]]\n", + "0.805299539171\n" + ] + } + ], + "prompt_number": 116 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, extra_tree_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 117 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "ada_boost = AdaBoostClassifier()\n", + "ada_boost.fit(train_data, train_results)\n", + "ada_predictions = ada_boost.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 118 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, ada_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.92 0.95 0.94 1097\n", + " 1 0.93 0.88 0.91 744\n", + "\n", + "avg / total 0.93 0.93 0.93 1841\n", + "\n", + "[[1046 51]\n", + " [ 86 658]]\n", + "0.905712319339\n" + ] + } + ], + "prompt_number": 119 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_binary_plot(test_results, ada_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 120 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Machine Learning Democracy - Bootstrap Aggregation" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "democratic_predictions = (random_forest_predictions + gradient_predictions + extra_tree_predictions \n", + " + gaussian_predictions + ada_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 121 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "democratic_results = []\n", + "\n", + "for element in democratic_predictions:\n", + " if element >= 3:\n", + " democratic_results.append(1)\n", + " else:\n", + " democratic_results.append(0)\n", + "\n", + " \n", + "democratic_predictions = np.array(democratic_results)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 122 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, democratic_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.95 0.97 0.96 1097\n", + " 1 0.95 0.92 0.94 744\n", + "\n", + "avg / total 0.95 0.95 0.95 1841\n", + "\n", + "[[1059 38]\n", + " [ 56 688]]\n", + "0.936054421769\n" + ] + } + ], + "prompt_number": 123 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Bagging With Different Random Samples" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train_data, test_data, train_results, test_results = train_test_split(new_data, results, \n", + " test_size=0.5, random_state=0)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 306 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train_data1, test_data1, train_results1, test_results1 = train_test_split(train_data, train_results, test_size=0.2, random_state=3)\n", + "train_data2, test_data2, train_results2, test_results2 = train_test_split(train_data, train_results, test_size=0.2, random_state=7)\n", + "train_data3, test_data3, train_results3, test_results3 = train_test_split(train_data, train_results, test_size=0.2, random_state=11)\n", + "train_data4, test_data4, train_results4, test_results4 = train_test_split(train_data, train_results, test_size=0.2, random_state=13)\n", + "train_data5, test_data5, train_results5, test_results5 = train_test_split(train_data, train_results, test_size=0.2, random_state=17)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 307 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "random_forest_learner = RandomForestClassifier(n_estimators=100)\n", + "random_forest_learner.fit(train_data1, train_results1)\n", + "random_forest_predictions = random_forest_learner.predict(test_data)\n", + "\n", + "gradient_learner = GradientBoostingClassifier(n_estimators=100, learning_rate=1, max_depth=1)\n", + "gradient_learner.fit(train_data2, train_results2)\n", + "gradient_predictions = gradient_learner.predict(test_data)\n", + "\n", + "extra_tree = ExtraTreesClassifier(n_estimators=100, max_depth=None, min_samples_split=1)\n", + "extra_tree.fit(train_data3, train_results3)\n", + "extra_tree_predictions = extra_tree.predict(test_data)\n", + "\n", + "gaussian_learner = GaussianNB()\n", + "gaussian_learner.fit(train_data4, train_results4)\n", + "gaussian_predictions = gaussian_learner.predict(test_data)\n", + "\n", + "ada_boost = AdaBoostClassifier()\n", + "ada_boost.fit(train_data5, train_results5)\n", + "ada_predictions = ada_boost.predict(test_data)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 312 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "democratic_predictions = (random_forest_predictions + gradient_predictions + extra_tree_predictions \n", + " + gaussian_predictions + ada_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 313 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "democratic_results = []\n", + "\n", + "for element in democratic_predictions:\n", + " if element >= 3:\n", + " democratic_results.append(1)\n", + " else:\n", + " democratic_results.append(0)\n", + "\n", + " \n", + "democratic_predictions = np.array(democratic_results)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 314 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "show_results(test_results, democratic_predictions)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.95 0.96 0.96 1363\n", + " 1 0.95 0.92 0.93 938\n", + "\n", + "avg / total 0.95 0.95 0.95 2301\n", + "\n", + "[[1313 50]\n", + " [ 72 866]]\n", + "0.934196332255\n" + ] + } + ], + "prompt_number": 315 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file