From a00c2ba1424f867235e5bfffb55e5973e349c966 Mon Sep 17 00:00:00 2001 From: Rohit Chougule Date: Sun, 29 Jan 2023 19:01:37 -0500 Subject: [PATCH] Implemented slice finding for all possible combinations --- .../results/Results_for_all_14_features.pdf | Bin 0 -> 21666 bytes .../results/max_score_slice_graph.png | Bin 0 -> 158247 bytes slice_finding/slice_finding.ipynb | 451 ++++++++++++++++++ 3 files changed, 451 insertions(+) create mode 100644 slice_finding/results/Results_for_all_14_features.pdf create mode 100644 slice_finding/results/max_score_slice_graph.png create mode 100644 slice_finding/slice_finding.ipynb diff --git a/slice_finding/results/Results_for_all_14_features.pdf b/slice_finding/results/Results_for_all_14_features.pdf new file mode 100644 index 0000000000000000000000000000000000000000..08585eb53bf238d3d796ad2ed981e160ec43fadd GIT binary patch literal 21666 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 literal 0 HcmV?d00001 diff --git a/slice_finding/results/max_score_slice_graph.png b/slice_finding/results/max_score_slice_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..67e650d4247e6afbda508bfcf4a11fbea63cff53 GIT binary patch literal 158247 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

