{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lesson 5 - Random Forests Intro\n", "\n", "> How to train a Random Forest model to predict housing prices and evaluate the quality of the model's predictions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lvwerra/dslectures/master?urlpath=lab/tree/notebooks%2Flesson05_intro-to-random-forests.ipynb) \n", "[![slides](https://img.shields.io/static/v1?label=slides&message=2021-lesson05.pdf&color=blue&logo=Google-drive)](https://drive.google.com/open?id=1PI7KrPs8ucmg2PA9mDc4UsvJ0Xat5qFG)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Learning objectives" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Understand the main steps involved in training a machine learning model\n", "* Gain an introduction to scikit-learn's API\n", "* Understand the need to generate a training and validation set" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This lesson is adapted from Jeremy Howard's fantastic online course [_Introduction to Machine Learning for Coders_](https://course18.fast.ai/ml), in particular:\n", "\n", "* [1 - Introduction to Random Forests](https://course18.fast.ai/lessonsml1/lesson1.html)\n", "\n", "You may also find the following textbook chapters and blog posts useful:\n", "\n", "* Chapters 2 & 5 of _Hands-On Machine Learning with Scikit-Learn and TensorFlow_ by Aurèlien Geron\n", "* [About Train, Validation and Test Sets in Machine Learning](https://towardsdatascience.com/train-validation-and-test-sets-72cb40cba9e7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Homework\n", "\n", "* Solve the exercises included in this notebook\n", "* Read chapters 6 and 7 of _Hands-On Machine Learning with Scikit-Learn and TensorFlow_ by Aurèlien Geron" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this lesson we will analyse the preprocessed table of clean housing data and their addresses that we prepared in lesson 3:\n", "\n", "* `housing_processed.csv`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What is a machine learning model?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Tom Mitchell](https://en.wikipedia.org/wiki/Tom_M._Mitchell), one of the pioneers of machine learning, proposed this definition:\n", "\n", "> A computer program is said to learn from experience $E$ with respect to some class of tasks $T$ and performance measure $P$ if its performance at tasks in $T$, as measured by $P$, improves with experience $E$.\n", "\n", "Framed in our example to predict housing prices in California (task $T$), we can run a Random Forest algorithm on data about past housing prices (experience $E$) and, if it has successfully \"learned\", it will then do better at predicting future housing prices (performance measure $P$)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import libraries" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# reload modules before executing user code\n", "%load_ext autoreload\n", "# reload all modules every time before executing Python code\n", "%autoreload 2\n", "# render plots in notebook\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# data wrangling\n", "import pandas as pd\n", "import numpy as np\n", "from dslectures.core import *\n", "from pathlib import Path\n", "\n", "# data viz\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "sns.set(color_codes=True)\n", "sns.set_palette(sns.color_palette(\"muted\"))\n", "\n", "# ml magic\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import mean_squared_error, r2_score" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load the data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As usual, we can download our datasets using our helper function `get_datasets`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Download of housing_processed.csv dataset complete.\n" ] } ], "source": [ "get_dataset('housing_processed.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We also make use of the `pathlib` library to handle our filepaths:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "housing.csv housing_processed.csv\n", "housing_addresses.csv imdb.csv\n", "housing_gmaps_data_raw.csv uc\n", "housing_merged.csv word2vec-google-news-300.pkl\n" ] } ], "source": [ "DATA = Path('../data/')\n", "!ls {DATA}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
longitudelatitudehousing_median_agetotal_roomstotal_bedroomspopulationhouseholdsmedian_incomemedian_house_valuecitypostal_coderooms_per_householdbedrooms_per_householdbedrooms_per_roompopulation_per_householdocean_proximity_INLANDocean_proximity_<1H OCEANocean_proximity_NEAR BAYocean_proximity_NEAR OCEANocean_proximity_ISLAND
0-122.2337.8841.0880.0129.0322.0126.08.3252452600.069947056.9841271.0238100.1465912.55555600100
1-122.2237.8621.07099.01106.02401.01138.08.3014358500.0620946116.2381370.9718800.1557972.10984200100
2-122.2437.8552.01467.0190.0496.0177.07.2574352100.0620946188.2881361.0734460.1295162.80226000100
3-122.2537.8552.01274.0235.0558.0219.05.6431341300.0620946185.8173521.0730590.1844582.54794500100
4-122.2537.8552.01627.0280.0565.0259.03.8462342200.0620946186.2818531.0810810.1720962.18146700100
\n", "
" ], "text/plain": [ " longitude latitude housing_median_age total_rooms total_bedrooms \\\n", "0 -122.23 37.88 41.0 880.0 129.0 \n", "1 -122.22 37.86 21.0 7099.0 1106.0 \n", "2 -122.24 37.85 52.0 1467.0 190.0 \n", "3 -122.25 37.85 52.0 1274.0 235.0 \n", "4 -122.25 37.85 52.0 1627.0 280.0 \n", "\n", " population households median_income median_house_value city \\\n", "0 322.0 126.0 8.3252 452600.0 69 \n", "1 2401.0 1138.0 8.3014 358500.0 620 \n", "2 496.0 177.0 7.2574 352100.0 620 \n", "3 558.0 219.0 5.6431 341300.0 620 \n", "4 565.0 259.0 3.8462 342200.0 620 \n", "\n", " postal_code rooms_per_household bedrooms_per_household \\\n", "0 94705 6.984127 1.023810 \n", "1 94611 6.238137 0.971880 \n", "2 94618 8.288136 1.073446 \n", "3 94618 5.817352 1.073059 \n", "4 94618 6.281853 1.081081 \n", "\n", " bedrooms_per_room population_per_household ocean_proximity_INLAND \\\n", "0 0.146591 2.555556 0 \n", "1 0.155797 2.109842 0 \n", "2 0.129516 2.802260 0 \n", "3 0.184458 2.547945 0 \n", "4 0.172096 2.181467 0 \n", "\n", " ocean_proximity_<1H OCEAN ocean_proximity_NEAR BAY \\\n", "0 0 1 \n", "1 0 1 \n", "2 0 1 \n", "3 0 1 \n", "4 0 1 \n", "\n", " ocean_proximity_NEAR OCEAN ocean_proximity_ISLAND \n", "0 0 0 \n", "1 0 0 \n", "2 0 0 \n", "3 0 0 \n", "4 0 0 " ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "housing_data = pd.read_csv(DATA/'housing_processed.csv'); housing_data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Tip: We often use `DataFrame.head()` to peek at the first 5 rows of a `pandas.DataFrame`. When you have a lot of columns, you may find it is simpler to peek at the _transpose_ with `DataFrame.head().T`" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
01234
longitude-122.230000-122.220000-122.240000-122.250000-122.250000
latitude37.88000037.86000037.85000037.85000037.850000
housing_median_age41.00000021.00000052.00000052.00000052.000000
total_rooms880.0000007099.0000001467.0000001274.0000001627.000000
total_bedrooms129.0000001106.000000190.000000235.000000280.000000
population322.0000002401.000000496.000000558.000000565.000000
households126.0000001138.000000177.000000219.000000259.000000
median_income8.3252008.3014007.2574005.6431003.846200
median_house_value452600.000000358500.000000352100.000000341300.000000342200.000000
city69.000000620.000000620.000000620.000000620.000000
postal_code94705.00000094611.00000094618.00000094618.00000094618.000000
rooms_per_household6.9841276.2381378.2881365.8173526.281853
bedrooms_per_household1.0238100.9718801.0734461.0730591.081081
bedrooms_per_room0.1465910.1557970.1295160.1844580.172096
population_per_household2.5555562.1098422.8022602.5479452.181467
ocean_proximity_INLAND0.0000000.0000000.0000000.0000000.000000
ocean_proximity_<1H OCEAN0.0000000.0000000.0000000.0000000.000000
ocean_proximity_NEAR BAY1.0000001.0000001.0000001.0000001.000000
ocean_proximity_NEAR OCEAN0.0000000.0000000.0000000.0000000.000000
ocean_proximity_ISLAND0.0000000.0000000.0000000.0000000.000000
\n", "
" ], "text/plain": [ " 0 1 2 \\\n", "longitude -122.230000 -122.220000 -122.240000 \n", "latitude 37.880000 37.860000 37.850000 \n", "housing_median_age 41.000000 21.000000 52.000000 \n", "total_rooms 880.000000 7099.000000 1467.000000 \n", "total_bedrooms 129.000000 1106.000000 190.000000 \n", "population 322.000000 2401.000000 496.000000 \n", "households 126.000000 1138.000000 177.000000 \n", "median_income 8.325200 8.301400 7.257400 \n", "median_house_value 452600.000000 358500.000000 352100.000000 \n", "city 69.000000 620.000000 620.000000 \n", "postal_code 94705.000000 94611.000000 94618.000000 \n", "rooms_per_household 6.984127 6.238137 8.288136 \n", "bedrooms_per_household 1.023810 0.971880 1.073446 \n", "bedrooms_per_room 0.146591 0.155797 0.129516 \n", "population_per_household 2.555556 2.109842 2.802260 \n", "ocean_proximity_INLAND 0.000000 0.000000 0.000000 \n", "ocean_proximity_<1H OCEAN 0.000000 0.000000 0.000000 \n", "ocean_proximity_NEAR BAY 1.000000 1.000000 1.000000 \n", "ocean_proximity_NEAR OCEAN 0.000000 0.000000 0.000000 \n", "ocean_proximity_ISLAND 0.000000 0.000000 0.000000 \n", "\n", " 3 4 \n", "longitude -122.250000 -122.250000 \n", "latitude 37.850000 37.850000 \n", "housing_median_age 52.000000 52.000000 \n", "total_rooms 1274.000000 1627.000000 \n", "total_bedrooms 235.000000 280.000000 \n", "population 558.000000 565.000000 \n", "households 219.000000 259.000000 \n", "median_income 5.643100 3.846200 \n", "median_house_value 341300.000000 342200.000000 \n", "city 620.000000 620.000000 \n", "postal_code 94618.000000 94618.000000 \n", "rooms_per_household 5.817352 6.281853 \n", "bedrooms_per_household 1.073059 1.081081 \n", "bedrooms_per_room 0.184458 0.172096 \n", "population_per_household 2.547945 2.181467 \n", "ocean_proximity_INLAND 0.000000 0.000000 \n", "ocean_proximity_<1H OCEAN 0.000000 0.000000 \n", "ocean_proximity_NEAR BAY 1.000000 1.000000 \n", "ocean_proximity_NEAR OCEAN 0.000000 0.000000 \n", "ocean_proximity_ISLAND 0.000000 0.000000 " ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "housing_data.head().T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "#### Exercise #1\n", "\n", "Even though you may be told a dataset has been cleaned and prepared for training a model, you should always perform some sanity checks! \n", "\n", "* Check that `housing_data` is free of missing values\n", "* Check that all columns are numerical\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Select a performance measure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before we can train any model, we need to think about which performance measure we wish to optimise for. For regression problems the Root Mean Square Error (RMSE) is often used as it measures the _**standard deviation**_ of the errors the algorithm makes in its predictions and gives a higher weight to large errors. For example, an RMSE equal to 50,000 means that about 68% of the algorithm's predictions fall within 50,000 CHF of the actual value, and about 95% fall within 100,000 CHF." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Note: In general, lower values of RMSE indicate a better fit to the data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mathematically, the formula for RMSE is:\n", "\n", "$$\\mathrm{RMSE} = \\sqrt{\\frac{1}{m}\\sum_{i=1}^m \\left(\\hat{y}_i - y_i\\right)^2}$$\n", "\n", "where $m$ is the number of instances in the dataset you are measuring the RMSE on, $\\hat{y}_i$ is the model's prediction for the $i^{th}$ instance, and $y_i$ is the actual label. Let's create a simple function that uses scitkit-learn's [mean_squared_error function](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html) (which is just RMSE$^2$):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def rmse(y, yhat):\n", " \"\"\"A utility function to calculate the Root Mean Square Error (RMSE).\n", " \n", " Args:\n", " y (array): Actual values for target.\n", " yhat (array): Predicted values for target.\n", " \n", " Returns:\n", " rmse (double): The RMSE.\n", " \"\"\"\n", " return np.sqrt(mean_squared_error(y, yhat))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "#### Exercise #2\n", "\n", "Whenever you create a Python function it is a good idea to test that it behaves as you expect on some dummy data. Given the two NumPy arrays:\n", "\n", "```python\n", "y_dummy = np.array([2,2,3])\n", "yhat_dummy = np.array([0,2,6])\n", "```\n", "\n", "check that our `rmse` function matches what you would get by calculating the explicit formula for RMSE. You may find the `numpy.sum()` and `array.size` methods to be useful.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Note: Another common metric for evaluating regression models is the coefficient of determination $R^2 = 1 - u/v$, where $u = \\sum_i (y_{i} - \\hat{y}_{i})^2$ is the residual sum of squares and $v=\\sum_i(y_{i} - \\bar{y}_{i})^2$ is the total sum of squares. Better models have $R^2$ values closer to 1." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introducing scikit-learn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we've checked that the training data is clean and free from obvious anomalies, it's time to train our model! To do so, we will make use of the scikit-learn library.\n", "\n", "scikit-learn is one of the best known Python libraries for machine learning and provides efficient implementations of a large number of common algorithms. It has a uniform _Estimator API_ as well as excellent online documentation. The main benefit of its API is that once you understand the basic use and syntax of scikit-learn for one type of model, switching to a new model or algorithm is very easy.\n", "\n", "**Basics of the API**\n", "\n", "The most common steps one takes when building a model in scikit-learn are:\n", "1. Choose a class of model by importing the appropriate estimator class from scikit-learn.\n", "2. Choose model _hyperparameters_ by instantiating this class with the desired values.\n", "3. Arrange data into a feature matrix and target vector (see discussion below).\n", "4. Fit the model to your data by calling the `fit()` method.\n", "5. Evaluate the predictions of the model:\n", " * For supervised learning we typically predict _labels_ for new data using the `predict()` method.\n", " * For unsupervised learning, we often transform or infer properties of the data using the `transform()` or `predict()` methods.\n", " \n", "Let's go through each of these steps to build a Random Forest regressor to predict California housing prices." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Choose a model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In scikit-learn, every class of model is represented by a Python class. We want a Random Forest regressor, so looking at the online [docs](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html#sklearn.ensemble.RandomForestRegressor) we should import the `RandomForestRegressor`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import RandomForestRegressor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Choose hyperparameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once we have chosen our model class, there are still some options open to us:\n", "\n", "* What is the maximum depth of the tree? The default is `None` which means the nodes are expanded until all leaves are pure.\n", "* Other parameters can be found in the [docs](https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier), but for now we take a simple model with just 10 trees.\n", "\n", "The above choices are often referred to as _hyperparameters_ or parameters that must be set before the model is fit to the data. We can instantiate the `RandomForestRegressor` class and specify the desired hyperparameters as follows:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model = RandomForestRegressor(n_estimators=10, n_jobs=-1, random_state=42)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Note: You will often see the function argument `random_state` in scikit-learn and other libraries in the PyData stack. This parameter usually controls the random seed used to generate the function's output and setting is explicitly allows us to have reproducible results." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Arrange data into a feature matrix and target vector" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "scikit-learn requires that the data be arranged into a two-dimensional feature matrix and a one-dimensional target array. By convention: \n", "\n", "* The feature matrix is often stored in a variable called `X`. This matrix is typically two-dimensional with shape `[n_samples, n_features]`, where `n_samples` refers to the number of row (i.e. housing districts in our example) and `n_features` refers to all columns except `median_house_value` which is our target.\n", "* The target or label array is usually denoted by `y`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "#### Exercise #3\n", "\n", "Create the feature matrix `X` and target vector `y` from `housing_data`.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fit the model to your data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now it is time to apply our model to data! This can be done with the `fit()` method:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", " max_samples=None, min_impurity_decrease=0.0,\n", " min_impurity_split=None, min_samples_leaf=1,\n", " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", " n_estimators=10, n_jobs=-1, oob_score=False,\n", " random_state=42, verbose=0, warm_start=False)" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.fit(X, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Evaluate the predictions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The final step is to generate predictions and evaluate them with our chosen performance metric, in this case the RMSE." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "yhat = model.predict(X)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "19186.0842161522" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rmse(y, yhat)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is not a bad score since the majority of the house prices fall in the range of $115,000-250,000" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 19443.000000\n", "mean 191793.406162\n", "std 96775.724042\n", "min 14999.000000\n", "25% 116700.000000\n", "50% 173400.000000\n", "75% 247100.000000\n", "max 499100.000000\n", "Name: median_house_value, dtype: float64" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "housing_data['median_house_value'].describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and thus we are looking at roughly a 10-20% error in our predictions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Warning: Evaluating our model's predictions on the same data it was trained on is usually a recipe for disaster! Why? The problem is that the model may memorise the structure of the data it sees and fail to provide good predictions when shown new data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Better evaluation using training and validation splits" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One way to measure how well a model will generalise to new cases is to split your data into two sets: the _**training set**_ and the _**validation set**_. As these names imply, you train your model using the training set and validate it using the validation set. The error rate on new cases is called the _**generalisation error**_ and by evaluating your model on the validation set, you get an estimation of this error.\n", "\n", "Creating a validation set is theoretically quite simple: just pick some instances randomly and set them aside (we set the random number generator's seed `random_state` so that is always generates the same shuffled indices):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "15554 train rows + 3889 valid rows\n" ] } ], "source": [ "X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2, random_state=42)\n", "\n", "print(f'{len(X_train)} train rows + {len(X_valid)} valid rows')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With these two datasets, we first fit on the training set and evaluate the prediction on the validation one:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n", " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", " max_samples=None, min_impurity_decrease=0.0,\n", " min_impurity_split=None, min_samples_leaf=1,\n", " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", " n_estimators=10, n_jobs=-1, oob_score=False,\n", " random_state=42, verbose=0, warm_start=False)" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = RandomForestRegressor(n_estimators=10, n_jobs=-1, random_state=42)\n", "model.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "46106.026083048855" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_pred = model.predict(X_valid)\n", "rmse(y_valid, y_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualising the model errors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although numerical scores are useful, deeper insights can often be gained by _visualising_ the errors the model makes. Let's look at two common ways to diagnose _regression_ models." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Prediction errors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get a sense of how often our model is predicting values that are close to the expected values, we'll plot the actual `median_house_value` labels from the test dataset against the predicted value generated by our final model:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def plot_prediction_error(fitted_model, X, y):\n", " \"\"\"\n", " A utility function to visualise the prediction errors of regression models.\n", " \n", " Args:\n", " fitted_model: A scikit-learn regression model.\n", " X: The feature matrix to generate predictions on.\n", " y: The target vector compare the predictions against.\n", " \"\"\"\n", " y_pred = model.predict(X)\n", " plt.figure(figsize=(8, 4))\n", " sns.scatterplot(x=y, y=y_pred)\n", " sns.lineplot(x=[y.min(), y.max()], y=[y.min(), y.max()], lw=2, color=\"r\")\n", " plt.xlabel(\"Actual Median House Price\")\n", " plt.ylabel(\"Predicted Median House Price\")\n", " plt.title(f\"Prediction Error for {model.__class__.__name__}\")\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_prediction_error(model, X_valid, y_valid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What we’re looking for here is a clear, linear relationship between the predicted and actual values. The red line denotes what could be considered an \"optimal\" model, so we want our points to be bunched around this line. We can see the apart from a few outliers, the random forest performs fairly well. (In fact those outliers might suggest something is fishy with the data or that these houses are special for reasons not reflected in the data.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Residual plots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A residual is the difference between the labeled value and the predicted value for each instance in our dataset: \n", "\n", "$$ \\mathrm{residual} = y_\\mathrm{actual} - y_\\mathrm{predicted} $$\n", "\n", "We can plot residuals to visualize the extent to which our model has captured the behavior of the data. By plotting the residuals for a series of instances, we can check whether they’re consistent with random error; we should not be able to predict the error for any given instance. If the data points appear to be evenly (randomly) dispersed around the plotted line, our model is performing well. In some sense, the resulting plot is a rotated version of our prediction error one above:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def plot_residuals(fitted_model, X, y):\n", " '''\n", " A utility function to visualise the residuals of regression models.\n", " \n", " Args:\n", " fitted_model: A scikit-learn regression model.\n", " X: The feature matrix to generate predictions on.\n", " y: The target vector compare the predictions against. \n", " '''\n", " y_pred = model.predict(X)\n", "\n", " sns.residplot(x=y_pred, y=(y - y_pred))\n", " plt.ylabel('Residuals')\n", " plt.xlabel('Predicted Median House Price')\n", " plt.title(f'Residuals for {model.__class__.__name__}')\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ8AAAEXCAYAAAByAUkhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOydeZQU1b34P7X0MtMz9CzMgID6CIlGNMFlNFECxCWy89SoIfpTc3JcnnkajRFFhOCCwSTEGPW5RGOiRI2Cij4zQlyCEsEI6iOiqNEgss4+PdPd01vV/f1xu2q6Z7pnY2YAuZ9zPDLV3VX33qq63/tdryaEECgUCoVCMYjoe7sBCoVCoTjwUMJHoVAoFIOOEj4KhUKhGHSU8FEoFArFoKOEj0KhUCgGHSV8FAqFQjHomHu7AYr9g8MPP5zDDjsMXdfRNI22tjaKioq46aab+NrXvtanc954441Mnz6dk046Kev4e++9x1VXXcWrr77ap/Nu376dmTNn8u677/b4N/fddx9PPvkkJ554IosXL+7Tde+++24ee+wxhg0bBoAQgnA4zHe+8x3mzp2Lpml9Om9HZsyYwYIFC/jGN76xx+f6xz/+wSWXXMLo0aOzjs+ePZvvf//7e3z+rli2bBmJRILzzz8/ZzsikQhf/vKXWbx4MaWlpQPaFsXgo4SPosc88sgjlJWVuX///ve/Z9GiRTz55JN9Ot9tt93WX03bY5YvX86SJUuoqqrao/NMmzaNn/3sZ+7foVCIWbNm8a1vfYsJEybsaTMHhEMOOYTnnntu0K/79ttv85WvfCVvOyzL4sorr+Thhx/mpz/96aC3TzGwKOGj6BOpVIpdu3YRDAbdY/fddx9//etfsW2bkSNHsnDhQoYNG8Zf//pX7rvvPjRNwzAMrrvuOo4//nguuOACzj//fKZMmcLjjz/OI488QlFREYcddph7zrvvvpumpiZ3Qs/8+//+7//41a9+RSKRoK6ujpNOOomf//znWe389NNPufHGG0kkEgghOPvsszn//POzvnP11VdTU1PDjTfeyFVXXcWxxx7LTTfdxI4dOxBCcMYZZ3DxxRezfft2zj//fMaMGcOOHTtYunQplZWVXY5TfX09sVjMHafly5fz5JNPkkwmCYVCXHLJJZx33nk888wzvPTSS+i6ztatW/F4PPziF7/gsMMO45NPPmHevHm0tbXxpS99iWg06p7/5Zdf5p577sGyLIqKirjhhhv4+te/zt13383nn3/Otm3bqK2t5etf/zrjx49nxYoVbN++nTlz5jBjxoxu7/OTTz7J0qVL0XWdoUOHsmDBAkaPHs3cuXNpbm5m27ZtfPvb3+aqq65iyZIlrF+/HsuyGDt2LPPnz6eoqIjHH3+cP//5z3g8Hnw+H7fccgtbtmzh1Vdf5Y033sDv9/PlL3+507XD4TCNjY0ce+yxALS2tnLbbbfx8ccfk0wmOfHEE7nuuuswTZPXXnuNJUuWoOs6RxxxBGvXruXxxx/nrbfeYvny5a6mvnTpUpYtW8YTTzyBbduUlJSwYMECxowZw4YNG7j99tuxbRuAyy67jMmTJ+c93trays0338yHH36IpmlMmDCBa665BtM0Oeqoozj11FP58MMPWbJkSZ+tA19ohELRAw477DAxY8YMMXPmTDF+/HhxyimniFtvvVXU19cLIYR49tlnxdVXXy2SyaQQQog///nP4uKLLxZCCHHqqaeKd999VwghxJo1a8Tdd98thBDi//2//ydefPFF8cEHH4gTTzxR1NbWCiGEWLBggTj55JOFEELcdddd4uabb3bbkfn3T37yE/Hmm28KIYQIh8PiG9/4hnjvvffEtm3bxNFHHy2EEOKGG24QDzzwgBBCiNraWnH11VcLy7I69e/kk08W//znP4UQQpx//vni4YcfFkII0dLSImbOnCleeOEFsW3bNnHYYYeJ9evX5xyju+66S3zjG98Qs2bNEqeffro44YQTxA9+8APx4osvum0899xzRWNjoxBCiHfffddt59NPPy2OO+44sWvXLiGEELfccou47rrrhBBC/Od//qd46qmnhBBCbNiwQRx++OHizTffFJ988ok46aSTxOeffy6EEGLt2rVi/PjxorW1Vdx1113i5JNPFi0tLaKtrU0cf/zxYvHixUIIIV566SVx+umnCyGEePPNN8XXvvY1MWvWLPe/yy67zD3faaedJhoaGtw2Tp06Vdi2La6//npx0UUXuX2/++67xe233y5s2xZCCPHrX/9aLFy4UKRSKXHkkUeKmpoa9zn585//LIQQ4vrrrxcPPfRQp3ZMnz5dfPOb3xRnnHGGeOCBB0QikRBCCDF37lzx6KOPCiGESKVS4tprrxW/+93vRGNjozjhhBPE5s2bhRBCPPPMM+Kwww4T27ZtE08//bQ4/vjjRWtrqxBCiH/84x/ivPPOE9FoVAghn8epU6cKIYS48MILxQsvvCCEEGLz5s3ipptu6vL4ddddJ2699VZh27aIx+Pihz/8ofusHXbYYeLZZ5/N+ZwoJErzUfQYx+z2wQcfcMkll3DMMcdQXl4OwN/+9jfee+89vvvd7wJg2zZtbW0ATJ8+nSuuuIJJkyYxfvx4Lrnkkqzzrlu3jvHjx1NRUQHA9773Pf7+9793257bb7+d119/nfvvv59///vfxGIxotEoJSUl7ne+853vcP311/PPf/6TE088kfnz56Pr+eNsotEo77zzDg8//DAAxcXFnHXWWbz++uuMGzcO0zQ5+uij8/7eMbslEgluvfVW/vWvfzFx4kQAAoEA999/P6+99hqfffYZH374YZYWc+SRRzJ8+HAAxo4dy0svvURTUxMfffQRZ5xxBgDHHXeca6p68803+eY3v8nBBx8MwIknnkhZWRmbNm0C4KSTTqK4uBiAyspK1+x3yCGH0Nzc7F43n9ltzZo1TJs2zTW1nnXWWdx2221s377dbYvD6tWraW1tZe3atQAkk0nKy8sxDIMpU6Ywe/Zsvv3tbzN+/HhmzpyZc+wy2/H000/zm9/8hlNPPRWPx+Ne47333mP58uUAxGIxADZs2MCYMWP46le/CsCZZ57JokWL3PMefvjhFBUVuefYunUrs2fPdj8PhUI0NzczdepUbrnlFl599VVOOukkrrnmGoC8x19//XWeeOIJNE3D6/Uye/ZsHnnkES699FKAPTbhftFRwkfRa8aOHcsNN9zA/PnzGTduHKNGjcK2bS6++GLOO+88ABKJBKFQCICf/OQnnH322fz973/nmWee4Xe/+x3PPPOMez5N0xAZJQYNw8j7WTKZdP99/vnn89WvfpUJEyYwdepUNm7cmPVdgJNPPplVq1axdu1a1q1bx//8z//w5z//mUMOOSRn32zb7nQO27ZJpVIAeL1eTLP718br9bJgwQK++93v8qtf/YqFCxeye/duvve973Huuedy3HHHMWXKFP72t7+5v/H7/Z367QQpZLbJuX7HdjrHMtuaSU/a3fFcXZ2/sLDQPW7bNvPmzWPSpEmADBaIx+MALFmyhI8//pi1a9fy4IMPsnz5cu67774ur/3d736X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2bIFjzzySLdfB0oplixZgg8//BAAsGDBAnzve9/r5SvQ9XDhw+FwOJweh5vdOBwOh9PjcOHD4XA4nB6HCx8Oh8Ph9Dhc+HA4HA6nx+HCh8PhcDg9Dhc+nF6lpqYGZ555JqZPn279N23aNLz++utHve9bb70Vy5cvBwBMnz4dgUAg43eDwSBmz56d9zHWrl2LG2+8MWV7TU0NTj/9dNxwww0pf1uwYAFOP/10NDc353Wshx9+GE8++SQA4JZbbsG3336b93jTsXz5ctx6660p22+88UasXbu2S47RGZYvX44LL7wQ06dPx4wZMzB9+nTMmjULn3/+edrvP/7441Y+DafvI/X2ADgcl8tlJdsBQF1dHaZOnYrvfOc7OOOMM7rkGPb9p8Pv9+OLL77okmOZOJ1O7Nu3D4cOHcJxxx0HAGhvb++SEvnPPvvsUe+jPzBq1Cg888wz1ucPPvgAt99+OzZs2GDVUTO58847e3p4nKOACx9On6OyshLDhw/Hvn37sGvXLrz++usIh8MoLCzESy+9hNdeew2vvPIKdF1HcXExHnjgAZx88smoq6vD/PnzUV9fj6FDh6Kpqcna5+mnn47NmzejtLQUzzzzDN58801IkoThw4fjkUcewYIFCxCJRDB9+nQsX74c+/btw6JFi9Da2gpN03DjjTdi5syZANgKe9WqVSguLsbw4cMznocoiqiursaqVatw2223AQDWrVuHK664As8//7z1vQ8++ABPP/00FEWBy+XCvHnzcP7556OtrQ333XcfvvzyS1RUVEAURVx44YUAWFLx448/jrPPPhu/+c1vsH37doRCIVBKsXDhQlx44YWYP38+CgsL8dVXX+HIkSM46aST8Oijj8Lj8eR9T7Zt24YlS5YgHA5DlmX87Gc/Q1VVFZYvX453333XEhD2z9u2bcMjjzwCXdcBME104sSJiMViWLp0KbZu3QpN03DWWWfh/vvvR2FhYYfjGDNmDBoaGhAIBLBkyRK0trbi4MGDuPTSS9HU1IRTTz0V//Ef/4Ht27dj4cKF1nh/+ctfYsyYMdizZ0/G+8rpYXq+kDaHE+fgwYP0vPPOS9j22Wef0YsuuojW1tbSN954g1500UU0GAxSSlkPmuuvv562t7dTSinduHEjra6uppRS+p//+Z902bJllFJK9+3bR8877zz6xhtvUEopPe2002hTUxN9//336YQJE2hrayullNLf/OY39A9/+EPCOBRFoZMnT6Y7d+6klFIaCARodXU1/fzzz+l7771HJ0+eTIPBIFUUhc6dO5f+6Ec/ynheX3zxhTU+SimdM2cO/eqrr6zx7N27l06dOpU2NzdTSlkbiEsuuYSGQiG6aNEi+stf/pLquk6bmppoVVUVfeKJJyilrEz/jh076GeffUZvv/12qmkapZTSZ555ht56662UUkrnzZuX0M9oxowZ9PXXX08Z6xtvvEEvuOACOm3atIT/zjvvPLpmzRra3NxMx4wZQ//5z39aYxw9ejQ9cOAAfeONN+jcuXMT9mV+nj17ttXfZvfu3fShhx6ilFL65JNP0kceeYTquk4ppfR//ud/6H//93+nHZd937qu0xdeeIFOnTrVOr85c+ZYf583bx597rnnaCwWo5dccgn9+9//Timl9IsvvqBTp06l0Wg0433l9Dxc8+H0OqbGAQCapqGkpAS/+93vMGTIEABMazFXxRs2bMD+/fsxa9Ys6/d+vx+tra346KOPMG/ePADA8OHDcfHFF6cca/PmzZg0aRJ8Ph8A5n8BYHWBBVj7hQMHDuDee+9NGOOuXbuwZ88eXHXVVdZ4fvCDH+Cll17KeG7f+c53IAgCdu7cibKyMoRCIZx22mnW3zdt2oT6+nr8+Mc/trYRQnDgwAFs3rwZ9957LwghKC0txVVXXZWy//PPPx8+nw9//etfcfDgQXzyyScJms24cePgcDgAAKeddhr8fn/acSabtwBYvqwdO3bghBNOwMiRIwGwVhUXXHABtmzZkrVyc3V1NR5++GF88MEHGDt2LH7+858DYPcwGAzio48+AgAoioKysrK0+9i2bRumT58OQghisRhOOukkPPHEE9bfTU3Qztdffw1BEHDppZcCYPdg1apV+PbbbzPeV7P1Bqfn4MKH0+sk+3yScbvd1r91Xcf06dNxzz33WJ/r6+vh8/lSStsn+wQAZgqzT5iBQCAlEEHTNBQVFSWMqbGxEV6vF7/73e8SjiGKYofnN23aNLz11lsoLS21hKz9fMaMGYPHHnvM2nb48GGrinFHx9qwYQMWLVqEn/zkJ7jiiitw0kkn4a233rL+7nK5rH9nKv3fEabZzA6lFKqqwuFwJOxTURTr37NmzcJll12GTZs2YePGjXjqqafw1ltvQdd13HvvvRg/fjwAIBQKIRqNpj12OqFox/5smCTfY4AJJEppxvvK6Xl4tBunX3HJJZfgnXfeQX19PQDglVdewZw5cwCwVf6rr74KAKitrcUnn3yS8vuxY8fivffeQ1tbGwDgySefxJ/+9CdIkgRN00ApxYgRI+B0Oq1J6vDhw5g6dSp27tyJcePGYe3atQgEAtB1vcNABoBF2q1duxarV6/G1KlTE/723e9+F5s2bcKePXsAAP/4xz8wbdo0RKNRjBs3Dq+//jp0XYff78f69etT9r1p0yZcdtlluP7663HOOefg/ffft8r6dxVmJfAdO3YAYP2Rtm7ditGjR6O0tBTffPMNotEoVFXF3//+d+t3s2bNwu7du/H9738fv/71rxEIBOD3+/G9730PL7/8MmKxGHRdxwMPPIBHH320y8Z70kkngRCCTZs2AQD+9a9/Yc6cOVnvK6fn4ZoPp18xbtw43HLLLbjppptACEFhYSGeeuopEEL+/3bul1WVII7D+ONfUFBkQTRoEBXUrBjNEwxi0bcgiiAbNC24uKJJWdBi9z34ThZ8D1aD4kn3woHDCZfLpu+nThmY8DA/hsFxHFarFcYYisXijy/ler0e9/ud8XgMQK1Ww3VdUqkUrVYLYwzX65XT6cRms+FyufB6vZjP539HPEEQMBwOyWazNBoNHo/Hr3suFApUq1UymQy5XO7bWr1eZ71es1gs+Hw+xONxzucz6XSa2WyG4zgYY7As69u47o/RaIRt2/T7fWKxGO12m9vt9uNt5V9ZlsXxeMR1XZ7PJ5FIhO12S6VSoVwu0+l0MMaQz+fpdrsEQQCAbdt4nsfhcCAajTKdTimVSkwmE3a7HYPBgPf7TbPZZLlc/rf9JpNJfN/H8zz2+z2JRALf90kmk7+eq4RLv1qLiEjoNHYTEZHQKT4iIhI6xUdEREKn+IiISOgUHxERCZ3iIyIioVN8REQkdIqPiIiE7guMZZXp6x116gAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_residuals(model, X_valid, y_valid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What we’re looking for is a mostly symmetrical distribution with points that tend to cluster towards the middle of the plot, ideally around smaller numbers of the y-axis. If we observe some kind of structure that does not coincide with the plotted line, we have failed to capture the behavior of the data and should either consider some feature engineering, selecting a new model, or an exploration of the hyperparameters.\n", "\n", "In the case above, we see that again the outliers suggest some room for improvement with our Random Forest model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "#### Exercise #3\n", "\n", "Use the `plt.subplots()` functionality from lesson 3 to create a new function `plot_errors_and_residuals` that combines the above plots into a single figure. You may find the `ax.set_xlabel()`, `ax.set_ylabel()`, and `ax.set_title()` functions are useful for configuring the labels and title on each individual plot.\n", "\n", "\n", "#### Exercise #4\n", "\n", "Instead of using an ensemble of decision trees, scikit-learn also provides an estimator to train a _single_ decision tree on the data (see documentation [here](https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html#sklearn.tree.DecisionTreeRegressor)). Repeat the same 5 steps above for a decision tree regressor, using the default hyperparameters. Do you notice anything unusual in the performance metrics if you fit the model on the whole dataset?\n", "\n", "---" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" } }, "nbformat": 4, "nbformat_minor": 4 }