{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true, "pycharm": {} }, "source": [ "# Decision Trees with Titanic Kaggle Dataset" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
pclasssurvivednamesexagesibspparchticketfarecabinembarkedboatbodyhome.dest
011Allen, Miss. Elisabeth Waltonfemale29.000024160211.3375B5S2NaNSt Louis, MO
111Allison, Master. Hudson Trevormale0.9212113781151.5500C22 C26S11NaNMontreal, PQ / Chesterville, ON
210Allison, Miss. Helen Lorainefemale2.0012113781151.5500C22 C26SNaNNaNMontreal, PQ / Chesterville, ON
310Allison, Mr. Hudson Joshua Creightonmale30.0012113781151.5500C22 C26SNaN135.0Montreal, PQ / Chesterville, ON
410Allison, Mrs. Hudson J C (Bessie Waldo Daniels)female25.0012113781151.5500C22 C26SNaNNaNMontreal, PQ / Chesterville, ON
\n", "
" ], "text/plain": [ " pclass survived name sex \\\n", "0 1 1 Allen, Miss. Elisabeth Walton female \n", "1 1 1 Allison, Master. Hudson Trevor male \n", "2 1 0 Allison, Miss. Helen Loraine female \n", "3 1 0 Allison, Mr. Hudson Joshua Creighton male \n", "4 1 0 Allison, Mrs. Hudson J C (Bessie Waldo Daniels) female \n", "\n", " age sibsp parch ticket fare cabin embarked boat body \\\n", "0 29.00 0 0 24160 211.3375 B5 S 2 NaN \n", "1 0.92 1 2 113781 151.5500 C22 C26 S 11 NaN \n", "2 2.00 1 2 113781 151.5500 C22 C26 S NaN NaN \n", "3 30.00 1 2 113781 151.5500 C22 C26 S NaN 135.0 \n", "4 25.00 1 2 113781 151.5500 C22 C26 S NaN NaN \n", "\n", " home.dest \n", "0 St Louis, MO \n", "1 Montreal, PQ / Chesterville, ON \n", "2 Montreal, PQ / Chesterville, ON \n", "3 Montreal, PQ / Chesterville, ON \n", "4 Montreal, PQ / Chesterville, ON " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas\n", "from dtreeviz.trees import dtreeviz\n", "data = pandas.read_csv(\"/Users/likejazz/workspace/github.com/likejazz/jupyter-notebooks/machine-learning/data/titanic.csv\")\n", "data.head()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "text/plain": [ "(0 1\n", " 1 1\n", " 2 0\n", " 3 0\n", " 4 0\n", " Name: survived, dtype: int64, pclass sex age sibsp fare\n", " 0 1 0 29 0 211.3375\n", " 1 1 1 0 1 151.5500\n", " 2 1 0 2 1 151.5500\n", " 3 1 1 30 1 151.5500\n", " 4 1 0 25 1 151.5500)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y, X = data['survived'], data[['pclass','sex','age','sibsp', 'fare']].fillna(0)\n", "X['sex'].replace(['female','male'],[0,1],inplace=True)\n", "X['age'] = X['age'].astype(int)\n", "y.head(), X.head()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "text/plain": [ "Index(['pclass', 'sex', 'age', 'sibsp', 'fare'], dtype='object')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.columns" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "text/plain": [ "(1047, 1047, 262, 262)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.model_selection import train_test_split\n", "X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2, random_state=123)\n", "len(X_train), len(y_train), len(X_test), len(y_test)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "text/plain": [ "0.8091603053435115" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn import tree\n", "clf = tree.DecisionTreeClassifier(random_state=42, max_depth=3)\n", "clf.fit(X_train, y_train)\n", "clf.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "Tree\n", "\n", "\n", "\n", "0\n", "\n", "sex ≤ 0.5\n", "gini = 0.468\n", "samples = 1047\n", "value = [655, 392]\n", "class = dead\n", "\n", "\n", "\n", "1\n", "\n", "pclass ≤ 2.5\n", "gini = 0.409\n", "samples = 369\n", "value = [106, 263]\n", "class = surv\n", "\n", "\n", "\n", "0->1\n", "\n", "\n", "True\n", "\n", "\n", "\n", "8\n", "\n", "pclass ≤ 1.5\n", "gini = 0.308\n", "samples = 678\n", "value = [549, 129]\n", "class = dead\n", "\n", "\n", "\n", "0->8\n", "\n", "\n", "False\n", "\n", "\n", "\n", "2\n", "\n", "fare ≤ 26.125\n", "gini = 0.154\n", "samples = 190\n", "value = [16, 174]\n", "class = surv\n", "\n", "\n", "\n", "1->2\n", "\n", "\n", "\n", "\n", "\n", "5\n", "\n", "fare ≤ 23.35\n", "gini = 0.5\n", "samples = 179\n", "value = [90, 89]\n", "class = dead\n", "\n", "\n", "\n", "1->5\n", "\n", "\n", "\n", "\n", "\n", "3\n", "\n", "gini = 0.278\n", "samples = 66\n", "value = [11, 55]\n", "class = surv\n", "\n", "\n", "\n", "2->3\n", "\n", "\n", "\n", "\n", "\n", "4\n", "\n", "gini = 0.077\n", "samples = 124\n", "value = [5, 119]\n", "class = surv\n", "\n", "\n", "\n", "2->4\n", "\n", "\n", "\n", "\n", "\n", "6\n", "\n", "gini = 0.488\n", "samples = 151\n", "value = [64, 87]\n", "class = surv\n", "\n", "\n", "\n", "5->6\n", "\n", "\n", "\n", "\n", "\n", "7\n", "\n", "gini = 0.133\n", "samples = 28\n", "value = [26, 2]\n", "class = dead\n", "\n", "\n", "\n", "5->7\n", "\n", "\n", "\n", "\n", "\n", "9\n", "\n", "age ≤ 38.5\n", "gini = 0.44\n", "samples = 141\n", "value = [95, 46]\n", "class = dead\n", "\n", "\n", "\n", "8->9\n", "\n", "\n", "\n", "\n", "\n", "12\n", "\n", "age ≤ 32.5\n", "gini = 0.261\n", "samples = 537\n", "value = [454, 83]\n", "class = dead\n", "\n", "\n", "\n", "8->12\n", "\n", "\n", "\n", "\n", "\n", "10\n", "\n", "gini = 0.485\n", "samples = 82\n", "value = [48, 34]\n", "class = dead\n", "\n", "\n", "\n", "9->10\n", "\n", "\n", "\n", "\n", "\n", "11\n", "\n", "gini = 0.324\n", "samples = 59\n", "value = [47, 12]\n", "class = dead\n", "\n", "\n", "\n", "9->11\n", "\n", "\n", "\n", "\n", "\n", "13\n", "\n", "gini = 0.296\n", "samples = 421\n", "value = [345, 76]\n", "class = dead\n", "\n", "\n", "\n", "12->13\n", "\n", "\n", "\n", "\n", "\n", "14\n", "\n", "gini = 0.113\n", "samples = 116\n", "value = [109, 7]\n", "class = dead\n", "\n", "\n", "\n", "12->14\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import os\n", "from tempfile import mkstemp\n", "import subprocess\n", "\n", "from sklearn.tree.export import export_graphviz\n", "\n", "def convert_decision_tree_to_ipython_image(clf, feature_names=None, class_names=None,\n", " image_filename=None, tmp_dir=None):\n", " dot_filename = mkstemp(suffix='.dot', dir=tmp_dir)[1]\n", " with open(dot_filename, \"w\") as out_file:\n", " export_graphviz(clf, out_file=out_file,\n", " feature_names=feature_names,\n", " class_names=class_names,\n", " filled=True, rounded=True,\n", " special_characters=True)\n", "\n", " import graphviz\n", " from IPython.display import display\n", "\n", " with open(dot_filename) as f:\n", " dot_graph = f.read()\n", " display(graphviz.Source(dot_graph))\n", " os.remove(dot_filename)\n", "\n", "convert_decision_tree_to_ipython_image(clf, image_filename='titanic.png', feature_names=X.columns, class_names=[\"dead\", \"surv\"])" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "G\n", "\n", "\n", "cluster_legend\n", "\n", "\n", "\n", "node2\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node5\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "leaf3\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node2->leaf3\n", "\n", "\n", "\n", "\n", "\n", "leaf4\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node2->leaf4\n", "\n", "\n", "\n", "\n", "\n", "leaf6\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node5->leaf6\n", "\n", "\n", "\n", "\n", "\n", "leaf7\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node5->leaf7\n", "\n", "\n", "\n", "\n", "\n", "node1\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node1->node2\n", "\n", "\n", "\n", "\n", "\n", "node1->node5\n", "\n", "\n", "\n", "\n", "\n", "node8\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "node9\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node12\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "leaf10\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node9->leaf10\n", "\n", "\n", "\n", "\n", "\n", "leaf11\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node9->leaf11\n", "\n", "\n", "\n", "\n", "\n", "leaf13\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node12->leaf13\n", "\n", "\n", "\n", "\n", "\n", "leaf14\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node12->leaf14\n", "\n", "\n", "\n", "\n", "\n", "node8->node9\n", "\n", "\n", "\n", "\n", "\n", "node8->node12\n", "\n", "\n", "\n", "\n", "\n", "node0\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node0->node1\n", "\n", "\n", "<\n", "\n", "\n", "\n", "node0->node8\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "legend\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "viz = dtreeviz(clf, X_train, y_train, target_name='variety', \n", " feature_names=X.columns,\n", " class_names=[\"dead\", \"surv\"],\n", ")\n", "viz" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "text/plain": [ "array([0.20633449, 0.69231053, 0.03019166, 0. , 0.07116332])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.feature_importances_" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "def plot_feature_importances(clf):\n", " n_features = X_train.shape[1]\n", " plt.barh(range(n_features), clf.feature_importances_, align='center')\n", " plt.yticks(np.arange(n_features), X.columns)\n", " plt.xlabel(\"Feature importance\")\n", " plt.ylabel(\"Feature\")\n", " plt.ylim(-1, n_features)\n", " \n", "plot_feature_importances(clf)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "text/plain": [ "0.8129770992366412" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn import ensemble\n", "clf_rf = ensemble.RandomForestClassifier(n_estimators=50, random_state=800)\n", "clf_rf.fit(X_train, y_train)\n", "clf_rf.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_feature_importances(clf_rf)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "text/plain": [ "0.8282442748091603" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn import ensemble\n", "clf_gd = ensemble.GradientBoostingClassifier(random_state=800)\n", "clf_gd.fit(X_train, y_train)\n", "clf_gd.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "pycharm": { "is_executing": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_feature_importances(clf_gd)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "pycharm": { "is_executing": false, "name": "#%%\n" } }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rfpimp import importances, plot_importances\n", "\n", "imp = importances(clf_rf, X_test, y_test) # permutation\n", "viz = plot_importances(imp)\n", "viz" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rfpimp import importances, plot_importances\n", "\n", "imp = importances(clf_gd, X_test, y_test)\n", "viz = plot_importances(imp)\n", "viz" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rfpimp import plot_corr_heatmap\n", "viz = plot_corr_heatmap(X_train)\n", "viz" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Dependencepclasssexagesibspfare
pclass0.83537610.016847400.2167221
fare0.49947310.07115780.1552850.1327151
sibsp0.4948570.35367500.17302410.816689
age-0.06507020.6076110100.0387899
sex-0.09188640.043509110.01482630.09048160.161317
\n", "
" ], "text/plain": [ " Dependence pclass sex age sibsp fare\n", "pclass 0.835376 1 0.0168474 0 0.216722 1\n", "fare 0.499473 1 0.0711578 0.155285 0.132715 1\n", "sibsp 0.494857 0.353675 0 0.173024 1 0.816689\n", "age -0.0650702 0.607611 0 1 0 0.0387899\n", "sex -0.0918864 0.0435091 1 0.0148263 0.0904816 0.161317" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rfpimp import feature_dependence_matrix\n", "D = feature_dependence_matrix(X_test, sort_by_dependence=True)\n", "D" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rfpimp import plot_dependence_heatmap\n", "viz = plot_dependence_heatmap(D)\n", "viz" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from eli5.sklearn import PermutationImportance\n", "import eli5\n", "import pandas as pd\n", "\n", "perm = PermutationImportance(clf_rf).fit(X_test, y_test)\n", "I = pd.DataFrame(data={\"columns\":X_test.columns, \"importances\":perm.feature_importances_})\n", "I = I.set_index(\"columns\")\n", "I = I.sort_values('importances', ascending=True)\n", "I.plot.barh()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import shap\n", "shap.initjs()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "i = 13\n", "explainer = shap.TreeExplainer(clf_rf)\n", "shap_values = explainer.shap_values(X_test.iloc[i])" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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59Ub+H6e04qIiEg9rPqhAc1V9c/yvPf96xs3l02tKnjhknEnF3iG+T30QUREJA87Prc30oN3REREMkABX0REJAOafcD33t/XkOZ8ERGRxpg0aRKnn356qbNRMM3nGYciItL62Yimnf9O9ouaNWsW06dP580336S8vJyBAwcyYcIEDjvssCbKYO2uuuoqZs+ezRtvvMGVV1653ZP+CqFVB/zH93+S4cOHF3aml6qTnYhIazB9+nQmT57MnXfeyXHHHUe7du2YP38+c+bMKUnA79+/PzfffDN33nlnk8y/2Tfpi4iIFFplZSUTJ07ktttu48QTT2SPPfagrKyM4cOHM2XKlBqnOeWUU+jevTsVFRUcfvjhLFiwYFvavHnzOOCAAygvL6dHjx5MnToVgFWrVjFs2DD23HNPOnfuzNChQ9m6taZH1cCZZ57J8ccfT3l5eY3pjaWALyIimfP888+zceNGTjjhhLynOf7441m4cCErVqxg0KBB271056yzzuKuu+5i3bp1vPbaaxx99NEATJs2jZ49e7Jy5UqWL1/ODTfcgFmtv5xrUq26SV9ERKQmq1evpmvXrrRtm38YHDNmzLbPkyZNolOnTlRWVlJRUUFZWRmvv/46Bx98MJ06daJTp04AlJWVsWzZMpYuXUr//v0ZOnRowcuSL9XwRUQkc7p06cKqVauoqqrKa/wtW7ZwxRVXsM8++9CxY0f69OkDhCZ7gEcffZR58+bRu3dvjjjiCJ5//nkAxo0bR//+/Tn22GPp168fkydPbpLy5EMBX0REMufQQw+lffv2zJ6dX0fsWbNmMWfOHJ5++mkqKytZsmQJANVPqx0yZAhz5sxhxYoVjBgxglNPPRWA8vJypk2bxuLFi3n88ceZPn06zzzzTJOUqT4K+CIikjkVFRVcc801nH/++cyePZsNGzawefNmnnzySS677LIdxl+3bh3t27enS5cubNiwgfHjx29L27RpEzNnzqSyspKysjI6duzILruE8PrEE0+waNEikiShoqKCNm3abEvLtXnzZjZu3MjWrVupqqpi48aNbNmypcZxG0L38EVEpHia0ftDLrnkErp37851113HyJEjKS8vZ/DgwUyYMGGHcUeNGsVTTz1Fjx496Ny5M9deey133HHHtvQZM2YwduxYtmzZwv7778/MmTMBWLhwIWPHjmXlypV06tSJ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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "shap.summary_plot(explainer.shap_values(X_test), X_test)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", " Visualization omitted, Javascript library not loaded!
\n", " Have you run `initjs()` in this notebook? If this notebook was from another\n", " user you must also trust this notebook (File -> Trust notebook). If you are viewing\n", " this notebook on github the Javascript has been stripped for security. If you are using\n", " JupyterLab this error is because a JupyterLab extension has not yet been written.\n", "
\n", " " ], "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c = 0 # died\n", "shap.force_plot(explainer.expected_value[c], shap_values[c], X_test.iloc[i])" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", " Visualization omitted, Javascript library not loaded!
\n", " Have you run `initjs()` in this notebook? If this notebook was from another\n", " user you must also trust this notebook (File -> Trust notebook). If you are viewing\n", " this notebook on github the Javascript has been stripped for security. If you are using\n", " JupyterLab this error is because a JupyterLab extension has not yet been written.\n", "
\n", " " ], "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c = 1 # survived\n", "shap.force_plot(explainer.expected_value[c], shap_values[c], X_test.iloc[i])" ] }, { "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": [ "shap.decision_plot(explainer.expected_value[c], shap_values[c], X_test.iloc[i], feature_display_range=slice(-1, -6, -1))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "G\n", "\n", "\n", "cluster_legend\n", "\n", "\n", "cluster_instance\n", "\n", "\n", "\n", "node2\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node5\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "leaf3\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node2->leaf3\n", "\n", "\n", "\n", "\n", "\n", "leaf4\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node2->leaf4\n", "\n", "\n", "\n", "\n", "\n", "leaf6\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node5->leaf6\n", "\n", "\n", "\n", "\n", "\n", "leaf7\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node5->leaf7\n", "\n", "\n", "\n", "\n", "\n", "node1\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node1->node2\n", "\n", "\n", "\n", "\n", "\n", "node1->node5\n", "\n", "\n", "\n", "\n", "\n", "node8\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "node9\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node12\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "leaf10\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node9->leaf10\n", "\n", "\n", "\n", "\n", "\n", "leaf11\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node9->leaf11\n", "\n", "\n", "\n", "\n", "\n", "leaf13\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node12->leaf13\n", "\n", "\n", "\n", "\n", "\n", "leaf14\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node12->leaf14\n", "\n", "\n", "\n", "\n", "\n", "node8->node9\n", "\n", "\n", "\n", "\n", "\n", "node8->node12\n", "\n", "\n", "\n", "\n", "\n", "node0\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "node0->node1\n", "\n", "\n", "<\n", "\n", "\n", "\n", "node0->node8\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "X_y\n", "\n", "\n", "pclass\n", "\n", "sex\n", "\n", "age\n", "\n", "sibsp\n", "\n", "fare\n", "\n", "2.00\n", "\n", "1.00\n", "\n", "0.00\n", "\n", "0.00\n", "\n", "0.00\n", "\n", "\n", "\n", "leaf13->X_y\n", "\n", "\n", "  Prediction\n", " dead\n", "\n", "\n", "\n", "legend\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "" ], "text/plain": [ "" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "viz = dtreeviz(clf, X_train, y_train, target_name='variety', \n", " feature_names=X.columns,\n", " class_names=[\"dead\", \"surv\"],\n", " X=X_test.iloc[i]\n", ")\n", "viz" ] } ], "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.7.4" }, "pycharm": { "stem_cell": { "cell_type": "raw", "metadata": { "collapsed": false }, "source": [] } } }, "nbformat": 4, "nbformat_minor": 1 }