Created
November 10, 2020 23:10
-
-
Save ljbelenky/05f81bfdf238db6804b70a92abb5429f to your computer and use it in GitHub Desktop.
Overfitting in Decision Trees
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import pandas as pd\n", | |
"import matplotlib.pyplot as plt\n", | |
"from sklearn.tree import DecisionTreeClassifier as DTC\n", | |
"from sklearn import tree" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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": [ | |
"df = pd.DataFrame({'x1':np.linspace(0,100,16),\n", | |
" 'x2':np.linspace(0,200,16),\n", | |
" 'y': [0,1]*8})\n", | |
"df.head()\n", | |
"plt.scatter(df.x1, df.x2, c= df.y)\n", | |
"plt.title('This data is not separable');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"dt = DTC().fit(df[['x1','x2']], df['y'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## The score looks great:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"1.0" | |
] | |
}, | |
"execution_count": 25, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dt.score(df[['x1','x2']], df['y'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Here are all the splits:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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": [ | |
"tree.plot_tree(dt);" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## What happens if we train-test split it?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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.model_selection import train_test_split as tts\n", | |
"X_train, X_test, y_train, y_test = tts(df[['x1','x2']], df['y'])\n", | |
"dt2 = DTC().fit(X_train, y_train)\n", | |
"tree.plot_tree(dt2);" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### The score on training data still looks great:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"1.0" | |
] | |
}, | |
"execution_count": 32, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dt2.score(X_train, y_train)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### But on test data it looks terrible:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 53, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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": [ | |
"plt.scatter(X_train.iloc[:,0], X_train.iloc[:,1], c = y_train, label = 'Train')\n", | |
"\n", | |
"predictions = dt2.predict(X_test)\n", | |
"\n", | |
"plt.scatter(X_test.iloc[:,0], X_test.iloc[:,1], c = predictions, marker = 'x', label = 'Test')\n", | |
"plt.legend();" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### In this example, it got every point in the test set exactly wrong:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 50, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.0" | |
] | |
}, | |
"execution_count": 50, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dt2.score(X_test, y_test)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Perfectly over-fit!" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.8.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment