{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import shap\n", "import matplotlib.pyplot as plt\n", "import matplotlib.patches as mpatches" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Retrieve attribute names in order\n", "attribute_names = list(np.load('../gen_train_data/data/output/attributes.npy', allow_pickle=True))\n", "\n", "# Load test data\n", "X_test_pre = np.load('../gen_train_data/data/output/pre/X_test_pre.npy', allow_pickle=True)\n", "y_test_pre = np.load('../gen_train_data/data/output/pre/y_test_pre.npy', allow_pickle=True)\n", "X_test_post = np.load('../gen_train_data/data/output/post/X_test_post.npy', allow_pickle=True)\n", "y_test_post = np.load('../gen_train_data/data/output/post/y_test_post.npy', allow_pickle=True)\n", "\n", "# Type conversion needed \n", "data_dic = {\n", " \"X_test_pre\": pd.DataFrame(X_test_pre, columns=attribute_names).convert_dtypes(),\n", " \"y_test_pre\": y_test_pre,\n", " \"X_test_post\": pd.DataFrame(X_test_post, columns=attribute_names).convert_dtypes(),\n", " \"y_test_post\": y_test_post,\n", "}" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "method_names = {\n", " 0: \"ORIG\",\n", " 1: \"ORIG_CW\",\n", " 2: \"OVER\",\n", " 3: \"UNDER\"\n", "}\n", "model_choices = {\n", " \"ORIG\": \"XGB\",\n", " \"ORIG_CW\": \"RF\",\n", " \"OVER\": \"XGB\",\n", " \"UNDER\": \"XGB\"\n", "}\n", "\n", "soc_var_names = np.load('../EDA/soc_vars_names.npy', allow_pickle=True)\n", "ind_var_names = np.load('../EDA/ind_vars_names.npy', allow_pickle=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### SHAP Plots" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "method_name = 'OVER'\n", "plt.figure(figsize=(35, 75))\n", "for i, group in enumerate(['pre', 'post']):\n", " X_test = data_dic['X_test_' + group]\n", " y_test = data_dic['y_test_' + group]\n", " model_name = model_choices[method_name]\n", " shap_vals = np.load(f'./output/shap_values/{group}_{method_name}.npy')\n", " ax = plt.subplot(2,1,i+1)\n", " shap.summary_plot(shap_vals, X_test, max_display=len(attribute_names), show=False)\n", " plt.title(group.upper(), fontsize = 12, fontweight='bold')\n", " plt.xlabel('SHAP Value')\n", " plt.xlim(-3,5)\n", " used_colors = {'purple': 'Social factor', 'green': 'Individual factor'}\n", " for label in ax.get_yticklabels():\n", " label_text = label.get_text() # Get the text of the label\n", " label.set_fontsize(8)\n", " if label_text in soc_var_names:\n", " label.set_color('purple')\n", " else:\n", " label.set_color('green')\n", " # Create custom legend for each subplot\n", " handles = [mpatches.Patch(color=color, label=label) for color, label in used_colors.items()]\n", " ax.legend(handles=handles, loc='lower right', fontsize=8)\n", " \n", "plt.suptitle(f'SHAP Summary Plots PRE vs POST - Pipeline: Oversampling - Model: {model_name}\\n\\n')\n", "plt.subplots_adjust(wspace=1)\n", "plt.tight_layout()\n", "plt.savefig(f'./output/plots/shap_summary/{method_name}_{model_name}.svg', format='svg', dpi=1250)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "method_name = 'ORIG_CW'\n", "plt.figure(figsize=(35, 75))\n", "for i, group in enumerate(['pre', 'post']):\n", " X_test = data_dic['X_test_' + group]\n", " y_test = data_dic['y_test_' + group]\n", " model_name = model_choices[method_name]\n", " shap_vals = np.load(f'./output/shap_values/{group}_{method_name}.npy')\n", " shap_vals = shap_vals[:,:,1] # Select shap values for positive class\n", " ax = plt.subplot(2,1,i+1)\n", " shap.summary_plot(shap_vals, X_test, max_display=len(attribute_names), show=False)\n", " plt.title(group.upper(), fontsize = 12, fontweight='bold')\n", " plt.xlabel('SHAP Value')\n", " plt.xlim(-0.5,0.5)\n", " used_colors = {'purple': 'Social factor', 'green': 'Individual factor'}\n", " for label in ax.get_yticklabels():\n", " label_text = label.get_text() # Get the text of the label\n", " label.set_fontsize(8)\n", " if label_text in soc_var_names:\n", " label.set_color('purple')\n", " else:\n", " label.set_color('green')\n", " # Create custom legend for each subplot\n", " handles = [mpatches.Patch(color=color, label=label) for color, label in used_colors.items()]\n", " ax.legend(handles=handles, loc='lower right', fontsize=8)\n", "\n", "plt.suptitle(f'SHAP Summary Plots PRE vs POST - Pipeline: Original with Class Weight - Model: {model_name}\\n\\n')\n", "plt.subplots_adjust(wspace=1)\n", "plt.tight_layout()\n", "plt.savefig(f'./output/plots/shap_summary/{method_name}_{model_name}.svg', format='svg', dpi=1250)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### SHAP Interaction Plots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Had to modify beeswarm.py (line 591)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "method_name = 'OVER'\n", "group = 'pre'" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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JZe4Tc+dO9f1zXOXLl304IMPasGCBaf8lu5cLFiwQIZhaODAgWrcuLFrfkZGhrp27aq0tDR17NixWj1nGjzxww8/VHh4uIYMGaJmzZq55jscDo0fP/6CvyFs27atrrvuOreapcrxeE78CwkJOe02TNPUddddp9WrV7vmtW7dWldffbVatWrlmvfNN9/okUcecVv3wQcfdPvmPywsTEOGDFHLli01c+ZMt9toLsSnn36qMWPGVPtXtcfGiXquuOIK1/QjjzyizMxMPfHEE0pPT5dUeTvPtGnTqh0Xf39/derUSYMGDdK1116rgQMHuo3/M2PGDH366ac11piZmak1a9aoffv26tu3r1vbXXfdpZdfflmxsbG6/PLLFRYW5mpbsGCB69vtU1m0aJEOHTqknj176tJLL5Wf3//ugJ45c6befvvtGtet6kLO8+mc/J748MMP1adPH4WHh6tPnz56/PHHtXLlyrPa1uLFi095nk933E+YO3eucnNzXdNjxoxRcnKyevfu7Zr3xRdfnNeA5Rs2bHCbbtCgwVmtV5vH5kJ88803Sk5O1uWXX67AwEDX/BM9aWw2mwYNGqSUlBRXW2Zmpl577bUat1nb13tERIS6d++uK664QiNGjFCfPn0UEBAgqfLa/cMf/qADBw7UWM/ixYt15MgRJScna+jQoerYsaMMw9C4ceMUGhrqts9VVb224uPjdfXVV9f4Gudr7ty5KigoUK9evar16vrHP/6hwsJCSZWDEF933XUKDg52tcfGxrp9np8Yq2zTpk361a9+5eohZbPZ1K9fPw0dOlQRERGSKnvv3XXXXad8qtMJNR23E6xWq9q1a6cBAwbo2muv1eWXX66EhARX+4oVK6r1THrmmWf0xhtvuM1r1aqVhg8frh49eshqtbrmn8s+n86hQ4d07bXXKicnx+01hwwZovDwcNe8r776qloPvaoyMzO1ePFiNWrUSIMHD3b7ObF169YaxwA7H+f7ufLzzz/r5ptvVnFxsWte586dNXDgQAUFBbnmvfXWW3r++eclVfZ8vu6669SmTRu3bQ0bNsx1nE/uBQsA58y7OROA+mbEiBFn/Caqa9eu5s6dO93WO5cePRaLxfzxxx9N0zTN/Pz8at+U3X///a51r7/+ere2qt+0n/ytWcOGDc2DBw+apmmaFRUV5q9//Wu39r/+9a81rns2PXpOON23+ydUba/ac+Krr75ya/v73//utt7999/varNareb+/ftN0zTN/fv3mxaLxdUWHx/vOhZOp9McP36823YvpEdPTf86depUbd3Dhw+7favbrVs3t14dzz33XLV1du7caRYVFVWbX1hYaDZt2tS17pgxY9zaT/42+je/+Y2r7eReQqmpqa4eEif3EDm5x9LJ+/mf//zH1Xbyui1btqxx3do4z2dSXl5eY8+Oqv+GDBliHjlyxG3dk6/rs/13qh49N954o6vdMAzX++7kXoEzZ86stm5NPXqKi4vN2bNnm5GRkW7tJ/fkq4tjU5s9erp37+7qwTZ58mS3NqvVaq5cudI0TdPMzs42g4KCanzP1tX1vmnTJrOioqLa8du2bZvbeq+++qpb+8nH8a677jLtdrur/UTPjfvuu8+1TGxsrFlWVmaaZuVnclxcnKvt0UcfrVZDTc6lR48k84svvnC133nnnTWua5qm2bhx4zN+bl533XWuZSIjI83t27e72rKzs81GjRq52k/ugXa2xy09Pd3Mz8+v9trl5eXmpZde6nZ9VX3twMBAt+vr5N6rBw4cMOfNm3fO+3y6n4OPPPKIW9sjjzziatu/f79brzGr1Wru27fP1X7ydT169GhXr7vly5fX+Jl6JjX16KmoqDDXrVtndurUya193LhxrnVP9/vAqFGj3NomTZrkatu4caMZEhLiagsPD3frcXWmzxUAuBD06AFwTj777DM9/vjjp+2Zsm7dOg0dOtQ18Om5GjJkiPr06SOp8pvlqj0cJOnJJ590/f/J4zxkZGTUuN377rtPycnJkiq/GT35/vhFixadV7216dtvv3Wb/uGHH9x6U6xfv97V5nA49N1330mqHEeh6ngud911l+sef8Mw9Oc//7nOaz+VxMREt2/t165d6+rx1bdvXz3xxBPV1klNTdW0adN05ZVXKikpSYGBgTIMQ6GhodqzZ49ruZ07d572tZ966inX//fs2dOt7e6773YNuHsu11CrVq106623uqavuuoqt54iO3fu1OHDh09bl3T+5/lMbDab5s+frzvvvLPaAOBVzZ8/3+2JObWpqKhIs2fPdk337t3b9b4bM2aM27LTpk074/ZOjFsRHBysESNGKD8/39XWoUMH/frXvz6rui6GYyNJjz76qOvz8+TrcvDgwerVq5ckKSYmxq33xOmu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/f/o0aMvqh53VZ+cdKoxYaxWq9sYN0uWLNGHH35YbblDhw7ppZdeOq/x0k73uThv3rwax7gZPHiw25Pd3nvvvWphXUZGRrUxwM60z2dS9fOttLTU7VbPQ4cO6fXXX3dNW61WDRky5Jxf42JgtVp1+eWXu6YPHDjgtm9btmxxG4csLCzMbUy3qsdZ0lmN7wYAZ+vi+rodwEUvLS1NDz/8sH7729+qdevWaty4sQzD0IYNG9x+SUlKStLgwYO9WGl1Bw4cUPv27dWjRw+lp6dr9+7drrbw8HCNHz/ei9VVuuaaa9SrVy+tWrVKUuUjuxs2bKguXbooNDRUR44c0aZNm9wG2JQqe5Fcd911+uyzzyRVhigdOnRQz549tX///jMOXHwuPv30U23evPmUbePGjdPw4cMlVY4Vceutt7puc2nfvr3eeust9erVS7/5zW8kSbNnz9bbb7+tu+++W1Ll2Bxvvvmma3u9e/dW3759dfjwYa1fv16GYZz2lhFPGDt2rF577TXZbLZqj+M+20ehn+95Phvr16/X+PHjdffdd6t9+/ZKSUmR3W7XmjVr3B553rVr11ofB6XqbVuGYejAgQOugZirmjRpkuuxyg6HQ5988okeeuihWq3lVM732PTv399tO2+++aa++OILlZSUVAvo6rMePXq4bl/bv3+/WrVqpQ4dOmjz5s2u4Li23HHHHXr66afdxjiRKj9DLibNmzd39drbuXOnunXrptTUVBmGoX/+859KTU3V008/rW+++Ubl5eVyOp269dZb9eyzz6ply5aqqKjQ7t273XovnasePXq4TY8ePVr9+vVTQUFBtc+gqmJiYvS73/1Of/nLXyRVvtfGjBmj1q1bq3nz5srOztbatWt13333uYVVZ7PPp/Poo4+6Bar//Oc/9c033yglJUU//fSTjh075lr2jjvuqNbDsT556qmn9M0337jCuAcffFDvvfeeIiMjtXLlSreBt5944gm3cKd58+Zu2xo9erR69eolm82mq6+++oJ7HAH4ZSPoAXDWqnYzNk1T27Ztq3bbilT5rdX06dPdvkm8GNx333166623qt1aYrFYNHnyZCUkJHipsv8xDEMzZ87UNddco7Vr10qS8vPzT/lEsJO7+b/yyitat26d0tLSJFUGLSe+6R00aJC2bdt2QU8pOaGm8y7JbdyUBx54wDUYqJ+fn6ZOnSp/f3/de++9mjFjhus8PProoxo4cKBatGihm2++WZMmTdLGjRtd+3DiCVVXXnmlioqK3HrQeNqwYcO0a9cuV0BT1YgRI3TPPfec1XYu5DyfabsnOBwObdiwwe1pMic0aNDArWdSbdi/f7/brZu9evU6ZcgjSSNHjnQFPVJlQFTXQc+FHJtmzZrptttu03/+8x/XvBO9Gps1a6bU1FQtWLCgjir3nCeffFKzZs1y/YG+f/9+V8Dz3HPPuT3Z60JFRkbq1ltvdQt2U1NTNWjQoFp7jdpw2223uQ2Wvm7dOteteieOR+fOnfXRRx9p7NixruBv165d2rVrV7Xtnc8YM4MGDdKVV17perpXaWmpqxdOp06d1KJFC33++eenXPfZZ59VVlaW29MPt2/f7jYe1cnOZp9Pp2HDhvryyy81ZswYV4B6qp8bV111lV5++eUzbu9i1q1bN/3nP//RHXfc4Qp1fv7552rLjR8/vtpTJq+88kolJCS4ejRmZma6ekaffDs2AJwrbt0CcNZuueUWLV26VE899ZQuv/xypaamKigoSBaLReHh4erSpYt+//vfa8uWLdW+Ab8YXH/99VqyZIkuv/xyhYeHKyQkxDWewg033ODt8lwSExO1YsUKTZ06VcOGDVODBg1ks9kUGBio1NRUXX311XrxxRerfcOekJCglStX6t5771WDBg3k7++vli1b6s9//rPmzJlz2kdK17bPPvvM7Y/lxx9/XN26dXNNv/vuu66xP4qKinTLLbeooqJCAQEBWrx4se655x4lJCTI399fzZo104QJEzR79myvDJxaVXx8vH766Sc98MADSk5Olr+/v1q0aKG///3v+vzzz88plDnf83w6f/zjHzV37lw99thj6t+/v1JSUhQYGCir1aqoqCj17t1bEydO1JYtW075BLEL8dFHH7n1tqr6COuTNW7cWF27dnVNr1q1yhVQ1pULPTbvvPOOnnrqKaWmpspmsyklJUUPP/yw1qxZ4zN/lLVq1Uo//PCDrr76aoWFhSk4OFjdunXThx9+qCeffLLWX+/BBx90m7799tsvunFLxowZo8mTJ6tTp06n/fJi9OjR2rZtm/74xz+qe/fuioiIkNVqVXh4uDp27Kg77rhDn3/+ud54443zquPLL7/UH/7wBzVs2FA2m00NGzbUQw89pGXLltX4pC6pMih+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77330q9fP+Lj4/n000+JjY11+UKme/fuPPzww3zwwQccO3aMPn364HA42LBhA927d2f8+PFA8Sjk1atXM2vWLMLDw4mJiaFdu3a88sorrFq1ik6dOjFu3Dh0Oh1z5syhqKiIN998s8Kup6qRxZiFuEUZDAZat27Nb7/95nJ81apVxMTEEB4efk31bdiwAbPZTGxs7DWdd9ttt7F161Zyc3Odx1avXo1Go6F9+/blnte0aVM8PDxYvXq185jNZmPNmjV07NjxmmKo6NjKkpqayu7du6/5/twsVaE/SF+oGqpCX4Cq2x/+Tn1BCCHErePtt9+me/fu/PzzzzzzzDM888wzbN26lXHjxrFlyxZ8fX2dZT///HNmzJjBtm3beOqpp/j999+ZMmUKX375pUudo0aN4ocffsDb25uXX36Z5557jp07d9K3b99y47j99tuZO3cuSUlJPPXUU/znP//hjTfe4N57763Q6x0xYgSvvfYae/bsYeLEiaxYsYIlS5Y4p6pdbP78+bz11lvEx8czefJkXnvtNcxmM7fddpuzzKxZs2jVqhUvvvgiDz74IJ988gkAjRo1YsOGDTRu3JiZM2cyY8YMoqKiWLNmDe3atavQa6pKFLVk83khxC1n9+7dPP7449x777306NGDHTt28PnnnzNz5kyXrYnbtWtHv379mDp1KgDvvvsuGo2Gxo0b4+XlxYEDB1iwYAFRUVHMmzfvmhdcvf/++4mMjOTRRx8lJSWFd999lz59+vDcc885yz3xxBMkJia6DPtcsGABn332GRMmTKBOnTp8/fXXbNmypcIWNr3e2H799Vc2btxIx44dCQoK4syZMyxYsICcnBwWL158w+ug/FUquz9IX6g6KrsvQNXtD3+3viCEENVJYWEh8fHxxMTEuIzwzD6VzYf1P8RWaKvE6IrpTDrGHxmPT6RPZYciqqnyfg8uJlO3hLiFNW/enDfffJNPPvmE77//ntDQUF588UWXD3IAdrsdh8PhfBwTE8OyZctYvnw5hYWFBAcH079/fx5//PFr+iAHxcNCP/nkE9566y0mTZqEh4cHAwYMYNy4caViuHiuL8Dw4cNRVZUlS5aQmZlJvXr1mD17doXtXnO9sUVERJCamso777xDbm4uXl5etGnThscff7xKf5ir7P4gfaHqqOy+AFW3P/zd+oIQQvwd+ET6MP7IeArSCio7FNwD3SXJIyqdjOgRQgghhBBCCFHlXc1IBiGqu6v5PZA1eoQQQgghhBBCCCGqCUn0CCGEEEIIIYQQQlQTkugRQgghhBBCCCGEqCYk0SOEEEIIIYQQQghRTUiiRwghhBBCCCGEEKKakESPEEIIIYQQQgghRDUhiR4hhBBCCCGEEEKIakISPUIIIYQQQgghhBDVhCR6hBDiFrRgwQIURWHt2rWVHUqVsnbtWhRFYcGCBZUdSoWrztcmhBBCCCEqjiR6hBDV3okTJxgzZgwNGjTA3d0dPz8/GjZsyPDhw1mzZo1L2ejoaBo3blxuXSNGjEBRFNLS0sp8/tChQyiKgqIobNiwodx6SsqU/JhMJurWrcszzzxDRkbG9V3oNZo+fTrffffdTWmrIu3evZvp06eTkJBQ2aEIIYQQQghR5egqOwAhhPgrbd++na5du6LX63nkkUdo1KgRZrOZY8eOsXLlSry8vOjevXuFtTd37ly8vLxwc3Nj3rx5dO7cudyyzZs3Z9KkSQBkZGTw888/8+6777Jq1Sp27NiBwWAo99yHH36YBx544LJlrmTGjBkMHz6cAQMGXHcdlWH37t3MmDGDbt26ER0d7fJcly5dMJvN6PX6yglOCCGEEJXiVPYp0grK/iLuZgp0DyTSJ7KywwAgISGBmJgY5s+fz4gRI4DiL/pmzJiBqqrXXJ+iKEybNo3p06dfttyNtHG11q5dS/fu3VmzZg3dunW7bNlt27bx5JNPsmfPHgoKCti1axfNmzf/y2KrCiTRI4So1mbMmEFBQQG7d++mWbNmpZ5PSkqqsLasViuLFy9m8ODB+Pj48Nlnn/HBBx/g5eVVZvmIiAiGDRvmfDxx4kTuvvtufvzxR77//nsGDx5cbltarRatVlthsVe03Nzccq/7r6TRaDCZTDe9XSGEEEJUnlPZp6j/YX0KbYWVHQomnYkj449cc7JnwYIFjBw5km3bttG6deu/KLq/H6vVyuDBgzGZTLz77ru4u7sTFRVVoW0cPHiQ//73v4wYMaLUl5CVRaZuCSGqtWPHjhEQEFBmkgcgNDS0wtr63//+R0pKCsOHD2fEiBHk5+fz1VdfXVMdvXv3BuD48eOXLVfWGj0lx37//XfefvttateujdFopF69eixcuNBZLiEhAUVRAFi4cKHLFLKLrV69ml69euHr64vJZKJp06Z8+umnpWKJjo6mW7du7Nq1i969e+Pj40PTpk2B4oTPiy++SLt27QgMDMRoNFKnTh2ef/55CgoKStWlqir//ve/adeuHZ6ennh6etKkSROmTp0KFH9DNHLkSAC6d+/ujLvkW6ry1rHJz89nypQpznsSGhrKI488wsmTJ13KXXz+/PnzadSoEUajkaioKN58883LviYAWVlZmEwm7rvvvjKfnzJlCoqisHv3bgDOnTvHpEmTaN68OX5+fphMJmJjY3njjTew2+1XbO9yazWVNeIJike53Xvvvc7Xo379+rz66qvYbLYrtieEEEJURWkFaVUiyQNQaCusEiOLyvPiiy9iNpuv61yz2cyLL75YwRH9teLi4jh58iT/+Mc/GDNmDMOGDcPPz69C2zh48CAzZsyoUssKyIgeIUS1Vrt2bY4cOcLy5cvL/fB9KbvdXu4aPEVFReWeN3fuXGJiYujcuTOKotCiRQvmzZvH6NGjrzreY8eOARAYGHjV51zqhRdewGw28/jjj2M0Gvnkk08YMWIEderUoWPHjgQFBbF48WIefvhhOnfuzJgxY0rV8dlnnzF27Fjat2/PP//5Tzw8PFi1ahVPPPEEcXFxvPXWWy7lT506xe23387gwYMZOHAgeXl5AJw9e5bPP/+cgQMHMnToUHQ6HevWrePNN99k165drFixwqWehx9+mKVLl9KuXTv++c9/4uvry+HDh1m2bBkvvfQS9913H4mJiXz22We88MILNGzYECh+nctjtVrp3bs3f/zxB4MGDWLSpEkcO3aMTz75hJUrV7J9+3Zq1Kjhcs6nn35KcnIyo0aNwtfXlyVLlvDcc89Ro0YNhg4dWm5bvr6+9O/fn++//56MjAz8/f2dzzkcDpYuXUrTpk2dw4X37t3L8uXLuffee6lduzZWq5Vff/2V559/nhMnTjBnzpxy27oeP/30E/fddx916tRh0qRJ+Pv7s2nTJqZOncru3bv5+uuvK7Q9IYQQQlQtOp0One760gC34qjplJQUoPg92q2moKAAd3f36ztZFUKIauzPP/9U9Xq9Cqh169ZVR44cqX788cfqwYMHyywfFRWlAlf8SU1NdTnv7NmzqlarVadNm+Y89t5776lAmW0Baq9evdTU1FQ1NTVVPXr0qDpr1ixVr9erPj4+anJy8mWva/78+SqgrlmzptSx5s2bq0VF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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X_test = data_dic['X_test_' + group]\n", "y_test = data_dic['y_test_' + group]\n", "model_name = model_choices[method_name]\n", "\n", "shap_inter_vals = np.load(f'./output/shap_inter_values/{group}_{method_name}.npy')\n", "if method_name == 'ORIG_CW':\n", " shap_inter_vals = shap_inter_vals[:,:,:,1] # Take info about positive class\n", "\n", "num_instances = shap_inter_vals.shape[0] # Dynamically get the number of instances\n", "num_features = shap_inter_vals.shape[1] # Assuming the number of features is the second dimension size\n", "# Loop over each instance and set the diagonal and lower triangle of each 39x39 matrix to NaN\n", "for i in range(num_instances):\n", " # Mask the diagonal\n", " np.fill_diagonal(shap_inter_vals[i], np.nan)\n", " # Get indices for the lower triangle, excluding the diagonal\n", " lower_triangle_indices = np.tril_indices(num_features, -1) # -1 excludes the diagonal\n", " # Set the lower triangle to NaN\n", " shap_inter_vals[i][lower_triangle_indices] = np.nan\n", "\n", "plt.figure(figsize=(10,10))\n", "shap.summary_plot(shap_inter_vals, X_test, show=False, sort=False)\n", "fig=plt.gcf()\n", "attr_names = []\n", "used_colors = {'purple': 'Social factor', 'green': 'Individual factor'}\n", "# Iterate over all axes in the figure\n", "for ax in fig.get_axes():\n", " # Customize the y-axis tick labels\n", " for label in ax.get_yticklabels():\n", " label_text = label.get_text() # Get the text of the label\n", " attr_names.append(label_text)\n", " label.set_fontsize(12)\n", " if label_text in soc_var_names:\n", " label.set_color('purple')\n", " else:\n", " label.set_color('green')\n", "\n", "# Assuming the top labels are treated as titles, let's try to modify them\n", "total_axes = len(fig.axes)\n", "for i, ax in enumerate(fig.axes):\n", " reverse_index = total_axes - 1 - i\n", " title = attr_names[reverse_index]\n", " ax.set_title(title, color='purple' if title in soc_var_names else 'green', fontsize=12, rotation=90)\n", " if method_name == 'ORIG_CW':\n", " ax.set_xlim(-0.05, 0.05) # Use same scale for pre and post\n", " elif method_name == 'OVER':\n", " ax.set_xlim(-0.75,0.75)\n", "\n", "# Create a single general legend for the whole figure\n", "handles = [mpatches.Patch(color=color, label=label) for color, label in used_colors.items()]\n", "fig.legend(handles=handles, loc='lower right', fontsize=12)\n", "\n", "plt.suptitle(f'Simplified Example SHAP Summary Interaction Plot\\n', fontsize=15, fontweight='bold', x=0.5, y=0.95, ha='center')\n", "plt.tight_layout()\n", "plt.savefig(f'./output/plots/shap_inter_summary/example.svg', format='svg', dpi=600)\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.9.5" } }, "nbformat": 4, "nbformat_minor": 2 }