N*}Y;CQSRgfgp^G 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" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# The outcome variable is medv, the house price value. Let's discretize it into bins so that we can\n", + "# calculate entropy, etc.\n", + "\n", + "num_bins = 10\n", + "outcome_bins = np.histogram_bin_edges(df[\"medv\"], bins=num_bins)\n", + "discrete_outcomes = np.digitize(df[\"medv\"], bins=outcome_bins)\n", + "\n", + "# print (discrete_outcomes.min())\n", + "# print (discrete_outcomes.max())\n", + "\n", + "plt.hist(discrete_outcomes)\n", + "plt.xlabel(\"Value Bin\")\n", + "plt.ylabel(\"Count\");" + ] + }, + { + "cell_type": "code", + "execution_count": 377, + "id": "38ee9456", + "metadata": {}, + "outputs": [], + "source": [ + "def discretize_data(df, spec):\n", + " discrete_columns = {}\n", + " for col, col_spec in spec.items():\n", + " if col_spec[\"method\"] == \"keep\":\n", + " discrete_columns[col] = df[col].values\n", + " elif col_spec[\"method\"] == \"bin\":\n", + " discrete_columns[col] = np.digitize(df[col], col_spec[\"bins\"])\n", + " return pd.DataFrame(discrete_columns, index=df.index)\n", + "\n", + "discrete_df = discretize_data(df, {\n", + " \"crim\": { \"method\": \"bin\", \"bins\": [np.mean(df[\"crim\"])] },\n", + " \"zn\": { \"method\": \"bin\", \"bins\": [1.0] },\n", + " \"indus\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"indus\"], [0.25, 0.5, 0.75]) },\n", + " \"chas\": { \"method\": \"keep\" },\n", + " \"nox\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"nox\"], [0.25, 0.5, 0.75]) },\n", + " \"rm\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"rm\"], [0.25, 0.5, 0.75]) },\n", + " \"age\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"age\"], [0.25, 0.5, 0.75]) },\n", + " \"dis\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"dis\"], [0.25, 0.5, 0.75]) },\n", + " \"rad\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"rad\"], [0.25, 0.5, 0.75]) },\n", + " \"tax\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"tax\"], [0.25, 0.5, 0.75]) },\n", + " \"ptratio\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"ptratio\"], [0.25, 0.5, 0.75]) },\n", + " \"black\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"black\"], [0.25, 0.5, 0.75]) },\n", + " \"lstat\": { \"method\": \"bin\", \"bins\": np.quantile(df[\"lstat\"], [0.25, 0.5, 0.75]) },\n", + "})" + ] + }, + { + "cell_type": "code", + "execution_count": 378, + "id": "d16e822a", + "metadata": {}, + "outputs": [], + "source": [ + "def calc_entropy(inputs):\n", + " \"\"\"\n", + " Calculates the Shannon entropy of the given inputs, where inputs is an\n", + " array or series of discrete values.\n", + " \"\"\"\n", + " unique, counts = np.unique(inputs, return_counts=True)\n", + " return -np.sum((counts / len(inputs)) * np.log2(counts / len(inputs)))\n", + " \n", + "def entropy_difference(outcomes, mask):\n", + " \"\"\"\n", + " Calculates a score that is higher when the distribution of outcomes \n", + " inside the given mask has a LOWER entropy than the distribution\n", + " overall.\n", + " \n", + " Args:\n", + " outcomes: A 1D or 2D array of discrete outcome values.\n", + " mask: A 1D boolean array indicating whether each row\n", + " is part of the slice being evaluated or not.\n", + " \"\"\"\n", + " if len(outcomes.shape) > 1:\n", + " return sum([calc_entropy(outcomes[:,i]) / calc_entropy(outcomes[mask,i])\n", + " for i in range(outcomes.shape[1])]) / outcomes.shape[1]\n", + " else:\n", + " if (calc_entropy(outcomes[mask]) > 0 ):\n", + " return calc_entropy(outcomes) / calc_entropy(outcomes[mask])\n", + " else :\n", + " return 0\n", + "\n", + "def mean_difference_l1(outcomes, mask):\n", + " \"\"\"\n", + " Calculates a score that is higher when there is a larger difference\n", + " between the average outcomes inside the given mask and the overall\n", + " dataset, normalized by the population standard deviation.\n", + " \n", + " Args:\n", + " outcomes: A 1D or 2D array of discrete (but ordered) outcome\n", + " values.\n", + " mask: A 1D boolean array indicating whether each row\n", + " is part of the slice being evaluated or not.\n", + " \"\"\"\n", + " if len(outcomes.shape) > 1:\n", + " return np.abs(np.mean((outcomes[mask].mean(axis=0) - outcomes.mean(axis=0)) / outcomes.std(axis=0)))\n", + " else:\n", + " return (outcomes[mask].mean() - outcomes.mean()) / outcomes.std()\n", + " \n", + "def group_size(outcomes, mask):\n", + " return np.log2(1 + mask.sum() / len(mask))" + ] + }, + { + "cell_type": "code", + "execution_count": 379, + "id": "8fecd59f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "27 examples in slice\n", + "Entropy score: 1.066727205923479\n", + "Difference score: 1.1916646422283717\n", + "Group size score: 0.07738253131236406\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq0AAAGECAYAAAAcFxnIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAABuvAAAbrwFeGpEcAABN/ElEQVR4nO3deVyU5f7/8few74grgru5ZJKaWpmZkOaWlqXmkmFZWh2P52hl9TuV0nLaTuXJMjMtt0yTFvVU7mKZpifNMtO0UnAhMEV2kO3+/eF37gPBIOAMM8Dr+XjMo/G+lvtzzwzx4Zrrvi6LYRiGAAAAABfm5uwAAAAAgIshaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAy/NwdgCoHIvF4uwQAAAAKsUwjEvug5FWAAAAuDxGWmsoe/zFAgAA4Ej2/IaYkVYAAAC4PJJWAAAAuDySVgAAALg8klYAAAC4vDqRtGZkZCgmJkYREREKCAhQcHCwevbsqVdffVV5eXlV6vPLL7/UE088oYEDB6pdu3YKCQmRp6enGjdurKioKM2ZM0c5OTl2vhIAAIC6yWLU8tvQExISFBkZqfj4eEmSn5+fCgsLdf78eUlSt27dtGXLFoWEhFSq36FDh+rzzz83/+3v7y9JysrKMo+1bt1a69evV/v27S/xKv7HehdeLX/bAABALWDPvKVWj7QWFBRo2LBhio+PV9OmTbVp0yZlZWUpOztbK1euVGBgoPbt26fx48dXuu/+/ftrzpw5+u6775Senq7MzExlZmbqzJkzmjNnjnx9fXXs2DHddtttKioqcsDVAQAA1B21eqT13Xff1X333SdJ2rlzp3r16lWifMWKFRo3bpwkafPmzerXr5/dzv3OO+/o/vvvlyR9/fXX6t27t136ZaQVAADUFIy0VtCSJUskSVFRUaUSVkkaM2aMWrduLUlaunSpXc997bXXms9Pnjxp174BAADqmlqbtGZnZ2vHjh2SpMGDB5dZx2KxaNCgQZKkjRs32vX827dvN5+3bdvWrn0DAADUNbV2G9dDhw6Zc0k7d+5ss561LCkpSSkpKapfv36Vz5mTk6OTJ08qNjZWzzzzjCTphhtuUI8eParcp73l5eUpPT1dOTk5zLWFS3Nzc5Ovr6+CgoLk5eXl7HAAAE5Wa5PWxMRE83l4eLjNesXLEhMTK520JiUlqWnTpmWWDRs2TIsXL65Uf/bco7c4wzCUlJSk1NRUh/QPOEJmZqb++OMP1atXT6GhoQ77+QAAuL5am7RmZGSYz/38/GzWK15WvE1Fubu7q0mTJpKktLQ05ebmSpJGjRqlZ5555pJGbu3pzwmrp6enPDw8SALgkgzDUEFBgfLz8yXJ/Oza+gPR2TYfTHZ2CHbRv1MTZ4cAADbV2qS1ujRq1EhJSUmSLvyiPXXqlN5++229+uqrWr16td58801Nnjy5wv1d7O66qiSZeXl55i99Ly8vhYeHy9vbm4QVLs0wDJ0/f16nTp0yP8MNGjRgqgAA1FG19kaswMBA83l2drbNesXLirepCovFombNmum5557T8uXLlZ+frwcffFA//PDDJfV7qdLT083n4eHh8vHxIWGFy7NYLPLx8Skxhacq34YAAGqHWpu0hoWFmc9PnTpls17xsuJtLtXtt9+uFi1aqKioSO+++67d+q0K63aynp6e8vb2dmosQGV5e3vL09NTUvl/gAIAardam7RefvnlcnO7cHkHDhywWc9aFhoaavf5p9YRol9//dWu/VaWdZUA5rCiJrJYLPLwuDCTiRUvAKDuqrVJq5+fn7kL1fr168usYxiGNmzYIEkaMGCAXc9vGIaOHTsm6dKnHdgLCStqKj67AIBam7RK0oQJEyRJcXFx2r17d6ny2NhYHT16VJIUHR1d4X4LCgouWmfRokXmDVqRkZEV7hsAAACl1fqkNSIiQoZhaMSIEdqyZYukC18xxsbGatKkSZIu7JjVr1+/Em1jYmJksVhksVgUHx9fouzrr7/WDTfcoGXLlpXaovWXX37R448/rvvvv1/Shd2w7r77bsdcIAAAQB1Rq5e88vDw0Nq1axUVFaX4+Hj1799ffn5+KioqMtdT7datm5YvX17pvrdv325u1erj46OAgABlZWWZNz1JUpcuXbR69Wr5+vra54IAAADqqFo90ipJrVq10v79+zVz5kx17txZFotFnp6e6t69u1555RXt2rVLISEhleqze/fuWrZsme6991516dJFwcHBSk1NlZubm9q2batRo0Zp5cqV2rt3r1q1auWYCwMAAKhDLMbFVrOHS7HekFKZty0hIUHZ2dny8/NTy5Yty63Lzj6oirvvvltLlizRhAkTSm1dXF5ZRVXmM+wM/NwAQNmqkrfYUutHWgEAAFDzkbQCAADA5ZG0AgAAwOWRtAIAAMDlkbQCVbBt2zaNGjVK4eHh8vb2VsOGDdWvXz8tWrRIhYWFJep26dJFFotFDz30ULl9bt26VRaLRW5ubjp+/Hip8vj4eE2bNk1XXHGFAgIC5Ofnp44dO+rvf/97mfUlafHixbJYLOYqFnFxcRo+fLiaNm0qd3f3EmsIHzt2TC+99JIGDRqk9u3by9/fXwEBAerUqZOmTZtm8xwAAFQHklagkh566CFFRUXpo48+0u+//y4/Pz+lpqZq69atmjhxogYMGKCMjAyz/l133SVJWrFiRamEtrhly5ZJkvr27asWLVqUKFu+fLk6duyo119/XQcPHjR3ZTt8+LDmzJmjzp07a+PGjeXG/frrr6tfv35as2aNcnJy5O7uXqL8nnvu0eOPP64NGzYoISFBvr6+ysnJ0aFDh/T666/ryiuv1Ndff13xFwoAADsiaQUq4c0339Ts2bMlSZMnT1ZiYqLOnTuntLQ0zZ49Wx4eHtq6dau525ok3XnnnXJ3d1dSUpI2bdpUZr85OTn6+OOPJZXeUnjTpk2Kjo5WYWGhHn30UR07dkw5OTnKysrSzz//rFGjRikjI0OjRo2yORqanJyshx9+WBMmTNDx48eVmpqqnJwcPfXUU2adrl27au7cuTpy5IhycnJ05swZnT9/Xrt379agQYOUlpam0aNHl9hAAwCA6kLSClRQTk6OZs2aJUkaO3as5s+fr9DQUEmSv7+/pk2bptdee02S9OGHH2rv3r2SpKZNm6p///6SpKVLl5bZ9+rVq5WRkSFfX1+NHDnSPF5UVKQpU6aoqKhIc+fO1UsvvaRWrVqZWwx36NBBq1at0i233KL09HTz/H+Wm5urW2+9VYsWLVLz5s0lSe7u7mrbtq1Z59///rf+8pe/qF27dnJzu/C/Bg8PD1199dX67LPPdOWVVyoxMdFMrgEAqE4krUAFbdq0SSkpKZKkmJiYMuv85S9/UdOmTSVJH3zwgXncOkXAmpz+mXVqwPDhwxUYGGge/+qrr/TLL7+oYcOGuu+++2zGZh2d3bBhg806/+///T+bZRfj7u6uQYMGSRJTBAAATuHh7ACAmmLPnj2SpObNm6t9+/Zl1nF3d9eNN96o5cuXm/Ul6bbbblNgYKAyMjL08ccfl7gBKjk52ZyP+uepATt27JAkpaWlKSwszGZseXl5ki7sHFUWX19fXXXVVRe5Qmn79u169913tWvXLp08eVJZWVml6pw8efKi/QAAYG8krUAFnT59WpIUHh5ebr1mzZqVqC9Jfn5+GjFihBYvXqxly5aVSFqtN2iFhobqpptuKtFXYmKiJCk/P1/JyRffKtTWfNMGDRqYX/nb8thjj+nll182/+3u7q6QkBB5eXlJkjIzM5WVlVVmIgsAgKMxPQCoJtZR1G3btunEiRPmcevUgHHjxpW6o9+62sA111wjwzAq9CjLn/v9s02bNpkJ61/+8hf9+OOPOn/+vFJSUpSUlKSkpCRNnz5dkn32jwYAoLJIWoEKaty4saSLfz1uLbfWt4qMjFTz5s1VVFSk5cuXS5IOHjyo7777TlLpqQGSzBu9bH3tby8rV66UJA0cOFBz585V586dSyW6SUlJDo0BAIDykLQCFdSjRw9JF5LSI0eOlFmnsLBQcXFxkqSePXuWKLNYLBo/fryk/42uWv975ZVXqkuXLqX66927t6QLCWPxObL2Zh357datW5nlhmFo69atDjs/AAAXQ9IKVNBNN92kBg0aSLK9esD8+fPNeahjx44tVW4dTT148KD27NljjriWNcoqSVFRUbrsssskSdOnTzdvuLLFurpBZQUHB0uSfvjhhzLL3377bR09erRKfQMAYA8krUAF+fr6msnqihUr9MADD5g3R2VnZ2vOnDmaNm2aJGn06NHq3r17qT46duxojtg++OCDOnHihNzd3TVu3Lgyz+nh4aG3335bHh4e+vrrr3XDDTdoy5Ytys/PN+scPXpUb7/9tnr27Km33nqrStdmXc5q3bp1evbZZ82brVJTU/X8889r6tSpZsIOAIAzkLQClfDXv/7VvCFp/vz5atq0qerXr6/g4GD9/e9/V35+vqKiorRgwQKbfVhHVa1f9/fv399c27Us/fr1U2xsrAIDA7V79271799f/v7+atiwoXx8fNS2bVs9+OCD2rNnjywWS5WuKzo6Wn369JEkzZw5U4GBgapfv74aNGigJ554QoMGDdKDDz5Ypb4BALAHlrxCCf07NXF2CC7vtdde07BhwzR37lzt2LFDZ8+eVWBgoLp27aq7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smSJJCkqKqpUwipJY8aMUevWrSVdGBGuqODgYJsJq3ThDZo4caIkKTMzU4cOHapM2AAAAPgThyetv//+u9566y1169ZNhmFox44duvvuuxUWFqZp06bp4MGDDjlvdna2duzYIUkaPLjsv1ItFosGDRokSdq4caNdz198ZLWwsNCufQMAANQ1Dk9aAwMD9cADD2jPnj3as2ePJk+erICAAHP0NSIiwiGjr4cOHTLvju/cubPNetaypKQkpaSk2O3827Ztk3RhjdT27dvbrV8AAIC6qFp3xLrqqqv09ttv6/fff9eCBQvUs2dPh42+JiYmms/Dw8Nt1iteVrzNpTh27JjefvttSdLo0aNL7Eh1MRaLpdwHAABAXeSUbVz9/Px07733ateuXdq/f7+mTp2qevXqlRp9/eCDD1RQUFClc2RkZJQ4X3mxlNWmqnJycjRq1ChlZ2erYcOGevHFFy+5TwAAgLrOKUlrca1atdLll1+u8PBwWSwWGYZhjr7eddddateunT799FNnh1khBQUFGjdunPbu3StPT08tX75cYWFhlerDev22HgAAAHWR05LW//73v7rvvvsUFhamKVOm6MCBA/Ly8tL48eO1Zs0aTZkyRYGBgUpISNDIkSP18ccfV6r/wMBA83l2drbNesXLireprMLCQt15551avXq1PDw89MEHH2jAgAFV7g8AAAD/U63buKanp2vZsmVasGCBfvzxR0kXRhYvu+wy3X///brnnntUv359SdKwYcP0/PPP629/+5uWLFmiF154QSNGjKjwuYqPcJ46dUpXXnllmfWs26/+uU1lFBYWavz48Vq1apXc3d31/vvva+TIkVXqCwCc5fsTqc4OwW66Nq/n7BAA2Fm1JK07d+7UggULFBsbq5ycHBmGIQ8PD91yyy164IEH1L9//zLbBQYGav78+Vq1alWl1zq9/PLL5ebmpqKiIh04cMDmslcHDhyQJIWGhpoJc2VYR1g//PBDM2EdPXp0pfsBAACAbQ5PWiMiIszVAAzDULNmzTRp0iTdd999atq06UXbe3l5qVGjRjpx4kSlzuvn56fevXtr+/btWr9+vWbMmFGqjmEY2rBhgyRV6av8wsJCjRs3rsQI65gxYyrdDwAAAMrn8KT1p59+ksVi0cCBA/XAAw9o6NChcnOr3FTa6dOnKzU1tdLnnjBhgrZv3664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Y2PVqFEjm3WHDBmiJ598UpK0ZcsWff755yXKK3rTjbXOtm3bzGOtWrVSVFRUqTrWx913312qn6ysLL322mvq27evGjZsKC8vLzVr1kx9+/bVq6++quTk5DLPv23bNo0aNUrh4eHy9vZWw4YN1a9fPy1atEiFhYVltomJiZHFYlFkZKQkae3aterXr58aNGigoKAgXXfddVq9enWJNsuWLVPv3r0VEhKigIAA3XDDDdqyZUu5r40kff755xoxYoQZX0hIiG644QbNmzdPeXl5F23/Z3fddZc8PT1VVFSkxYsXl1v3ww8/VFZWliRp4sSJkqTs7GytWLFC0dHR6tq1qxo1aiRvb2+FhYVp+PDhWrduXaVjkkq/pmWpyGcqIyNDL774onr16qX69evL29tbzZs315gxY/TNN99UKbaK6tq1q/k8MzOzVHl5N2JZ58wuXrxYeXl5+te//qUuXbrI399fwcHBuvHGG7V+/XoHRg84iQEAlZSYmGi4ubkZkoy77767Qm0yMjKMwMBAQ5IxePDgEmVxcXGGJONi/0uy1omLizOP9ejRwwgJCTHLmjRpUuLxt7/9rUQfe/fuNZo3b27Wd3NzM+rXr294e3ubx2bPnl3q3NOnTzfLLRaLUa9ePcPd3d08duONNxrp6eml2s2aNcuQZPTt29eYOXOmec7g4GCzrSTj7bffNoqKiowJEyYYkgwPDw/z9ZJkuLu7G5999lmZr0t2drYxcuTIEv0FBQUZFovF/Pe1115rpKSklPv6lmXEiBGGJOOyyy4rt951111nSDKuu+4689iiRYtKvGbBwcGGn59fiTgffvjhMvsr7zNR/DW15WKfqX379hnNmjUr8foWf70tFovx/PPPl3vNtrRs2dKQZEyYMMFmneeee84879mzZ0uV9+3b15BkzJo1y2b/b7zxhnHNNdcYkgxPT08jICCgRPzvvvtuleIHXBVJK4BK++CDD8xfjv/5z38q3M6aAAUEBBj5+fnm8UtJWivT/vjx40bDhg0NSUbz5s2NlStXGllZWYZhGEZRUZHx008/GTExMcb7779fot0bb7xh9j958mTj999/NwzDMDIzM43Zs2cbHh4ehiRj9OjRpc5pTbCCg4MNd3d345///KeRmppqGIZhnDx50hg4cKAhyQgMDDRmzpxp+Pr6Gm+//bYZ15EjR4wePXoYkowW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vl966SUdP3683HM56kamM2fOmN88tGvXrsRnGEDZSFoBVMkVV1yhhQsXyt3dXT/++KO6deum9957r0TSeOTIET300EO65ZZblJeXpzZt2uiDDz4oNb/U09NTI0aMkCQ9//zzWrVqlZlcHT58WLfddlu5S/e0b9/eHD1buHChzdHWf/7zn2rYsKHOnj2r3r17a9WqVcrJyZF0YYT2wIEDmjFjhrmEkyT5+vqayeqKFSv0wAMPmElYdna25syZYy5lNXr0aHXv3r2Cr6B99O3bV/fcc48kacqUKZo+fbqOHj1qlp8/f167du3So48+qpYtW9q8UawirrrqKnP70WeffVbShVH3IUOGlKp7/fXXy9/fX4Zh6I477jBHqQsLC7VhwwZzm9KquO6668yv1idMmKA9e/aYd+dv27ZNkZGRKioqstn++eefV1hYmM6cOaNevXpp2bJl5rcA0oW5uh9//LFuu+02u/8RUlRUpG+//VbDhw83/9B76KGH7HoOoNaqpvVgAdRS69atM8LCwkpszRkcHGwubm59DBgwwDh9+rTNfk6cOFGiH09PTyMoKMjcLWrbtm02NxcwDMO49957zXI/Pz+jRYsWRsuWLUttE7p3714jPDy8xPadDRo0KBFvRbZxDQkJMXdNkmRERUVddBtXW6xbt5a37Wd5i82fP3/euO+++0q83gEBAUZISIi53a71UZnNIMpSfHcwScbjjz9us+68efNKxWR9nRs2bGisXbvWLDt27FiJthfbMGL9+vXmjlrW99zad7t27YwVK1aU2/7gwYNG+/btzTrW7XyLb/Qgyejfv3+lXyNbmws0bty41M/FQw89VGYfFdlcYNGiRTZjqMhnCqhpGGkFcEkGDRqkX3/9VW+99ZaGDBmi8PBw5ebmytPTU+3bt9e9996rzZs3a8OGDWrUqJHNfpo1a6bdu3frvvvuM+dABgQEKDo6Wt9995369u1bbhxz585VTEyMIiIiJEnHjx9XQkJCqWkLV111lQ4dOqQXX3xR1157rQIDA5WRkaFGjRopMjJSr732WpkL/L/22mvaunWrRowYoSZNmigzM1OBgYGKiorSe++9p02bNpW7BJEjeXl5acGCBdq5c6fuvvtutW3bVoWFhcrMzFTjxo0VGRmpmTNnav/+/RVensyWO++8Uz4+Pua/y5oaYPXAAw/o888/V2RkpAICAlRQUKDw8HBNnTpVP/zwg/leVcXAgQO1fft2DR06VCEhISosLFTz5s31+OOPa+/evSVuuCrL5Zdfrv3792v+/PkaMGCAGjZsqPT0dBmGocsuu0yjRo3SO++8o1WrVlU5xj9vLnD69Gm5ubmpffv2mjhxonbu3KlXX321yv0DdY3FMKppnREAAACgihhpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAyyNpBQAAgMsjaQUAAIDLI2kFAACAy/v/Ner4y42XBusAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# A slice is defined by a set of pairs of columns and the values they take: [(col name, value)...]\n", + "# For instance, here we select a slice where all instances have the \"indus\" field with value 0\n", + "# and the \"dis\" field with value 2.\n", + "example_slice = (discrete_df[\"indus\"] == 0) & (discrete_df[\"dis\"] == 2)\n", + "print(example_slice.sum(), \"examples in slice\")\n", + "\n", + "print(\"Entropy score:\", entropy_difference(discrete_outcomes, example_slice))\n", + "print(\"Difference score:\", mean_difference_l1(discrete_outcomes, example_slice))\n", + "print(\"Group size score:\", group_size(discrete_outcomes, example_slice))\n", + "\n", + "# Plot the difference in outcomes using a histogram\n", + "plt.figure(figsize=(4, 2), dpi=180)\n", + "plt.hist(discrete_outcomes, bins=np.arange(num_bins + 1), alpha=0.3, density=True, label='overall')\n", + "plt.hist(discrete_outcomes[example_slice], bins=np.arange(num_bins + 1), alpha=0.3, density=True, label='in slice')\n", + "plt.xlabel(\"Outcome Value Bin\")\n", + "plt.ylabel(\"Density\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 380, + "id": "78bd8ddb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Slice finding for 1 feature(s)\n", + "Done for: 1\n", + "Slice finding for 2 feature(s)\n", + "Done for: 2\n", + "Slice finding for 3 feature(s)\n", + "Done for: 3\n", + "Slice finding for 4 feature(s)\n", + "Done for: 4\n" + ] + } + ], + "source": [ + "# Implement a function that brute-force searches all possible slices of at most M features,\n", + "# and returns the top K slices\n", + "import itertools\n", + "\n", + "# Class to hold data about a particular slice which includes it's score, features and values for the features.\n", + "class Slice:\n", + " def __init__(self, score, features, values):\n", + " self.score = score\n", + " self.features = features\n", + " self.values = values\n", + "\n", + "# list to store objects of Slice type\n", + "all_slices_with_score = []\n", + "\n", + "# recursive function to generate all possible combinations of features of size m\n", + "def populate_combinations(features, num_of_features, m, index, data, i, values):\n", + " if(index == m):\n", + " values.append(list(data))\n", + " return\n", + " \n", + " if(i < num_of_features):\n", + " data[index] = features[i]\n", + " populate_combinations(features, num_of_features, m, index + 1, data, i + 1, values)\n", + " populate_combinations(features, num_of_features, m, index, data, i + 1, values)\n", + "\n", + "# helper function to generate all feature combinations of size m\n", + "def generate_feature_combinations(features, num_of_features, m):\n", + " data = list(range(m))\n", + " values = []\n", + " populate_combinations(features, num_of_features, m, 0, data, 0, values)\n", + " return values\n", + "\n", + "# function to assign values and generate combinations for selected features of a slice\n", + "def generate_values_for_feature_set(discrete_df, features):\n", + " n = len(features)\n", + " ranges = []\n", + " for feature in features:\n", + " ranges.append(range(discrete_df[feature].max()))\n", + "\n", + " # using itertools to generate all unique combinations of n features\n", + " combinations = list(itertools.product(*ranges))\n", + " return combinations\n", + "\n", + "# calculate scores for slices and store it in a list\n", + "def calculate_scores (discrete_df, features, combinations):\n", + "# print (features)\n", + "# print (combinations)\n", + " features_count = len(features)\n", + " current_slice = []\n", + "\n", + " # here a combination is set of discrete values for a particular feature set\n", + " for combination in combinations:\n", + " for index in range(len(features)):\n", + " if (index == 0):\n", + " current_slice = discrete_df[features[index]] == combination[index]\n", + " else :\n", + " current_slice = current_slice & (discrete_df[features[index]] == combination[index])\n", + "\n", + " if (current_slice.sum() > 0):\n", + " score = entropy_difference(discrete_outcomes, current_slice) + mean_difference_l1(discrete_outcomes, current_slice) + group_size(discrete_outcomes, current_slice) \n", + " new_slice = Slice(score, features, combination)\n", + " all_slices_with_score.append(new_slice)\n", + " \n", + "# function to populate all_slices_with_score with data considering at the most M features\n", + "def populate_slices(discrete_df, M):\n", + "# print (discrete_df.columns)\n", + " print (\"Slice finding for\", M, \"feature(s)\")\n", + " values = generate_feature_combinations (discrete_df.columns, discrete_df.columns.size, M)\n", + " for val in values:\n", + " combinations = generate_values_for_feature_set(discrete_df, val)\n", + " calculate_scores(discrete_df, val, combinations)\n", + " print (\"Done for: \", M)\n", + " \n", + "# set value for M: maximum number of features to include\n", + "M = 4\n", + "\n", + "# set the value of K: number of top slices to find\n", + "k = 10\n", + "\n", + "# populate slices from size 1 to M\n", + "for index in range(1, M+1) :\n", + " populate_slices(discrete_df, index)" + ] + }, + { + "cell_type": "code", + "execution_count": 381, + "id": "32deb30c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7.834519016039068 ['indus', 'nox', 'lstat'] (1, 1, 2)\n", + "7.834519016039068 ['crim', 'indus', 'nox', 'lstat'] (0, 1, 1, 2)\n", + "7.452333677784524 ['indus', 'chas', 'nox', 'lstat'] (1, 0, 1, 2)\n", + "7.06626149322504 ['indus', 'nox', 'rad', 'lstat'] (1, 1, 2, 2)\n", + "6.676074450229697 ['indus', 'rad', 'tax'] (1, 2, 0)\n", + "6.676074450229697 ['crim', 'indus', 'rad', 'tax'] (0, 1, 2, 0)\n", + "6.676074450229697 ['zn', 'indus', 'rad', 'tax'] (0, 1, 2, 0)\n", + "6.676074450229697 ['zn', 'nox', 'rad', 'tax'] (0, 1, 2, 0)\n", + "6.676074450229697 ['indus', 'chas', 'rad', 'tax'] (1, 0, 2, 0)\n", + "6.676074450229697 ['indus', 'nox', 'rad', 'tax'] (1, 1, 2, 0)\n" + ] + } + ], + "source": [ + "all_slices_with_score.sort(key=lambda x: x.score, reverse=True)\n", + "\n", + "for index in range(k) :\n", + " print (all_slices_with_score[index].score, all_slices_with_score[index].features, all_slices_with_score[index].values)" + ] + }, + { + "cell_type": "code", + "execution_count": 385, + "id": "b2ac8662", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "15 examples in slice\n", + "Score: 7.834519016039068\n", + "Entropy score: 7.933455899133602\n", + "Difference score: -0.14243852173112032\n", + "Group size score: 0.04350163863658642\n", + "\n", + "['indus', 'nox', 'lstat']\n", + "(1, 1, 2)\n", + "\n", + "Following is graph for slice with highest overall score:\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq0AAAGECAYAAAAcFxnIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAABuvAAAbrwFeGpEcAABTHklEQVR4nO3dd3xUVf7/8dekZ8gQQg2hClJEUBAsiAoxSFFYUUCKSBQEC8suqKjfVSGoKxaUtQAiKE0EQVxFlE6wgKggKyoIupBQE4SQOglp9/dHfnM3IZmQhJnMJHk/H495OMw999zPnRnhnZNzz7UYhmEgIiIiIuLFfDxdgIiIiIjIhSi0ioiIiIjXU2gVEREREa+n0CoiIiIiXk+hVURERES8nkKriIiIiHg9hVYRERER8XoKrSIiIiLi9RRaRURERMTrKbSKiIiIiNdTaBURERERr6fQKiIiIiJeT6FVRERERLyeQquIiIiIeD2FVhERERHxen6eLkDKx2KxeLoEERERkXIxDOOi+9BIq4iIiIh4PY20VlGu+IlFRERExJ1c+RtijbSKiIiIiNdTaBURERERr6fQKiIiIiJeT6FVRERERLyeQquIiIiIeD2FVhERERHxegqtIiIiIuL1FFpFRERExOsptIqIiIiI11NoFRERERGvp9u4ioiIeEB2djapqalkZmaSn5/v6XJEnPLx8SE4OJjatWsTEBDgsToshm5iX6U47uGrj03EixxY5+kKXKNdf09XUCMYhkFCQgLJycmeLkWk3OrUqUN4eLiZRy7ElblFI60iIiKV6PzA6u/vj5+fX5lDgEhlMgyD3NxccnJyAMzvbuPGjSu9FoVWERGRSpKdnW3+ox8QEECTJk0IDAxUYBWvZhgG586d4/jx4+Z3uF69epU+VUAXYomIiFSS1NRU83mTJk0ICgpSYBWvZ7FYCAoKokmTJuZraWlplV6HQquIiEglyczMBAqmBAQGBnq4GpHyCQwMxN/fHwC73V7px1doFRERqSSOVQI0h1WqIovFgp9fwcxST6x4odAqIiJSyRRYpary5HdXoVVEREREvJ5Cq4iIiIh4PYVWEREREfF6Cq0iIiIi4vV0cwEREREvtHlfoqdLcIneHRp5uoQa5d5772Xx4sVER0ezaNGiMm+rCjTSKiIiIiJeT6FVRERERLyeQquIiIiIeD2FVhERERHxegqtIiIiUmVt27aNoUOH0qRJEwIDA6lfvz5RUVEsXLiQvLy8Im2vvPJKLBYLjzzySKl9bt26FYvFgo+PD0eOHCm2PS4ujkmTJnH55ZcTEhKC1Wqlffv2/P3vfy+xPcCiRYuwWCy0bNkSgNjYWAYNGkTjxo3x9fXl3nvvNdsePnyYl156iX79+tG2bVtq1apFSEgIHTp0YNKkSU6PUd0ptIqIiEiV9MgjjxAZGclHH33EyZMnsVqtJCcns3XrVsaMGUOfPn1IS0sz299zzz0ALF++vFigLWzp0qUA9OzZk+bNmxfZtmzZMtq3b8/rr7/Ovn37yM3NBeDAgQO88cYbdOzYkY0bN5Za9+uvv05UVBSffvopmZmZ+Pr6Ftl+33338eSTT7Jhwwbi4+MJDg4mMzOT/fv38/rrr3PFFVfwzTfflP2NqiYUWkVERKTKeeutt5g1axYA48eP58SJE5w9e5aUlBRmzZqFn58fW7duZdy4ceY+d999N76+viQkJLBp06YS+83MzGT16tUAjB49usi2TZs2MXr0aPLy8nj88cc5fPgwmZmZZGRk8NtvvzF06FDS0tIYOnSo09HQxMREHn30UaKjozly5AjJyclkZmbyzDPPmG06d+7M7NmzOXjwIJmZmZw+fZpz587x3Xff0a9fP1JSUhg2bBiZmZkX9R5WNQqtIiIiUqVkZmYybdo0AEaMGMG8efMIDw8HoFatWkyaNInXXnsNgA8//JDdu3cD0LhxY3r37g3AkiVLSuz7k08+IS0tjeDgYIYMGWK+np+fz4QJE8jPz2f27Nm89NJLtGzZEovFgsVioV27dqxcuZK//OUvpKammsc/X1ZWFrfffjsLFy6kWbNmAPj6+tK6dWuzzb/+9S8efvhh2rRpg49PQVTz8/PjmmuuYe3atVxxxRWcOHHCDNc1hUKriIiIVCmbNm0iKSkJgJiYmBLbPPzwwzRu3BiADz74wHzdMUXAEU7P55gaMGjQIGw2m/n6V199xe+//079+vW5//77ndbmGJ3dsGGD0zb/93//53Tbhfj6+tKvXz+AGjdFQHfEEhERkSpl165dADRr1oy2bduW2MbX15ebb76ZZcuWme0B7rjjDmw2G2lpaaxevbrIBVCJiYnmfNTzpwZs374dgJSUFCIiIpzWlp2dDUB8fHyJ24ODg7nqqqsucIbw9ddf8+6777Jz506OHTtGRkZGsTbHjh27YD/ViUKriIiIVCmnTp0CoEmTJqW2a9q0aZH2AFarlcGDB7No0SKWLl1aJLQ6LtAKDw/nlltuKdLXiRMnAMjJySEx8cK32HU237RevXrmr/ydeeKJJ3j55ZfNP/v6+hIWFkZAQAAA6enpZGRklBhkqzNNDxAREZEaxTGKum3bNo4ePWq+7pgaMHLkyGJX9DtWG7j22msxDKNMj5Kc3+/5Nm3aZAbWhx9+mJ9//plz586RlJREQkICCQkJTJ48GcDpMaorhVYRERGpUho2bAhc+Nfjju2O9g69evWiWbNm5Ofns2zZMgD27dvHjz/+CBSfGgCYF3o5+7W/q6xYsQKAvn37Mnv2bDp27Fgs6CYkJLi1Bm+l0CoiIiJVSrdu3YCCUHrw4MES2+Tl5REbGwvA1VdfXWSbxWJh1KhRwP9GVx3/veKKK7jyyiuL9dejRw+gIDAWniPrao6R3y5dupS43TAMtm7d6rbjezOFVhEREalSbrnlFurVqwc4Xz1g3rx55jzUESNGFNvuGE3dt28fu3btMkdcSxplBYiMjOTSSy8FYPLkyeYFV844Vjcor9DQUAB++umnEre//fbbHDp0qEJ9V3UKrSIiIlKlBAcHm2F1+fLlPPjgg+bFUXa7nTfeeINJkyYBMGzYMLp27Vqsj/bt25sjtg899BBHjx7F19eXkSNHlnhMPz8/3n77bfz8/Pjmm2+46aab2LJlCzk5OWabQ4cO8fbbb3P11VczZ86cCp2bYzmrdevW8dxzz5kXWyUnJ/PCCy8wceJEM7DXNAqtIiIiUuX89a9/NS9ImjdvHo0bN6Zu3bqEhoby97//nZycHCIjI5k/f77TPhyjqo5f9/fu3dtc27UkUVFRrFq1CpvNxnfffUfv3r2pVasW9evXJygoiNatW/PQQw+xa9cuLBZLhc5r9OjR3HjjjQBMnToVm81G3bp1qVevHk899RT9+vXjoYceqlDfVZ2WvBIREfFCvTs08nQJXu+1115j4MCBzJ49m+3bt3PmzBlsNhudO3fmnnvuYfTo0aVerT9ixAgeffRRc7TU2dSAwgYNGsQff/zBnDlzWLduHb///jvJycnUqlWL9u3bc/XVV3Pbbbdx6623Vuic/P392bhxIy+++CLLly8nLi4OwzC45ppriI6OZvz48Tz77LMV6ruqsxg1YL2EtLQ0Xn31VVavXs3hw4fx9fWlbdu2DB8+nIkTJ5rrnlXERx99xOLFi9m9ezenT5/G39+fpk2bctNNNzFhwgQ6d+7suhMB8ye3GvCxiVQdB9Z5ugLXaNff0xVUe/Hx8djtdqxWKy1atPB0OSLlVt7vsCtzS7UPrfHx8fTq1Yu4uDigYFHhvLw8zp07BxRcnbdlyxbCwsLK1e+5c+cYOnQon332mflaSEgI2dnZ5uRsHx8fZs6caf76whUUWkW8kEKrlJFCq1R1ngyt1XpOa25uLgMHDiQuLo7GjRuzadMmMjIysNvtrFixApvNxp49e8xlL8rjhRdeMAPrww8/zLFjx0hLSyMzM5Ndu3Zxww03kJ+fz6OPPsru3btdfWoiIiIiNUq1Dq2LFy/m559/BmD16tX07t0bKBgBHTZsGPPmzQPgiy++YMuWLeXqe8mSJQD07NmT2bNnm7eS8/HxoWvXrqxdu5aQkBAMw+Cjjz5y1SmJiIiI1EjVPrRCwdpq3bt3L7Z9+PDhXHLJJcD/QmhZnTx5EvjfAsfnCw0NpW3btkDBPYJFREREpOKqbWi12+1s374dgP79S56nZbFYzPXQNm7cWK7+W7VqBeD0V/8pKSnmXTqcBVsRERERKZtqG1r3799Pfn4+AB07dnTazrEtISGhXHevcKyRtm3bNiZMmMDx48eBgonGP/74IwMGDCA9PZ3u3btXaM6siIiIiPxPtQ2tjlu3AeZ805IU3lZ4nwuZMGECjz/+OD4+PsyZM4emTZtis9kICgqia9eu/PHHHzz55JNs2bKl1DXizmexWEp9iIiIiNRE1Ta0pqWlmc+tVqvTdoW3Fd7nQnx8fJgxYwbvvfceISEhQMHcVcdyV1lZWaSkpJi3XxMRERGRiqu2odXdTp8+TVRUFPfeey/du3fnm2++ITk5mZMnT/Lxxx/ToEED5s6dy7XXXmtOHSgLwzBKfYiIiIjURNU2tNpsNvO53W532q7wtsL7XEh0dDTbtm2jZ8+ebNiwgR49ehAaGkp4eDh33HEH33zzDfXr1+fQoUM8+eSTFTsJEREREQGqcWiNiIgwn5c20ll4W+F9SrN//36++OILAB599NES55o2bNjQvIfxxx9/rFFSERERkYtQbUPrZZddho9Pwen98ssvTts5toWHh1O3bt0y9b1v3z7zeevWrZ22a9OmDVAwmnvq1Kky9S0iIiIixVXb0Gq1WunRowcA69evL7GNYRhs2LABgD59+pS5b0cYhoJ78DqTmJhoPndcrCUiIiIi5VdtQysUzDsFiI2N5bvvviu2fdWqVRw6dAjA/FV+WVx11VXm87lz55bYJiMjw7zL1hVXXEGtWrXK3L+IiIiIFFXtQ2unTp0wDIPBgwezZcsWAPLz81m1ahXjxo0DCu6YFRUVVWTfmJgYc23UuLi4IttatGjBwIEDAfjss8+45557+O9//4thGOTk5LBjxw569eplBuJHH33UzWcqIiIiUr35eboAd/Lz82PNmjVERkYSFxdH7969sVqt5Ofnk5WVBUCXLl1YtmxZuft+77336NevH7t37+b999/n/fffx2q1kp2dTW5urtluypQp5RrFFREREZHiqvVIK0DLli3Zu3cvU6dOpWPHjlgsFvz9/enatSszZ85k586dhIWFlbvf+vXrs3PnThYsWEDfvn1p1KgROTk5+Pn50apVK0aNGsXXX3/Nyy+/7IazEhERqdnuvfdeLBYL9957r6dLKZPS6q1q5+Ip1Xqk1cFmszF9+nSmT59e5n1iYmKIiYkptY2fnx9jx45l7NixF1mhiIjIeQ6s83QFrtGuv6crkGqi2o+0ioiISPXTuHFj2rVrR+PGjT1dykWrTufiTjVipFVERESqlxkzZjBjxgxPl+ES1elc3EkjrSIiIiLi9RRaRUREpMop7eKlXr16YbFYiImJwTAM5s+fz7XXXkvt2rWx2Wx0796d999/v8LHzs3N5Z133qFXr17Ur18ff39/6tWrR7t27Rg2bBjvvvuuy87F4ejRozz++ON07tyZ0NBQgoODad26NbfffjtLliwxV0U63/bt2xk1ahQtWrQgKCiI0NBQrrnmGl566SXS09PLVaenaXqAiIiIVEt5eXnccccdfPrpp/j5+WG1WklLS2Pnzp3s3LmT33//vVwXaTv6vPXWW9m0aZP5WmhoKBkZGSQlJXHw4EFWrlzp0ou0ly5dyvjx481gGhAQgM1m48iRIxw6dIg1a9ZwxRVX0LlzZ3Of/Px8Jk+ezBtvvGG+FhISQkZGBj/88AM//PADCxcuZMOGDbRo0cJltbqTRlpFRESkWpo9ezbbtm1j0aJFpKamkpKSwtGjR80bBD3//PP8/vvv5epz+fLlbNq0iaCgIBYsWEBaWhrJyclkZmaSmJjIxx9/zJAhQ1x2Dp9//jnR0dFkZWXRo0cPvv76azIzMzl9+jQZGRl8/fXXjBs3joCAgCL7TZs2jTfeeIOGDRsye/Zszpw5Q1paGpmZmcTGxtKlSxcOHDjAnXfeSX5+vsvqdSeNtIqIiEi1dPbsWbZu3UpkZKT5WtOmTVm1ahWtWrXixIkTrFy5kqeeeqrMfe7YsQMouP174dFUi8VCw4YNueOOO7jjjjtcUn9ubi4TJ07EMAxuuOEGtmzZUiScBgQEcMMNN3DDDTcU2S8uLo4ZM2YQHBzMxo0bufLKK81t/v7+9OrViy+//JIOHTrw448/smbNGgYNGuSSmt1JI60iIiJSLfXo0aNIYHUIDAykb9++AOzdu7dcfdapUweAhISEi67vQmJjYzl8+DAAs2bNKjaa6syiRYvIy8ujX79+RQJrYTabzQyqGzZscEm97qaRVhEREamWrr32WqfbIiIiAEhKSipXn7feeisvvvgia9asoX///owePZqePXua/bmSY1Q3PDycbt26lXm/7du3A7Bx40bCw8OdtnNciBUfH38RVVYehVYRERGplmw2m9Ntfn4FESgnJ6dcfd5www289NJLPP3006xfv57169cDBdMOevfuzejRo0sc3a0Ix2hueS+UOnHiBAAZGRlkZGRcsL3dbi9/cR6g6QEiIiIi5TBlyhQOHz7MrFmzGDRoEA0bNuTYsWMsWrSIm2++maFDh5Y7DJfEYrFUaL+8vDwAnnjiCQzDuOBj27ZtF11rZVBoFRERESmniIgIJk2axL///W8SExPZu3cv999/PwAfffQRc+fOvehjOH61X95f31d0P2+n0CoiIiJykTp16sT8+fPp0aMHQJF1XCvq+uuvBwqmCezatavM+zlq2Lx5s9ObDlRFCq0iIiIiZXTu3LlStwcHBwPg43PxESsyMpJWrVoBMHnyZLKzs8u035gxY/Dz8+P06dNMmzat1LbZ2dlV5s5YCq0iIiIiZTRo0CDGjBnDunXrSE5ONl9PSkri+eefZ8uWLQDcdtttF30sX19f3nrrLSwWC9988w1RUVF888035s0AsrOz2bZtG6NGjWLfvn3mfq1bt+aZZ54B4OWXX2b06NH88ssv5vbc3Fz+85//8Oyzz3LppZfyn//856JrrQxaPUBERESkjDIzM1m4cCELFy4EoHbt2gCkpqaabYYMGWLOb71Y/fv3Z9GiRYwfP55vvvmGG2+8kcDAQEJCQkhJSSE3NxeAxx57rMh+zzzzDLm5uTz//PMsXbqUpUuXEhwcjNVqJTk52bxYCyp+wVdlU2gVERHxRu36e7oCKcGbb77JunXr+PLLL/n9999JSEggKyuLiIgIunXrRnR0NHfeeadLjzl69GhuuukmXn/9dTZu3Eh8fDyZmZm0aNGCTp06MXjwYC677LIi+1gsFp599lnuuusu5s6dS2xsLEePHiUlJYWwsDDatm1Ljx49uOOOO+jevbtL63UXi2EYhqeLkLJz/DSkj03EixxY5+kKXEMhye3i4+Ox2+1YrdZyr70p4g3K+x12ZW7RnFYRERER8XoKrSIiIiLi9RRaRURERMTrKbSKiIiIiNdTaBURERERr6fQKiIiIiJeT6FVRERERLyeQquIiIiIeD2FVhERkUqmG8RIVeXJ765Cq4iISCXx8Sn4Zzc3N1fBVaocwzDIzc0F/vddrkwKrSIiIpUkODgYgJycHM6dO+fhakTK59y5c+Tk5ABgtVor/fgKrSIiIpWkdu3a5vPjx4+TlZWlEVfxeoZhkJWVxfHjx83XbDZbpdfhV+lHFBERqaECAgKoU6cOycnJZGdnc/jwYfz9/fHz88NisXi6PJFiHFMCHCOsAHXq1CEgIKDSa1FoFRERqUTh4eEAJCcnAwVTBQoHAhFvVqdOHfM7XNkUWkVERCqRxWKhcePG1KtXj7S0NOx2O/n5+Z4uS8QpHx8frFYrNpvNIyOsDgqtIiIiHhAQEEC9evWoV6+ep0sRqRLcfiHWkiVLdIWkiIiIiFwUt4fWe++9l4iICCZNmsSvv/7q7sOJiIiISDXk9tBqtVo5e/Ysb775JldccQU33ngjS5cu1eiriIiIiJSZ20PryZMnmTNnDl26dMEwDLZv315k9HXfvn3uLkFEREREqji3h1abzcaDDz7Irl272LVrF+PHjyckJMQcfe3UqZPbR1/T0tKIiYmhU6dOhISEEBoaytVXX82rr75Kdnb2RfefkJDAM888Q9euXalbty7BwcG0aNGCfv368eKLL2opExEREZGLZDE8cCsOu93O8uXLmT9/Pt9//31BIRYLderU4Z577mH8+PF06NDBJceKj4+nV69exMXFAQXTFfLy8syA3KVLF7Zs2UJYWFiF+v/www8ZP348qampAAQFBREQEGD+GeDs2bPUqVPnos7DwbH4tO6gIuJFDqzzdAWu0a6/pysQkWrGlbnFI7dxtVqtjB07lp07d7J3714mTpxInTp1io2+fvDBB+Tm5lb4OLm5uQwcOJC4uDgaN27Mpk2byMjIwG63s2LFCmw2G3v27GHUqFEV6n/VqlWMHDmS1NRUxo8fz6+//kpmZiYpKSmkpqby1VdfMXnyZPz9/St8DiIiIiLioZHWwtLT03n//feZM2cOv/76a5EkbrFYaN68Oa+99hp33HFHuft+9913uf/++wHYsWMH3bt3L7J9+fLljBw5EoDNmzcTFRVV5r5PnjzJ5ZdfztmzZ3n11Vd55JFHyl1fRWikVcQLaaRVRKREVX6kFeD777/n/vvvJyIiggkTJvDLL78QEBDAqFGj+PTTT5kwYQI2m434+HiGDBnC6tWry32MxYsXAxAZGVkssAIMHz6cSy65BChYT7Y83njjDc6ePUuXLl2YPHlyuWsTERERkbKr1NCamprK7Nmz6dy5M927d2fhwoWkp6fTunVrXnnlFY4fP86SJUsYOHAgb775JkePHiU6OhrDMJgxY0a5jmW329m+fTsA/fuXPHpgsVjo168fABs3bixX/46QO2rUKPOnCBERERFxj0oJrTt27OC+++4jIiKCv/3tb+zduxdfX1/uuOMONm7cyMGDB3n00UepW7dukf1sNhvz5s0jODiY/fv3l+uY+/fvN+/l3LFjR6ftHNsSEhJISkoqU9+HDx/mxIkTAHTt2pWff/6ZkSNH0rhxYwIDA2natCnDhg0zQ7OIiIiIXBw/dx+gU6dO5lqshmHQtGlTxo0bx/3330/jxo0vuH9AQAANGjTg6NGj5TquI1QCNGnSxGm7wttOnDhRLDiX5ODBg+bz7du3M336dLKzswkODiYoKIjjx4+zcuVKVq1axfTp03nmmWfKXLdGbUVERESKc/tIq+PWrX379uWTTz4hLi6OZ555pkyB1WHy5MlMnTq1XMdNS0szn1utVqftCm8rvE9pzp49az5/5plniIiIYNOmTaSnp5OSksKvv/5Kr169MAyDqVOn8vHHH5erdhEREREpyu0jrU888QQPPPAALVu2rHAff//7311XkAs4ph1Awejx6tWrueqqq8zXOnTowGeffUabNm1ISEhg+vTp3HnnnWXq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QquISImqVGj18fExCy4ri8VCbm6umyqq2hRaRbyQQquISImq1M0FoPyFKpCJiIiISGFuD61aOUBERERELpbbVw8QEREREblYCq0iIiIi4vUqNbTm5+fzww8/8NFHH7FkyZJKO25aWhoxMTF06tSJkJAQQkNDufrqq3n11VfJzs526bEefPBBLBYLFouFli1burRvERERkZrK7asHOLz55ps8//zznD592nwtLy/PfH727FluvPFGcnNz+fLLL2nUqJFLjhsfH0+vXr2Ii4sDwGq1kpeXx7lz5wDo0qULW7ZsISws7KKPFRsbS1RUlHkhWYsWLczjuopWDxDxQlo9QESkRK7MLZUy0jphwgQmTZrEn3/+ic1mK3EJrLCwMK666ip+//13Vq1a5ZLj5ubmMnDgQOLi4mjcuDGbNm0iIyMDu93OihUrsNls7Nmzh1GjRl30sex2O+PGjcPPz49u3bq5oHoRERERcXB7aF2/fj1z584lJCSEf//73yQnJ9OgQYMS244cORLDMNi8ebNLjr148WJ+/vlnAFavXk3v3r2BgrVjhw0bxrx58wD44osv2LJly0Ud66mnnuK///0vjz/+OJdffvnFFS4iIiIiRbg9tL799ttYLBaeffZZbr/99lLbdu/eHcAMmhdr8eLFAERGRpp9FzZ8+HAuueQSgIuaY7tz507eeOMN2rZty9NPP13hfkRERESkZG4Prd999x0AY8aMuWDb0NBQateuTUJCwkUf1263s337dgD69y95npbFYqFfv34AbNy4sULHOXfuHGPGjMEwDN555x2CgoIqVrCIiIiIOOX20JqUlERoaCg2m61M7X18fFxyQ4L9+/eb/XTs2NFpO8e2hIQEkpKSyn2cZ599lv379zN27Fh69uxZsWILcaw84OwhIiIiUhO5PbTWrl2b1NRUcnJyLtg2KSmJlJQU6tevf9HHPXHihPm8SZMmTtsV3lZ4n7LYs2cPL7/8Mo0aNeKVV14pf5EiIiIiUiZuD62dOnXCMAxzmkBpli9fjmEYLrn6Pi0tzXxutVqdtiu8rfA+F5Kbm8uYMWPIzc3ljTfeoE6dOhWq83yGYZT6EBEREamJ3B5ahwwZgmEYxMTElPpr/59++omnn34ai8XCiBEj3F3WRXvxxRf5z3/+w4ABA7jrrrs8XY6IiIhIteb20Dpu3Dg6dOhAbGws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xY3VebeWLVuagbvww9fXl7CwMK655hqmTZvG6dOnPV2qSJWi0CoiF2XTpk20adOGBx98kM8//5yjR48SEBDAuXPn+O2335g/fz4333wzt956K2fOnHFLDXFxcUyfPp3p06e7pf+aaOzYsQAkJSXx6aeflmmfL7/8kj/++KPI/jVZUFAQjRo1Mh82m43k5GR++OEHnn32Wdq3b8/u3btL3Ld58+a0a9eO+vXrV3LVIt5LoVVEKuzDDz/k1ltv5dixYzRp0oQFCxaQlJRESkoKWVlZ7N+/n0mTJuHn58e6deu47rrrOHXqlKfLljK47rrr6NChAwALFy4s0z6Odo0aNeK2225zW21VxbBhw0hISDAfycnJpKamMm/ePIKCgjhz5gx33313ifsuWbKE3377jb/+9a+VXLWI91JoFZEK2b9/P2PGjCE3N5dOnTqxZ88exo4dS1hYmNmmffv2zJo1i08//ZSAgAD++OMPRo4c6cGqpTwco6UbN27k+PHjpbZNS0vjo48+AmD06NH4+fm5vb6qyGazMX78eJ566ikADhw4wP79+z1clUjVoNAqIhXy9NNPY7fbCQwMZNWqVTRo0MBp21tvvZWnn34agC1btvD5558X2V7Wi24cbbZt22a+1rJlSyIjI4u1cTzuvffeYv1kZGTw2muv0bNnT+rXr09AQABNmzalZ8+evPrqqyQmJpZ4/G3btjF06FCaNGlCYGAg9evXJyoqioULF5KXl1fiPjExMVgsFnr16gXAmjVriIqKol69etSuXZvrr7+eTz75pMg+S5cupUePHoSFhRESEsJNN93Eli1bSn1vAD7//HMGDx5s1hcWFsZNN93E3Llzyc7OvuD+57vnnnvw9/cnPz+fRYsWldr2ww8/JCMjA4AxY8YAYLfbWb58OaNHj6Zz5840aNCAwMBAIiIiGDRoEOvWrSt3TVD8PS1JWb5TaWlpvPjii3Tv3p26desSGBhIs2bNGD58ON9++22Faiurzp07m8/T09OLbS/tQizHnNlFixaRnZ3NK6+8wpVXXkmtWrUIDQ3l5ptvZv369W6sXsRDDBGRcjpx4oTh4+NjAMa9995bpn3S0tIMm81mAEb//v2LbIuNjTUA40J/JTnaxMbGmq9169bNCAsLM7c1atSoyONvf/tbkT52795tNGvWzGzv4+Nj1K1b1wgMDDRfmzVrVrFjT5482dxusViMOnXqGL6+vuZrN998s5Gamlpsv2nTphmA0bNnT2Pq1KnmMUNDQ819AePtt9828vPzjejoaAMw/Pz8zPcLMHx9fY21a9eW+L7Y7XZjyJAhRfqrXbu2YbFYzD9fd911RlJSUqnvb0kGDx5sAMall15aarvrr7/eAIzrr7/efG3hwoVF3rPQ0FDDarUWqfPRRx8tsb/SvhOF31NnLvSd2rNnj9G0adMi72/h99tisRgvvPBCqefsTIsWLQzAiI6Odtrm+eefN4975syZYtt79uxpAMa0adOc9v/mm28a1157rQEY/v7+RkhISJH633333QrVL+KtFFpFpNw++OAD8x/Hzz77rMz7OQJQSEiIkZOTY75+MaG1PPsfOXLEqF+/vgEYzZo1M1asWGFkZGQYhmEY+fn5xq+//mrExMQY77//fpH93nzzTbP/8ePHGydPnjQMwzDS09ONWbNmGX5+fgZgDBs2rNgxHQErNDTU8PX1Nf75z38aycnJhmEYxrFjx4y+ffsagGGz2YypU6cawcHBxttvv23WdfDgQaNbt24GYDRv3tzIy8srdoxRo0YZgNGqVStj2bJlRkpKimEYhpGZmWl8+umnRqtWrQzAGDRoUKnvT0m++OIL89y//PLLEtv89ttvZpvCQemTTz4xHnvsMeObb74xz8cwCn7omT59uuHv728AxqefflqsT3eG1hMnThgNGzY0AOPOO+80du3aZWRnZxuGYRiJiYnGM888Y36m//73v50ew5nSQmtaWpqxYMECIzg42Pw+laQsoTUsLMxo0qSJ8cknn5j1//bbb8Z1111n/n/m+K6JVAcKrSJSbk899ZQZCI4dO1bm/Z577jlzvz/++MN8vbJCqyPc1atXzzhy5EiZarbb7UbdunUNwBgxYkSJbd544w3z+Lt27SqyzRGwAOP5558vtm9KSopRq1Yts835gdkwDOOPP/4wt3/99ddFtn311VcGYDRs2NDpOR09etQ8xp49e8p03g55eXnmiKSzkcPHH3/cDElpaWll7vuVV14xACMqKqrYNneG1jFjxhiAMXLkSKf7v/baawZgXHnllWU6l8IcoTIoKKjIqH+dOnXMmtq1a2e88MILRm5ubol9lCW0BgYGGvv37y+2/dSpU0ZQUJDT75NIVaU5rSJSboWXrqpXr16Z9yu8fI+7lr9y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aYvNnzt3zrj//vuLvN8hISFGWFiYebtdx6M8N4MoSeG7gwHGk08+6bTt3Llzi9XkeJ/r169vrFmzxtx2+PDhIvte6IYR69evN++o5fjMHX23adPGWL58ean779u3z2jbtq3ZxnE738I3egCM3r17l/s9cnZzgYYNGxb7/+KRRx4psY+y3Fxg4cKFTmsoy3dKpKrRSKuIXJR+/frxxx9/MGfOHG699VaaNGlCVlYW/v7+tG3blrFjx7J582Y2bNhAgwYNnPbTtGlTvvvuO+6//35zDmRISAijR4/mxx9/pGfPnqXWMXv2bGJiYujUqRMAR44cIT4+vti0hauuuor9+/fz4osvct1112Gz2UhLS6NBgwb06tWL1157rcQF/l977TW2bt3K4MGDadSoEenp6dhsNiIjI3nvvffYtGlTqUsQuVNAQADz589nx44d3HvvvbRu3Zq8vDzS09Np2LAhvXr1YurUqezdu7fMy5M5c/fddxMUFGT+uaSpAQ4PPvggn3/+Ob169SIkJITc3FyaNGnCxIkT+emnn8zPqiL69u3L119/zYABAwgLCyMvL49mzZrx5JNPsnv37iIXXJXksssuY+/evcybN48+ffpQv359UlNTMQyDSy+9lKFDh/LOO++wcuXKCtd4/s0FTp06hY+PD23btmXMmDHs2LGDV199tcL9i9Q0FsOopHVGREREREQqSCOtIiIiIuL1FFpFRERExOsptIqIiIiI11NoFRERERGvp9AqIiIiIl5PoVVEREREvJ5Cq4iIiIh4PYVWEREREfF6Cq0iIiIi4vUUWkVERETE6ym0ioiIiIjXU2gVEREREa+n0CoiIiIiXk+hVURERES8nkKriIiIiHg9hVYRERER8XoKrSIiIiLi9RRaRURERMTrKbSKiIiIiNdTaBURERERr6fQKiIiIiJe7/8B0t5A37h3T8wAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "max_score_slice = []\n", + "\n", + "combination = all_slices_with_score[0].values\n", + "features = all_slices_with_score[0].features\n", + "\n", + "# here a combination is set of discrete values for a particular feature set\n", + "for index in range(len(features)):\n", + " if (index == 0):\n", + " max_score_slice = discrete_df[features[index]] == combination[index]\n", + " else :\n", + " max_score_slice = current_slice & (discrete_df[features[index]] == combination[index])\n", + " \n", + "print(max_score_slice.sum(), \"examples in slice\")\n", + "\n", + "if (max_score_slice.sum() > 0):\n", + " score = entropy_difference(discrete_outcomes, max_score_slice) + mean_difference_l1(discrete_outcomes, max_score_slice) + group_size(discrete_outcomes, max_score_slice) \n", + " print (\"Score: \", score)\n", + "\n", + "print(\"Entropy score:\", entropy_difference(discrete_outcomes, max_score_slice))\n", + "print(\"Difference score:\", mean_difference_l1(discrete_outcomes, max_score_slice))\n", + "print(\"Group size score:\", group_size(discrete_outcomes, max_score_slice))\n", + "\n", + "print (\"\")\n", + "print (features)\n", + "print (combination)\n", + "\n", + "print (\"\")\n", + "print (\"Following is graph for slice with highest overall score:\")\n", + "# Plot the difference in outcomes using a histogram\n", + "plt.figure(figsize=(4, 2), dpi=180)\n", + "plt.hist(discrete_outcomes, bins=np.arange(num_bins + 1), alpha=0.3, density=True, label='overall')\n", + "plt.hist(discrete_outcomes[max_score_slice], bins=np.arange(num_bins + 1), alpha=0.3, density=True, label='in slice')\n", + "plt.xlabel(\"Outcome Value Bin\")\n", + "plt.ylabel(\"Density\")\n", + "plt.legend()\n", + "plt.show()\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}