{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**Chapter 7 – Ensemble Learning and Random Forests**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_This notebook contains all the sample code and solutions to the exercises in chapter 7._" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", "
\n", " \"Open\n", " \n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "# Setup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This project requires Python 3.7 or above:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sys\n", "\n", "assert sys.version_info >= (3, 7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It also requires Scikit-Learn ≥ 1.0.1:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from packaging import version\n", "import sklearn\n", "\n", "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we did in previous chapters, let's define the default font sizes to make the figures prettier:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.rc('font', size=14)\n", "plt.rc('axes', labelsize=14, titlesize=14)\n", "plt.rc('legend', fontsize=14)\n", "plt.rc('xtick', labelsize=10)\n", "plt.rc('ytick', labelsize=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And let's create the `images/ensembles` folder (if it doesn't already exist), and define the `save_fig()` function which is used through this notebook to save the figures in high-res for the book:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from pathlib import Path\n", "\n", "IMAGES_PATH = Path() / \"images\" / \"ensembles\"\n", "IMAGES_PATH.mkdir(parents=True, exist_ok=True)\n", "\n", "def save_fig(fig_id, tight_layout=True, fig_extension=\"png\", resolution=300):\n", " path = IMAGES_PATH / f\"{fig_id}.{fig_extension}\"\n", " if tight_layout:\n", " plt.tight_layout()\n", " plt.savefig(path, format=fig_extension, dpi=resolution)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Voting Classifiers" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# extra code – this cell generates and saves Figure 7–3\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "heads_proba = 0.51\n", "np.random.seed(42)\n", "coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)\n", "cumulative_heads = coin_tosses.cumsum(axis=0)\n", "cumulative_heads_ratio = cumulative_heads / np.arange(1, 10001).reshape(-1, 1)\n", "\n", "plt.figure(figsize=(8, 3.5))\n", "plt.plot(cumulative_heads_ratio)\n", "plt.plot([0, 10000], [0.51, 0.51], \"k--\", linewidth=2, label=\"51%\")\n", "plt.plot([0, 10000], [0.5, 0.5], \"k-\", label=\"50%\")\n", "plt.xlabel(\"Number of coin tosses\")\n", "plt.ylabel(\"Heads ratio\")\n", "plt.legend(loc=\"lower right\")\n", "plt.axis([0, 10000, 0.42, 0.58])\n", "plt.grid()\n", "save_fig(\"law_of_large_numbers_plot\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's build a voting classifier:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", " ('rf', RandomForestClassifier(random_state=42)),\n", " ('svc', SVC(random_state=42))])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.datasets import make_moons\n", "from sklearn.ensemble import RandomForestClassifier, VotingClassifier\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.svm import SVC\n", "\n", "X, y = make_moons(n_samples=500, noise=0.30, random_state=42)\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)\n", "\n", "voting_clf = VotingClassifier(\n", " estimators=[\n", " ('lr', LogisticRegression(random_state=42)),\n", " ('rf', RandomForestClassifier(random_state=42)),\n", " ('svc', SVC(random_state=42))\n", " ]\n", ")\n", "voting_clf.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "lr = 0.864\n", "rf = 0.896\n", "svc = 0.896\n" ] } ], "source": [ "for name, clf in voting_clf.named_estimators_.items():\n", " print(name, \"=\", clf.score(X_test, y_test))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.predict(X_test[:1])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[array([1]), array([1]), array([0])]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[clf.predict(X_test[:1]) for clf in voting_clf.estimators_]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.912" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.score(X_test, y_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's use soft voting:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.92" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.voting = \"soft\"\n", "voting_clf.named_estimators[\"svc\"].probability = True\n", "voting_clf.fit(X_train, y_train)\n", "voting_clf.score(X_test, y_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bagging and Pasting\n", "## Bagging and Pasting in Scikit-Learn" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "BaggingClassifier(base_estimator=DecisionTreeClassifier(), max_samples=100,\n", " n_estimators=500, n_jobs=-1, random_state=42)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.ensemble import BaggingClassifier\n", "from sklearn.tree import DecisionTreeClassifier\n", "\n", "bag_clf = BaggingClassifier(DecisionTreeClassifier(), n_estimators=500,\n", " max_samples=100, n_jobs=-1, random_state=42)\n", "bag_clf.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# extra code – this cell generates and saves Figure 7–5\n", "\n", "def plot_decision_boundary(clf, X, y, alpha=1.0):\n", " axes=[-1.5, 2.4, -1, 1.5]\n", " x1, x2 = np.meshgrid(np.linspace(axes[0], axes[1], 100),\n", " np.linspace(axes[2], axes[3], 100))\n", " X_new = np.c_[x1.ravel(), x2.ravel()]\n", " y_pred = clf.predict(X_new).reshape(x1.shape)\n", " \n", " plt.contourf(x1, x2, y_pred, alpha=0.3 * alpha, cmap='Wistia')\n", " plt.contour(x1, x2, y_pred, cmap=\"Greys\", alpha=0.8 * alpha)\n", " colors = [\"#78785c\", \"#c47b27\"]\n", " markers = (\"o\", \"^\")\n", " for idx in (0, 1):\n", " plt.plot(X[:, 0][y == idx], X[:, 1][y == idx],\n", " color=colors[idx], marker=markers[idx], linestyle=\"none\")\n", " plt.axis(axes)\n", " plt.xlabel(r\"$x_1$\")\n", " plt.ylabel(r\"$x_2$\", rotation=0)\n", "\n", "tree_clf = DecisionTreeClassifier(random_state=42)\n", "tree_clf.fit(X_train, y_train)\n", "\n", "fig, axes = plt.subplots(ncols=2, figsize=(10, 4), sharey=True)\n", "plt.sca(axes[0])\n", "plot_decision_boundary(tree_clf, X_train, y_train)\n", "plt.title(\"Decision Tree\")\n", "plt.sca(axes[1])\n", "plot_decision_boundary(bag_clf, X_train, y_train)\n", "plt.title(\"Decision Trees with Bagging\")\n", "plt.ylabel(\"\")\n", "save_fig(\"decision_tree_without_and_with_bagging_plot\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Out-of-Bag evaluation" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.896" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bag_clf = BaggingClassifier(DecisionTreeClassifier(), n_estimators=500,\n", " oob_score=True, n_jobs=-1, random_state=42)\n", "bag_clf.fit(X_train, y_train)\n", "bag_clf.oob_score_" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.32352941, 0.67647059],\n", " [0.3375 , 0.6625 ],\n", " [1. , 0. ]])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bag_clf.oob_decision_function_[:3] # probas for the first 3 instances" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0.92" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", "y_pred = bag_clf.predict(X_test)\n", "accuracy_score(y_test, y_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you randomly draw one instance from a dataset of size _m_, each instance in the dataset obviously has probability 1/_m_ of getting picked, and therefore it has a probability 1 – 1/_m_ of _not_ getting picked. If you draw _m_ instances with replacement, all draws are independent and therefore each instance has a probability (1 – 1/_m_)_m_ of _not_ getting picked. Now let's use the fact that exp(_x_) is equal to the limit of (1 + _x_/_m_)_m_ as _m_ approaches infinity. So if _m_ is large, the ratio of out-of-bag instances will be about exp(–1) ≈ 0.37. So roughly 63% (1 – 0.37) will be sampled." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.6323045752290363\n", "0.6321205588285577\n" ] } ], "source": [ "# extra code – shows how to compute the 63% proba\n", "print(1 - (1 - 1 / 1000) ** 1000)\n", "print(1 - np.exp(-1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Random Forests" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import RandomForestClassifier\n", "\n", "rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16,\n", " n_jobs=-1, random_state=42)\n", "rnd_clf.fit(X_train, y_train)\n", "y_pred_rf = rnd_clf.predict(X_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Random Forest is equivalent to a bag of decision trees:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", " DecisionTreeClassifier(max_features=\"sqrt\", max_leaf_nodes=16),\n", " n_estimators=500, n_jobs=-1, random_state=42)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# extra code – verifies that the predictions are identical\n", "bag_clf.fit(X_train, y_train)\n", "y_pred_bag = bag_clf.predict(X_test)\n", "np.all(y_pred_bag == y_pred_rf) # same predictions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Feature Importance" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.11 sepal length (cm)\n", "0.02 sepal width (cm)\n", "0.44 petal length (cm)\n", "0.42 petal width (cm)\n" ] } ], "source": [ "from sklearn.datasets import load_iris\n", "\n", "iris = load_iris(as_frame=True)\n", "rnd_clf = RandomForestClassifier(n_estimators=500, random_state=42)\n", "rnd_clf.fit(iris.data, iris.target)\n", "for score, name in zip(rnd_clf.feature_importances_, iris.data.columns):\n", " print(round(score, 2), name)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# extra code – this cell generates and saves Figure 7–6\n", "\n", "from sklearn.datasets import fetch_openml\n", "\n", "X_mnist, y_mnist = fetch_openml('mnist_784', return_X_y=True, as_frame=False,\n", " parser='auto')\n", "\n", "rnd_clf = RandomForestClassifier(n_estimators=100, random_state=42)\n", "rnd_clf.fit(X_mnist, y_mnist)\n", "\n", "heatmap_image = rnd_clf.feature_importances_.reshape(28, 28)\n", "plt.imshow(heatmap_image, cmap=\"hot\")\n", "cbar = plt.colorbar(ticks=[rnd_clf.feature_importances_.min(),\n", " rnd_clf.feature_importances_.max()])\n", "cbar.ax.set_yticklabels(['Not important', 'Very important'], fontsize=14)\n", "plt.axis(\"off\")\n", "save_fig(\"mnist_feature_importance_plot\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Boosting\n", "## AdaBoost" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# extra code – this cell generates and saves Figure 7–8\n", "\n", "m = len(X_train)\n", "\n", "fig, axes = plt.subplots(ncols=2, figsize=(10, 4), sharey=True)\n", "for subplot, learning_rate in ((0, 1), (1, 0.5)):\n", " sample_weights = np.ones(m) / m\n", " plt.sca(axes[subplot])\n", " for i in range(5):\n", " svm_clf = SVC(C=0.2, gamma=0.6, random_state=42)\n", " svm_clf.fit(X_train, y_train, sample_weight=sample_weights * m)\n", " y_pred = svm_clf.predict(X_train)\n", "\n", " error_weights = sample_weights[y_pred != y_train].sum()\n", " r = error_weights / sample_weights.sum() # equation 7-1\n", " alpha = learning_rate * np.log((1 - r) / r) # equation 7-2\n", " sample_weights[y_pred != y_train] *= np.exp(alpha) # equation 7-3\n", " sample_weights /= sample_weights.sum() # normalization step\n", "\n", " plot_decision_boundary(svm_clf, X_train, y_train, alpha=0.4)\n", " plt.title(f\"learning_rate = {learning_rate}\")\n", " if subplot == 0:\n", " plt.text(-0.75, -0.95, \"1\", fontsize=16)\n", " plt.text(-1.05, -0.95, \"2\", fontsize=16)\n", " plt.text(1.0, -0.95, \"3\", fontsize=16)\n", " plt.text(-1.45, -0.5, \"4\", fontsize=16)\n", " plt.text(1.36, -0.95, \"5\", fontsize=16)\n", " else:\n", " plt.ylabel(\"\")\n", "\n", "save_fig(\"boosting_plot\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "AdaBoostClassifier(base_estimator=DecisionTreeClassifier(max_depth=1),\n", " learning_rate=0.5, n_estimators=30, random_state=42)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", "\n", "ada_clf = AdaBoostClassifier(\n", " DecisionTreeClassifier(max_depth=1), n_estimators=30,\n", " learning_rate=0.5, random_state=42)\n", "ada_clf.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# extra code – in case you're curious to see what the decision boundary\n", "# looks like for the AdaBoost classifier\n", "plot_decision_boundary(ada_clf, X_train, y_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gradient Boosting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's create a simple quadratic dataset and fit a `DecisionTreeRegressor` to it:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DecisionTreeRegressor(max_depth=2, random_state=42)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "from sklearn.tree import DecisionTreeRegressor\n", "\n", "np.random.seed(42)\n", "X = np.random.rand(100, 1) - 0.5\n", "y = 3 * X[:, 0] ** 2 + 0.05 * np.random.randn(100) # y = 3x² + Gaussian noise\n", "\n", "tree_reg1 = DecisionTreeRegressor(max_depth=2, random_state=42)\n", "tree_reg1.fit(X, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's train another decision tree regressor on the residual errors made by the previous predictor:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DecisionTreeRegressor(max_depth=2, random_state=43)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y2 = y - tree_reg1.predict(X)\n", "tree_reg2 = DecisionTreeRegressor(max_depth=2, random_state=43)\n", "tree_reg2.fit(X, y2)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DecisionTreeRegressor(max_depth=2, random_state=44)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y3 = y2 - tree_reg2.predict(X)\n", "tree_reg3 = DecisionTreeRegressor(max_depth=2, random_state=44)\n", "tree_reg3.fit(X, y3)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.49484029, 0.04021166, 0.75026781])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_new = np.array([[-0.4], [0.], [0.5]])\n", "sum(tree.predict(X_new) for tree in (tree_reg1, tree_reg2, tree_reg3))" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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nS6ll63a88wzz+Tmm2/Oe72/+tWvcM7l9Zq77rqrItr3FnJwlHCkutpebRT7JR3F9/wpvleHfGN/VScI1VqdLqW1Zs2a2P/33Xcf3/72txMeS+503dLSklOQ7927d95l6du3b96vEal1iv2SjuK7SG6qelyyaJXKnDmqYpbc7bjjjrHbdtttl/DY5s2b2W677bjttts4/PDD6d69O7///e9Zv349X/3qVxk0aBDdu3dnn3324Y9//GPCeidPnsxxxx0Xuz9+/HjOPfdcfvSjH9G/f3922GEHLrroItrb2xOWOf/882P3d911Vy677DK+853vsO222zJo0CB+/vOfJ7zPK6+8wrhx4+jWrRt77bUX8+bNo2fPnhmvij3//PMcccQRbLvttvTq1YuRI0fy2GOPxZ5ftmwZxx57LL169WKHHXbgq1/9Ku+++y4As2bN4pZbbuH+++/HzDAz5musSQmRYr+ko/iu+C65qeoEAbwDw4wZOkBUg3Iav33GjBmce+65LFu2jC9+8Yts3ryZAw44gPvuu48XX3yRqVOn8p3vfIdHHnkk43r+/Oc/09DQwMKFC7nmmmu4+uqr+ctf/pLxNb/85S8ZPnw4zz77LNOnT+cHP/gBTZGd0t7ezkknnURDQwNPPvkkN998M7Nnz2bLli0Z1/m1r32NnXbaiaeffpolS5Ywa9YsunXrBnhX3A499FD23Xdfnn76aR5++GE++eQTTjjhBNrb27nooov48pe/zJFHHsmaNWtYs2YNn/vc5/LYmyL+U+yvLIrvHsV3KRvOuaq4jRo1yuVq4ULn5s71/kppLVu2zJf1LFzoXPfuztXXe3+D+uz++te/Ou9n4nnjjTcc4K688sqsr/3KV77izj777Nj9M8880x177LGx++PGjXMHH3xwwmuOPPLIhNeMGzfOnXfeebH7n/nMZ9xpp52W8Jo99tjDzZkzxznn3AMPPODq6+vdqlWrYs8/8cQTDnB//OMf05a1V69e7uabb0753CWXXOIOP/zwhMc++OADB7innnoq5bal49f3QfwFLHJlEMcLueUa+xX3S8OP37Tiu6fS43shdEwIV6bYX/U1CMmio1tccon3txyuVkh2qTodhmn06NEJ99va2vjpT3/KiBEj6NevHz179uSuu+7irbfeyrieESNGJNzfeeeds84smek1L730EjvvvDMD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n3LBBRfw9NNPM3/+fHr37s3xxx/P1q1bOy2bSxlvvvlmzIw333wz7XuOHTuWZ555JuGxCy64gG9961sMGzYs721IZcmSJQBce+21XHjhhTQ3N7Pvvvsybdq0nF6/YMECRo0alTAe9amnnsrw4cO57LLLALjyyiu57bbbeOCBBxgwYEDWdY4ZM4ann36aTZs2FbBFUu2ioxpdcon3V0lCeckWU1LFDCht3Jg7dy49e/bMeFuwYEHe25JNJcXHYrY1jM9U8uScq4rbqFGjnKS2bNkyX9fnfW2CceaZZ7r6+nrXo0cP161bNwc4wF111VXOOec++eQT161bN/f4448nvG7q1KnumGOOcc45t379ege4+fPnp32PY4891jnn3Mcff+y6dOni/vSnP8We//jjj13v3r3dmWeeGXts3Lhx7rzzzku7nlQ++eQTV1dX5xYsWNBp+WxldM65u+66y+21115u1apVaZf5xS9+4YYMGRK7f/fdd7s+ffq4devWpX1NvubOnet69+7t1qxZE3vs1ltvdQMHDozdP/744912223nTjnllE6vP/HEE90ZZ5zR6fEHH3zQNTQ0uMsvv9z17NnTPf300zmtzznnmpubHeBWrFiRttx+/w6qCbDIlUEcL+SWS+yfO9e5+nrnwPs7d25Bu6mspfx+Qzi3PGWLKelihnOlixvr1693r776asbbxo0b896WbOUqJD5mW2cu8THqzDPPdDNnzsy6nHPZt/Wtt95y48aNc3vvvbcbMWKEu/POO7Nup3M6FgQpU+xXDYLkZNasWbHOwkDs/yCaGx166KEsXbqUp59+mu9+97tMmjSJ733vewAsW7aMzZs3M3HixIQrO7/73e9iIyP07duXyZMnc/TRR3Psscdy1VVX8fbbb6d8r9dee42tW7cyNq7hcs+ePRk+fHje5X7ttdf42te+xpAhQ9h2220ZMGAA7e3tvPXWW52WzaWMJ510Ei+99BIDBw5M+54HH3wwr732Gh988AFbtmzhoosu4tJLL6Vfv36dlr344otjn2O62/z58zu9bunSpRx//PHsuOOOscdWrFjBHnvsEbt/4YUXcuutt6Ys46ZNm+jWrVunx4866igOPPBALr74Yu644w4OPPDAnNYH0L1799i6RZJpVKPyli2mpIsZULq40bdvX/bYY4+Mt+jr89mWbOUqJD5mW2em7UyuKfnzn//c6bFUNSW5bGtDQwNXX301y5Yt46GHHmLq1Kls3Lgx43Zm21YdC4KjBEFyMmvWrFhWCR01T0EkCNtssw177LEHw4cP59e//jUbN25kzpw5ALS3twNw7733snTp0tjtxRdfTOin8Mc//pGnnnqKQw89lHvuuYc999yTBx98sNN7Rbcvm7q6uk7LtrS0JNw//vjjef/99/n973/PU089xZIlS2hoaEjZxCifMmYyatQounTpwqJFi7j66qtpaGjgvPPOS7nsBRdcwPLlyzPexowZ0+l1S5cuTUigwKtq3m+//WL3DzvsMHr16pXyffv3759yFKpHH32U5uZmnHOdqpIzrQ/ggw8+AGD77bdPu4zUnmi/A6jRUY3CqkPIU7aYki5mQOniRqFNjMKIj9nWmWk7p0yZknDsPOGEEzo9Nnr06JTrzbatO+20U+z/HXbYgT59+rBu3bqM25ltW3UsCI4mSpOKM3PmTI455hjOOecchg0bFuvQdPjhh2d83ciRIxk5ciTTp0/nmGOO4ZZbbuHoo49OWGaPPfagsbGRJ598kt133x3w+hK88MILCUOxbb/99qxZsybhtc3Nzey6664ArF+/nuXLl3Pttddy2GGHAfDss8/S2tpadBkz6dq1K/vvvz/33nsvt9xyC//7v/+b0F8jXv/+/enfv3/O6wavA/eKFSvYf//9Ex5fsmQJJ598ck7r2H///bn55psTHmtububkk0/mN7/5Dffffz8zZszIKzl64YUX2HnnnXNqoyq1IdVsyjNmhF0qSZZLTEkVM6C0cWPKlCl8+ctfzvj65NrcSoyPffv2pW/fvrH7vXr1itWeZJLvti5atIiWlhZ22WUXIJzPVPKjGgTJ28yZM0N9//Hjx7PPPvtw2WWX0atXLy666CIuuugibrrpJlasWMHSpUu57rrruP766wF44403+OEPf8jChQtZuXIljz32GM8991zKTrs9e/bk7LPPZvr06Tz00EO8+OKLnHXWWbS1tSUsd/jhh/OPf/yDe+65h5dffplp06YlNAnq06cP/fv35w9/+AMrVqzgX//6F1OmTKGhIXVOnksZ7777bj772c/yzjvvZNw/Y8eO5dprr2Xs2LG+T8TW3NwMwIgRI2KPrV+/nlWrViVcIcskOprT+vXrAVi5ciWTJk1i2rRpnHXWWcyePZuHHnoo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uZTx5ptvxsx48803077n2LFjeeaZZxIeu+CCC/jWt77FsGHD8t6GVGopWNbKAVD8Fx3V6JJLvL9KEtJbunQpvXv35o477mDChAnssccenHrqqbz//vsArFy5kp122qnT68yMuXPncvPNN3PFFVcwe/Zs7r//foYOHQp4yXSfPn049dRTU77vzjvvTEtLC6tXr+703JQpU1i6dGnG2+jRo/PelmzlSrWt2bYz2zozbWcxsm3r22+/zfjx4xk2bBgjR47krrvuyriduWxrMZ9pqbYT4HOf+xwjR45k33335Sc/+UnC6yvpMy1akQkCzrmquI0aNcpVgmXLlvm2Lu/jC86ZZ57p6uvrXY8ePVy3bt0c4AB31VVXOeec++STT1y3bt3c448/nvC6qVOnumOOOcY559z69esd4ObPn5/2PY499ljnnHMff/yx69Kli/vTn/4Ue/7jjz92vXv3dmeeeWbssXHjxrnzzjsv7XpS+eSTT1xdXZ1bsGBBp+WzldE55+666y631157uVWrVqVd5he/+IUbMmRI7P7dd9/t+vTp49atW5f2NfmaO3eu6927t1uzZk3ssVtvvdUNHDgwdv/444932223nTvllFM6vf7EE090Z5xxRqfHH3zwQdfQ0OAuv/xy17NnT/f000/ntD7nnGtubnaAW7FiRTGb1km2bX3rrbfcuHHj3N577+1GjBjh7rzzzthy6bbTudJvq5+/+VIBFrkyiOOF3HKJ/XPnOldf7xx4f+fOLWg35SzlZw7h3PL05S9/2X3jG99IeOzSSy9148aNc845d9RRR7lzzjkn7evHjh3r6uvr3bx58xIef/TRR90999yT9rf0yiuvOMA9//zzeZc5nWzbkq1cmbY13XZmW2em7fzpT3/qevToEbs1NDS4xsbGhMeSj6+5buvq1avdkiVLnHPOrV271g0aNMh9+umnWbcz07YW85kWuq25fKYffvihc8651tZWd/DBB8e2O9u2luIzjRf4sWDhQi8GHHRQ2kUyxX7VIFSYWbNmxToKA7H/g2pudOihh7J06VKefvppvvvd7zJp0iS+973vAbBs2TI2b97MxIkTE6p+f/e738VGjunbty+TJ0/m6KOP5thjj+Wqq67i7bffTvler732Glu3bmVsXCPinj17Mnz48LzL/dprr/G1r32NIUOGsO222zJgwADa29t56623Oi2bSxlPOukkXnrpJQYOHJj2PQ8++GBee+01PvjgA7Zs2cJFF13EpZdeSr9+/Tote/HFF8c+y3S3+SnGaly6dCnHH388O+64Y+yxFStWsMcee8TuX3jhhdx6660py7hp0ya6devW6fGjjjqKAw88kIsvvpg77riDAw88MKf1gTelfHTdfm1nLtva0NDA1VdfzbJly3jooYeYOnUqGyMjOKTbzlJuq4Qv2qyoXz+NapSrpUuXJsRc8Grv9ttvPwD69++fdmCKRx99lObmZpxznWrgDjvsMHr16pX2fT/44AMAtt9++07PFdrEKNu2ZCtXum3NtJ3Z1plpO5NrSk444YROj6WqKcllW3faaafY/zvssAN9+vRh3bp1Gbcz27YW85kWuq25fKbbbrstAFu3bu3USiDozzRURdYgaKK0CjNr1qxYMmBmeAlgcLbZZpvYCdmvf/1rDjvsMObMmcOsWbNob28H4N5772Xw4MEJr4tvhvTHP/6RCy64gAceeIB77rmHH//4x/z973/n6KOPTnhNrttWV1fXadmWlpaE+8cffzwDBw7k97//PQMHDqShoYFhw4albGKUTxkzGTVqFF26dGHRokUsWbKEhoYGzjvvvJTLXnDBBXzjG9/IuL7kfQpesJw6dWrCY6kOgOlOugsJlpnWB5mDZaHbCdm3daeddopVHccfAAcPHlzUAbDQbZVwJU+WdvXVsH59iDMrBxyrC7Fx40ZWrFjB/vvvn/D4kiVLOPnkkwHYf//9ufnmmzu9trm5mZNPPpnf/OY33H///cyYMYMHH3ww5/d+4YUX2HnnnVOenE2ZMoUvf/nLGV+ffLEml23JJtW2lnI7+/btS9++fWP3e/XqRd++fRMu+KSS77YuWrSIlpYWdtllFyCcz7SQbc1nOw866CCWLVvGueeem3A8DPozDVU0QSiwk7ISBCnKzJkzOeaYYzjnnHMYNmxYrMPn4YcfnvF1I0eOZOTIkUyfPp1jjjmGW265pdPJ9x577EFjYyNPPvkku+++O+D1JXjhhRcShqrcfvvtWbNmTcJrm5ub2XXXXQFYv349y5cv59prr+Wwww4D4Nlnn6W1tbXoMmbStWtX9t9/f+69915uueUW/vd//zchUYrXv39/+vfvn/O6oTIPgIVsJ1TmAVDClTxZ2vr13qhGkl5zczMAI0aMiD22fv16Vq1aFTvJOvroo5k+fTrr16+P1YauXLmSSZMmMW3aNM466yzGjBnDiBEjmD9/PuNzrK5ZsGABEydOTPlc8smkX9uSTfK2lno7C5XPtq5fv54zzjiDG2+8MdYSIYzPtBD5bOdTTz3FRx99xJe+9CVeeOEF9t13X6ByPlNfxE2SVgg1MapgM2fODLsIjB8/nn322YfLLruMXr16cdFFF3HRRRdx0003sWLFCpYuXcp1113H9ddfz/9v787DpKrOdYG/X3dXE0BbFARENBoCioiE0ALtEJEhQSSoCRhzctVcjYaLSYzGEwaj3R0SMM/J9TiROGAcEq84GwdAkSnkdDuADBFbExwwTGoAozL19N0/du3qqqKGvav2XO/veeqpadeutVdVrVrfXhMAvPfee5gxYwYaGhqwefNmLF++HBs2bMg4aPeQQw7B5ZdfjunTp2PJkiXYuHEjLrvsMrS1taVsN3r0aCxatAjPPPMM3n77bVx77bUpXYIOP/xw9OjRA/fccw82bdqElStXYurUqaioyBwfW0njU089hRNPPBFbt27NmT81NTWYN28eampqHF+Izak/wKamJuzcuRPAwX8K9fX1WLJkSc6z6OmC+geYfJxAcI+VnMHF0uxbv349+vfvj65JFYq1a9ciFoslyr/Bgwdj+PDhWLBgAQCjFW38+PGYOHEibrzxRgDAySefjClTpmCmxYhs//79eOqpp3DFFVd4eiz5JB9rUI8TsH6sBw4cwAUXXICZM2fitNNOSzwe1c+0qqoKo0ePxuLFixOPheUzLcaap/+Jh65YgW0L1xkPcJBy6Q1S9lq2gb8PPfSQVlZW6vvvv6/t7e1622236cCBA7WyslJ79OihY8eO1RdffFFVVXfs2KEXXHCB9unTRysrK/WYY47R//zP/9Tm5uaM7/H555/rxRdfrF27dtUjjzxSf/nLX+q5556bMki5ublZp02bpt27d9fu3bvrDTfccNB+li5dqoMGDdJOnTrpoEGDdPHixdq1a1e97777DnrffGlUVb3vvvsUgL733ns58+z+++/X8vJyfeONN2zltRW///3v9YQTTkh5bMmSJRqLxfTAgQMpjy9fvjzrQLKRI0fqHXfcoTt37tQTTzzxoAFcF154oY4cOdLS/vbt26dVVVXa2NhYyCFlZfVY9+/fr2eeeaY++OCDB+3DPE5V9fRY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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# extra code – this cell generates and saves Figure 7–9\n", "\n", "def plot_predictions(regressors, X, y, axes, style,\n", " label=None, data_style=\"b.\", data_label=None):\n", " x1 = np.linspace(axes[0], axes[1], 500)\n", " y_pred = sum(regressor.predict(x1.reshape(-1, 1))\n", " for regressor in regressors)\n", " plt.plot(X[:, 0], y, data_style, label=data_label)\n", " plt.plot(x1, y_pred, style, linewidth=2, label=label)\n", " if label or data_label:\n", " plt.legend(loc=\"upper center\")\n", " plt.axis(axes)\n", "\n", "plt.figure(figsize=(11, 11))\n", "\n", "plt.subplot(3, 2, 1)\n", "plot_predictions([tree_reg1], X, y, axes=[-0.5, 0.5, -0.2, 0.8], style=\"g-\",\n", " label=\"$h_1(x_1)$\", data_label=\"Training set\")\n", "plt.ylabel(\"$y$ \", rotation=0)\n", "plt.title(\"Residuals and tree predictions\")\n", "\n", "plt.subplot(3, 2, 2)\n", "plot_predictions([tree_reg1], X, y, axes=[-0.5, 0.5, -0.2, 0.8], style=\"r-\",\n", " label=\"$h(x_1) = h_1(x_1)$\", data_label=\"Training set\")\n", "plt.title(\"Ensemble predictions\")\n", "\n", "plt.subplot(3, 2, 3)\n", "plot_predictions([tree_reg2], X, y2, axes=[-0.5, 0.5, -0.4, 0.6], style=\"g-\",\n", " label=\"$h_2(x_1)$\", data_style=\"k+\",\n", " data_label=\"Residuals: $y - h_1(x_1)$\")\n", "plt.ylabel(\"$y$ \", rotation=0)\n", "\n", "plt.subplot(3, 2, 4)\n", "plot_predictions([tree_reg1, tree_reg2], X, y, axes=[-0.5, 0.5, -0.2, 0.8],\n", " style=\"r-\", label=\"$h(x_1) = h_1(x_1) + h_2(x_1)$\")\n", "\n", "plt.subplot(3, 2, 5)\n", "plot_predictions([tree_reg3], X, y3, axes=[-0.5, 0.5, -0.4, 0.6], style=\"g-\",\n", " label=\"$h_3(x_1)$\", data_style=\"k+\",\n", " data_label=\"Residuals: $y - h_1(x_1) - h_2(x_1)$\")\n", "plt.xlabel(\"$x_1$\")\n", "plt.ylabel(\"$y$ \", rotation=0)\n", "\n", "plt.subplot(3, 2, 6)\n", "plot_predictions([tree_reg1, tree_reg2, tree_reg3], X, y,\n", " axes=[-0.5, 0.5, -0.2, 0.8], style=\"r-\",\n", " label=\"$h(x_1) = h_1(x_1) + h_2(x_1) + h_3(x_1)$\")\n", "plt.xlabel(\"$x_1$\")\n", "\n", "save_fig(\"gradient_boosting_plot\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's try a gradient boosting regressor:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GradientBoostingRegressor(learning_rate=1.0, max_depth=2, n_estimators=3,\n", " random_state=42)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.ensemble import GradientBoostingRegressor\n", "\n", "gbrt = GradientBoostingRegressor(max_depth=2, n_estimators=3,\n", " learning_rate=1.0, random_state=42)\n", "gbrt.fit(X, y)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GradientBoostingRegressor(learning_rate=0.05, max_depth=2, n_estimators=500,\n", " n_iter_no_change=10, random_state=42)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gbrt_best = GradientBoostingRegressor(\n", " max_depth=2, learning_rate=0.05, n_estimators=500,\n", " n_iter_no_change=10, random_state=42)\n", "gbrt_best.fit(X, y)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "92" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gbrt_best.n_estimators_" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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xBNZvXp13P1Hu+eee9h5551p3749ffr04eSTTwZobDoxZswYzKzxcbwmELfffjtDhgyhXbt2DBkyhL/85S9N1rf0794qFTABVtwUkXLT6hLgbNqBSGFdccUVjB49mvfee48f/OAH/OQnP2Hu3LkAPPLII1x//fXcdtttfPzxxzzxxBOMHDmy8bm//vWv+etf/8qtt97KjBkzGDduHGeccQZPPvlkk31cdtllXHTRRbzzzjt0796d448/nnPOOYff/e53vPHGG6xfv56f//znTZ4zZ84c/va3v/HYY4/x/PPP8/HHH/OTn/wk4XH85S9/4Ve/+hVXXHEFM2fO5IYbbuCaa67htttuS3r86eznhRde4P333+fpp59mypQprF27lv33358OHTrwwgsvUFtbS79+/TjooINYGyRS//znP/n1r3/Nb3/7W95++2223357brzxxqRluf322znjjDM45ZRTeP/995k8eTI77rgjANOmTWs8zi+++KLxcax//etfnH322YwdO5YPPviAc889l7POOovHH3+8yXYt+bu3SgVMgBU3RaTsOOdK+rbHHnu41m7GjBlNF/gRQ8O/Zeikk05ylZWVrlOnTk1uF154YdSh4C6++OLGx5s2bXJVVVXuvvvuc845d8MNN7jtttvObdy4sdnrr1692nXo0MG9+OKLTZafe+657rDDDnPOOffZZ585wE2YMKFx/eOPP+4A98gjjzQuu+uuu1ynTp0aH1922WWuoqLCzZ07t3HZSy+95AD30UcfNW6z4447Nq4fMGCAu/fee5uU5Q9/+IPbYYcdEr5H6eznpJNOcr169XLr169v3Oavf/2rGzJkiGtoaGhcVldX53r27OkefPBB55xzNTU17rTTTmuyvwMPPNANGjSoyf6jj6G6utpddNFFCcsLuIceeqjJstj3bu+993annHJKk21OOukkt88++zR5nWz/7vE0+46Uohtv9N+zsWPjrgbedLmKm9tu69y//7359t57eT00EZFCSBY3Q60BNrNDzWyWmc02s4vjrL/AzN4Nbh+YWb2Z9Yz3WplSD+fC+Pa3v827777b5HbBBRc02WaXXXZp/H+bNm3YcsstG2f2GjNmDOvXr2fw4MGceuqpPPTQQ2zYsAGAGTNmsH79eg499NDGtqydO3fmz3/+M5988knCffTp0weAnXfeucmyNWvW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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# extra code – this cell generates and saves Figure 7–10\n", "\n", "fig, axes = plt.subplots(ncols=2, figsize=(10, 4), sharey=True)\n", "\n", "plt.sca(axes[0])\n", "plot_predictions([gbrt], X, y, axes=[-0.5, 0.5, -0.1, 0.8], style=\"r-\",\n", " label=\"Ensemble predictions\")\n", "plt.title(f\"learning_rate={gbrt.learning_rate}, \"\n", " f\"n_estimators={gbrt.n_estimators_}\")\n", "plt.xlabel(\"$x_1$\")\n", "plt.ylabel(\"$y$\", rotation=0)\n", "\n", "plt.sca(axes[1])\n", "plot_predictions([gbrt_best], X, y, axes=[-0.5, 0.5, -0.1, 0.8], style=\"r-\")\n", "plt.title(f\"learning_rate={gbrt_best.learning_rate}, \"\n", " f\"n_estimators={gbrt_best.n_estimators_}\")\n", "plt.xlabel(\"$x_1$\")\n", "\n", "save_fig(\"gbrt_learning_rate_plot\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "# extra code – at least not in this chapter, it's presented in chapter 2\n", "\n", "import pandas as pd\n", "from sklearn.model_selection import train_test_split\n", "import tarfile\n", "import urllib.request\n", "\n", "def load_housing_data():\n", " tarball_path = Path(\"datasets/housing.tgz\")\n", " if not tarball_path.is_file():\n", " Path(\"datasets\").mkdir(parents=True, exist_ok=True)\n", " url = \"https://github.com/ageron/data/raw/main/housing.tgz\"\n", " urllib.request.urlretrieve(url, tarball_path)\n", " with tarfile.open(tarball_path) as housing_tarball:\n", " housing_tarball.extractall(path=\"datasets\")\n", " return pd.read_csv(Path(\"datasets/housing/housing.csv\"))\n", "\n", "housing = load_housing_data()\n", "\n", "train_set, test_set = train_test_split(housing, test_size=0.2, random_state=42)\n", "housing_labels = train_set[\"median_house_value\"]\n", "housing = train_set.drop(\"median_house_value\", axis=1)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Pipeline(steps=[('columntransformer',\n", " ColumnTransformer(remainder='passthrough',\n", " transformers=[('ordinalencoder',\n", " OrdinalEncoder(),\n", " ['ocean_proximity'])])),\n", " ('histgradientboostingregressor',\n", " HistGradientBoostingRegressor(categorical_features=[0],\n", " random_state=42))])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.pipeline import make_pipeline\n", "from sklearn.compose import make_column_transformer\n", "from sklearn.ensemble import HistGradientBoostingRegressor\n", "from sklearn.preprocessing import OrdinalEncoder \n", "\n", "hgb_reg = make_pipeline(\n", " make_column_transformer((OrdinalEncoder(), [\"ocean_proximity\"]),\n", " remainder=\"passthrough\"),\n", " HistGradientBoostingRegressor(categorical_features=[0], random_state=42)\n", ")\n", "hgb_reg.fit(housing, housing_labels)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 10.000000\n", "mean 47613.307194\n", "std 1295.422509\n", "min 44963.213061\n", "25% 47001.233485\n", "50% 48000.963564\n", "75% 48488.093243\n", "max 49176.368465\n", "dtype: float64" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# extra code – evaluate the RMSE stats for the hgb_reg model\n", "\n", "from sklearn.model_selection import cross_val_score\n", "\n", "hgb_rmses = -cross_val_score(hgb_reg, housing, housing_labels,\n", " scoring=\"neg_root_mean_squared_error\", cv=10)\n", "pd.Series(hgb_rmses).describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Stacking" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "StackingClassifier(cv=5,\n", " estimators=[('lr', LogisticRegression(random_state=42)),\n", " ('rf', RandomForestClassifier(random_state=42)),\n", " ('svc', SVC(probability=True, random_state=42))],\n", " final_estimator=RandomForestClassifier(random_state=43))" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.ensemble import StackingClassifier\n", "\n", "stacking_clf = StackingClassifier(\n", " estimators=[\n", " ('lr', LogisticRegression(random_state=42)),\n", " ('rf', RandomForestClassifier(random_state=42)),\n", " ('svc', SVC(probability=True, random_state=42))\n", " ],\n", " final_estimator=RandomForestClassifier(random_state=43),\n", " cv=5 # number of cross-validation folds\n", ")\n", "stacking_clf.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.928" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stacking_clf.score(X_test, y_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise solutions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. to 7." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. If you have trained five different models and they all achieve 95% precision, you can try combining them into a voting ensemble, which will often give you even better results. It works better if the models are very different (e.g., an SVM classifier, a Decision Tree classifier, a Logistic Regression classifier, and so on). It is even better if they are trained on different training instances (that's the whole point of bagging and pasting ensembles), but if not this will still be effective as long as the models are very different.\n", "2. A hard voting classifier just counts the votes of each classifier in the ensemble and picks the class that gets the most votes. A soft voting classifier computes the average estimated class probability for each class and picks the class with the highest probability. This gives high-confidence votes more weight and often performs better, but it works only if every classifier is able to estimate class probabilities (e.g., for the SVM classifiers in Scikit-Learn you must set `probability=True`).\n", "3. It is quite possible to speed up training of a bagging ensemble by distributing it across multiple servers, since each predictor in the ensemble is independent of the others. The same goes for pasting ensembles and Random Forests, for the same reason. However, each predictor in a boosting ensemble is built based on the previous predictor, so training is necessarily sequential, and you will not gain anything by distributing training across multiple servers. Regarding stacking ensembles, all the predictors in a given layer are independent of each other, so they can be trained in parallel on multiple servers. However, the predictors in one layer can only be trained after the predictors in the previous layer have all been trained.\n", "4. With out-of-bag evaluation, each predictor in a bagging ensemble is evaluated using instances that it was not trained on (they were held out). This makes it possible to have a fairly unbiased evaluation of the ensemble without the need for an additional validation set. Thus, you have more instances available for training, and your ensemble can perform slightly better.\n", "5. When you are growing a tree in a Random Forest, only a random subset of the features is considered for splitting at each node. This is true as well for Extra-Trees, but they go one step further: rather than searching for the best possible thresholds, like regular Decision Trees do, they use random thresholds for each feature. This extra randomness acts like a form of regularization: if a Random Forest overfits the training data, Extra-Trees might perform better. Moreover, since Extra-Trees don't search for the best possible thresholds, they are much faster to train than Random Forests. However, they are neither faster nor slower than Random Forests when making predictions.\n", "6. If your AdaBoost ensemble underfits the training data, you can try increasing the number of estimators or reducing the regularization hyperparameters of the base estimator. You may also try slightly increasing the learning rate.\n", "7. If your Gradient Boosting ensemble overfits the training set, you should try decreasing the learning rate. You could also use early stopping to find the right number of predictors (you probably have too many)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 8. Voting Classifier" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercise: _Load the MNIST data and split it into a training set, a validation set, and a test set (e.g., use 50,000 instances for training, 10,000 for validation, and 10,000 for testing)._" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The MNIST dataset was loaded earlier. The dataset is already split into a training set (the first 60,000 instances) and a test set (the last 10,000 instances), and the training set is already shuffled. So all we need to do is to take the first 50,000 instances for the new training set, the next 10,000 for the validation set, and the last 10,000 for the test set:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "X_train, y_train = X_mnist[:50_000], y_mnist[:50_000]\n", "X_valid, y_valid = X_mnist[50_000:60_000], y_mnist[50_000:60_000]\n", "X_test, y_test = X_mnist[60_000:], y_mnist[60_000:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercise: _Then train various classifiers, such as a Random Forest classifier, an Extra-Trees classifier, and an SVM._" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import ExtraTreesClassifier\n", "from sklearn.svm import LinearSVC\n", "from sklearn.neural_network import MLPClassifier" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: The `LinearSVC` has a `dual` hyperparameter whose default value will change from `True` to `\"auto\"` in Scikit-Learn 1.5. To ensure this notebook continues to produce the same outputs, I'm setting it explicitly to `True`. Please see the [documentation](https://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html) for more details." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "random_forest_clf = RandomForestClassifier(n_estimators=100, random_state=42)\n", "extra_trees_clf = ExtraTreesClassifier(n_estimators=100, random_state=42)\n", "svm_clf = LinearSVC(max_iter=100, tol=20, dual=True, random_state=42)\n", "mlp_clf = MLPClassifier(random_state=42)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training the RandomForestClassifier(random_state=42)\n", "Training the ExtraTreesClassifier(random_state=42)\n", "Training the LinearSVC(max_iter=100, random_state=42, tol=20)\n", "Training the MLPClassifier(random_state=42)\n" ] } ], "source": [ "estimators = [random_forest_clf, extra_trees_clf, svm_clf, mlp_clf]\n", "for estimator in estimators:\n", " print(\"Training the\", estimator)\n", " estimator.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[0.9736, 0.9743, 0.8662, 0.966]" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[estimator.score(X_valid, y_valid) for estimator in estimators]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The linear SVM is far outperformed by the other classifiers. However, let's keep it for now since it may improve the voting classifier's performance." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercise: _Next, try to combine \\[the classifiers\\] into an ensemble that outperforms them all on the validation set, using a soft or hard voting classifier._" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import VotingClassifier" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "named_estimators = [\n", " (\"random_forest_clf\", random_forest_clf),\n", " (\"extra_trees_clf\", extra_trees_clf),\n", " (\"svm_clf\", svm_clf),\n", " (\"mlp_clf\", mlp_clf),\n", "]" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "voting_clf = VotingClassifier(named_estimators)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "VotingClassifier(estimators=[('random_forest_clf',\n", " RandomForestClassifier(random_state=42)),\n", " ('extra_trees_clf',\n", " ExtraTreesClassifier(random_state=42)),\n", " ('svm_clf',\n", " LinearSVC(max_iter=100, random_state=42, tol=20)),\n", " ('mlp_clf', MLPClassifier(random_state=42))])" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9758" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.score(X_valid, y_valid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `VotingClassifier` made a clone of each classifier, and it trained the clones using class indices as the labels, not the original class names. Therefore, to evaluate these clones we need to provide class indices as well. To convert the classes to class indices, we can use a `LabelEncoder`:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "from sklearn.preprocessing import LabelEncoder\n", "\n", "encoder = LabelEncoder()\n", "y_valid_encoded = encoder.fit_transform(y_valid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, in the case of MNIST, it's simpler to just convert the class names to integers, since the digits match the class ids:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "y_valid_encoded = y_valid.astype(np.int64)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's evaluate the classifier clones:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[0.9736, 0.9743, 0.8662, 0.966]" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[estimator.score(X_valid, y_valid_encoded)\n", " for estimator in voting_clf.estimators_]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's remove the SVM to see if performance improves. It is possible to remove an estimator by setting it to `\"drop\"` using `set_params()` like this:" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "VotingClassifier(estimators=[('random_forest_clf',\n", " RandomForestClassifier(random_state=42)),\n", " ('extra_trees_clf',\n", " ExtraTreesClassifier(random_state=42)),\n", " ('svm_clf', 'drop'),\n", " ('mlp_clf', MLPClassifier(random_state=42))])" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.set_params(svm_clf=\"drop\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This updated the list of estimators:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('random_forest_clf', RandomForestClassifier(random_state=42)),\n", " ('extra_trees_clf', ExtraTreesClassifier(random_state=42)),\n", " ('svm_clf', 'drop'),\n", " ('mlp_clf', MLPClassifier(random_state=42))]" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.estimators" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, it did not update the list of _trained_ estimators:" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[RandomForestClassifier(random_state=42),\n", " ExtraTreesClassifier(random_state=42),\n", " LinearSVC(max_iter=100, random_state=42, tol=20),\n", " MLPClassifier(random_state=42)]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.estimators_" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'random_forest_clf': RandomForestClassifier(random_state=42),\n", " 'extra_trees_clf': ExtraTreesClassifier(random_state=42),\n", " 'svm_clf': LinearSVC(max_iter=100, random_state=42, tol=20),\n", " 'mlp_clf': MLPClassifier(random_state=42)}" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.named_estimators_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So we can either fit the `VotingClassifier` again, or just remove the SVM from the list of trained estimators, both in `estimators_` and `named_estimators_`:" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "svm_clf_trained = voting_clf.named_estimators_.pop(\"svm_clf\")\n", "voting_clf.estimators_.remove(svm_clf_trained)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's evaluate the `VotingClassifier` again:" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9769" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.score(X_valid, y_valid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A bit better! The SVM was hurting performance. Now let's try using a soft voting classifier. We do not actually need to retrain the classifier, we can just set `voting` to `\"soft\"`:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "voting_clf.voting = \"soft\"" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9724" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.score(X_valid, y_valid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nope, hard voting wins in this case." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_Once you have found \\[an ensemble that performs better than the individual predictors\\], try it on the test set. How much better does it perform compared to the individual classifiers?_" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9727" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "voting_clf.voting = \"hard\"\n", "voting_clf.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[0.968, 0.9703, 0.965]" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[estimator.score(X_test, y_test.astype(np.int64))\n", " for estimator in voting_clf.estimators_]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The voting classifier reduced the error rate of the best model from about 3% to 2.7%, which means 10% less errors." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 9. Stacking Ensemble" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercise: _Run the individual classifiers from the previous exercise to make predictions on the validation set, and create a new training set with the resulting predictions: each training instance is a vector containing the set of predictions from all your classifiers for an image, and the target is the image's class. Train a classifier on this new training set._" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "X_valid_predictions = np.empty((len(X_valid), len(estimators)), dtype=object)\n", "\n", "for index, estimator in enumerate(estimators):\n", " X_valid_predictions[:, index] = estimator.predict(X_valid)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([['3', '3', '3', '3'],\n", " ['8', '8', '8', '8'],\n", " ['6', '6', '6', '6'],\n", " ...,\n", " ['5', '5', '5', '5'],\n", " ['6', '6', '6', '6'],\n", " ['8', '8', '8', '8']], dtype=object)" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_valid_predictions" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RandomForestClassifier(n_estimators=200, oob_score=True, random_state=42)" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rnd_forest_blender = RandomForestClassifier(n_estimators=200, oob_score=True,\n", " random_state=42)\n", "rnd_forest_blender.fit(X_valid_predictions, y_valid)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9722" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rnd_forest_blender.oob_score_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You could fine-tune this blender or try other types of blenders (e.g., an `MLPClassifier`), then select the best one using cross-validation, as always." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercise: _Congratulations, you have just trained a blender, and together with the classifiers they form a stacking ensemble! Now let's evaluate the ensemble on the test set. For each image in the test set, make predictions with all your classifiers, then feed the predictions to the blender to get the ensemble's predictions. How does it compare to the voting classifier you trained earlier?_" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "X_test_predictions = np.empty((len(X_test), len(estimators)), dtype=object)\n", "\n", "for index, estimator in enumerate(estimators):\n", " X_test_predictions[:, index] = estimator.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "y_pred = rnd_forest_blender.predict(X_test_predictions)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9705" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "accuracy_score(y_test, y_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This stacking ensemble does not perform as well as the voting classifier we trained earlier." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercise: _Now try again using a `StackingClassifier` instead: do you get better performance? If so, why?_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since `StackingClassifier` uses K-Fold cross-validation, we don't need a separate validation set, so let's join the training set and the validation set into a bigger training set:" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [], "source": [ "X_train_full, y_train_full = X_mnist[:60_000], y_mnist[:60_000]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's create and train the stacking classifier on the full training set:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Warning**: the following cell will take quite a while to run (15-30 minutes depending on your hardware), as it uses K-Fold validation with 5 folds by default. It will train the 4 classifiers 5 times each on 80% of the full training set to make the predictions, plus one last time each on the full training set, and lastly it will train the final model on the predictions. That's a total of 25 models to train!" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "StackingClassifier(estimators=[('random_forest_clf',\n", " RandomForestClassifier(random_state=42)),\n", " ('extra_trees_clf',\n", " ExtraTreesClassifier(random_state=42)),\n", " ('svm_clf',\n", " LinearSVC(max_iter=100, random_state=42,\n", " tol=20)),\n", " ('mlp_clf', MLPClassifier(random_state=42))],\n", " final_estimator=RandomForestClassifier(n_estimators=200,\n", " oob_score=True,\n", " random_state=42))" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stack_clf = StackingClassifier(named_estimators,\n", " final_estimator=rnd_forest_blender)\n", "stack_clf.fit(X_train_full, y_train_full)" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9784" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stack_clf.score(X_test, y_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `StackingClassifier` significantly outperforms the custom stacking implementation we tried earlier! This is for mainly two reasons:\n", "\n", "* Since we could reclaim the validation set, the `StackingClassifier` was trained on a larger dataset.\n", "* It used `predict_proba()` if available, or else `decision_function()` if available, or else `predict()`. This gave the blender much more nuanced inputs to work with." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And that's all for today, congratulations on finishing the chapter and the exercises!" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.13" }, "nav_menu": { "height": "252px", "width": "333px" }, "toc": { "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 6, "toc_cell": false, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }