{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove_input" ] }, "outputs": [], "source": [ "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": { "tags": [ "remove_input" ] }, "outputs": [], "source": [ "\n", "def standard_units(x):\n", " return (x - np.mean(x))/np.std(x)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [ "remove_input" ] }, "outputs": [], "source": [ "\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": {}, "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": {}, "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": {}, "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": {}, "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": {}, "outputs": [ { "data": { "image/png": "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f/vb32odv/cwU0OpSBERkWYpKSmJk046iSeffJIpU6bUmpdSVFRERkYGOTk5bNmypbo3ZfPmzeTk5HD44YfXed6MjAw+//zzGsMnS5cu3ef+ezuQ4Z6MjAxWrFhRozdlxYoVNfZftmwZs2bNYvTo0UDodusDmYQ6ffp0kpKSOOuss3jttddqFSorVqyoHlKybZuvvvqKs846q85ztWnTBgjNO/npz79cz6Vfv3688sorpKWl4dqz/tNvoSJFRESarfvvv5/Ro0czcuRIpk+fTp8+fbBtm6ysLB588EG++eab6jVTZs2aBcANN9xAv379GDZsWJ3nvOaaa7j00kvp378/J554Ih988AH/+9//ePbZZ/eb50CGe6ZOncrUqVMZOHAgJ5xwAq+99hpffvklHo+nep/u3bvz4osvMmjQICoqKrjtttsO+FbnW2+9Fdu2Ofvss3nttdc44ogjqt97+umn6dGjB71792bu3Lls3bqVP/zhD/tsW6dOnZg1axYzZ87kxx9/5L777quxz6RJk3jmmWe47LLL+POf/0ybNm3YvHlz9SThFi1aHFB2FSkiIlKn7l07RPz1unbtSmZmJrNnz2bGjBnk5OSQnJxM3759+cc//oFhGMyfP58bb7yRM844AwhNRr333nv3Odxz+umnc++99/Lwww9z8803k5aWxuzZs2tMmm0M55xzDps3b+bOO++ksrKSMWPGcOWVVzJ//vzqfebMmcOf//xnRowYQfv27bnppptq3ALcULfddhu2bVf3qLRs2RII3d3zr3/9i1WrVpGWlsZzzz23zyErl8vFU089xbXXXssJJ5zAEUccwW233VZjAm9qairvvvsut99+O+PGjcPr9dKpUydGjhxJTEzMAec2ioqK9j/zSMIiOzub9PT0cMdoEtHcNoju9kVz2yD621eX4uJiWrVqFe4Ycgjb1/eg1kkRERGRiKQiRURERCKSihQRERGJSCpSREREJCKpSBEREZGIpCJFREREIlJEFyl33303Ho+nxn/1PUhKREREokfEL+aWnp7OG2+8Uf3aNM0wphEREZGDJeKLFKfTSbt27cIdQ0RERA6yiC9SNm/ezOGHH47b7WbQoEHcdtttdO3aNdyxRESiXuyOezB9Ww/a9YLuNKo63HjQrveTefPmccMNN7B9+/aDfu3G4PF4eOaZZ/b5YMDCwkK6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4uJiRo0axcsvv5xyzpw5c8jPz+ejjz5i8uTJ9OrVi8GDB/Pcc88B8MILLzBixAjKysq48sor2bp1a8rr4/E4s2fPZsiQIRQVFTFkyBBmz55NPB5vF8uUKVPo2bMnp512GnfffTfPPPPMYU29vPfee0yaNImysjJ69erFxIkTee+99zo8d+XKlYwZM4aSkhKGDBnCk08+mfL9jqZ7hgwZwje/+U0WLVrEOeecQ69evRg9ejTvvPPOwd9gIYToQmQkRXQJjuNg23a7Y21VVFRwySWXUFRUxP33309hYSEvvvgi06dPZ8GCBVx++eUp53/lK19h+vTp3HLLLcyfP59vf/vbbNmyheXLl3PPPfdg2zazZs3iG9/4Bm+88UbydTNmzOBPf/oTt912G+effz4rV67k4YcfZtu2bcyfPx+AWCzGVVddRSwW4+GHH6awsJBnn32Wl1566ZDPun79eq644go++9nPMm/ePAAeffRRrrjiCpYsWcKQIUOS5zY2NvK1r32NW2+9lX79+rFo0SLuvPNOsrOzD9n7Z8WKFWzcuJG7776bQCDAfffdx9SpU1m3bh35+fmHjFMIIdJNkhTRJYwYMeKQ58ydOxetNa+88go9evQAYNy4cezcuZP777+/XZJyyy23MG3aNACGDRvGa6+9xm9+8xvWrl1Lbm4uALt372bWrFls376dPn368P7777Nw4ULuvPNO7rrrLgDGjh2LZVncd999zJw5k8GDB/P888+zbds23njjDc4++2wALr30UkaNGkVFRcVBn+PBBx/E7/fz0ksvJZOFMWPGMHToUB544IHkiA94Scqjjz7KF7/4RQAuueQSKisrmTNnDtdddx1KqQPep7GxkeXLlyfvUVJSwpgxY1iyZAlTpkw55PsthBDpJtM9okt47rnnWLZsWcrX0qVLU8554403uPTSS8nNzcW27eTXuHHjWL9+PQ0NDSnnX3rppck/5+fnU1RUxIgRI5IJCpDsJL1z507AG30AmDp1asq1rrnmGgDefvttAN5991169+6dTFAAlFJMnDjxkM+6YsUKPv/5z6eMZuTm5nLZZZclr7+faZrtrjl58mQqKirYtWvXQe9zzjnnpNxj/06hQyVRQgjRVchIiugSBg0aRL9+/VKOfXL6p7q6mhdeeIEXXnihw2vs27cvJQH55JSGz+fr8BhANBoFoLa2FvBGHdra//f936+qqqKoqKhdDMXFxR3G1lZtbW276++/R11dXcqx/Pz8ZIyfvEdlZSVlZWUHvE8oFEr5eyAQACASiRwyRiGE6AokSRHdRo8ePTj//POZOXNmh9/v2bPnMd9j/wf7nj17OPXUU5PHq6qqUr5fUlLChx9+2O71e/bsOax77L9eW1VVVe2SqLq6OuLxeEqisv8enfG8QgjRlcl0j+g2xo0bx7///W9OP/10hg0b1u5r/0jBsRg5ciQAixYtSjn+xz/+EYBRo0YB3hqaioqKlB05WmsWL158yHtccMEFLFmyhMbGxuSxxsZGXnvtteT193Mcp901X3zxRXr37k2vXr2O4MmEEKL7kZEU0W384Ac/YNy4cVx++eXceOON9OnTh7q6Oj744AO2bdvGE088ccz3GDRoEFdffTVz587Ftm3OPfdcVq1axc9+9jOuvvpqzjjjDACuu+46Hn30Ua6//np++MMfJnf31NfXA2AYB87/b7/9dl5//XUmTZrErbfeilKKxx57jHA4zB133JFybk5ODvfccw81NTX079+fhQsX8ve//5158+YddNGsEEKcCCRJEd1GeXkg+jD2AAABP0lEQVQ5y5YtY+7cudx7773s3buXHj16MHDgwOQuns4wb948+vbty3PPPcdDDz1EaWkpM2fO5M4770ye4/f7+dOf/sQdd9zBbbfdRlZWFldffTXDhw/nxz/+ccramE8aPHgwf/nLX7j33nu56aab0FozfPhwXnnllZTtx+AlKU899RSzZs3i/fffp6ioiLlz53Ldddd12vMKIURXperq6nS6gxDiRDF16lQ2bNjAmjVr0h2KEEJ0ezKSIsRR+uUvf0l2djb9+vWjqamJP//5z7z++us88sgj6Q5NCCFOCJKkCHGUAoEA8+bNo6KiAsdxOO2003j88ceZPn16ukMTQogTgkz3CCGEEKJLki3IQgghhOiSJEkRQgghRJckSYoQQgghuiRJUoQQQgjRJUmSIoQQQoguSZIUIYQQQnRJ/x+LQqvuwUzsSwAAAABJRU5ErkJggg==\n", "text/plain": [ "