{ "cells": [ { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### From the Titanic Dataset\n", "![](https://upload.wikimedia.org/wikipedia/commons/f/f3/CART_tree_titanic_survivors.png)\n", "
By Stephen Milborrow (Own work) [CC BY-SA 3.0 via Wikimedia Commons]
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Feature importances: [ 0. 1.]\n" ] }, { "data": { "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", "\r\n", "\r\n", "Tree\r\n", "\r\n", "\r\n", "0\r\n", "\r\n", "X[1] <= -5.8141\r\n", "samples = 100\r\n", "value = [50, 50]\r\n", "\r\n", "\r\n", "1\r\n", "\r\n", "samples = 25\r\n", "value = [25, 0]\r\n", "\r\n", "\r\n", "0->1\r\n", "\r\n", "\r\n", "True\r\n", "\r\n", "\r\n", "2\r\n", "\r\n", "X[1] <= 5.3475\r\n", "samples = 75\r\n", "value = [25, 50]\r\n", "\r\n", "\r\n", "0->2\r\n", "\r\n", "\r\n", "False\r\n", "\r\n", "\r\n", "3\r\n", "\r\n", "samples = 50\r\n", "value = [0, 50]\r\n", "\r\n", "\r\n", "2->3\r\n", "\r\n", "\r\n", "\r\n", "\r\n", "4\r\n", "\r\n", "samples = 25\r\n", "value = [25, 0]\r\n", "\r\n", "\r\n", "2->4\r\n", "\r\n", "\r\n", "\r\n", "\r\n", "\r\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n5ueIPwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import mglearn # credits to Muller and Guido (https://www.amazon.com/dp/1449369413/)\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "mglearn.plots.plot_tree_not_monotone()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy on the training subset: 1.000\n", "Accuracy on the test subset: 0.937\n" ] } ], "source": [ "from sklearn.datasets import load_breast_cancer\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.model_selection import train_test_split\n", "\n", "cancer = load_breast_cancer()\n", "X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, stratify=cancer.target, random_state=42)\n", "tree = DecisionTreeClassifier(random_state=0)\n", "tree.fit(X_train, y_train)\n", "\n", "print('Accuracy on the training subset: {:.3f}'.format(tree.score(X_train, y_train)))\n", "print('Accuracy on the test subset: {:.3f}'.format(tree.score(X_test, y_test)))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy on the training subset: 0.988\n", "Accuracy on the test subset: 0.951\n" ] } ], "source": [ "tree = DecisionTreeClassifier(max_depth=4, random_state=0)\n", "tree.fit(X_train, y_train)\n", "\n", "print('Accuracy on the training subset: {:.3f}'.format(tree.score(X_train, y_train)))\n", "print('Accuracy on the test subset: {:.3f}'.format(tree.score(X_test, y_test)))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "import graphviz\n", "from sklearn.tree import export_graphviz\n", "\n", "export_graphviz(tree, out_file='cancertree.dot', class_names=['malignant', 'benign'], feature_names=cancer.feature_names,\n", " impurity=False, filled=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](cancertree.png)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.5.0" } }, "nbformat": 4, "nbformat_minor": 2 }