diff --git a/AdultDataset.ipynb b/AdultDataset.ipynb index a84e634..175a92c 100644 --- a/AdultDataset.ipynb +++ b/AdultDataset.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 120, "metadata": {}, "outputs": [], "source": [ @@ -11,7 +11,10 @@ "import numpy as np\n", "import torch\n", "from sklearn.model_selection import KFold, StratifiedKFold\n", - "import math" + "import math\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "plt.rcParams[\"figure.figsize\"] = (16, 9)" ] }, { @@ -36,7 +39,7 @@ " DecisionTreeClassifier(),\n", " RandomForestClassifier(n_jobs=4),\n", " AdaBoostClassifier()\n", - "]" + "]\n" ] }, { @@ -51,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 151, "metadata": {}, "outputs": [], "source": [ @@ -76,7 +79,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 152, "metadata": {}, "outputs": [ { @@ -85,7 +88,7 @@ "(45222, 15)" ] }, - "execution_count": 6, + "execution_count": 152, "metadata": {}, "output_type": "execute_result" } @@ -98,7 +101,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 153, "metadata": {}, "outputs": [ { @@ -107,7 +110,7 @@ "(array(['<=50K', '>50K'], dtype=object), array([34014, 11208]))" ] }, - "execution_count": 7, + "execution_count": 153, "metadata": {}, "output_type": "execute_result" } @@ -118,7 +121,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 154, "metadata": {}, "outputs": [], "source": [ @@ -127,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 155, "metadata": {}, "outputs": [ { @@ -166,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 156, "metadata": {}, "outputs": [], "source": [ @@ -184,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 157, "metadata": {}, "outputs": [ { @@ -211,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 158, "metadata": {}, "outputs": [ { @@ -244,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 159, "metadata": {}, "outputs": [ { @@ -270,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 160, "metadata": {}, "outputs": [ { @@ -338,7 +341,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 161, "metadata": {}, "outputs": [], "source": [ @@ -350,7 +353,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 162, "metadata": {}, "outputs": [], "source": [ @@ -361,7 +364,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 163, "metadata": {}, "outputs": [], "source": [ @@ -370,7 +373,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 164, "metadata": {}, "outputs": [], "source": [ @@ -379,7 +382,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 165, "metadata": {}, "outputs": [], "source": [ @@ -398,7 +401,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 166, "metadata": {}, "outputs": [ { @@ -417,7 +420,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 167, "metadata": {}, "outputs": [], "source": [ @@ -438,7 +441,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 168, "metadata": {}, "outputs": [], "source": [ @@ -454,7 +457,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 169, "metadata": {}, "outputs": [], "source": [ @@ -481,90 +484,178 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 185, + "metadata": { + "scrolled": false + }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Noise amount: 0%| | 0/11 [00:00" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sns.boxplot(x='Utility_Privacy', y='Accuracy', data=sdf, hue='Epsilon')\n", + "plt.title('Accuracy')\n", + "plt.savefig('Accuracy.png',bbox_inches = 'tight',\n", + " pad_inches = 0)" + ] + }, + { + "cell_type": "code", + "execution_count": 194, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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57DDDmusv6a1bUnu6OhoMqfRkgAAwCQ0JQPsmgcezI+PP7+5gvfdtN8hs2bNypvf/OZ88IMfzF//9V8/4f51112X173udbnrrrty/fXX5zWveU1z/TVsbGws/3zHrTlx7rZG6x782I49wx5ZeUujdTc/PEuABQCAaWBKBthBueSSS3LmmWfmsssue8K9z3zmM7nxxhtz99135yMf+cikDrBJcuLcbfnLJRsH3UZP/uQbz8imlEG3AQAA9JljdBp0xBFH5PWvf31GRkYed33FihU5+uijc+KJJ+bFL35xbrvttjz4YHNLnAEAAKYDAbZhb3nLW3LNNdfk4Ycf3nXtuuuuy913351Fixblmc98Zn7xi1/kC1/4wgC7BAAAaB8BtmFHHXVUXv3qV+eaa65Jkmzfvj2f/exn84Mf/CArV67MypUrc/311+e6664bcKcAAADtIsD2wdvf/vY88MADSZJvfetbWbhwYf7Fv/gXu+6fd955+eEPf5j77rtvUC0CAAC0zpTcxOnYo4/qaefgCdXbj40bf7nh0bHHHptNm3550Od3vvOdx42dOXNm7r///sb6g8lmIkcxTfR4paGhocaPYgIAoB2mZIDd35mtwOQxe/bsQbcAAEBLTMkACwyWGVIAAPrBM7AAAAC0ggALAABAKwiwAAAAtIIACwAAQCsIsA36yle+klNPPTVDQ0O58sorn3D/m9/8Zs4+++zMmjUrn//85wfQIQAAQHtNyV2I3/nWS/Lzdc2ds/qM+cflPR/86D7HbNu2LZdcckluvPHGdDqdnHPOOVm6dGlOP/30XWNOPPHEXHvttXn/+x3zAwAAMFFTMsD+fN39uXzonxurd+XY/sfcfPPNGRoayimnnJIkufDCC3P99dc/LsAuWrQoSTJjholvAACAiZKkGrJ69eqccMIJu953Op2sXr16gB0BAABMLQIsAAAArSDANmThwoVZtWrVrvfdbjcLFy4cYEcAAABTiwDbkHPOOSejo6P58Y9/nC1btmTZsmVZunTpoNsCAACYMgTYhsyaNStXX311XvKSl+S0007Lq1/96pxxxhl517veleXLlydJbrnllnQ6nXzuc5/Ln/7pn+aMM84YcNcAAADtMSV3IX7G/ON62jl4IvV68fKXvzwvf/nLH3ftiiuu2PX6nHPOSbfbba4xAACAaWRKBtj9ndkKAABA+/R1CXEp5aWllHtKKWOllMv3cv+8UsqtpZStpZTf72cvAAAAtFvfAmwpZWaSjyZ5WZLTk1xUSjl9j2E/TXJxkv/Srz4AAACYGvq5hPjcJGO11nuTpJSyLMkrkvxw54Ba68rxe9v72AcAAABTQD+XEC9Msmq3993xaxNWSnlzKWVFKWXF2rVrG2kOAACAdmnFMTq11o/VWpfUWpcsWLBg0O0AAAAwAP0MsKuTnLDb+874tSnrK1/5Sk499dQMDQ3lyiuvfML9a6+9NgsWLMhZZ52Vs846Kx//+McH0CUAAEA79fMZ2FuSLC6lnJwdwfXCJK/p4+ftcunbL82adWsaq3fs/GNz9VVX73PMtm3bcskll+TGG29Mp9PJOeeck6VLl+b00x+/b9Uf/MEf5Oqr910LAACAJ+pbgK21bi2lXJrkq0lmJvlErfXOUsoVSVbUWpeXUs5J8l+THJnkd0op/67WesbT/ew169bkfz3vfz3dMr/03f0PufnmmzM0NJRTTjklSXLhhRfm+uuvf0KABQAA4Knp6zOwtdYbaq2/Umt9Zq31r8evvavWunz89S211k6t9bBa6/wmwuugrF69Oiec8MsV051OJ6tXP3HF9Be+8IWceeaZ+f3f//2sWrXqCfcBAADYu1Zs4jRV/M7v/E5WrlyZ73//+7ngggvyhje8YdAtAQAAtIYA25CFCxc+bka12+1m4cLHnxo0f/78HHLIIUmSP/7jP853v9vD2mQAAACSCLCNOeecczI6Opof//jH2bJlS5YtW5alS5c+bsx999236/Xy5ctz2mmnHeg2AQAAWqufuxBPK7NmzcrVV1+dl7zkJdm2bVve+MY35owzzsi73vWuLFmyJEuXLs3IyEiWL1+eWbNm5aijjsq111476LYBAABaY0oG2GPnH9vTzsETqteDl7/85Xn5y1/+uGtXXHHFrtfvec978p73vKe5xgAAAKaRKRlg93dmKwAAAO3jGVgAAABaQYAFAACgFQRYAAAAWkGABQAAoBUEWAAAAFpBgG3IG9/4xhxzzDF59rOfPehWAAAApqQpeYzOZZdemofW/KyxevOOPSbvu3rfR/NcfPHFufTSS/P617++sc8FAADgl6ZkgH1ozc/y2jVrGqv3tz2MOe+887Jy5crGPhMAAIDHs4QYAACAVhBgAQAAaAUBFgAAgFYQYAEAAGgFAbYhF110UV7wghfknnvuSafTyTXXXDPolgAAAKaUKbkL8bxjj+lp5+CJ1Nuf6667rsFPBAAAYE9TMsDu78xWAAAA2scSYgAAAFphSs7AwmT36KOP5r4k16QOupWe3JdkY7c76DYAAJjmzMACAADQCmZgYQAOOeSQLNi6NW9KGXQrPbkmNfM6nUG3AQDANGcGFgAAgFYQYBuyatWqvPCFL8zpp5+eM844Ix/+8IcH3RIAAMCUMiWXEL/9Le/IugfWN1Zv/tFH5qoP/c0+x8yaNStXXXVVzj777GzYsCHPe97zcsEFF+T0009vrA8AAIDpbEoG2HUPrM+SY1/RWL0Va67f75jjjz8+xx9/fJLk8MMPz2mnnZbVq1cLsAAAAA2xhLgPVq5cmdtuuy3Pf/7zB90KAADAlCHANmzjxo151atelQ996EM54ogjBt0OAADAlCHANuixxx7Lq171qrz2ta/NK1/5ykG3AwAAMKUIsA2pteZNb3pTTjvttLztbW8bdDsAAABTjgDbkG9/+9v59Kc/na9//es566yzctZZZ+WGG24YdFsAAABTxpTchXj+0Uf2tHPwROrtz2/8xm+k1trYZwIAAPB4UzLA7u/MVgAAANrHEmIAAABaQYAFAACgFQRYAAAAWkGABQAAoBWm5CZO0Ab3J7kmze5cvW789/mNVt3R67yGawIAwEQJsA3btm1blixZkoULF+ZLX/rSoNthkpo9e3Y6ixc3Xnft6GiSZF7DteclGRoaarQmAABM1JQMsG8b/rM8sHZtY/WOXrAgHxj5SE9jP/zhD+e0007LL37xi8Y+n6mn0+lkZGSk8brDw8NJ0pfaAAAwaFMywD6wdm1Onbm1sXr39BiGu91u/v7v/z5/8Rd/kQ984AONfT4AAAA2cWrUW97ylrzvfe/LjBn+WAEAAJomaTXkS1/6Uo455pg873nPG3QrAAAAU5IA25Bvf/vbWb58eRYtWpQLL7wwX//61/OHf/iHg24LAABgyhBgG/Ke97wn3W43K1euzLJly/KiF70o//k//+dBtwUAADBlCLAAAAC0wpTchfjoBQt63jm413oTcf755+f8889v7PMBAACYogG21zNbAQAAaA9LiAEAAGgFARYAAIBWEGABAABoBQEWAACAVhBgAQAAaAUBtiH33HNPzjrrrF2/jjjiiHzoQx8adFsAAABTxpQ8Rufyt12Wnz+wvrF6zzj6yFz5gfftc8ypp56a22+/PUmybdu2LFy4ML/3e7/XWA8AAADT3ZQMsD9/YH2GT72osXoj91w3ofFf+9rX8sxnPjMnnXRSYz0wfY2MjGRsbKynsaOjo0mS4eHhnsYPDQ31PBYAAAZtSgbYQVu2bFkuuqi5AA29mj179qBbAACAvhFgG7Zly5YsX74873nPewbdClOEGVIAANjBJk4N+/KXv5yzzz47xx577KBbAQAAmFIE2IZdd911lg8DAAD0gQDboIcffjg33nhjXvnKVw66FQAAgCmnr8/AllJemuTDSWYm+Xit9co97h+S5D8leV6SdUn+oNa68ul+7jOOPnLCOwfvr14vDjvssKxbt66xzwUAAOCX+hZgSykzk3w0yQVJukluKaUsr7X+cLdhb0qyvtY6VEq5MMl7k/zB0/3s/Z3ZCgAAQPv0cwb23CRjtdZ7k6SUsizJK5LsHmBfkeSvxl9/PsnVpZRSa6197IspZsv2kjyQzPi7hlfEbxv/fWazZbM16dZuw0UBAGDq62eAXZhk1W7vu0me/2Rjaq1bSyk/TzI/yQN97Iv96Ha7efChWfmTbzxjv2Mf216yvU//3TCjJAfN2H/xbTUpKTns4MP2O/bRRx/N9u3be/r8neNm9Pio+IwZM3LIIYfsf+DBybx583qqCQAA/FIrzoEtpbw5yZuT5MQTTxxwN1PfvHnzsnnz5t4GP/po0mMgnLAZMzKjh0B4WJLjjz8+n/jEJ/Y7dmRkJGNjYz19fLe7Y5a00+n0NH5oaMiZrQAA0Ef9DLCrk5yw2/vO+LW9jemWUmYleUZ2bOb0OLXWjyX5WJIsWbLE8uI+6yUItpWACQAA7dXPY3RuSbK4lHJyKeXgJBcmWb7HmOVJ3jD++veTfN3zrwAAAOxN3wJsrXVrkkuTfDXJXUk+W2u9s5RyRSll6fiwa5LML6WMJXlbksv71U+/vfGNb8wxxxyTZz/72buuPfjgg7nggguyePHiXHDBBVm/fv0AOwQAAGi30rYJzyVLltQVK1Y87tpdd92V0047bdf7t771rY2exzp//vx88IMf3OeYb37zm5k7d25e//rX54477kiSXHbZZTnqqKNy+eWX58orr8z69evz3ve+d7+ft+f3AwAAMF2UUr5ba12yt3ut2MRpotatW5dTTjmlsXr33nvvfsecd955Wbly5eOuXX/99bnpppuSJG94wxty/vnn9xRgAQAAeKJ+PgM77a1ZsybHH398kuS4447LmjVrBtwRAABAewmwB0gpJaWUQbcBAADQWgJsHx177LG57777kiT33XdfjjnmmAF3BAAA0F4CbB8tXbo0n/rUp5Ikn/rUp/KKV7xiwB0BAAC0lwDbkIsuuigveMELcs8996TT6eSaa67J5ZdfnhtvvDGLFy/Of//v/z2XX97aU4IAAAAGbkruQjx//vyedg6eSL39ue666/Z6/Wtf+1pjfQAAAExnUzLA7u/MVgAAANrHEmIAAABaQYAFAACgFaZMgK21DrqFRkyV7wMAAKBpUyLAHnrooVm3bl3rw1+tNevWrcuhhx466FYAAAAmnSmxiVOn00m3283atWsH3crTduihh6bT6Qy6DQAAgElnSgTYgw46KCeffPKg2wAAAKCPpsQSYgAAAKY+ARYAAIBWEGABAABohdK2nXtLKWuT/GTQfcA0dHSSBwbdBAAcQH72wWCcVGtdsLcbrQuwwGCUUlbUWpcMug8AOFD87IPJxxJiAAAAWkGABQAAoBUEWKBXHxt0AwBwgPnZB5OMZ2ABAABoBTOwAAAAtIIAC+xSSvmrUsq/GXQfAHAglVJWllKO7nGsn5UwQAIsAADTVill5qB7AHonwMI0Vkp5fSnl+6WU75VSPr3HvT8ppdwyfu8LpZQ549f/VSnljvHr3xy/dkYp5eZSyu3j9RYP4vsBYHoppbyjlDI8/vqDpZSvj79+USnlb0spF5VSfjD+c+u9u33dxlLKVaWU7yV5wW7XZ5dSvlxK+ZPx90/6c3L8vp+VcIAJsDBNlVLOSPKXSV5Ua31ukj/fY8gXa63njN+7K8mbxq+/K8lLxq8vHb/2r5N8uNZ6VpIlSbp9/wYAIPlWkt8cf70kydxSykHj1/45yXuTvCjJWUnOKaX87vjYw5L8z1rrc2ut/zh+bW6S/5bkulrrf+zh52TiZyUccAIsTF8vSvK5WusDSVJrfXCP+88upXyrlPKDJK9Ncsb49W8nuXb8f6d3Lrv6pyT/tpTyfyY5qda6uf/tA0C+m+R5pZQjkjyaHT+PlmRHgH0oyU211rW11q1J/jbJeeNfty3JF/aodX2ST9Za/9P4+/39nEz8rIQDToAFnsy1SS6ttT4nyb9Lcmjy/7d3b7F2zmkcx78/NFHSyJTEIYSUiJTQMdw0EfRCXMhw4zBTabZTVEZSxEUTqSAhQkII4aJMIzOkxMiITCKiVLVSVboZh2QcKi6aISXOQupx8f43Kzu73V3dtfde6fdz9a5nPev/Pu+6efO8///6L6iqxXRPpI8ANiY5sKoepXvC/D3wnyQLpqZkSdKepKp+Aj4ChoB1dDOyZwLHAJt38NEfqmrbqNha4Owk6aOEFXivlCaVDay051oFnJ/kQIAks0e9PwvY0pZiLRwJJjm6qtZX1Y3AZ8ARSeYAH1bVvXRPsE+clCuQJKlrWq8HXmrHi4E3gFeB05Mc1DZq+guwegfj3Ah8AdzfXo93nwTvldKks4GV9lBV9TZwK7C6bWJx16iUZcB6uifS7/XE7xzZEIPuafcwcAHw3ySbgBOAR5AkaXKsAQ4FXqmq/wM/AGuqaguwFHiB7l61sar+Pc5YS4CZSe7YifskeK+UJl2qaqprkCRJkiRpXM7ASpIkSZIGgg2sJEmSJGkg2MBKkiRJkgaCDawkSZIkaSDYwEqSJEmSBoINrCRJkiRpINjASpI0hiRHtf9w7I3dlOT6JENJDuuJL08ytx1vTnJQO17XM9Zfd7GOoSSfJdmU5J0kV2wn789Jlu7KOSRJGhQ2sJIk9W8I+LWBrarLq+qd0UlVNb8dHgXsUgPbrKyqecAZwG1JDu59M8k+VfV0Vd0+gXNIkjTt2cBKktS/U4B/tlnRmUleTHLK6KQk37TD24HTWv61SV5KMq8n7+UkJ4130qr6FPgAODLJiiQPJlkP3NFmau9LckCSj5Ps1cbeP8knSWYkuSLJhiTDSZ5Msl/LOTjJUy0+nGR+kluSXNNT461JlkzkS5MkaaJsYCVJ6t9rwMKqmldV3+9E/lJgTcu/G3iIbhaXJMcC+1bV8HiDJJkDzAHeb6HDgflVdd1ITlV9CWwCTm+hc4Bnq+on4F9VdWpVnQS8C1zWcu4FVrf4ycDbwMPAonbevYCLgH/sxLVKkvS7sYGVJGls1We8H08A5ySZAVwKrBgn/8Ikm4DHgCur6vORcapq2xj5K4EL2/FF7TXACUnWJHkLWAgc3+ILgAcAqmpbVX1ZVZuBrUn+CJwFvFFVW/u8TkmSdqt9proASZKmqa3AH0bFZgMfTXTgqvouyXPAucAFwJ/G+cjKqrp6jPi328l/mu63srPb2KtafAVwXlUNJxmi+03tjiynmyk+hG5GVpKkKeUMrCRJY6iqb4AtSRYAtGbwbOBl4GtgVh/DjZW/nG7p7oaq+mLiFf+m1b4BuAd4pmeWdhbdNc2gm4Ed8TxwFUCSvZMc0OJP0V3zqcCzu7NGSZJ2hQ2sJEnbtwhY1pbvrgJurqoP6GYyHxzZxGknxnkT2NY2SLoWoKo2Al8Bf/99SmclcDG/LR8GWAasB9YC7/XElwBntqXFG4G5rcYfgReAx7ezVFmSpEmVqt3xUx5JktSP9j+yLwLHVdXPU1zOmNrmTa8D51fV/6a6HkmSnIGVJGmSJVlENxN6wzRuXufS7Xb8vM2rJGm6cAZWkqRpIMkldEt5e62tqr9NRT2SJE1HNrCSJEmSpIHgEmJJkiRJ0kCwgZUkSZIkDQQbWEmSJEnSQLCBlSRJkiQNBBtYSZIkSdJA+AVHtYZrJZfVpAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sns.boxplot(x='Utility_Privacy', y='Recall', data=sdf, hue='Epsilon')\n", + "plt.title('Recall')\n", + "plt.savefig('Sensitivity.png', bbox_inches = 'tight',\n", + " pad_inches = 0)" + ] }, { "cell_type": "code",