{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true,
"tags": [
"remove_input"
]
},
"outputs": [],
"source": [
"\n",
"from datascience import *\n",
"path_data = '../../../../data/'\n",
"import numpy as np\n",
"\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plots\n",
"plots.style.use('fivethirtyeight')\n",
"\n",
"np.set_printoptions(suppress=True)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true,
"tags": [
"remove_input"
]
},
"outputs": [],
"source": [
"\n",
"def standard_units(any_numbers):\n",
" \"Convert any array of numbers to standard units.\"\n",
" return (any_numbers - np.mean(any_numbers))/np.std(any_numbers) \n",
"\n",
"def correlation(t, x, y):\n",
" return np.mean(standard_units(t.column(x))*standard_units(t.column(y)))"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Now that we have explored ways to use multiple attributes to predict a categorical variable, let us return to predicting a quantitative variable. Predicting a numerical quantity is called regression, and a commonly used method to use multiple attributes for regression is called *multiple linear regression*.\n",
"\n",
"## Home Prices\n",
"\n",
"The following dataset of house prices and attributes was collected over several years for the city of Ames, Iowa. A [description of the dataset appears online](http://ww2.amstat.org/publications/jse/v19n3/decock.pdf). We will focus only a subset of the columns. We will try to predict the sale price column from the other columns."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
" \n",
"
\n",
"
SalePrice
1st Flr SF
2nd Flr SF
Total Bsmt SF
Garage Area
Wood Deck SF
Open Porch SF
Lot Area
Year Built
Yr Sold
\n",
"
\n",
" \n",
" \n",
"
\n",
"
35000
498
0
498
216
0
0
8088
1922
2006
\n",
"
\n",
"
\n",
"
39300
334
0
0
0
0
0
5000
1946
2007
\n",
"
\n",
"
\n",
"
40000
649
668
649
250
0
54
8500
1920
2008
\n",
"
\n",
"
\n",
"
45000
612
0
0
308
0
0
5925
1940
2009
\n",
"
\n",
"
\n",
"
52000
729
0
270
0
0
0
4130
1935
2008
\n",
"
\n",
"
\n",
"
52500
693
0
693
0
0
20
4118
1941
2006
\n",
"
\n",
"
\n",
"
55000
723
363
723
400
0
24
11340
1920
2008
\n",
"
\n",
"
\n",
"
55000
796
0
796
0
0
0
3636
1922
2008
\n",
"
\n",
"
\n",
"
57625
810
0
0
280
119
24
21780
1910
2009
\n",
"
\n",
"
\n",
"
58500
864
0
864
200
0
0
8212
1914
2010
\n",
"
\n",
" \n",
"
\n",
"
... (1992 rows omitted)
"
],
"text/plain": [
"SalePrice | 1st Flr SF | 2nd Flr SF | Total Bsmt SF | Garage Area | Wood Deck SF | Open Porch SF | Lot Area | Year Built | Yr Sold\n",
"35000 | 498 | 0 | 498 | 216 | 0 | 0 | 8088 | 1922 | 2006\n",
"39300 | 334 | 0 | 0 | 0 | 0 | 0 | 5000 | 1946 | 2007\n",
"40000 | 649 | 668 | 649 | 250 | 0 | 54 | 8500 | 1920 | 2008\n",
"45000 | 612 | 0 | 0 | 308 | 0 | 0 | 5925 | 1940 | 2009\n",
"52000 | 729 | 0 | 270 | 0 | 0 | 0 | 4130 | 1935 | 2008\n",
"52500 | 693 | 0 | 693 | 0 | 0 | 20 | 4118 | 1941 | 2006\n",
"55000 | 723 | 363 | 723 | 400 | 0 | 24 | 11340 | 1920 | 2008\n",
"55000 | 796 | 0 | 796 | 0 | 0 | 0 | 3636 | 1922 | 2008\n",
"57625 | 810 | 0 | 0 | 280 | 119 | 24 | 21780 | 1910 | 2009\n",
"58500 | 864 | 0 | 864 | 200 | 0 | 0 | 8212 | 1914 | 2010\n",
"... (1992 rows omitted)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_sales = Table.read_table(path_data + 'house.csv')\n",
"sales = all_sales.where('Bldg Type', '1Fam').where('Sale Condition', 'Normal').select(\n",
" 'SalePrice', '1st Flr SF', '2nd Flr SF', \n",
" 'Total Bsmt SF', 'Garage Area', \n",
" 'Wood Deck SF', 'Open Porch SF', 'Lot Area', \n",
" 'Year Built', 'Yr Sold')\n",
"sales.sort('SalePrice')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A histogram of sale prices shows a large amount of variability and a distribution that is clearly not normal. A long tail to the right contains a few houses that had very high prices. The short left tail does not contain any houses that sold for less than $35,000."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/choldgraf/anaconda/envs/dev/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
" warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sales.hist('SalePrice', bins=32, unit='$')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Correlation\n",
"\n",
"No single attribute is sufficient to predict the sale price. For example, the area of first floor, measured in square feet, correlates with sale price but only explains some of its variability."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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L75IbGwsHo+HlStXMmDAADweDwsWLKCgoICVK1diNptJSEhg9+7dbNq0ieHDh3P27FnmzJnDyJEjtdTvAQMG8Ne//pX9+/eTnp7O9u3bWbRoEQ899JAWTHr16kVmZiYmk4n4+Hg2bNjA3//+d1atWkVKSgqKorRYF9Gy0tJS4uPju7oa3Z7cx7aTe9g9tGoM6bvvvmPFihVs27aN8vJyPv30U0aMGMFTTz3F+PHjuf7665t9f15eHjNmzKCkpISEhARGjx7NJ598Qt++fQGYPXs2NpuNRx55BKvVyqhRo3j77beJijq/I+err77K/Pnzuf322wGYNGkSy5cv147HxMTwzjvvMG/ePK699lpiY2OZNWsWv//977UyGRkZrF+/niVLlpCZmUm/fv1Yv349o0eP1soEUxchhBDtR7FarWrLxWD79u384he/IC0tjauvvppXXnmFrKwsRowYwZIlSzh06BBvvPFGR9dXdCMykNw+5D62ndzD7iHoFtKTTz7JddddxxtvvIHH4+GVV17Rjl166aVs3LixQyooREeRSZlChJagkxq+++477r77bhRFCZgHBBAfH09xcXG7V06IjiSTMoUILUG3kMxmMzU1NY0eKygoIDo6ut0qJURnKC2vRFf75UqnKJRYQ2udQn8L7nRuPn1795IWnLjgBd1CGjduHGvWrMHjOT+r2t9Sev3117nqqqvav3ZCdKC4mCi8tXPavKpKXExoJaz4W3AutyckW3AFxWXMfnINdz68nNlPrqGw2NouZcWPV9ABacGCBezbt48rr7yS5cuXoygKb775JjfffDO7d+/m0Ucf7ch6CtHuQn1SZqi34FrT5SndoyIYQXfZDR8+nA8++IBFixbx/PPPo6oqr7zyCldccQXvv/++ZLCIbsc/KbMjtEfCRFxMFHmFpUBotuBaEzBDPbiK0NCqeUgjRozgvffew263U1ZWRkxMDOHh4R1VNyFCwg8JLv4WgU5RtBZBa4PfgllTyXz5TXLOOEKyBecPmP516JoLmK0pK368gu6yc7lcVFdXA2CxWOjVq5cWjKqrq3G5XB1TQyG62A/pbmqPFoG/Bbd8/p0huaxOa7o8Q717VISGoFtIf/jDH3C73bz66qsNjs2ZMwej0cjq1avbtXJChIIfElx+DC2C1nR5dmT3qLhwBN1C+vLLL5k8eXKjxyZNmsTn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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sales.scatter('1st Flr SF', 'SalePrice')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.6424662541030225"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"correlation(sales, 'SalePrice', '1st Flr SF')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In fact, none of the individual attributes have a correlation with sale price that is above 0.7 (except for the sale price itself)."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Correlation of SalePrice and SalePrice:\t 1.0\n",
"Correlation of 1st Flr SF and SalePrice:\t 0.6424662541030225\n",
"Correlation of 2nd Flr SF and SalePrice:\t 0.3575218942800824\n",
"Correlation of Total Bsmt SF and SalePrice:\t 0.652978626757169\n",
"Correlation of Garage Area and SalePrice:\t 0.6385944852520443\n",
"Correlation of Wood Deck SF and SalePrice:\t 0.3526986661950492\n",
"Correlation of Open Porch SF and SalePrice:\t 0.3369094170263733\n",
"Correlation of Lot Area and SalePrice:\t 0.2908234551157694\n",
"Correlation of Year Built and SalePrice:\t 0.5651647537135916\n",
"Correlation of Yr Sold and SalePrice:\t 0.02594857908072111\n"
]
}
],
"source": [
"for label in sales.labels:\n",
" print('Correlation of', label, 'and SalePrice:\\t', correlation(sales, label, 'SalePrice'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"However, combining attributes can provide higher correlation. In particular, if we sum the first floor and second floor areas, the result has a higher correlation than any single attribute alone."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.7821920556134877"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"both_floors = sales.column(1) + sales.column(2)\n",
"correlation(sales.with_column('Both Floors', both_floors), 'SalePrice', 'Both Floors')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This high correlation indicates that we should try to use more than one attribute to predict the sale price. In a dataset with multiple observed attributes and a single numerical value to be predicted (the sale price in this case), multiple linear regression can be an effective technique.\n",
"\n",
"## Multiple Linear Regression \n",
"\n",
"In multiple linear regression, a numerical output is predicted from numerical input attributes by multiplying each attribute value by a different slope, then summing the results. In this example, the slope for the `1st Flr SF` would represent the dollars per square foot of area on the first floor of the house that should be used in our prediction. \n",
"\n",
"Before we begin prediction, we split our data randomly into a training and test set of equal size."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1001 training and 1001 test instances.\n"
]
}
],
"source": [
"train, test = sales.split(1001)\n",
"print(train.num_rows, 'training and', test.num_rows, 'test instances.')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The slopes in multiple regression is an array that has one slope value for each attribute in an example. Predicting the sale price involves multiplying each attribute by the slope and summing the result."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Predicting sale price for: Row(1st Flr SF=707, 2nd Flr SF=707, Total Bsmt SF=707.0, Garage Area=403.0, Wood Deck SF=100, Open Porch SF=35, Lot Area=7750, Year Built=2002, Yr Sold=2008)\n",
"Using slopes: [ 9.70697704 8.68451487 9.48574052 11.65887763 9.76283493 7.75180442\n",
" 10.26963618 12.39555854 9.93561073]\n",
"Result: 150011.62264018963\n"
]
}
],
"source": [
"def predict(slopes, row):\n",
" return sum(slopes * np.array(row))\n",
"\n",
"example_row = test.drop('SalePrice').row(0)\n",
"print('Predicting sale price for:', example_row)\n",
"example_slopes = np.random.normal(10, 1, len(example_row))\n",
"print('Using slopes:', example_slopes)\n",
"print('Result:', predict(example_slopes, example_row))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The result is an estimated sale price, which can be compared to the actual sale price to assess whether the slopes provide accurate predictions. Since the `example_slopes` above were chosen at random, we should not expect them to provide accurate predictions at all."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Actual sale price: 176000\n",
"Predicted sale price using random slopes: 150011.62264018963\n"
]
}
],
"source": [
"print('Actual sale price:', test.column('SalePrice').item(0))\n",
"print('Predicted sale price using random slopes:', predict(example_slopes, example_row))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Least Squares Regression\n",
"\n",
"The next step in performing multiple regression is to define the least squares objective. We perform the prediction for each row in the training set, and then compute the root mean squared error (RMSE) of the predictions from the actual prices."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"RMSE of all training examples using random slopes: 103585.76518182222\n"
]
}
],
"source": [
"train_prices = train.column(0)\n",
"train_attributes = train.drop(0)\n",
"\n",
"def rmse(slopes, attributes, prices):\n",
" errors = []\n",
" for i in np.arange(len(prices)):\n",
" predicted = predict(slopes, attributes.row(i))\n",
" actual = prices.item(i)\n",
" errors.append((predicted - actual) ** 2)\n",
" return np.mean(errors) ** 0.5\n",
"\n",
"def rmse_train(slopes):\n",
" return rmse(slopes, train_attributes, train_prices)\n",
"\n",
"print('RMSE of all training examples using random slopes:', rmse_train(example_slopes))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, we use the `minimize` function to find the slopes with the lowest RMSE. Since the function we want to minimize, `rmse_train`, takes an array instead of a number, we must pass the `array=True` argument to `minimize`. When this argument is used, `minimize` also requires an initial guess of the slopes so that it knows the dimension of the input array. Finally, to speed up optimization, we indicate that `rmse_train` is a smooth function using the `smooth=True` attribute. Computation of the best slopes may take several minutes."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The best slopes for the training set:\n"
]
},
{
"data": {
"text/html": [
"
\n",
" \n",
"
\n",
"
1st Flr SF
2nd Flr SF
Total Bsmt SF
Garage Area
Wood Deck SF
Open Porch SF
Lot Area
Year Built
Yr Sold
\n",
"
\n",
" \n",
" \n",
"
\n",
"
78.7701
75.9304
49.6108
42.9615
38.8186
13.2336
0.328059
510.312
-508.186
\n",
"
\n",
" \n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"RMSE of all training examples using the best slopes: 32283.50513136445\n"
]
}
],
"source": [
"best_slopes = minimize(rmse_train, start=example_slopes, smooth=True, array=True)\n",
"print('The best slopes for the training set:')\n",
"Table(train_attributes.labels).with_row(list(best_slopes)).show()\n",
"print('RMSE of all training examples using the best slopes:', rmse_train(best_slopes))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Interpreting Multiple Regression \n",
"\n",
"Let's interpret these results. The best slopes give us a method for estimating the price of a house from its attributes. A square foot of area on the first floor is worth about \\$75 (the first slope), while one on the second floor is worth about \\$70 (the second slope). The final negative value describes the market: prices in later years were lower on average.\n",
"\n",
"The RMSE of around \\$30,000 means that our best linear prediction of the sale price based on all of the attributes is off by around \\$30,000 on the training set, on average. We find a similar error when predicting prices on the test set, which indicates that our prediction method will generalize to other samples from the same population."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Test set RMSE for multiple linear regression: 29898.407434368237\n"
]
}
],
"source": [
"test_prices = test.column(0)\n",
"test_attributes = test.drop(0)\n",
"\n",
"def rmse_test(slopes):\n",
" return rmse(slopes, test_attributes, test_prices)\n",
"\n",
"rmse_linear = rmse_test(best_slopes)\n",
"print('Test set RMSE for multiple linear regression:', rmse_linear)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If the predictions were perfect, then a scatter plot of the predicted and actual values would be a straight line with slope 1. We see that most dots fall near that line, but there is some error in the predictions."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def fit(row):\n",
" return sum(best_slopes * np.array(row))\n",
"\n",
"test.with_column('Fitted', test.drop(0).apply(fit)).scatter('Fitted', 0)\n",
"plots.plot([0, 5e5], [0, 5e5]);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A residual plot for multiple regression typically compares the errors (residuals) to the actual values of the predicted variable. We see in the residual plot below that we have systematically underestimated the value of expensive houses, shown by the many positive residual values on the right side of the graph."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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uHHjSExMpFevXvzbv/0bhw8f9hvTXMW8rVVY3NasWbOGiIgInnzySd9rsofBceHCBR5++GF69epFTEwM6enp/N///Z/vuuzjldEh6ngEeO+998jIyGD16tWMHDmSTZs28dZbb7F3716/uFNHZ+rUqUydOpWhQ4eiKArLli1j//797Nu3j27dugGwdu1aVq1axfr160lJSWHFihXs3buX/fv3+/4QuOuuu8jNzeXll18G4NFHHyUpKYm//vWvgKew+IYbbmD06NHMnz+frKws5syZw4IFC/jd734HeFylEydO5KmnnuL222/ngw8+4IUXXmDHjh2+P0qCWUtbsn//fn7zm98QHh7O6NGjWblyJSB7GAwlJSWMHTuWkSNHkpGRgdlsJicnh9jYWPr06RP02q/1fQyEGJ4Owvjx40lLS/N9eQGGDh3KlClT+MMf/tCGK2tZKioq6NGjB2+++SYTJ05stmLe1iosbktKS0sZO3YsL7/8MsuXL6d///6sXLlS9jBInn/+eb766it27NgR8Lrs45XTrl1tgge73c7BgwfrFbnefPPNzVqc2h6pqKjA7XYTEREBNF8xb2sVFrcljz32GFOmTOGmm27ye132MDg++ugjhg0bxowZM+jduzc/+clP2Lhxo88FJvt45Yjh6QAUFhbicrkaLWDtrCxcuJDrr7+eESNGAM1XzNtahcVtxeuvv87Jkyd59tln612TPQyO7OxsNm/eTHJyMu+++y4PP/wwixcv5i9/+Qsg+3g1tHodjyAEy9NPP83evXvZvn07Go2mrZfTYcjKyuL5559n+/bt6HS6tl5Oh8XtdjNkyBCfK3vQoEGcPHmSTZs2kZGR0car69jIiacDYDab0Wg0jRa5djaeeuop3n33Xf75z3+SnJzse712MW9tGirm9dLShcUNjWkLMjMzKSwsZOTIkZjNZsxmM1999RWbNm3CbDYTGRnpW2dtZA/9iYmJ8SUReElNTSU3N9d3HWQfrwQxPB0AvV7P4MGDGy1y7UwsWLDAZ3RSU1P9rjVXMW9rFRa3BZMnT2b37t3s2rXL9zNkyBDuvPNOdu3aRe/evWUPg2DkyJEcP37c77Xjx4/7skjlu3jltOsCUuES4eHhvPDCC8TGxmI0Glm5ciW7d+/mlVdeoWvXrm29vGZj3rx5vPPOO2zdupWEhAQqKyuprKwEPAa4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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"test.with_column('Residual', test_prices-test.drop(0).apply(fit)).scatter(0, 'Residual')\n",
"plots.plot([0, 7e5], [0, 0]);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As with simple linear regression, interpreting the result of a predictor is at least as important as making predictions. There are many lessons about interpreting multiple regression that are not included in this textbook. A natural next step after completing this text would be to study linear modeling and regression in further depth."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Nearest Neighbors for Regression\n",
"\n",
"Another approach to predicting the sale price of a house is to use the price of similar houses. This *nearest neighbor* approach is very similar to our classifier. To speed up computation, we will only use the attributes that had the highest correlation with the sale price in our original analysis."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
" \n",
"
\n",
"
SalePrice
1st Flr SF
2nd Flr SF
Total Bsmt SF
Garage Area
Year Built
\n",
"
\n",
" \n",
" \n",
"
\n",
"
67500
1012
0
816
429
1920
\n",
"
\n",
"
\n",
"
116000
734
384
648
440
1920
\n",
"
\n",
"
\n",
"
228500
1689
0
1680
432
1991
\n",
"
\n",
" \n",
"
\n",
"
... (998 rows omitted)
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"train_nn = train.select(0, 1, 2, 3, 4, 8)\n",
"test_nn = test.select(0, 1, 2, 3, 4, 8)\n",
"train_nn.show(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The computation of closest neighbors is identical to a nearest-neighbor classifier. In this case, we will exclude the `'SalePrice'` rather than the `'Class'` column from the distance computation. The five nearest neighbors of the first test row are shown below."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
" \n",
"
\n",
"
SalePrice
1st Flr SF
2nd Flr SF
Total Bsmt SF
Garage Area
Year Built
Distance
\n",
"
\n",
" \n",
" \n",
"
\n",
"
175000
729
717
729
406
1996
33.3617
\n",
"
\n",
"
\n",
"
176000
728
728
728
400
2005
36.6197
\n",
"
\n",
"
\n",
"
189000
728
728
728
410
2005
37.1618
\n",
"
\n",
"
\n",
"
159500
698
728
690
440
1977
52.9623
\n",
"
\n",
"
\n",
"
174000
742
742
742
390
2005
62.0725
\n",
"
\n",
" \n",
"
"
],
"text/plain": [
"SalePrice | 1st Flr SF | 2nd Flr SF | Total Bsmt SF | Garage Area | Year Built | Distance\n",
"175000 | 729 | 717 | 729 | 406 | 1996 | 33.3617\n",
"176000 | 728 | 728 | 728 | 400 | 2005 | 36.6197\n",
"189000 | 728 | 728 | 728 | 410 | 2005 | 37.1618\n",
"159500 | 698 | 728 | 690 | 440 | 1977 | 52.9623\n",
"174000 | 742 | 742 | 742 | 390 | 2005 | 62.0725"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def distance(pt1, pt2):\n",
" \"\"\"The distance between two points, represented as arrays.\"\"\"\n",
" return np.sqrt(sum((pt1 - pt2) ** 2))\n",
"\n",
"def row_distance(row1, row2):\n",
" \"\"\"The distance between two rows of a table.\"\"\"\n",
" return distance(np.array(row1), np.array(row2))\n",
"\n",
"def distances(training, example, output):\n",
" \"\"\"Compute the distance from example for each row in training.\"\"\"\n",
" dists = []\n",
" attributes = training.drop(output)\n",
" for row in attributes.rows:\n",
" dists.append(row_distance(row, example))\n",
" return training.with_column('Distance', dists)\n",
"\n",
"def closest(training, example, k, output):\n",
" \"\"\"Return a table of the k closest neighbors to example.\"\"\"\n",
" return distances(training, example, output).sort('Distance').take(np.arange(k))\n",
"\n",
"example_nn_row = test_nn.drop(0).row(0)\n",
"closest(train_nn, example_nn_row, 5, 'SalePrice')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"One simple method for predicting the price is to average the prices of the nearest neighbors."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"174700.0"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def predict_nn(example):\n",
" \"\"\"Return the majority class among the k nearest neighbors.\"\"\"\n",
" return np.average(closest(train_nn, example, 5, 'SalePrice').column('SalePrice'))\n",
"\n",
"predict_nn(example_nn_row)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, we can inspect whether our prediction is close to the true sale price for our one test example. Looks reasonable!"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Actual sale price: 176000\n",
"Predicted sale price using nearest neighbors: 174700.0\n"
]
}
],
"source": [
"print('Actual sale price:', test_nn.column('SalePrice').item(0))\n",
"print('Predicted sale price using nearest neighbors:', predict_nn(example_nn_row))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Evaluation\n",
"\n",
"To evaluate the performance of this approach for the whole test set, we apply `predict_nn` to each test example, then compute the root mean squared error of the predictions. Computation of the predictions may take several minutes."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Test set RMSE for multiple linear regression: 29898.407434368237\n",
"Test set RMSE for nearest neighbor regression: 33424.833033298106\n"
]
}
],
"source": [
"nn_test_predictions = test_nn.drop('SalePrice').apply(predict_nn)\n",
"rmse_nn = np.mean((test_prices - nn_test_predictions) ** 2) ** 0.5\n",
"\n",
"print('Test set RMSE for multiple linear regression: ', rmse_linear)\n",
"print('Test set RMSE for nearest neighbor regression:', rmse_nn)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For these data, the errors of the two techniques are quite similar! For different data sets, one technique might outperform another. By computing the RMSE of both techniques on the same data, we can compare methods fairly. One note of caution: the difference in performance might not be due to the technique at all; it might be due to the random variation due to sampling the training and test sets in the first place.\n",
"\n",
"Finally, we can draw a residual plot for these predictions. We still underestimate the prices of the most expensive houses, but the bias does not appear to be as systematic. However, fewer residuals are very close to zero, indicating that fewer prices were predicted with very high accuracy. "
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"test.with_column('Residual', test_prices-nn_test_predictions).scatter(0, 'Residual')\n",
"plots.plot([0, 7e5], [0, 0]);"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}