{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove-input" ] }, "outputs": [], "source": [ "# Install datascience package if needed\n", "try:\n", " import datascience\n", "except ImportError:\n", " import micropip\n", " await micropip.install('datascience')\n", "from datascience import *\n", "import matplotlib\n", "path_data = '../../../assets/data/'\n", "matplotlib.use('Agg')\n", "%matplotlib inline\n", "import matplotlib.pyplot as plots\n", "plots.style.use('fivethirtyeight')\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Applying a Function to a Column\n", "\n", "We have seen many examples of creating new columns of tables by applying functions to existing columns or to other arrays. All of those functions took arrays as their arguments. But frequently we will want to convert the entries in a column by a function that doesn't take an array as its argument. For example, it might take just one number as its argument, as in the function `cut_off_at_100` defined below." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def cut_off_at_100(x):\n", " \"\"\"The smaller of x and 100\"\"\"\n", " return min(x, 100)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "17" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cut_off_at_100(17)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cut_off_at_100(117)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cut_off_at_100(100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The function `cut_off_at_100` simply returns its argument if the argument is less than or equal to 100. But if the argument is greater than 100, it returns 100.\n", "\n", "In our earlier examples using Census data, we saw that the variable `AGE` had a value 100 that meant \"100 years old or older\". Cutting off ages at 100 in this manner is exactly what `cut_off_at_100` does.\n", "\n", "To use this function on many ages at once, we will have to be able to *refer* to the function itself, without actually calling it. Analogously, we might show a cake recipe to a chef and ask her to use it to bake 6 cakes. In that scenario, we are not using the recipe to bake any cakes ourselves; our role is merely to refer the chef to the recipe. Similarly, we can ask a table to call `cut_off_at_100` on 6 different numbers in a column." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we create the table `ages` with a column for people and one for their ages. For example, person `C` is 52 years old." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th>Person</th> <th>Age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <td>A </td> <td>17 </td>\n", " </tr>\n", " <tr>\n", " <td>B </td> <td>117 </td>\n", " </tr>\n", " <tr>\n", " <td>C </td> <td>52 </td>\n", " </tr>\n", " <tr>\n", " <td>D </td> <td>100 </td>\n", " </tr>\n", " <tr>\n", " <td>E </td> <td>6 </td>\n", " </tr>\n", " <tr>\n", " <td>F </td> <td>101 </td>\n", " </tr>\n", " </tbody>\n", "</table>" ], "text/plain": [ "Person | Age\n", "A | 17\n", "B | 117\n", "C | 52\n", "D | 100\n", "E | 6\n", "F | 101" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ages = Table().with_columns(\n", " 'Person', make_array('A', 'B', 'C', 'D', 'E', 'F'),\n", " 'Age', make_array(17, 117, 52, 100, 6, 101)\n", ")\n", "ages" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## `apply`\n", "\n", "To cut off each of the ages at 100, we will use a new Table method. The `apply` method calls a function on each element of a column, forming a new array of return values. To indicate which function to call, just name it (without quotation marks or parentheses). The name of the column of input values is a string that must still appear within quotation marks." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 17, 100, 52, 100, 6, 100])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ages.apply(cut_off_at_100, 'Age')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What we have done here is `apply` the function `cut_off_at_100` to each value in the `Age` column of the table `ages`. The output is the array of corresponding return values of the function. For example, 17 stayed 17, 117 became 100, 52 stayed 52, and so on.\n", "\n", "This array, which has the same length as the original `Age` column of the `ages` table, can be used as the values in a new column called `Cut Off Age` alongside the existing `Person` and `Age` columns." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th>Person</th> <th>Age</th> <th>Cut Off Age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <td>A </td> <td>17 </td> <td>17 </td>\n", " </tr>\n", " <tr>\n", " <td>B </td> <td>117 </td> <td>100 </td>\n", " </tr>\n", " <tr>\n", " <td>C </td> <td>52 </td> <td>52 </td>\n", " </tr>\n", " <tr>\n", " <td>D </td> <td>100 </td> <td>100 </td>\n", " </tr>\n", " <tr>\n", " <td>E </td> <td>6 </td> <td>6 </td>\n", " </tr>\n", " <tr>\n", " <td>F </td> <td>101 </td> <td>100 </td>\n", " </tr>\n", " </tbody>\n", "</table>" ], "text/plain": [ "Person | Age | Cut Off Age\n", "A | 17 | 17\n", "B | 117 | 100\n", "C | 52 | 52\n", "D | 100 | 100\n", "E | 6 | 6\n", "F | 101 | 100" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ages.with_column(\n", " 'Cut Off Age', ages.apply(cut_off_at_100, 'Age')\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Functions as Values\n", "We've seen that Python has many kinds of values. For example, `6` is a number value, `\"cake\"` is a text value, `Table()` is an empty table, and `ages` is a name for a table value (since we defined it above).\n", "\n", "In Python, every function, including `cut_off_at_100`, is also a value. It helps to think about recipes again. A recipe for cake is a real thing, distinct from cakes or ingredients, and you can give it a name like \"Ani's cake recipe.\" When we defined `cut_off_at_100` with a `def` statement, we actually did two separate things: we created a function that cuts off numbers at 100, and we gave it the name `cut_off_at_100`.\n", "\n", "We can refer to any function by writing its name, without the parentheses or arguments necessary to actually call it. We did this when we called `apply` above. When we write a function's name by itself as the last line in a cell, Python produces a text representation of the function, just like it would print out a number or a string value." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<function __main__.cut_off_at_100(x)>" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cut_off_at_100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that we did not write `\"cut_off_at_100\"` with quotes (which is just a piece of text), or `cut_off_at_100()` (which is a function call, and an invalid one at that). We simply wrote `cut_off_at_100` to refer to the function.\n", "\n", "Just like we can define new names for other values, we can define new names for functions. For example, suppose we want to refer to our function as `cut_off` instead of `cut_off_at_100`. We can just write this:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "cut_off = cut_off_at_100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now `cut_off` is a name for a function. It's the same function as `cut_off_at_100`, so the printed value is exactly the same." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<function __main__.cut_off_at_100(x)>" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cut_off" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us see another application of `apply`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example: Prediction\n", "\n", "Data science is often used to make predictions about the future. If we are trying to predict an outcome for a particular individual – for example, how she will respond to a treatment, or whether he will buy a product – it is natural to base the prediction on the outcomes of other similar individuals.\n", "\n", "The table below is adapted from a historical data set on the heights of parents and their adult children. Each row corresponds to one adult child. The variables are a numerical code for the family, the heights (in inches) of the father and mother, the number of children in the family, as well as the child's birth rank (1 = oldest), sex (coded only as \"male\" or \"female\"), and height in inches." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th>family</th> <th>father</th> <th>mother</th> <th>children</th> <th>childNum</th> <th>sex</th> <th>childHeight</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <td>1 </td> <td>78.5 </td> <td>67 </td> <td>4 </td> <td>1 </td> <td>male </td> <td>73.2 </td>\n", " </tr>\n", " <tr>\n", " <td>1 </td> <td>78.5 </td> <td>67 </td> <td>4 </td> <td>2 </td> <td>female</td> <td>69.2 </td>\n", " </tr>\n", " <tr>\n", " <td>1 </td> <td>78.5 </td> <td>67 </td> <td>4 </td> <td>3 </td> <td>female</td> <td>69 </td>\n", " </tr>\n", " <tr>\n", " <td>1 </td> <td>78.5 </td> <td>67 </td> <td>4 </td> <td>4 </td> <td>female</td> <td>69 </td>\n", " </tr>\n", " <tr>\n", " <td>2 </td> <td>75.5 </td> <td>66.5 </td> <td>4 </td> <td>1 </td> <td>male </td> <td>73.5 </td>\n", " </tr>\n", " <tr>\n", " <td>2 </td> <td>75.5 </td> <td>66.5 </td> <td>4 </td> <td>2 </td> <td>male </td> <td>72.5 </td>\n", " </tr>\n", " <tr>\n", " <td>2 </td> <td>75.5 </td> <td>66.5 </td> <td>4 </td> <td>3 </td> <td>female</td> <td>65.5 </td>\n", " </tr>\n", " <tr>\n", " <td>2 </td> <td>75.5 </td> <td>66.5 </td> <td>4 </td> <td>4 </td> <td>female</td> <td>65.5 </td>\n", " </tr>\n", " <tr>\n", " <td>3 </td> <td>75 </td> <td>64 </td> <td>2 </td> <td>1 </td> <td>male </td> <td>71 </td>\n", " </tr>\n", " <tr>\n", " <td>3 </td> <td>75 </td> <td>64 </td> <td>2 </td> <td>2 </td> <td>female</td> <td>68 </td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>... (924 rows omitted)</p>" ], "text/plain": [ "family | father | mother | children | childNum | sex | childHeight\n", "1 | 78.5 | 67 | 4 | 1 | male | 73.2\n", "1 | 78.5 | 67 | 4 | 2 | female | 69.2\n", "1 | 78.5 | 67 | 4 | 3 | female | 69\n", "1 | 78.5 | 67 | 4 | 4 | female | 69\n", "2 | 75.5 | 66.5 | 4 | 1 | male | 73.5\n", "2 | 75.5 | 66.5 | 4 | 2 | male | 72.5\n", "2 | 75.5 | 66.5 | 4 | 3 | female | 65.5\n", "2 | 75.5 | 66.5 | 4 | 4 | female | 65.5\n", "3 | 75 | 64 | 2 | 1 | male | 71\n", "3 | 75 | 64 | 2 | 2 | female | 68\n", "... (924 rows omitted)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Data on heights of parents and their adult children\n", "family_heights = Table.read_table(path_data + 'family_heights.csv').drop(3)\n", "family_heights" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A primary reason for collecting the data was to be able to predict the adult height of a child born to parents similar to those in the dataset. Let us try to do this, by using the simple average of the parents' height as the variable on which to base our prediction. \n", "\n", "This parent average height is our *predictor* variable. In the cell below, its values are in the array `parent_averages`.\n", "\n", "The table `heights` consists of just the parent average heights and child heights. The scatter plot of the two variables shows a positive association as we would expect for these variables." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th>Parent Average</th> <th>Child</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <td>72.75 </td> <td>73.2 </td>\n", " </tr>\n", " <tr>\n", " <td>72.75 </td> <td>69.2 </td>\n", " </tr>\n", " <tr>\n", " <td>72.75 </td> <td>69 </td>\n", " </tr>\n", " <tr>\n", " <td>72.75 </td> <td>69 </td>\n", " </tr>\n", " <tr>\n", " <td>71 </td> <td>73.5 </td>\n", " </tr>\n", " <tr>\n", " <td>71 </td> <td>72.5 </td>\n", " </tr>\n", " <tr>\n", " <td>71 </td> <td>65.5 </td>\n", " </tr>\n", " <tr>\n", " <td>71 </td> <td>65.5 </td>\n", " </tr>\n", " <tr>\n", " <td>69.5 </td> <td>71 </td>\n", " </tr>\n", " <tr>\n", " <td>69.5 </td> <td>68 </td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>... (924 rows omitted)</p>" ], "text/plain": [ "Parent Average | Child\n", "72.75 | 73.2\n", "72.75 | 69.2\n", "72.75 | 69\n", "72.75 | 69\n", "71 | 73.5\n", "71 | 72.5\n", "71 | 65.5\n", "71 | 65.5\n", "69.5 | 71\n", "69.5 | 68\n", "... (924 rows omitted)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "parent_averages = (family_heights.column('father') + family_heights.column('mother'))/2\n", "heights = Table().with_columns(\n", " 'Parent Average', parent_averages,\n", " 'Child', family_heights.column('childHeight')\n", ")\n", "heights" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 360x360 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "heights.scatter('Parent Average')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now suppose the researchers encountered a new couple, similar to those in this dataset, and wondered how tall their child would be. What would be a good way for him to go about predicting the child's height, given that the parent average height was, say, 68 inches?\n", "\n", "One reasonable approach would be to base the prediction on all the points that correspond to a parent average height of around 68 inches. The prediction equals the average child's height calculated from those points alone.\n", "\n", "Let's execute this plan. For now we will just make a reasonable definition of what \"around 68 inches\" means, and work with that. Later in the course we will examine the consequences of such choices.\n", "\n", "We will take \"close\" to mean \"within half an inch\". The figure below shows all the points corresponding to a parent average height between 67.5 inches and 68.5 inches. These are all the points in the strip between the red lines. Each of these points corresponds to one child; our prediction of the height of the new couple's child is the average height of all the children in the strip. That's represented by the gold dot.\n", "\n", "Ignore the code, and just focus on understanding the mental process of arriving at that gold dot." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 360x360 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "heights.scatter('Parent Average')\n", "plots.plot([67.5, 67.5], [50, 85], color='red', lw=2)\n", "plots.plot([68.5, 68.5], [50, 85], color='red', lw=2)\n", "plots.scatter(68, 67.62, color='gold', s=40);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to calculate exactly where the gold dot should be, we first need to indentify all the points in the strip. These correspond to the rows where `Parent Average` is between 67.5 inches and 68.5 inches." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th>Parent Average</th> <th>Child</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <td>68 </td> <td>74 </td>\n", " </tr>\n", " <tr>\n", " <td>68 </td> <td>70 </td>\n", " </tr>\n", " <tr>\n", " <td>68 </td> <td>68 </td>\n", " </tr>\n", " <tr>\n", " <td>68 </td> <td>67 </td>\n", " </tr>\n", " <tr>\n", " <td>68 </td> <td>67 </td>\n", " </tr>\n", " <tr>\n", " <td>68 </td> <td>66 </td>\n", " </tr>\n", " <tr>\n", " <td>68 </td> <td>63.5 </td>\n", " </tr>\n", " <tr>\n", " <td>68 </td> <td>63 </td>\n", " </tr>\n", " <tr>\n", " <td>67.5 </td> <td>65 </td>\n", " </tr>\n", " <tr>\n", " <td>68.1 </td> <td>62.7 </td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>... (175 rows omitted)</p>" ], "text/plain": [ "Parent Average | Child\n", "68 | 74\n", "68 | 70\n", "68 | 68\n", "68 | 67\n", "68 | 67\n", "68 | 66\n", "68 | 63.5\n", "68 | 63\n", "67.5 | 65\n", "68.1 | 62.7\n", "... (175 rows omitted)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "close_to_68 = heights.where('Parent Average', are.between(67.5, 68.5))\n", "close_to_68" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The predicted height of a child who has a parent average height of 68 inches is the average height of the children in these rows. That's 67.62 inches." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "67.62" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.average(close_to_68.column('Child'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now have a way to predict the height of a child given any value of the parent average height near those in our dataset. We can define a function `predict_child` that does this. The body of the function consists of the code in the two cells above, apart from choices of names." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "def predict_child(p_avg):\n", " \"\"\"Predict the height of a child whose parents have a parent average height of p_avg.\n", " \n", " The prediction is the average height of the children whose parent average height is\n", " in the range p_avg plus or minus 0.5.\n", " \"\"\"\n", " \n", " close_points = heights.where('Parent Average', are.between(p_avg-0.5, p_avg + 0.5))\n", " return np.average(close_points.column('Child')) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given a parent average height of 68 inches, the function `predict_child` returns the same prediction (67.62 inches) as we got earlier. The advantage of defining the function is that we can easily change the value of the predictor and get a new prediction." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "67.62" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_child(68)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "66.08640776699029" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_child(66)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How good are these predictions? We can get a sense of this by comparing the predictions with the data that we already have. To do this, we first apply the function `predict_child` to the column of `Parent Average` heights, and collect the results in a new column labeled `Prediction`." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# Apply predict_child to all the midparent heights\n", "\n", "heights_with_predictions = heights.with_column(\n", " 'Prediction', heights.apply(predict_child, 'Parent Average')\n", ")" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th>Parent Average</th> <th>Child</th> <th>Prediction</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <td>72.75 </td> <td>73.2 </td> <td>70.1 </td>\n", " </tr>\n", " <tr>\n", " <td>72.75 </td> <td>69.2 </td> <td>70.1 </td>\n", " </tr>\n", " <tr>\n", " <td>72.75 </td> <td>69 </td> <td>70.1 </td>\n", " </tr>\n", " <tr>\n", " <td>72.75 </td> <td>69 </td> <td>70.1 </td>\n", " </tr>\n", " <tr>\n", " <td>71 </td> <td>73.5 </td> <td>70.4158 </td>\n", " </tr>\n", " <tr>\n", " <td>71 </td> <td>72.5 </td> <td>70.4158 </td>\n", " </tr>\n", " <tr>\n", " <td>71 </td> <td>65.5 </td> <td>70.4158 </td>\n", " </tr>\n", " <tr>\n", " <td>71 </td> <td>65.5 </td> <td>70.4158 </td>\n", " </tr>\n", " <tr>\n", " <td>69.5 </td> <td>71 </td> <td>68.5025 </td>\n", " </tr>\n", " <tr>\n", " <td>69.5 </td> <td>68 </td> <td>68.5025 </td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>... (924 rows omitted)</p>" ], "text/plain": [ "Parent Average | Child | Prediction\n", "72.75 | 73.2 | 70.1\n", "72.75 | 69.2 | 70.1\n", "72.75 | 69 | 70.1\n", "72.75 | 69 | 70.1\n", "71 | 73.5 | 70.4158\n", "71 | 72.5 | 70.4158\n", "71 | 65.5 | 70.4158\n", "71 | 65.5 | 70.4158\n", "69.5 | 71 | 68.5025\n", "69.5 | 68 | 68.5025\n", "... (924 rows omitted)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "heights_with_predictions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To see where the predictions lie relative to the observed data, we can draw overlaid scatter plots with `Parent Average` as the common horizontal axis." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 360x360 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "heights_with_predictions.scatter('Parent Average')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The graph of gold dots is called a *graph of averages,* because each gold dot is the center of a vertical strip like the one we drew earlier. Each one provides a prediction of a child's height given the parent average height. For example, the scatter shows that for a parent average height of 65 inches, the predicted height of the child would be just above 65 inches, and indeed `predict_child(65)` evaluates to about 65.84." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "65.83829787234043" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predict_child(65)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the graph of averages roughly follows a straight line. This straight line is now called the *regression line* and is one of the most common methods of making predictions. The calculation that we have just done is very similar to the calculation that led to the development of the regression method, using the same data.\n", "\n", "This example, like the one about John Snow's analysis of cholera deaths, shows how some of the fundamental concepts of modern data science have roots going back a long way. The method used here was a precursor to *nearest neighbor* prediction methods that now have powerful applications in diverse settings. The modern field of *machine learning* includes the automation of such methods to make predictions based on vast and rapidly evolving datasets. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "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.9.7" } }, "nbformat": 4, "nbformat_minor": 1 }