Files
FYS-STK4155/doc/pub/week45/ipynb/week45.ipynb
T
Morten Hjorth-Jensen 9b05786f61 added notes nov 12
2020-11-12 13:24:03 +01:00

1964 lines
421 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- dom:TITLE: Week 45: Random Forests and Boosting -->\n",
"# Week 45: Random Forests and Boosting\n",
"<!-- dom:AUTHOR: Morten Hjorth-Jensen at Department of Physics, University of Oslo & Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University -->\n",
"<!-- Author: --> \n",
"**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n",
"\n",
"Date: **Nov 12, 2020**\n",
"\n",
"Copyright 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n",
"\n",
"\n",
"\n",
"## Overview of week 45\n",
"\n",
"* **Thursday**: Wrapping up from last week. Bagging and Random forests. Boosting methods. [Link to video of lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureNovember5.mp4?vrtx=view-as-webpage)\n",
"\n",
"* **Friday**: Boosting and gradient boosting. [Link to video of lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureNovember6.mp4?vrtx=view-as-webpage)\n",
"\n",
"Geron's chapter 7. See also lecture from [STK-IN4300, lecture 9](https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_9.pdf). Chapter 10 (sections 10.1-10.10 are the most relevant ones) of Hastie et al contains also a good discussion.\n",
"\n",
"[Video on boosting methods by Hastie (the textbook author)](https://www.youtube.com/watch?v=wPqtzj5VZus&ab_channel=H2O.ai).\n",
"\n",
"## Thursday\n",
"\n",
"Bagging, voting and random forests.\n",
"The material on bagging and voting is a repeat from last week and can be found in the slides from week 44.\n",
"We repeat here the voting approach since this will serve as a motivation for boosting methods later.\n",
"\n",
"## Why Voting?\n",
"\n",
"The idea behind boosting, and voting as well can be phrased as follows:\n",
"**Can a group of people somehow arrive at highly\n",
"reasoned decisions, despite the weak judgement of the individual\n",
"members?**\n",
"\n",
"The aim is to create a good classifier by combining several weak classifiers.\n",
"**A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random.**\n",
"\n",
"The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data.\n",
"In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in\n",
"each iteration. \n",
"\n",
"Decision trees play an important role as our weak classifier. They serve as the basic method. \n",
"\n",
"## Tossing coins\n",
"\n",
"The simplest case is a so-called voting ensemble. To illustrate this,\n",
"think of yourself tossing coins with a biased outcome of 51 per cent\n",
"for heads and 49% for tails. With only few tosses,\n",
"you may not clearly see this distribution for heads and tails. However, after some\n",
"thousands of tosses, there will be a clear majority of heads. With 2000 tosses\n",
"you should see approximately 1020 heads and 980 tails.\n",
"\n",
"We can then state that the outcome is a clear majority of heads. If\n",
"you do this ten thousand times, it is easy to see that there is a 97%\n",
"likelihood of a majority of heads.\n",
"\n",
"Another example would be to collect all polls before an\n",
"election. Different polls may show different likelihoods for a\n",
"candidate winning with say a majority of the popular vote. The majority vote\n",
"would then consist in many polls indicating that this candidate will\n",
"actually win.\n",
"\n",
"The example here shows how we can implement the coin tossing case,\n",
"clealry demostrating that after some tosses we see the [law of large](https://en.wikipedia.org/wiki/Law_of_large_numbers)\n",
"numbers kicking in.\n",
"\n",
"## Standard imports first"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"# Common imports\n",
"from IPython.display import Image \n",
"from pydot import graph_from_dot_data\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.tree import export_graphviz\n",
"from sklearn.preprocessing import StandardScaler, OneHotEncoder\n",
"from sklearn.compose import ColumnTransformer\n",
"from IPython.display import Image \n",
"from pydot import graph_from_dot_data\n",
"import os\n",
"\n",
"# Where to save the figures and data files\n",
"PROJECT_ROOT_DIR = \"Results\"\n",
"FIGURE_ID = \"Results/FigureFiles\"\n",
"DATA_ID = \"DataFiles/\"\n",
"\n",
"if not os.path.exists(PROJECT_ROOT_DIR):\n",
" os.mkdir(PROJECT_ROOT_DIR)\n",
"\n",
"if not os.path.exists(FIGURE_ID):\n",
" os.makedirs(FIGURE_ID)\n",
"\n",
"if not os.path.exists(DATA_ID):\n",
" os.makedirs(DATA_ID)\n",
"\n",
"def image_path(fig_id):\n",
" return os.path.join(FIGURE_ID, fig_id)\n",
"\n",
"def data_path(dat_id):\n",
" return os.path.join(DATA_ID, dat_id)\n",
"\n",
"def save_fig(fig_id):\n",
" plt.savefig(image_path(fig_id) + \".png\", format='png')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simple Voting Example, head or tail"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x252 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"# Common imports\n",
"import numpy as np\n",
"import matplotlib\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib.colors import ListedColormap\n",
"plt.rcParams['axes.labelsize'] = 14\n",
"plt.rcParams['xtick.labelsize'] = 12\n",
"plt.rcParams['ytick.labelsize'] = 12\n",
"\n",
"heads_proba = 0.51\n",
"coin_tosses = (np.random.rand(10000, 10) < heads_proba).astype(np.int32)\n",
"cumulative_heads_ratio = np.cumsum(coin_tosses, axis=0) / np.arange(1, 10001).reshape(-1, 1)\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",
"save_fig(\"votingsimple\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Using the Voting Classifier\n",
"\n",
"We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of **Scikit-Learn**."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LogisticRegression 0.864\n",
"RandomForestClassifier 0.872\n",
"SVC 0.888\n",
"VotingClassifier 0.896\n",
"LogisticRegression 0.864\n",
"RandomForestClassifier 0.872\n",
"SVC 0.888\n",
"VotingClassifier 0.912\n"
]
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"from sklearn.datasets import make_moons\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",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.ensemble import VotingClassifier\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.svm import SVC\n",
"\n",
"log_clf = LogisticRegression(solver=\"liblinear\", random_state=42)\n",
"rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)\n",
"svm_clf = SVC(gamma=\"auto\", random_state=42)\n",
"\n",
"voting_clf = VotingClassifier(\n",
" estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n",
" voting='hard')\n",
"\n",
"voting_clf.fit(X_train, y_train)\n",
"\n",
"from sklearn.metrics import accuracy_score\n",
"\n",
"for clf in (log_clf, rnd_clf, svm_clf, voting_clf):\n",
" clf.fit(X_train, y_train)\n",
" y_pred = clf.predict(X_test)\n",
" print(clf.__class__.__name__, accuracy_score(y_test, y_pred))\n",
"\n",
"log_clf = LogisticRegression(solver=\"liblinear\", random_state=42)\n",
"rnd_clf = RandomForestClassifier(n_estimators=10, random_state=42)\n",
"svm_clf = SVC(gamma=\"auto\", probability=True, random_state=42)\n",
"voting_clf = VotingClassifier(\n",
" estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n",
" voting='soft')\n",
"voting_clf.fit(X_train, y_train)\n",
"\n",
"from sklearn.metrics import accuracy_score\n",
"\n",
"for clf in (log_clf, rnd_clf, svm_clf, voting_clf):\n",
" clf.fit(X_train, y_train)\n",
" y_pred = clf.predict(X_test)\n",
" print(clf.__class__.__name__, accuracy_score(y_test, y_pred))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Voting and Bagging"
]
},
{
"cell_type": "code",
"execution_count": 4,
"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": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"from sklearn.datasets import make_moons\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",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.ensemble import VotingClassifier\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.svm import SVC\n",
"\n",
"log_clf = LogisticRegression(random_state=42)\n",
"rnd_clf = RandomForestClassifier(random_state=42)\n",
"svm_clf = SVC(random_state=42)\n",
"\n",
"voting_clf = VotingClassifier(\n",
" estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n",
" voting='hard')\n",
"voting_clf.fit(X_train, y_train)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LogisticRegression 0.864\n",
"RandomForestClassifier 0.896\n",
"SVC 0.896\n",
"VotingClassifier 0.912\n"
]
}
],
"source": [
"from sklearn.metrics import accuracy_score\n",
"\n",
"for clf in (log_clf, rnd_clf, svm_clf, voting_clf):\n",
" clf.fit(X_train, y_train)\n",
" y_pred = clf.predict(X_test)\n",
" print(clf.__class__.__name__, accuracy_score(y_test, y_pred))"
]
},
{
"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(probability=True, random_state=42))],\n",
" voting='soft')"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"log_clf = LogisticRegression(random_state=42)\n",
"rnd_clf = RandomForestClassifier(random_state=42)\n",
"svm_clf = SVC(probability=True, random_state=42)\n",
"\n",
"voting_clf = VotingClassifier(\n",
" estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],\n",
" voting='soft')\n",
"voting_clf.fit(X_train, y_train)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LogisticRegression 0.864\n",
"RandomForestClassifier 0.896\n",
"SVC 0.896\n",
"VotingClassifier 0.92\n"
]
}
],
"source": [
"from sklearn.metrics import accuracy_score\n",
"\n",
"for clf in (log_clf, rnd_clf, svm_clf, voting_clf):\n",
" clf.fit(X_train, y_train)\n",
" y_pred = clf.predict(X_test)\n",
" print(clf.__class__.__name__, accuracy_score(y_test, y_pred))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Random forests\n",
"\n",
"Random forests provide an improvement over bagged trees by way of a\n",
"small tweak that decorrelates the trees. \n",
"\n",
"As in bagging, we build a\n",
"number of decision trees on bootstrapped training samples. But when\n",
"building these decision trees, each time a split in a tree is\n",
"considered, a random sample of $m$ predictors is chosen as split\n",
"candidates from the full set of $p$ predictors. The split is allowed to\n",
"use only one of those $m$ predictors. \n",
"\n",
"A fresh sample of $m$ predictors is\n",
"taken at each split, and typically we choose"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"m\\approx \\sqrt{p}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In building a random forest, at\n",
"each split in the tree, the algorithm is not even allowed to consider\n",
"a majority of the available predictors. \n",
"\n",
"The reason for this is rather clever. Suppose that there is one very\n",
"strong predictor in the data set, along with a number of other\n",
"moderately strong predictors. Then in the collection of bagged\n",
"variable importance random forest trees, most or all of the trees will\n",
"use this strong predictor in the top split. Consequently, all of the\n",
"bagged trees will look quite similar to each other. Hence the\n",
"predictions from the bagged trees will be highly correlated.\n",
"Unfortunately, averaging many highly correlated quantities does not\n",
"lead to as large of a reduction in variance as averaging many\n",
"uncorrelated quantities. In particular, this means that bagging will\n",
"not lead to a substantial reduction in variance over a single tree in\n",
"this setting.\n",
"\n",
"\n",
"## Random Forest Algorithm\n",
"The algorithm described here can be applied to both classification and regression problems.\n",
"\n",
"We will grow of forest of say $B$ trees.\n",
"1. For $b=1:B$\n",
"\n",
" * Draw a bootstrap sample from the training data organized in our $\\boldsymbol{X}$ matrix.\n",
"\n",
" * We grow then a random forest tree $T_b$ based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached\n",
"\n",
"1. we select $m \\le p$ variables at random from the $p$ predictors/features\n",
"\n",
"2. pick the best split point among the $m$ features using for example the CART algorithm and create a new node\n",
"\n",
"3. split the node into daughter nodes\n",
"\n",
"\n",
"\n",
"4. Output then the ensemble of trees $\\{T_b\\}_1^{B}$ and make predictions for either a regression type of problem or a classification type of problem. \n",
"\n",
"## Random Forests Compared with other Methods on the Cancer Data"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(426, 30)\n",
"(143, 30)\n",
"Test set accuracy with Logistic Regression: 0.95\n",
"Test set accuracy with SVM: 0.63\n",
"Test set accuracy with Decision Trees: 0.92\n",
"Test set accuracy Logistic Regression with scaled data: 0.96\n",
"Test set accuracy SVM with scaled data: 0.96\n",
"Test set accuracy with Decision Trees and scaled data: 0.90\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
" extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1. 0.8 0.93333333 1. 1. 0.92857143\n",
" 1. 0.92857143 0.92857143 0.92857143]\n",
"Test set accuracy with Random Forests and scaled data: 0.97\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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j9q+9ZcpU4b+/fvj5+fH448/brscdrMiRYqwdOlSRo8eTUBAAPXr17d9yE+cOJGmTZvSvn172//B7Ro1ahRVqlQhJiaGKlWqMH78eMD6JXLcuHGA9RJq9+7dqVevHkFBQUyfPt121vX555/z/PPPU7t2bWrVqsXDDz9s2/bff/9Nu3btciXOHLnVzg1HPRq5emTeiZrH4uPj5cMPP5TixYsLICVLlpSpU6fm+2Gv2ZUf5qO400RFRYmIdThko0aNJDg42MER5S/33XefREREODqMPLdjxw55+umns9VWO7PzkYsXL9omfQfrPMpTpkyxXapQ6lYMGDCA/fv3ExsbS9++fTP9dn4n+vjjjwkLC8uT+Vjyk4sXLzJx4kSH7FsTxW1wc3OjfPny1KhRg2nTpvHII484OiRVAHz77beODiFfu1NL7d8YteUITpcoYorEg7971g3t2uECWQAAFClJREFUQERYuHAhTZo0oU6dOhhj+OabbyhdujTFixd3SExKKWVvTteZHVLlPKzukef7PXDgAO3ataN3794MGTLENqqlYsWKmiSUUgWa0yWKvBYbG8ubb76Jv78/f/75J25ubjz99NOODksppfKM0116ykurVq1i8ODBtnHbzz77LB988AFubm4OjkwppfKOnlFk4Pz583Ts2JHDhw9Tr1491q1bxxdffKFJQjmN48ePc9ddd1G/fn3q1atHnz59bCVIwFrGpEmTJray47Nnz071+vnz5+Pr64uPjw/16tWzlSXJT5YtW8aECRMcHUaGlixZgo+PD4UKFWL79u0Ztvvtt9+oW7cutWvXTlUu//Lly7Rv3x5PT0/at29PREQEAHv27OGZZ56xd/j/utVxtY562LMoYFJSklgsFtvypEmT5L333nOaAn72cPN4bBif6pGRWbO2p2rXv//yDNs6miPvebFnyfNjx46Jj4+PiFiP8cEHH5RvvvlGRETOnj0rHh4etns0wsPDpWHDhvLzzz+LiMjKlSulQYMGcvr0aRERuX79usyePTtX48uN8t/Nmze3lU3Pq33mxP79+yU0NFRatWol27ZtS7dNYmKi1KxZU44cOSJxcXHi7///7Z17dBRVnsc/PyAQBhByRDmREAEfkxBJCK8oyyOMbHQAIyoK6KKogCADLKzy0DkDh1knKI+zAxxEYDngMBIFBR+7jsIqD1E0CEF5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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split \n",
"from sklearn.datasets import load_breast_cancer\n",
"from sklearn.svm import SVC\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"from sklearn.ensemble import BaggingClassifier\n",
"\n",
"# Load the data\n",
"cancer = load_breast_cancer()\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n",
"print(X_train.shape)\n",
"print(X_test.shape)\n",
"# Logistic Regression\n",
"logreg = LogisticRegression(solver='lbfgs')\n",
"logreg.fit(X_train, y_train)\n",
"print(\"Test set accuracy with Logistic Regression: {:.2f}\".format(logreg.score(X_test,y_test)))\n",
"# Support vector machine\n",
"svm = SVC(gamma='auto', C=100)\n",
"svm.fit(X_train, y_train)\n",
"print(\"Test set accuracy with SVM: {:.2f}\".format(svm.score(X_test,y_test)))\n",
"# Decision Trees\n",
"deep_tree_clf = DecisionTreeClassifier(max_depth=None)\n",
"deep_tree_clf.fit(X_train, y_train)\n",
"print(\"Test set accuracy with Decision Trees: {:.2f}\".format(deep_tree_clf.score(X_test,y_test)))\n",
"#now scale the data\n",
"from sklearn.preprocessing import StandardScaler\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"# Logistic Regression\n",
"logreg.fit(X_train_scaled, y_train)\n",
"print(\"Test set accuracy Logistic Regression with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n",
"# Support Vector Machine\n",
"svm.fit(X_train_scaled, y_train)\n",
"print(\"Test set accuracy SVM with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n",
"# Decision Trees\n",
"deep_tree_clf.fit(X_train_scaled, y_train)\n",
"print(\"Test set accuracy with Decision Trees and scaled data: {:.2f}\".format(deep_tree_clf.score(X_test_scaled,y_test)))\n",
"\n",
"\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.preprocessing import LabelEncoder\n",
"from sklearn.model_selection import cross_validate\n",
"# Data set not specificied\n",
"#Instantiate the model with 500 trees and entropy as splitting criteria\n",
"Random_Forest_model = RandomForestClassifier(n_estimators=500,criterion=\"entropy\")\n",
"Random_Forest_model.fit(X_train_scaled, y_train)\n",
"#Cross validation\n",
"accuracy = cross_validate(Random_Forest_model,X_test_scaled,y_test,cv=10)['test_score']\n",
"print(accuracy)\n",
"print(\"Test set accuracy with Random Forests and scaled data: {:.2f}\".format(Random_Forest_model.score(X_test_scaled,y_test)))\n",
"\n",
"\n",
"import scikitplot as skplt\n",
"y_pred = Random_Forest_model.predict(X_test_scaled)\n",
"skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)\n",
"plt.show()\n",
"y_probas = Random_Forest_model.predict_proba(X_test_scaled)\n",
"skplt.metrics.plot_roc(y_test, y_probas)\n",
"plt.show()\n",
"skplt.metrics.plot_cumulative_gain(y_test, y_probas)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Recall that the cumulative gains curve shows the percentage of the\n",
"overall number of cases in a given category *gained* by targeting a\n",
"percentage of the total number of cases.\n",
"\n",
"Similarly, the receiver operating characteristic curve, or ROC curve,\n",
"displays the diagnostic ability of a binary classifier system as its\n",
"discrimination threshold is varied. It plots the true positive rate against the false positive rate.\n",
"\n",
"\n",
"## Compare Bagging on Trees with Random Forests"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"bag_clf = BaggingClassifier(\n",
" DecisionTreeClassifier(splitter=\"random\", max_leaf_nodes=16, random_state=42),\n",
" n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9790209790209791"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bag_clf.fit(X_train, y_train)\n",
"y_pred = bag_clf.predict(X_test)\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)\n",
"rnd_clf.fit(X_train, y_train)\n",
"y_pred_rf = rnd_clf.predict(X_test)\n",
"np.sum(y_pred == y_pred_rf) / len(y_pred)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Boosting, a Bird's Eye View\n",
"\n",
"The basic idea is to combine weak classifiers in order to create a good\n",
"classifier. With a weak classifier we often intend a classifier which\n",
"produces results which are only slightly better than we would get by\n",
"random guesses.\n",
"\n",
"This is done by applying in an iterative way a weak (or a standard\n",
"classifier like decision trees) to modify the data. In each iteration\n",
"we emphasize those observations which are misclassified by weighting\n",
"them with a factor.\n",
"\n",
"\n",
"## What is boosting? Additive Modelling/Iterative Fitting\n",
"\n",
"Boosting is a way of fitting an additive expansion in a set of\n",
"elementary basis functions like for example some simple polynomials.\n",
"Assume for example that we have a function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $\\beta_m$ are the expansion parameters to be determined in a\n",
"minimization process and $b(x;\\gamma_m)$ are some simple functions of\n",
"the multivariable parameter $x$ which is characterized by the\n",
"parameters $\\gamma_m$.\n",
"\n",
"As an example, consider the Sigmoid function we used in logistic\n",
"regression. In that case, we can translate the function\n",
"$b(x;\\gamma_m)$ into the Sigmoid function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\sigma(t) = \\frac{1}{1+\\exp{(-t)}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $t=\\gamma_0+\\gamma_1 x$ and the parameters $\\gamma_0$ and\n",
"$\\gamma_1$ were determined by the Logistic Regression fitting\n",
"algorithm.\n",
"\n",
"As another example, consider the cost function we defined for linear regression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{y},\\boldsymbol{f}) = \\frac{1}{n} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this case the function $f(x)$ was replaced by the design matrix\n",
"$\\boldsymbol{X}$ and the unknown linear regression parameters $\\boldsymbol{\\beta}$,\n",
"that is $\\boldsymbol{f}=\\boldsymbol{X}\\boldsymbol{\\beta}$. In linear regression we can \n",
"simply invert a matrix and obtain the parameters $\\beta$ by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\boldsymbol{\\beta}=\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$.\n",
"\n",
"\n",
"## Iterative Fitting, Regression and Squared-error Cost Function\n",
"\n",
"The way we proceed is as follows (here we specialize to the squared-error cost function)\n",
"\n",
"1. Establish a cost function, here ${\\cal C}(\\boldsymbol{y},\\boldsymbol{f}) = \\frac{1}{n} \\sum_{i=0}^{n-1}(y_i-f_M(x_i))^2$ with $f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m)$.\n",
"\n",
"2. Initialize with a guess $f_0(x)$. It could be one or even zero or some random numbers.\n",
"\n",
"3. For $m=1:M$\n",
"\n",
"a. minimize $\\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta b(x;\\gamma))^2$ wrt $\\gamma$ and $\\beta$\n",
"\n",
"b. This gives the optimal values $\\beta_m$ and $\\gamma_m$\n",
"\n",
"c. Determine then the new values $f_m(x)=f_{m-1}(x) +\\beta_m b(x;\\gamma_m)$\n",
"\n",
"\n",
"We could use any of the algorithms we have discussed till now. If we\n",
"use trees, $\\gamma$ parameterizes the split variables and split points\n",
"at the internal nodes, and the predictions at the terminal nodes.\n",
"\n",
"\n",
"## Squared-Error Example and Iterative Fitting\n",
"\n",
"To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.\n",
"\n",
"For simplicity we assume also that our functions $b(x;\\gamma)=1+\\gamma x$. \n",
"\n",
"This means that for every iteration $m$, we need to optimize"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"(\\beta_m,\\gamma_m) = \\mathrm{argmin}_{\\beta,\\lambda}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta b(x;\\gamma))^2=\\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta(1+\\gamma x_i))^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We start our iteration by simply setting $f_0(x)=0$. \n",
"Taking the derivatives with respect to $\\beta$ and $\\gamma$ we obtain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial {\\cal C}}{\\partial \\beta} = -2\\sum_{i}(1+\\gamma x_i)(y_i-\\beta(1+\\gamma x_i))=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\frac{\\partial {\\cal C}}{\\partial \\gamma} =-2\\sum_{i}\\beta x_i(y_i-\\beta(1+\\gamma x_i))=0.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can then rewrite these equations as (defining $\\boldsymbol{w}=\\boldsymbol{e}+\\gamma \\boldsymbol{x})$ with $\\boldsymbol{e}$ being the unit vector)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\gamma \\boldsymbol{w}^T(\\boldsymbol{y}-\\beta\\gamma \\boldsymbol{w})=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which gives us $\\beta = \\boldsymbol{w}^T\\boldsymbol{y}/(\\boldsymbol{w}^T\\boldsymbol{w})$. Similarly we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\beta\\gamma \\boldsymbol{x}^T(\\boldsymbol{y}-\\beta(1+\\gamma \\boldsymbol{x}))=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which leads to $\\gamma =(\\boldsymbol{x}^T\\boldsymbol{y}-\\beta\\boldsymbol{x}^T\\boldsymbol{e})/(\\beta\\boldsymbol{x}^T\\boldsymbol{x})$. Inserting\n",
"for $\\beta$ gives us an equation for $\\gamma$. This is a non-linear equation in the unknown $\\gamma$ and has to be solved numerically. \n",
"\n",
"The solution to these two equations gives us in turn $\\beta_1$ and $\\gamma_1$ leading to the new expression for $f_1(x)$ as\n",
"$f_1(x) = \\beta_1(1+\\gamma_1x)$. Doing this $M$ times results in our final estimate for the function $f$. \n",
"\n",
"\n",
"\n",
"## Iterative Fitting, Classification and AdaBoost\n",
"\n",
"Let us consider a binary classification problem with two outcomes $y_i \\in \\{-1,1\\}$ and $i=0,1,2,\\dots,n-1$ as our set of\n",
"observations. We define a classification function $G(x)$ which produces a prediction taking one or the other of the two values \n",
"$\\{-1,1\\}$.\n",
"\n",
"The error rate of the training sample is then"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathrm{\\overline{err}}=\\frac{1}{n} \\sum_{i=0}^{n-1} I(y_i\\ne G(x_i)).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The iterative procedure starts with defining a weak classifier whose\n",
"error rate is barely better than random guessing. The iterative\n",
"procedure in boosting is to sequentially apply a weak\n",
"classification algorithm to repeatedly modified versions of the data\n",
"producing a sequence of weak classifiers $G_m(x)$.\n",
"\n",
"Here we will express our function $f(x)$ in terms of $G(x)$. That is"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"will be a function of"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"G_M(x) = \\mathrm{sign} \\sum_{i=1}^M \\alpha_m G_m(x).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Adaptive Boosting, AdaBoost\n",
"\n",
"In our iterative procedure we define thus"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"f_m(x) = f_{m-1}(x)+\\beta_mG_m(x).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the\n",
"exponential cost/loss function defined as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}\\exp{(-y_i(f_{m-1}(x_i)+\\beta G(x_i))}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We optimize $\\beta$ and $G$ for each value of $m=1:M$ as we did in the regression case.\n",
"This is normally done in two steps. Let us however first rewrite the cost function as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}w_i^{m}\\exp{(-y_i\\beta G(x_i))},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$.\n",
"\n",
"## Building up AdaBoost\n",
"\n",
"First, for any $\\beta > 0$, we optimize $G$ by setting"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"G_m(x) = \\mathrm{sign} \\sum_{i=0}^{n-1} w_i^m I(y_i \\ne G_(x_i)),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which is the classifier that minimizes the weighted error rate in predicting $y$.\n",
"\n",
"We can do this by rewriting"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\exp{-(\\beta)}\\sum_{y_i=G(x_i)}w_i^m+\\exp{(\\beta)}\\sum_{y_i\\ne G(x_i)}w_i^m,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which can be rewritten as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"(\\exp{(\\beta)}-\\exp{-(\\beta)})\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i))+\\exp{(-\\beta)}\\sum_{i=0}^{n-1}w_i^m=0,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which leads to"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\beta_m = \\frac{1}{2}\\log{\\frac{1-\\mathrm{\\overline{err}}}{\\mathrm{\\overline{err}}}},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where we have redefined the error as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathrm{\\overline{err}}_m=\\frac{1}{n}\\frac{\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i)}{\\sum_{i=0}^{n-1}w_i^m},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which leads to an update of"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"f_m(x) = f_{m-1}(x) +\\beta_m G_m(x).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This leads to the new weights"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"w_i^{m+1} = w_i^m \\exp{(-y_i\\beta_m G_m(x_i))}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Adaptive boosting: AdaBoost, Basic Algorithm\n",
"\n",
"The algorithm here is rather straightforward. Assume that our weak\n",
"classifier is a decision tree and we consider a binary set of outputs\n",
"with $y_i \\in \\{-1,1\\}$ and $i=0,1,2,\\dots,n-1$ as our set of\n",
"observations. Our design matrix is given in terms of the\n",
"feature/predictor vectors\n",
"$\\boldsymbol{X}=[\\boldsymbol{x}_0\\boldsymbol{x}_1\\dots\\boldsymbol{x}_{p-1}]$. Finally, we define also a\n",
"classifier determined by our data via a function $G(x)$. This function tells us how well we are able to classify our outputs/targets $\\boldsymbol{y}$. \n",
"\n",
"We have already defined the misclassification error $\\mathrm{err}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathrm{err}=\\frac{1}{n}\\sum_{i=0}^{n-1}I(y_i\\ne G(x_i)),\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where the function $I()$ is one if we misclassify and zero if we classify correctly. \n",
"\n",
"## Basic Steps of AdaBoost\n",
"\n",
"With the above definitions we are now ready to set up the algorithm for AdaBoost.\n",
"The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases.\n",
"1. We start by initializing all weights to $w_i = 1/n$, with $i=0,1,2,\\dots n-1$. It is easy to see that we must have $\\sum_{i=0}^{n-1}w_i = 1$.\n",
"\n",
"2. We rewrite the misclassification error as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\mathrm{\\overline{err}}_m=\\frac{\\sum_{i=0}^{n-1}w_i^m I(y_i\\ne G(x_i))}{\\sum_{i=0}^{n-1}w_i},\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Then we start looping over all attempts at classifying, namely we start an iterative process for $m=1:M$, where $M$ is the final number of classifications. Our given classifier could for example be a plain decision tree.\n",
"\n",
"a. Fit then a given classifier to the training set using the weights $w_i$.\n",
"\n",
"b. Compute then $\\mathrm{err}$ and figure out which events are classified properly and which are classified wrongly.\n",
"\n",
"c. Define a quantity $\\alpha_{m} = \\log{(1-\\mathrm{\\overline{err}}_m)/\\mathrm{\\overline{err}}_m}$\n",
"\n",
"d. Set the new weights to $w_i = w_i\\times \\exp{(\\alpha_m I(y_i\\ne G(x_i)}$.\n",
"\n",
"\n",
"5. Compute the new classifier $G(x)= \\sum_{i=0}^{n-1}\\alpha_m I(y_i\\ne G(x_i)$.\n",
"\n",
"For the iterations with $m \\le 2$ the weights are modified\n",
"individually at each steps. The observations which were misclassified\n",
"at iteration $m-1$ have a weight which is larger than those which were\n",
"classified properly. As this proceeds, the observations which were\n",
"difficult to classifiy correctly are given a larger influence. Each\n",
"new classification step $m$ is then forced to concentrate on those\n",
"observations that are missed in the previous iterations.\n",
"\n",
"\n",
"\n",
"## AdaBoost Examples\n",
"\n",
"Using **Scikit-Learn** it is easy to apply the adaptive boosting algorithm, as done here."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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OTmZcuXK4ePjw2233ZbjScLFxYXGjRvj6+vLQw89RGRkpO25ffv20aFDB+688048PT159913SX2BxsqVK2nevDne3t54eXkxYsSIHI3NkXr37k2jRo2YMmWKXe0ddbmxiDB06FDq1atHo0aN2LlzZ6btOnTowOXLlx0SR06YP38+np6eeHp6Mn/+/AzbnDhxgoCAABo1akT79u05deqU7blRo0bh6+uLr68vixYtsq3v1asXhw8fdnj8TiMi+erBnYjKPSEhIZk+d+zYMQkODpaIiAixWCwOi6FUqVK2n/v27SvvvfeeiIjExMRInTp1ZNWqVSIicvXqVencubPMnDlTRET27NkjderUkf3794uISGJiosyaNStHY0tMTMzR7V0TFhYmNWrUuKHXpH6fctIvv/winTt3FovFIlu2bJEWLVpk2O7nn3+WYcOG3dC2k5KSciJEu1y8eFFq164tFy9elIiICKldu7ZERESka/f444/Ll19+KSIia9eulaeeekpErMd33333SWJiokRHR0uzZs0kKipKREQ2bNggzz33XK4dS3Yy+rsFdshNfu7q+QFlFxHBGJPmUbt2bfz8/KhYsSJFihRJ97y9jxvRunVrTp8+DcC3337LXXfdxf333w9AyZIlmTlzJh9++CEAEyZM4I033sDLywsAV1dXBg0alG6b0dHR9O/fn4YNG9KoUSMWL7aWMkv9Df3HH3/k6aefBuDpp5/m5Zdf5t577+XVV1+lVq1aaXo59erV49y5c4SHh9O9e3f8/f3x9/fnr7/+SrfvuLg4276bNGnC+vXrAbj//vs5f/48jRs3ZtOmTWlec+7cObp164afnx9+fn5s3rw53fEEBATQtGlTGjZsyLJlywC4evUqXbp0wc/PL8034tdee40GDRrQqFGjDHtcy5Yto2/fvhhjaNWqFZGRkYSFhaVrt2DBAh555BHb8qOPPkqzZs3w8fHhk08+sa0vXbo0b775Ji1btmTLli188803tGjRgsaNGzNgwACSk5MBGDhwIM2bN8fHx4e33nor3f5u1KpVq+jYsSMVK1akQoUKdOzYkd9++y1du5CQEAICrGfe7733Xtv7FxISQrt27XB1daVUqVL4+fnZXt+2bVvWrFlDUlLSLceZJ91shnHWQ3sUuSskJETi4uLk0KFDgvWy6Bx/ZOfaN+WkpCR5/PHH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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from sklearn.ensemble import AdaBoostClassifier\n",
"\n",
"ada_clf = AdaBoostClassifier(\n",
" DecisionTreeClassifier(max_depth=1), n_estimators=200,\n",
" algorithm=\"SAMME.R\", learning_rate=0.5, random_state=42)\n",
"ada_clf.fit(X_train, y_train)\n",
"\n",
"from sklearn.ensemble import AdaBoostClassifier\n",
"\n",
"ada_clf = AdaBoostClassifier(\n",
" DecisionTreeClassifier(max_depth=1), n_estimators=200,\n",
" algorithm=\"SAMME.R\", learning_rate=0.5, random_state=42)\n",
"ada_clf.fit(X_train_scaled, y_train)\n",
"y_pred = ada_clf.predict(X_test_scaled)\n",
"skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)\n",
"plt.show()\n",
"y_probas = ada_clf.predict_proba(X_test_scaled)\n",
"skplt.metrics.plot_roc(y_test, y_probas)\n",
"plt.show()\n",
"skplt.metrics.plot_cumulative_gain(y_test, y_probas)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent\n",
"\n",
"Gradient boosting is again a similar technique to Adaptive boosting,\n",
"it combines so-called weak classifiers or regressors into a strong\n",
"method via a series of iterations.\n",
"\n",
"In order to understand the method, let us illustrate its basics by\n",
"bringing back the essential steps in linear regression, where our cost\n",
"function was the least squares function.\n",
"\n",
"## The Squared-Error again! Steepest Descent\n",
"\n",
"We start again with our cost function ${\\cal C}(\\boldsymbol{y}m\\boldsymbol{f})=\\sum_{i=0}^{n-1}{\\cal L}(y_i, f(x_i))$ where we want to minimize\n",
"This means that for every iteration, we need to optimize"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"(\\hat{\\boldsymbol{f}}) = \\mathrm{argmin}_{\\boldsymbol{f}}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We define a real function $h_m(x)$ that defines our final function $f_M(x)$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"f_M(x) = \\sum_{m=0}^M h_m(x).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the steepest decent approach we approximate $h_m(x) = -\\rho_m g_m(x)$, where $\\rho_m$ is a scalar and $g_m(x)$ the gradient defined as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"g_m(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{m-1}(x_i)}.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With the new gradient we can update $f_m(x) = f_{m-1}(x) -\\rho_m g_m(x)$. Using the above squared-error function we see that\n",
"the gradient is $g_m(x_i) = -2(y_i-f(x_i))$.\n",
"\n",
"Choosing $f_0(x)=0$ we obtain $g_m(x) = -2y_i$ and inserting this into the minimization problem for the cost function we have"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"(\\rho_1) = \\mathrm{argmin}_{\\rho}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i+2\\rho y_i)^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Steepest Descent Example\n",
"\n",
"Optimizing with respect to $\\rho$ we obtain (taking the derivative) that $\\rho_1 = -1/2$. We have then that"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"f_1(x) = f_{0}(x) -\\rho_1 g_1(x)=-y_i.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can then proceed and compute"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"g_2(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i,\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**. \n",
"\n",
"## Gradient Boosting, algorithm\n",
"\n",
"Steepest descent is however not much used, since it only optimizes $f$ at a fixed set of $n$ points,\n",
"so we do not learn a function that can generalize. However, we can modify the algorithm by\n",
"fitting a weak learner to approximate the negative gradient signal. \n",
"\n",
"Suppose we have a cost function $C(f)=\\sum_{i=0}^{n-1}L(y_i, f(x_i))$ where $y_i$ is our target and $f(x_i)$ the function which is meant to model $y_i$. The above cost function could be our standard squared-error function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"C(\\boldsymbol{y},\\boldsymbol{f})=\\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The way we proceed in an iterative fashion is to\n",
"1. Initialize our estimate $f_0(x)$.\n",
"\n",
"2. For $m=1:M$, we\n",
"\n",
"a. compute the negative gradient vector $\\boldsymbol{u}_m = -\\partial C(\\boldsymbol{y},\\boldsymbol{f})/\\partial \\boldsymbol{f}(x)$ at $f(x) = f_{m-1}(x)$;\n",
"\n",
"b. fit the so-called base-learner to the negative gradient $h_m(u_m,x)$;\n",
"\n",
"c. update the estimate $f_m(x) = f_{m-1}(x)+h_m(u_m,x)$;\n",
"\n",
"\n",
"4. The final estimate is then $f_M(x) = \\sum_{m=1}^M h_m(u_m,x)$.\n",
"\n",
"## Gradient Boosting, Examples of Regression"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
" return f(**kwargs)\n",
"/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
" return f(**kwargs)\n",
"/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
" return f(**kwargs)\n",
"/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
" return f(**kwargs)\n",
"/Users/MortenImac/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
" return f(**kwargs)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Max depth: 1\n",
"Error: 0.5620020701766795\n",
"Bias^2: 0.28821372634522713\n",
"Var: 0.27378834383145245\n",
"0.5620020701766795 >= 0.28821372634522713 + 0.27378834383145245 = 0.5620020701766796\n",
"Max depth: 2\n",
"Error: 0.5645226135245849\n",
"Bias^2: 0.28840851151708147\n",
"Var: 0.2761141020075034\n",
"0.5645226135245849 >= 0.28840851151708147 + 0.2761141020075034 = 0.5645226135245849\n",
"Max depth: 3\n",
"Error: 0.5645244314282715\n",
"Bias^2: 0.2884085290035272\n",
"Var: 0.27611590242474426\n",
"0.5645244314282715 >= 0.2884085290035272 + 0.27611590242474426 = 0.5645244314282715\n",
"Max depth: 4\n",
"Error: 0.5645244314282715\n",
"Bias^2: 0.2884085290035272\n",
"Var: 0.27611590242474426\n",
"0.5645244314282715 >= 0.2884085290035272 + 0.27611590242474426 = 0.5645244314282715\n",
"Max depth: 5\n",
"Error: 0.5645244314282715\n",
"Bias^2: 0.2884085290035272\n",
"Var: 0.27611590242474426\n",
"0.5645244314282715 >= 0.2884085290035272 + 0.27611590242474426 = 0.5645244314282715\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.ensemble import GradientBoostingRegressor\n",
"from sklearn.preprocessing import StandardScaler\n",
"import scikitplot as skplt\n",
"from sklearn.metrics import mean_squared_error\n",
"\n",
"n = 100\n",
"maxdegree = 6\n",
"\n",
"# Make data set.\n",
"x = np.linspace(-3, 3, n).reshape(-1, 1)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n",
"\n",
"error = np.zeros(maxdegree)\n",
"bias = np.zeros(maxdegree)\n",
"variance = np.zeros(maxdegree)\n",
"polydegree = np.zeros(maxdegree)\n",
"X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"\n",
"for degree in range(1,maxdegree):\n",
" model = GradientBoostingRegressor(max_depth=degree, n_estimators=100, learning_rate=1.0) \n",
" model.fit(X_train_scaled,y_train)\n",
" y_pred = model.predict(X_test_scaled)\n",
" polydegree[degree] = degree\n",
" error[degree] = np.mean( np.mean((y_test - y_pred)**2) )\n",
" bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )\n",
" variance[degree] = np.mean( np.var(y_pred) )\n",
" print('Max depth:', degree)\n",
" print('Error:', error[degree])\n",
" print('Bias^2:', bias[degree])\n",
" print('Var:', variance[degree])\n",
" print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n",
"\n",
"plt.xlim(1,maxdegree-1)\n",
"plt.plot(polydegree, error, label='Error')\n",
"plt.plot(polydegree, bias, label='bias')\n",
"plt.plot(polydegree, variance, label='Variance')\n",
"plt.legend()\n",
"save_fig(\"gdregression\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Gradient Boosting, Classification Example"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(426, 30)\n",
"(143, 30)\n",
"[1. 0.86666667 0.93333333 0.92857143 1. 0.92857143\n",
" 1. 0.92857143 0.85714286 0.92857143]\n",
"Test set accuracy with Random Forests and scaled data: 0.97\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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//d//ydPPvmkiIh8/PHHtjkSzp49K15eXiIi8uabb8rXX38tIiJXr14VLy8viYyMlC+//FIqVqwoly9fFhHrt9zEMhjh4eFSo0YNsVgssm3bNgkMDJSoqCi5fv261KxZ0zYHRIsWLeTw4cMiIvLnn3/Ko48+miLepO/DyZMnJTAwUG7duiUiIiVLlpRr164la79kyRLp3Lmz7Nq1K1PfVmNiYqRatWqydevWZO9P0v2KiLRv395WsgOwnZnExsaKp6enREZGioh1zomvv/5awsPD5eGHH7at/89//iPvvvtuiv336tVLli5daltOfD9FRJ599lnbc82aNbPNW3L79m0JDg6Wixcvioi1ZEifPn1ExHrWleitt96STz/9NMU+165dK4GBgSkewcHB6b5X6Z1RvPzyy7bfExGR559/XhYtWiTbtm2Tli1b2tZv2LAh2dwZ7733nnz00Ufp7lfEyeajUNb7IN566y2uXbtGmzZtmDp1KjVq1HB0WE6lWrVqtr4bX19fWrZsiTEGf3//ZNNUJkqtDPfVq1epUqUKTZo0AazlvXv06IGLiwtly5alWbNmbNu2jY4dOybbVkREBL179+bIkSMYY2xVert160br1q159913+f7773nqqacA67fipUuX2s4CoqOjCQsLA6B169aUKlUKSLsU+B9//EGnTp1sVUgTv21HRkayadMm237A2teVmoULF7Ju3ToOHTrErFmzKFSoUJrvrUjapdpTc+jQIcqXL28rC56Zm+uSlhXPnz8/ISEhLFu2jK5du7J8+XI+/PBDfvvtN/bv38+DDz4IwO3btwkODk6xrXPnzuHh4WFbXrduHR9++CFRUVFcuXIFX19f23uWWO790KFD7N2711aePj4+3vaNf+/evbz99ttcu3aNyMjIZEX+Ej366KP3VCwxNZJK6aTMljLP6EzSHjRR2MHNmzfJnz8/rq6ulCxZkunTpxMfH89TTz3l/GXAw1/JuA1ALz/rIxskXgoB6wQxicv58uW7q3nAkw43Tu0PEqwTCc2aNQuAFStWMGrUKB599FF+/PFHTpw4QfPmzQGoWLEi7u7u7N69m4ULF9om7BERfvjhhxQVYLds2ZJs/0lLgRcoUICqVasSHR2dZlwWi4USJUpk6gOre/fuTJkyhc2bN9O+fXvatm1LuXLlqFOnDqGhobRo8U/15R07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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split \n",
"from sklearn.datasets import load_breast_cancer\n",
"import scikitplot as skplt\n",
"from sklearn.ensemble import GradientBoostingClassifier\n",
"from sklearn.model_selection import cross_validate\n",
"\n",
"# Load the data\n",
"cancer = load_breast_cancer()\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n",
"print(X_train.shape)\n",
"print(X_test.shape)\n",
"#now scale the data\n",
"from sklearn.preprocessing import StandardScaler\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"\n",
"gd_clf = GradientBoostingClassifier(max_depth=3, n_estimators=100, learning_rate=1.0) \n",
"gd_clf.fit(X_train_scaled, y_train)\n",
"#Cross validation\n",
"accuracy = cross_validate(gd_clf,X_test_scaled,y_test,cv=10)['test_score']\n",
"print(accuracy)\n",
"print(\"Test set accuracy with Random Forests and scaled data: {:.2f}\".format(gd_clf.score(X_test_scaled,y_test)))\n",
"\n",
"import scikitplot as skplt\n",
"y_pred = gd_clf.predict(X_test_scaled)\n",
"skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)\n",
"save_fig(\"gdclassiffierconfusion\")\n",
"plt.show()\n",
"y_probas = gd_clf.predict_proba(X_test_scaled)\n",
"skplt.metrics.plot_roc(y_test, y_probas)\n",
"save_fig(\"gdclassiffierroc\")\n",
"plt.show()\n",
"skplt.metrics.plot_cumulative_gain(y_test, y_probas)\n",
"save_fig(\"gdclassiffiercgain\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## XGBoost: Extreme Gradient Boosting\n",
"\n",
"\n",
"[XGBoost](https://github.com/dmlc/xgboost) or Extreme Gradient\n",
"Boosting, is an optimized distributed gradient boosting library\n",
"designed to be highly efficient, flexible and portable. It implements\n",
"machine learning algorithms under the Gradient Boosting\n",
"framework. XGBoost provides a parallel tree boosting that solve many\n",
"data science problems in a fast and accurate way. See the [article by Chen and Guestrin](https://arxiv.org/abs/1603.02754).\n",
"\n",
"The authors design and build a highly scalable end-to-end tree\n",
"boosting system. It has a theoretically justified weighted quantile\n",
"sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning.\n",
"\n",
"It is now the algorithm which wins essentially all ML competitions!!!\n",
"\n",
"## Regression Case"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n",
"Parameters: { colsaobjective } might not be used.\n",
"\n",
" This may not be accurate due to some parameters are only used in language bindings but\n",
" passed down to XGBoost core. Or some parameters are not used but slip through this\n",
" verification. Please open an issue if you find above cases.\n",
"\n",
"\n",
"Max depth: 0\n",
"Error: 0.20883861595352154\n",
"Bias^2: 0.2088386097729888\n",
"Var: 3.552713678800501e-15\n",
"0.20883861595352154 >= 0.2088386097729888 + 3.552713678800501e-15 = 0.20883860977299235\n",
"[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n",
"Parameters: { colsaobjective } might not be used.\n",
"\n",
" This may not be accurate due to some parameters are only used in language bindings but\n",
" passed down to XGBoost core. Or some parameters are not used but slip through this\n",
" verification. Please open an issue if you find above cases.\n",
"\n",
"\n",
"Max depth: 1\n",
"Error: 0.2554272992317659\n",
"Bias^2: 0.21734101860306584\n",
"Var: 0.038086287677288055\n",
"0.2554272992317659 >= 0.21734101860306584 + 0.038086287677288055 = 0.2554273062803539\n",
"[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n",
"Parameters: { colsaobjective } might not be used.\n",
"\n",
" This may not be accurate due to some parameters are only used in language bindings but\n",
" passed down to XGBoost core. Or some parameters are not used but slip through this\n",
" verification. Please open an issue if you find above cases.\n",
"\n",
"\n",
"Max depth: 2\n",
"Error: 0.2590142804912797\n",
"Bias^2: 0.218512270336423\n",
"Var: 0.04050201177597046\n",
"0.2590142804912797 >= 0.218512270336423 + 0.04050201177597046 = 0.25901428211239347\n",
"[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n",
"Parameters: { colsaobjective } might not be used.\n",
"\n",
" This may not be accurate due to some parameters are only used in language bindings but\n",
" passed down to XGBoost core. Or some parameters are not used but slip through this\n",
" verification. Please open an issue if you find above cases.\n",
"\n",
"\n",
"Max depth: 3\n",
"Error: 0.25897623190991886\n",
"Bias^2: 0.21849670172888386\n",
"Var: 0.040479518473148346\n",
"0.25897623190991886 >= 0.21849670172888386 + 0.040479518473148346 = 0.2589762202020322\n",
"[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n",
"Parameters: { colsaobjective } might not be used.\n",
"\n",
" This may not be accurate due to some parameters are only used in language bindings but\n",
" passed down to XGBoost core. Or some parameters are not used but slip through this\n",
" verification. Please open an issue if you find above cases.\n",
"\n",
"\n",
"Max depth: 4\n",
"Error: 0.25897623190991886\n",
"Bias^2: 0.21849670172888386\n",
"Var: 0.040479518473148346\n",
"0.25897623190991886 >= 0.21849670172888386 + 0.040479518473148346 = 0.2589762202020322\n",
"[11:38:14] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:480: \n",
"Parameters: { colsaobjective } might not be used.\n",
"\n",
" This may not be accurate due to some parameters are only used in language bindings but\n",
" passed down to XGBoost core. Or some parameters are not used but slip through this\n",
" verification. Please open an issue if you find above cases.\n",
"\n",
"\n",
"Max depth: 5\n",
"Error: 0.25897623190991886\n",
"Bias^2: 0.21849670172888386\n",
"Var: 0.040479518473148346\n",
"0.25897623190991886 >= 0.21849670172888386 + 0.040479518473148346 = 0.2589762202020322\n"
]
},
{
"data": {
"image/png": "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ei8iIicl+xjEFVdcMeBHXc844wzuuOMOLrnkEtydOXPmMHfu3MEudUhE/ZjrCuBB4CNgH7Dc3VvMrI7UMYVz3X038FngnYz5DgPvAvVABXA78HkgCbwNNLq7vgshIkUhmUwGp+/atavfx9dccw3XXHPi18Pa29sLVVosIgWEu+8HGgPTd5M6iN3zeBd97DJy91bggryqFBGRIadTbYiISJACQkREghQQIiISpIAQEZEgBYSIiAQpIERE0nbt2sXkyZNPmL506VLeeuutGCqKl65JLSIygB//+NN5hQJtQYiIZOjq6uLaa69l6tSpXHXVVfzlL39h1qxZNDc3A7B8+XIaGhqYNGkSN998c+98q1ev5txzz2Xq1KnccMMNcZVfUNqCEJHi89xq+ODNwvb511PgKwNfIW7Hjh2sW7eOmTNnsmTJEu67777jnv/e977HqFGjSCaTXHrppfz+979n3LhxPPHEE7z99tuYGR9//HFha4+JtiBERDKceeaZzJw5E4Cvfe1rvdeA6PHoo4/yhS98gfPOO4+WlhbeeustampqqKqqYunSpWzatIlTTz01jtILTlsQIlJ8IqzpD5bUOUfDj9955x3uuusu3njjDUaOHMnixYvp6OggkUiwdetWXnzxRTZu3MiPfvQjXnrppaEuveC0BSEikmH37t29lwfdsGEDF110Ue9zBw4coLq6mtNOO40PP/yQ5557DkidlK+trY05c+Zwzz33DHhd61KhLQgRkQznnHMODz/8MN/4xjcYP348y5cv5+mnnwZg2rRpnHfeeUyaNImzzz67d1fUwYMHmTt3Lh0dHbg7d999d5xvoWAUECIiafX19cHvO7zyyiu99x966KHgvFu3bh2kquKjXUwiIhKkgBARkSAFhIiIBCkgREQkSAEhIiJBCggREQlSQIiIALNmzeKFF144bto999zDihUrIs1/0003sXnz5sEoLTYKCBERYMGCBWzcuPG4aRs3bmTBggUDzptMJmlqauKyyy4brPJioYAQEQGuuuoqnnnmGY4cOQKkLh703nvvsX79+uDpvevr62lqauKiiy7iscceY/HixTz++OMANDU1ccEFFzB58mSWLVuGuwOprZRVq1Zx4YUXMmHCBH7xi18AqYC54YYbmDJlClOnTuWHP/whANu2bePiiy/m/PPPZ/bs2bz//vtDOST6JrWI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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split\n",
"import xgboost as xgb\n",
"from sklearn.preprocessing import StandardScaler\n",
"import scikitplot as skplt\n",
"from sklearn.metrics import mean_squared_error\n",
"\n",
"n = 100\n",
"maxdegree = 6\n",
"\n",
"# Make data set.\n",
"x = np.linspace(-3, 3, n).reshape(-1, 1)\n",
"y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n",
"\n",
"error = np.zeros(maxdegree)\n",
"bias = np.zeros(maxdegree)\n",
"variance = np.zeros(maxdegree)\n",
"polydegree = np.zeros(maxdegree)\n",
"X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"\n",
"for degree in range(maxdegree):\n",
" model = xgb.XGBRegressor(objective ='reg:squarederror', colsaobjective ='reg:squarederror', colsample_bytree = 0.3, learning_rate = 0.1,max_depth = degree, alpha = 10, n_estimators = 200)\n",
"\n",
" model.fit(X_train_scaled,y_train)\n",
" y_pred = model.predict(X_test_scaled)\n",
" polydegree[degree] = degree\n",
" error[degree] = np.mean( np.mean((y_test - y_pred)**2) )\n",
" bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )\n",
" variance[degree] = np.mean( np.var(y_pred) )\n",
" print('Max depth:', degree)\n",
" print('Error:', error[degree])\n",
" print('Bias^2:', bias[degree])\n",
" print('Var:', variance[degree])\n",
" print('{} >= {} + {} = {}'.format(error[degree], bias[degree], variance[degree], bias[degree]+variance[degree]))\n",
"\n",
"plt.xlim(1,maxdegree-1)\n",
"plt.plot(polydegree, error, label='Error')\n",
"plt.plot(polydegree, bias, label='bias')\n",
"plt.plot(polydegree, variance, label='Variance')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Xgboost on the Cancer Data\n",
"\n",
"As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(426, 30)\n",
"(143, 30)\n",
"Test set accuracy with Random Forests and scaled data: 1.00\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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fX3ZtWtXpu1atWrFtWvXbBJHbggKCqJMmTJ06NAh0zZxcXF0796dOnXq0KRJE44fP25978svv8Td3R13d3e+/PJL6/oePXpw5MgRW4ZuXyLiUC/qIirvHDhwINP3jh07JiEhIXL58mVJSkqyWQwlSpSw/ty7d2959913RUQkJiZGatWqJb/88ouIiFy/fl2CgoJkxowZIiKyd+9eqVWrlhw8eFBEROLj42XmzJm5Glt8fHyubu+Ws2fPSrVq1e7oMym/p9z0448/SlBQkCQlJcmWLVskMDAww3Y//PCDvPLKK3e07YSEhNwIMdvWrl0rq1atkvbt22faZubMmTJgwAAREfnmm2+kW7duIiJy6dIlqVmzply6dEkuX74sNWvWlMuXL4uIyIYNG+Sll16y/QFkU0b/b4GdktPfuzn9oL1emijy1q1/cElJSYLlbrdcf91Oyl+An376qQwaNEhERObPny+9evVK1TYsLEyqVq0qIiK9evWSzz777Lbbj4qKkueff168vb3Fx8dHli9fnm6/y5Ytkz59+oiISJ8+fWT48OHSsmVLeeWVV6R69epy5coVa9vatWvLuXPn5MKFC/L0009L48aNpXHjxvLXX3+l2/eNGzes+27QoIH8/vvvIiLi4+MjxYoVEz8/P9m4cWOqz5w7d06eeuop8fX1FV9fX9m0aVOqeKOioqRVq1bSsGFD8fb2lpUrV4qISHR0tDzxxBPi6+srXl5esmTJEhERGTVqlHh6eoqPj4+89tpr6WLs37+/fP3119blunXrypkzZ9K169mzp6xfv9663KlTJ/H395f69evLnDlzrOtLlCghY8aMkcDAQPnzzz/lq6++koCAAPHz85P+/ftbk8fAgQOlUaNGUr9+fRk7dmy6/eXU+vXrs0wUjz32mGzevFlELCcCLi4ukpSUJF9//bX079/f2i7l95KYmCg1atSw2YnDncrtRJGdB+7UPS4uLo7wcLtMaJhKYmIi69at48UXXwQsl53SFhGsXbs20dHRXLt2jX379vHaa6/ddrvvvPMOpUuXZu/evQDWQfmshIaGsnbtWpycnEhKSmLFihX07duXbdu2UaNGDSpWrMj//d//MXz4cB566CHCw8Np164dBw+mnkV45syZAOzdu5dDhw7x2GOPERoayqpVq+jQoQO7d+9Ot+9hw4bRokULVqxYQWJi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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"ename": "ExecutableNotFound",
"evalue": "failed to execute ['dot', '-Tpng'], make sure the Graphviz executables are on your systems' PATH",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/graphviz/backend.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(cmd, input, capture_output, check, encoding, quiet, **kwargs)\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 164\u001b[0;31m \u001b[0mproc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msubprocess\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstartupinfo\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mget_startupinfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 165\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/subprocess.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)\u001b[0m\n\u001b[1;32m 728\u001b[0m \u001b[0merrread\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrwrite\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 729\u001b[0;31m restore_signals, start_new_session)\n\u001b[0m\u001b[1;32m 730\u001b[0m \u001b[0;32mexcept\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/subprocess.py\u001b[0m in \u001b[0;36m_execute_child\u001b[0;34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)\u001b[0m\n\u001b[1;32m 1363\u001b[0m \u001b[0merr_msg\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m': '\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mrepr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merr_filename\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1364\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mchild_exception_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merrno_num\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr_msg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr_filename\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1365\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mchild_exception_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merr_msg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'dot': 'dot'",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[0;31mExecutableNotFound\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-15-e8a0a94561df>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 43\u001b[0;31m \u001b[0mxgb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot_tree\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxg_clf\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mnum_trees\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 44\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrcParams\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'figure.figsize'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m50\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m10\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0msave_fig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"xgtree\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/xgboost/plotting.py\u001b[0m in \u001b[0;36mplot_tree\u001b[0;34m(booster, fmap, num_trees, rankdir, ax, **kwargs)\u001b[0m\n\u001b[1;32m 246\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 247\u001b[0m \u001b[0ms\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mBytesIO\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 248\u001b[0;31m \u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpipe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'png'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 249\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mseek\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 250\u001b[0m \u001b[0mimg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mimage\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/graphviz/files.py\u001b[0m in \u001b[0;36mpipe\u001b[0;34m(self, format, renderer, formatter, quiet)\u001b[0m\n\u001b[1;32m 136\u001b[0m out = backend.pipe(self._engine, format, data,\n\u001b[1;32m 137\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformatter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mformatter\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 138\u001b[0;31m quiet=quiet)\n\u001b[0m\u001b[1;32m 139\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 140\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/graphviz/backend.py\u001b[0m in \u001b[0;36mpipe\u001b[0;34m(engine, format, data, renderer, formatter, quiet)\u001b[0m\n\u001b[1;32m 242\u001b[0m \"\"\"\n\u001b[1;32m 243\u001b[0m \u001b[0mcmd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcommand\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformatter\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 244\u001b[0;31m \u001b[0mout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcapture_output\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcheck\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mquiet\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mquiet\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 245\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 246\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/graphviz/backend.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(cmd, input, capture_output, check, encoding, quiet, **kwargs)\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mOSError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 166\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrno\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0merrno\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mENOENT\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 167\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mExecutableNotFound\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 168\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 169\u001b[0m \u001b[0;32mraise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mExecutableNotFound\u001b[0m: failed to execute ['dot', '-Tpng'], make sure the Graphviz executables are on your systems' PATH"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEACAYAAAC6d6FnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAPeUlEQVR4nO3df2xdZ33H8fenNdDWTVhTsiBWIlbRAMlQJmFEtahMo0x0f7BWi5BQS1V+TNHaIfFDaPSPVoVSMVah/QEqmYLoIloonbSUdrAiIYVKREICd1pgZiJiE8kKpE0pM3FWGjX67o/rzBfvpj6Oj+0kz/slXcn38ffcfv34+nzynHPuaaoKSVJ7zlvtBiRJq8MAkKRGGQCS1CgDQJIaZQBIUqMMAElqlAEgSY3qFABJ3p9kMslzSXYvUPuhJIeTTCe5N8lLeulUktSrriuAnwF3Afe+UFGStwG3AlcDrwIuBz6+hP4kScukUwBU1Z6q+irwiwVKbwK+UFVTVfVL4BPAu5fWoiRpOYz1/HpbgIeHnu8HNiS5tKp+IzyS7AB2AIyPj7/hta99bc+tSNK57fHHH3+6qtaf7vZ9B8DFwPTQ85Nfr2He6qGqdgG7ACYmJmpycrLnViTp3Jbk4FK27/sqoBlg7dDzk18f7fm/I0laor4DYArYOvR8K/Dk/MM/kqTV1/Uy0LEkFwDnA+cnuSDJqMNHXwTel2RzkkuA24DdvXUrSepN1xXAbcCzDC7xfNfs17cl2ZhkJslGgKr6BnA38C3g4Ozjjt67liQtWc6E/yGMJ4ElafGSPF5VE6e7vbeCkKRGGQCS1CgDQJIaZQBIUqMMAElqlAEgSY0yACSpUQaAJDXKAJCkRhkAktQoA0CSGmUASFKjDABJapQBIEmNMgAkqVEGgCQ1ygCQpEYZAJLUKANAkhplAEhSowwASWqUASBJjTIAJKlRBoAkNcoAkKRGGQCS1CgDQJIaZQBIUqMMAElqlAEgSY0yACSpUQaAJDXKAJCkRhkAktSoTgGQZF2Sh5IcS3IwyfWnqEuSu5L8NMl0kseSbOm3ZUlSH7quAO4BjgMbgBuAnafYsb8DeC9wFbAO+A5wXw99SpJ6tmAAJBkHtgO3V9VMVe0DHgFuHFH+u8C+qvrPqjoB3A9s7rNhSVI/uqwANgEnqurA0Nh+YNQK4CvAq5NsSvIi4CbgG6NeNMmOJJNJJo8cObLYviVJSzTWoeZiYHre2DSwZkTtz4FvAz8CTgD/Bbxl1ItW1S5gF8DExER17FeS1JMuK4AZYO28sbXA0RG1dwBvBF4JXAB8HNib5KKlNClJ6l+XADgAjCW5YmhsKzA1onYr8GBVPVFVz1fVbuASPA8gSWecBQOgqo4Be4A7k4wn2QZcy+ire74HvCPJhiTnJbkReBHw4z6bliQtXZdzAAC3APcCTwG/AG6uqqkkG4EfApur6hDwN8BvA/8KjDPY8W+vqv/uvXNJ0pJ0CoCqega4bsT4IQYniU8+/zXwl7MPSdIZzFtBSFKjDABJapQBIEmNMgAkqVEGgCQ1ygCQpEYZAJLUKANAkhplAEhSowwASWqUASBJjTIAJKlRBoAkNcoAkKRGGQCS1CgDQJIaZQBIUqMMAElqlAEgSY0yACSpUQaAJDXKAJCkRhkAktQoA0CSGmUASFKjDABJapQBIEmNMgAkqVEGgCQ1ygCQpEYZAJLUKANAkhplAEhSozoFQJJ1SR5KcizJwSTXv0Dt5Um+luRokqeT3N1fu5KkvnRdAdwDHAc2ADcAO5NsmV+U5MXAN4G9wMuBy4D7+2lVktSnBQMgyTiwHbi9qmaqah/wCHDjiPJ3Az+rqr+tqmNV9euq+n6vHUuSetFlBbAJOFFVB4bG9gP/bwUAXAn8JMmjs4d/Hkvy+lEvmmRHkskkk0eOHFl855KkJekSABcD0/PGpoE1I2ovA94JfAZ4BfB14OHZQ0O/oap2VdVEVU2sX79+cV1LkpasSwDMAGvnja0Fjo6ofRbYV1WPVtVx4NPApcDrltSlJKl3XQLgADCW5Iqhsa3A1Ija7wPVR2OSpOW1YABU1TFgD3BnkvEk24BrgftGlN8PXJnkrUnOBz4IPA38e489S5J60PUy0FuAC4GngAeAm6tqKsnGJDNJNgJU1Y+AdwF/B/ySQVD86ezhIEnSGWSsS1FVPQNcN2L8EIOTxMNjexisGCRJZzBvBSFJjTIAJKlRBoAkNcoAkKRGGQCS1CgDQJIaZQBIUqMMAElqlAEgSY0yACSpUQaAJDXKAJCkRhkAktQoA0CSGmUASFKjDABJapQBIEmNMgAkqVEGgCQ1ygCQpEYZAJLUKANAkhplAEhSowwASWqUASBJjTIAJKlRBoAkNcoAkKRGGQCS1CgDQJIaZQBIUqMMAElqlAEgSY0yACSpUZ0CIMm6JA8lOZbkYJLrO2yzN0klGVt6m5KkvnXdOd8DHAc2AL8PfD3J/qqaGlWc5IZFvLYkaRUsuAJIMg5sB26vqpmq2gc8Atx4ivqXAncAf9Vno5KkfnU5BLQJOFFVB4bG9gNbTlH/SWAncPiFXjTJjiSTSSaPHDnSqVlJUn+6BMDFwPS8sWlgzfzCJBPANuCzC71oVe2qqomqmli/fn2XXiVJPeoSADPA2nlja4GjwwNJzgM+B3ygqp7vpz1J0nLpEgAHgLEkVwyNbQXmnwBeC0wADyY5DHxvdvyJJFctuVNJUq8WvFKnqo4l2QPcmeTPGVwFdC3wB/NKp4FXDD1/JfBd4A2AB/kl6QzT9YNgtwAXAk8BDwA3V9VUko1JZpJsrIHDJx/M7fSfrKrjy9C7JGkJOl2rX1XPANeNGD/E4CTxqG1+AmQpzUmSlo+3gpCkRhkAktQoA0CSGmUASFKjDABJapQBIEmNMgAkqVEGgCQ1ygCQpEYZAJLUKANAkhplAEhSowwASWqUASBJjTIAJKlRBoAkNcoAkKRGGQCS1CgDQJIaZQBIUqMMAElqlAEgSY0yACSpUQaAJDXKAJCkRhkAktQoA0CSGmUASFKjDABJapQBIEmNMgAkqVEGgCQ1ygCQpEZ1CoAk65I8lORYkoNJrj9F3U1JHk/yqyRPJLk7yVi/LUuS+tB1BXAPcBzYANwA7EyyZUTdRcAHgZcBbwKuBj7SQ5+SpJ4t+K/zJOPAduD3qmoG2JfkEeBG4Nbh2qraOfT0p0m+BPxRj/1KknrSZQWwCThRVQeGxvYDo1YA870ZmBr1jSQ7kkwmmTxy5EiHl5Ik9alLAFwMTM8bmwbWvNBGSd4DTACfHvX9qtpVVRNVNbF+/fouvUqSetTlBO0MsHbe2Frg6Kk2SHId8CngrVX19Om3J0laLl1WAAeAsSRXDI1t5dSHdq4BPg+8vap+sPQWJUnLYcEAqKpjwB7gziTjSbYB1wL3za9N8hbgS8D2qvpu381KkvrT9TLQW4ALgaeAB4Cbq2oqycYkM0k2ztbdDrwU+OfZ8Zkkj/bftiRpqTp9SKuqngGuGzF+iMFJ4pPPveRTks4S3gpCkhplAEhSowwASWqUASBJjTIAJKlRBoAkNcoAkKRGGQCS1CgDQJIaZQBIUqMMAElqlAEgSY0yACSpUQaAJDXKAJCkRhkAktQoA0CSGmUASFKjDABJapQBIEmNMgAkqVEGgCQ1ygCQpEYZAJLUKANAkhplAEhSowwASWqUASBJjTIAJKlRBoAkNcoAkKRGGQCS1CgDQJIaZQBIUqM6BUCSdUkeSnIsycEk179A7YeSHE4yneTeJC/pr11JUl+6rgDuAY4DG4AbgJ1JtswvSvI24FbgauBVwOXAx3vpVJLUqwUDIMk4sB24vapmqmof8Ahw44jym4AvVNVUVf0S+ATw7h77lST1ZKxDzSbgRFUdGBrbD/zhiNotwMPz6jYkubSqfjFcmGQHsGP26XNJ/q172+e0lwFPr3YTZwjnYo5zMce5mPOapWzcJQAuBqbnjU0DazrUnvx6DfAbAVBVu4BdAEkmq2qiS8PnOudijnMxx7mY41zMSTK5lO27nAOYAdbOG1sLHO1Qe/LrUbWSpFXUJQAOAGNJrhga2wpMjaidmv3ecN2T8w//SJJW34IBUFXHgD3AnUnGk2wDrgXuG1H+ReB9STYnuQS4DdjdoY9d3Vs+5zkXc5yLOc7FHOdizpLmIlW1cFGyDrgX+GMGx/JvraovJ9kI/BDYXFWHZms/DHwUuBD4R+Avquq5pTQpSepfpwCQJJ17vBWEJDXKAJCkRq1IAHgvoTld5yLJTUkeT/KrJE8kuTtJl89tnDUW874Y2mZvkmp5LpJcnuRrSY4meTrJ3SvZ63JbxN9IktyV5Kez+4vHRt2i5myW5P1JJpM8l2T3ArWL3neu1ArAewnN6TQXwEXABxl86vFNDObkIyvV5ArpOhcAJLmBbh9ePBt1/Rt5MfBNYC/wcuAy4P4V7HMldH1fvAN4L3AVsA74DqOvTjyb/Qy4i8FFOKd02vvOqlrWBzDO4Je5aWjsPuBTI2q/DHxy6PnVwOHl7nGlHouZixHbfhj4p9X+GVZrLoCXMvhMypVAAWOr/TOsxlwwuH3Kt1e75zNkLj4K/MPQ8y3Ar1f7Z1imebkL2P0C3z+tfedKrABOdS+hUYm+ZfZ7w3Ubkly6jP2tpMXMxXxvZvSH785Wi52LTwI7gcPL3dgqWMxcXAn8JMmjs4d/Hkvy+hXpcmUsZi6+Arw6yaYkL2JwM8pvrECPZ6LT2neuRAD0dS+hc8Fi5uL/JHkPMAF8epn6Wg2d5yLJBLAN+OwK9LUaFvO+uAx4J/AZ4BXA14GHZw8NnQsWMxc/B74N/Ah4lsEhoQ8ta3dnrtPad65EAHgvoTmLmQsAklwHfAr4k6o6l+6A2GkukpwHfA74QFU9v0K9rbTFvC+eBfZV1aNVdZzBPwouBV63vC2umMXMxR3AG4FXAhcwOOa9N8lFy9rhmem09p0rEQDeS2jOYuaCJNcAnwfeXlU/WIH+VlLXuVjLYPXzYJLDwPdmx59IctXyt7kiFvO++D6DcyDnqsXMxVbgwap6oqqer6rdwCXA5uVv84xzevvOFTqB8RXgAQYneLYxWJ5sGVF3DYNjvJsZ/CL30uEE6dn0WMRcvIXBbTfevNo9r+ZcAGFwtcvJxxsZ7AB/B3jxav8Mq/C+eA3wP8BbgfMZHPL4j0bn4g5gH4Orhc5j8D+pOgb81mr/DD3OxRiD1c1fMzgZfgEjLoA43X3nSv0Q64Cvzv5yDgHXz45vZLB02ThU+2HgSeBXwN8DL1ntX8JqzAXwLeD52bGTj0dXu//Vel8MbfMqzrGrgBY7F8CfAT+e/Rt5bNTO8Wx+LOJv5AIGl4z+fHYu/gW4ZrX773kuPjb7fh9+fKyvfaf3ApKkRnkrCElqlAEgSY0yACSpUQaAJDXKAJCkRhkAktQoA0CSGmUASFKj/hd6Se0A3uQH/AAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split \n",
"from sklearn.datasets import load_breast_cancer\n",
"from sklearn.preprocessing import LabelEncoder\n",
"from sklearn.model_selection import cross_validate\n",
"import scikitplot as skplt\n",
"import xgboost as xgb\n",
"# Load the data\n",
"cancer = load_breast_cancer()\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n",
"print(X_train.shape)\n",
"print(X_test.shape)\n",
"#now scale the data\n",
"from sklearn.preprocessing import StandardScaler\n",
"scaler = StandardScaler()\n",
"scaler.fit(X_train)\n",
"X_train_scaled = scaler.transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)\n",
"\n",
"xg_clf = xgb.XGBClassifier()\n",
"xg_clf.fit(X_train_scaled,y_train)\n",
"\n",
"y_test = xg_clf.predict(X_test_scaled)\n",
"\n",
"print(\"Test set accuracy with Random Forests and scaled data: {:.2f}\".format(xg_clf.score(X_test_scaled,y_test)))\n",
"\n",
"import scikitplot as skplt\n",
"y_pred = xg_clf.predict(X_test_scaled)\n",
"skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True)\n",
"save_fig(\"xdclassiffierconfusion\")\n",
"plt.show()\n",
"y_probas = xg_clf.predict_proba(X_test_scaled)\n",
"skplt.metrics.plot_roc(y_test, y_probas)\n",
"save_fig(\"xdclassiffierroc\")\n",
"plt.show()\n",
"skplt.metrics.plot_cumulative_gain(y_test, y_probas)\n",
"save_fig(\"gdclassiffiercgain\")\n",
"plt.show()\n",
"\n",
"\n",
"xgb.plot_tree(xg_clf,num_trees=0)\n",
"plt.rcParams['figure.figsize'] = [50, 10]\n",
"save_fig(\"xgtree\")\n",
"plt.show()\n",
"\n",
"xgb.plot_importance(xg_clf)\n",
"plt.rcParams['figure.figsize'] = [5, 5]\n",
"save_fig(\"xgparams\")\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}