{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# HIDDEN\n", "import matplotlib\n", "#matplotlib.use('Agg')\n", "path_data = '../../../data/'\n", "from datascience import *\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "from mpl_toolkits.mplot3d import Axes3D\n", "import numpy as np\n", "import math\n", "import scipy.stats as stats\n", "plt.style.use('fivethirtyeight')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# HIDDEN\n", "\n", "def standard_units(x):\n", " return (x - np.mean(x))/np.std(x)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# HIDDEN\n", "\n", "def distance(point1, point2):\n", " \"\"\"The distance between two arrays of numbers.\"\"\"\n", " return np.sqrt(np.sum((point1 - point2)**2))\n", "\n", "def all_distances(training, point):\n", " \"\"\"The distance between p (an array of numbers) and the numbers in row i of attribute_table.\"\"\"\n", " attributes = training.drop('Class')\n", " def distance_from_point(row):\n", " return distance(point, np.array(row))\n", " return attributes.apply(distance_from_point)\n", "\n", "def table_with_distances(training, point):\n", " \"\"\"A copy of the training table with the distance from each row to array p.\"\"\"\n", " return training.with_column('Distance', all_distances(training, point))\n", "\n", "def closest(training, point, k):\n", " \"\"\"A table containing the k closest rows in the training table to array p.\"\"\"\n", " with_dists = table_with_distances(training, point)\n", " sorted_by_distance = with_dists.sort('Distance')\n", " topk = sorted_by_distance.take(np.arange(k))\n", " return topk\n", "\n", "def majority(topkclasses):\n", " \"\"\"1 if the majority of the \"Class\" column is 1s, and 0 otherwise.\"\"\"\n", " ones = topkclasses.where('Class', are.equal_to(1)).num_rows\n", " zeros = topkclasses.where('Class', are.equal_to(0)).num_rows\n", " if ones > zeros:\n", " return 1\n", " else:\n", " return 0\n", "\n", "def classify(training, p, k):\n", " \"\"\"Classify an example with attributes p using k-nearest neighbor classification with the given training table.\"\"\"\n", " closestk = closest(training, p, k)\n", " topkclasses = closestk.select('Class')\n", " return majority(topkclasses)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Nearest Neighbors ###\n", "In this section we'll develop the *nearest neighbor* method of classification. Just focus on the ideas for now and don't worry if some of the code is mysterious. Later in the chapter we'll see how to organize our ideas into code that performs the classification." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Chronic kidney disease\n", "\n", "Let's work through an example. We're going to work with a data set that was collected to help doctors diagnose chronic kidney disease (CKD). Each row in the data set represents a single patient who was treated in the past and whose diagnosis is known. For each patient, we have a bunch of measurements from a blood test. We'd like to find which measurements are most useful for diagnosing CKD, and develop a way to classify future patients as \"has CKD\" or \"doesn't have CKD\" based on their blood test results." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
Age | Blood Pressure | Specific Gravity | Albumin | Sugar | Red Blood Cells | Pus Cell | Pus Cell clumps | Bacteria | Glucose | Blood Urea | Serum Creatinine | Sodium | Potassium | Hemoglobin | Packed Cell Volume | White Blood Cell Count | Red Blood Cell Count | Hypertension | Diabetes Mellitus | Coronary Artery Disease | Appetite | Pedal Edema | Anemia | Class | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
48 | 70 | 1.005 | 4 | 0 | normal | abnormal | present | notpresent | 117 | 56 | 3.8 | 111 | 2.5 | 11.2 | 32 | 6700 | 3.9 | yes | no | no | poor | yes | yes | 1 | \n", "
53 | 90 | 1.02 | 2 | 0 | abnormal | abnormal | present | notpresent | 70 | 107 | 7.2 | 114 | 3.7 | 9.5 | 29 | 12100 | 3.7 | yes | yes | no | poor | no | yes | 1 | \n", "
63 | 70 | 1.01 | 3 | 0 | abnormal | abnormal | present | notpresent | 380 | 60 | 2.7 | 131 | 4.2 | 10.8 | 32 | 4500 | 3.8 | yes | yes | no | poor | yes | no | 1 | \n", "
68 | 80 | 1.01 | 3 | 2 | normal | abnormal | present | present | 157 | 90 | 4.1 | 130 | 6.4 | 5.6 | 16 | 11000 | 2.6 | yes | yes | yes | poor | yes | no | 1 | \n", "
61 | 80 | 1.015 | 2 | 0 | abnormal | abnormal | notpresent | notpresent | 173 | 148 | 3.9 | 135 | 5.2 | 7.7 | 24 | 9200 | 3.2 | yes | yes | yes | poor | yes | yes | 1 | \n", "
48 | 80 | 1.025 | 4 | 0 | normal | abnormal | notpresent | notpresent | 95 | 163 | 7.7 | 136 | 3.8 | 9.8 | 32 | 6900 | 3.4 | yes | no | no | good | no | yes | 1 | \n", "
69 | 70 | 1.01 | 3 | 4 | normal | abnormal | notpresent | notpresent | 264 | 87 | 2.7 | 130 | 4 | 12.5 | 37 | 9600 | 4.1 | yes | yes | yes | good | yes | no | 1 | \n", "
73 | 70 | 1.005 | 0 | 0 | normal | normal | notpresent | notpresent | 70 | 32 | 0.9 | 125 | 4 | 10 | 29 | 18900 | 3.5 | yes | yes | no | good | yes | no | 1 | \n", "
73 | 80 | 1.02 | 2 | 0 | abnormal | abnormal | notpresent | notpresent | 253 | 142 | 4.6 | 138 | 5.8 | 10.5 | 33 | 7200 | 4.3 | yes | yes | yes | good | no | no | 1 | \n", "
46 | 60 | 1.01 | 1 | 0 | normal | normal | notpresent | notpresent | 163 | 92 | 3.3 | 141 | 4 | 9.8 | 28 | 14600 | 3.2 | yes | yes | no | good | no | no | 1 | \n", "
... (148 rows omitted)
" ], "text/plain": [ "Age | Blood Pressure | Specific Gravity | Albumin | Sugar | Red Blood Cells | Pus Cell | Pus Cell clumps | Bacteria | Glucose | Blood Urea | Serum Creatinine | Sodium | Potassium | Hemoglobin | Packed Cell Volume | White Blood Cell Count | Red Blood Cell Count | Hypertension | Diabetes Mellitus | Coronary Artery Disease | Appetite | Pedal Edema | Anemia | Class\n", "48 | 70 | 1.005 | 4 | 0 | normal | abnormal | present | notpresent | 117 | 56 | 3.8 | 111 | 2.5 | 11.2 | 32 | 6700 | 3.9 | yes | no | no | poor | yes | yes | 1\n", "53 | 90 | 1.02 | 2 | 0 | abnormal | abnormal | present | notpresent | 70 | 107 | 7.2 | 114 | 3.7 | 9.5 | 29 | 12100 | 3.7 | yes | yes | no | poor | no | yes | 1\n", "63 | 70 | 1.01 | 3 | 0 | abnormal | abnormal | present | notpresent | 380 | 60 | 2.7 | 131 | 4.2 | 10.8 | 32 | 4500 | 3.8 | yes | yes | no | poor | yes | no | 1\n", "68 | 80 | 1.01 | 3 | 2 | normal | abnormal | present | present | 157 | 90 | 4.1 | 130 | 6.4 | 5.6 | 16 | 11000 | 2.6 | yes | yes | yes | poor | yes | no | 1\n", "61 | 80 | 1.015 | 2 | 0 | abnormal | abnormal | notpresent | notpresent | 173 | 148 | 3.9 | 135 | 5.2 | 7.7 | 24 | 9200 | 3.2 | yes | yes | yes | poor | yes | yes | 1\n", "48 | 80 | 1.025 | 4 | 0 | normal | abnormal | notpresent | notpresent | 95 | 163 | 7.7 | 136 | 3.8 | 9.8 | 32 | 6900 | 3.4 | yes | no | no | good | no | yes | 1\n", "69 | 70 | 1.01 | 3 | 4 | normal | abnormal | notpresent | notpresent | 264 | 87 | 2.7 | 130 | 4 | 12.5 | 37 | 9600 | 4.1 | yes | yes | yes | good | yes | no | 1\n", "73 | 70 | 1.005 | 0 | 0 | normal | normal | notpresent | notpresent | 70 | 32 | 0.9 | 125 | 4 | 10 | 29 | 18900 | 3.5 | yes | yes | no | good | yes | no | 1\n", "73 | 80 | 1.02 | 2 | 0 | abnormal | abnormal | notpresent | notpresent | 253 | 142 | 4.6 | 138 | 5.8 | 10.5 | 33 | 7200 | 4.3 | yes | yes | yes | good | no | no | 1\n", "46 | 60 | 1.01 | 1 | 0 | normal | normal | notpresent | notpresent | 163 | 92 | 3.3 | 141 | 4 | 9.8 | 28 | 14600 | 3.2 | yes | yes | no | good | no | no | 1\n", "... (148 rows omitted)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ckd = Table.read_table(path_data + 'ckd.csv').relabeled('Blood Glucose Random', 'Glucose')\n", "ckd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Some of the variables are categorical (words like \"abnormal\"), and some quantitative. The quantitative variables all have different scales. We're going to want to make comparisons and estimate distances, often by eye, so let's select just a few of the variables and work in standard units. Then we won't have to worry about the scale of each of the different variables." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "ckd = Table().with_columns(\n", " 'Hemoglobin', standard_units(ckd.column('Hemoglobin')),\n", " 'Glucose', standard_units(ckd.column('Glucose')),\n", " 'White Blood Cell Count', standard_units(ckd.column('White Blood Cell Count')),\n", " 'Class', ckd.column('Class')\n", ")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "Hemoglobin | Glucose | White Blood Cell Count | Class | \n", "
---|---|---|---|
-0.865744 | -0.221549 | -0.569768 | 1 | \n", "
-1.45745 | -0.947597 | 1.16268 | 1 | \n", "
-1.00497 | 3.84123 | -1.27558 | 1 | \n", "
-2.81488 | 0.396364 | 0.809777 | 1 | \n", "
-2.08395 | 0.643529 | 0.232293 | 1 | \n", "
-1.35303 | -0.561402 | -0.505603 | 1 | \n", "
-0.413266 | 2.04928 | 0.360623 | 1 | \n", "
-1.28342 | -0.947597 | 3.34429 | 1 | \n", "
-1.10939 | 1.87936 | -0.409356 | 1 | \n", "
-1.35303 | 0.489051 | 1.96475 | 1 | \n", "
... (148 rows omitted)
" ], "text/plain": [ "Hemoglobin | Glucose | White Blood Cell Count | Class\n", "-0.865744 | -0.221549 | -0.569768 | 1\n", "-1.45745 | -0.947597 | 1.16268 | 1\n", "-1.00497 | 3.84123 | -1.27558 | 1\n", "-2.81488 | 0.396364 | 0.809777 | 1\n", "-2.08395 | 0.643529 | 0.232293 | 1\n", "-1.35303 | -0.561402 | -0.505603 | 1\n", "-0.413266 | 2.04928 | 0.360623 | 1\n", "-1.28342 | -0.947597 | 3.34429 | 1\n", "-1.10939 | 1.87936 | -0.409356 | 1\n", "-1.35303 | 0.489051 | 1.96475 | 1\n", "... (148 rows omitted)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ckd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at two columns in particular: the hemoglobin level (in the patient's blood), and the blood glucose level (at a random time in the day; without fasting specially for the blood test). \n", "\n", "We'll draw a scatter plot to visualize the relation between the two variables. Blue dots are patients with CKD; gold dots are patients without CKD. What kind of medical test results seem to indicate CKD?" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "color_table = Table().with_columns(\n", " 'Class', make_array(1, 0),\n", " 'Color', make_array('darkblue', 'gold')\n", ")\n", "ckd = ckd.join('Class', color_table)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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0Z2Y2267je9+97tcdNFFXHLJJTz77LPs37+fb3zjG6kO7ZTV1dWxc+dOAFzXpbS0lC1bthAKhejZs2eKoxPi5MkWunautLSU2bNns2nTJqqrqykoKGDEiBHcddddfO5zn0t1eKfs7bff5tprr23xZytXruSKK644wxG1rXnz5vHII480O/700093yC1aCxcu5Mknn6SsrIz+/fvz8MMPc/nll6c6rFN2tH8PZ8yYwW9+85sURCRE25AkL4QQQnRSsrpeCCGE6KQkyQshhBCdlCR5IYQQopOSJC+EEEJ0UpLkhRBCiE5KkrwQQgjRSUmSFym1ZMkScnJyEoVImrJtm5ycHObNm5eCyNrOoEGDmDVr1gl/btasWQwYMKDV8w7/Dj/99NOTCU8I0YlJkheigxs/fjyrVq2iqKgo1aEIIdoZKWsrRAeXl5dHXl5eqsMQQrRDMpIXHUpJSQm33HILffv2paCggJEjR7Jy5cqkc+bNm0dOTg4fffQRU6ZMoXv37gwcOJDFixcD8PzzzzN8+HCKi4uZOHEin3zySdLnY7EYc+fOZdCgQeTn5zNo0CDmzp1LLBZrFsvUqVPp1q0b5513Hvfffz+LFi06rqnz9957j0mTJlFcXEz37t257rrreO+991o8d/369YwePZrCwkIGDRrEM888k/TzlqbrBw0axHe+8x2WLVvGxRdfTPfu3Rk1ahTvvPPOsX/BQohORUbyol1wHAfbtpsda6q0tJSrr76a/Px8Hn74YfLy8li+fDkzZ85kyZIlTJgwIen8m2++mZkzZ3L77bezcOFCvve977Fz507WrFnDAw88gG3bzJkzh29/+9u8+eabic/NmjWLF154gTvvvJPLLruM9evX8/jjj1NSUsLChQsBiEajTJ48mWg0yuOPP05eXh7PPfccL730UqvPunXrVq655ho+//nPs2DBAgCeeOIJrrnmGlatWsWgQYMS59bW1vLNb36TO+64gz59+rBs2TLuueceMjIyWq19v27dOrZv3879999PIBDgoYceYvr06WzZsoWcnJxW4xRCdHyS5EW7MHz48FbPmT9/PlprXn75Zbp27QrA2LFj2bNnDw8//HCzJH/77bczY8YMAIYOHcprr73G7373OzZv3kxWVhYA+/fvZ86cOezatYtevXrx/vvvs3TpUu655x7uvfdeAMaMGYNlWTz00EPMnj2bgQMH8oc//IGSkhLefPNNLrroIgDGjRvHyJEjKS0tPeZzPProo/j9fl566aVEsh09ejSDBw/mkUceScw4gJfkn3jiCb7yla8AcPXVV7Nv3z7mzZvHjTfeiFLqqPepra1lzZo1iXsUFhYyevRoVq1axdSpU1v9fQshOj6ZrhftwuLFi1m9enXSnzfeeCPpnDfffJNx48aRlZWFbduJP2PHjmXr1q3U1NQknT9u3LjEX+fk5JCfn8/w4cMTCR5IdPLbs2cP4I1+AaZPn550rWnTpgGwdu1aAN5991169OiRSPAASqnj6q2+bt06vvjFLyaNprOysvjSl76UuP5hpmk2u+aUKVMoLS1l7969x7zPxRdfnHSPwyv1W/sSIoToPGQkL9qFAQMG0KdPn6Rjn52+P3DgAM8//zzPP/98i9c4dOhQUgL/7JS0z+dr8RhAJBIBoLKyEvBGvU0d/vvDPy8rKyM/P79ZDAUFBS3G1lRlZWWz6x++R1VVVdKxnJycRIyfvce+ffsoLi4+6n0+268+EAgAEA6HW41RCNE5SJIXHUbXrl257LLLmD17dos/79at2ynf43BiLC8v59xzz00cLysrS/p5YWEhH374YbPPl5eXH9c9Dl+vqbKysmZfQqqqqojFYkmJ/vA92uJ5hRCdm0zXiw5j7Nix/Pvf/+b8889n6NChzf4cHqmeihEjRgCwbNmypON//vOfARg5ciTgrSEoLS1NWhGvtWbFihWt3uPyyy9n1apV1NbWJo7V1tby2muvJa5/mOM4za65fPlyevToQffu3U/gyYQQZyMZyYsO47777mPs2LFMmDCBW265hV69elFVVcUHH3xASUkJTz/99CnfY8CAAVx//fXMnz8f27a55JJL2LBhAz//+c+5/vrrueCCCwC48cYbeeKJJ7jpppv40Y9+lFhdX11dDYBhHP3781133cXrr7/OpEmTuOOOO1BK8eSTT9LY2Mjdd9+ddG5mZiYPPPAAFRUV9O3bl6VLl/L3v/+dBQsWHHPRnRBCgCR50YH07NmT1atXM3/+fB588EEOHjxI165d6d+/f2IVfVtYsGABvXv3ZvHixTz22GMUFRUxe/Zs7rnnnsQ5fr+fF154gbvvvps777yTLl26cP311zNs2DB+8pOfJK0N+KyBAwfyl7/8hQcffJBbb70VrTXDhg3j5ZdfTto+B16S/+1vf8ucOXN4//33yc/PZ/78+dx4441t9rxCiM5LVVVV6VQHIURnMX36dLZt28amTZtSHYoQQshIXoiT9etf/5qMjAz69OlDXV0dL774Iq+//jq/+MUvUh2aEEIAkuSFOGmBQIAFCxZQWlqK4zicd955PPXUU8ycOTPVoQkhBCDT9UIIIUSnJVvohBBCiE5KkrwQQgjRSUmSF0IIITopSfJCCCFEJyVJXgghhOikJMkLIYQQndT/B81J0xzf5+oAAAAAAElFTkSuQmCC\n", "text/plain": [ "