diff --git a/Module_3/Project/Heart_disease_prediction/xgboost_heart_disease.ipynb b/Module_3/Project/Heart_disease_prediction/xgboost_heart_disease.ipynb index e370802e..f47f4b46 100644 --- a/Module_3/Project/Heart_disease_prediction/xgboost_heart_disease.ipynb +++ b/Module_3/Project/Heart_disease_prediction/xgboost_heart_disease.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -31,39 +31,30 @@ } ], "source": [ - "# Loading the dataset you provided earlier\n", "df = pd.read_csv('Cleveland data.csv', header=None)\n", - "\n", - "# Assigning column names based on the screenshot\n", "df.columns = ['age', 'sex', 'cp', 'trestbps', 'chol', 'fbs', 'restecg', 'thalach', 'exang',\n", " 'oldpeak', 'slope', 'ca', 'thal', 'target']\n", "\n", - "# Remap the target variable: 0 -> 0, 1 -> 1, 2 -> 1, 3 -> 1, 4 -> 1 (0 for no disease, 1 for disease)\n", "df['target'] = df.target.map({0: 0, 1: 1, 2: 1, 3: 1, 4: 1})\n", - "\n", - "# Handle missing values in 'thal' and 'ca' columns by replacing NaN with the mean\n", "df['thal'] = df.thal.fillna(df.thal.mean())\n", "df['ca'] = df.ca.fillna(df.ca.mean())\n", "\n", - "# Distribution of target vs age\n", "plt.figure(figsize=(10, 6))\n", "sns.histplot(data=df, x='age', hue='target', multiple='stack', kde=False)\n", "plt.title('Distribution of Target vs Age')\n", "plt.xlabel('Age')\n", "plt.ylabel('Count')\n", - "\n", - "# Display the plot\n", "plt.show()\n" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 28, "metadata": {}, "outputs": [ { "data": { - "image/png": "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HCoEUFEISgAqpaJn3oSEhEj67Zcwb29vj5vnT506pX/961+l3va6det08OBB9y9eBQUFWrFihS677DI1bty4xHVatGihSy65REuXLtXDDz/s/qUwNzdXr7/+unvEOql0f80vzXZLY8GCBQoMDNSqVauKjfa2ZcsWTZw4Ua+88orGjRun2NhYTZ8+XStWrNDo0aPdy5kjAQYEBKh79+764osv1LZtW/n6+pa6rqKAMmvWLH3yySfasmWLXnzxxbMuX7t2bcXHxys/P1/9+vXTjh07zhqUDh48qJCQkGLHW1BQoO+++04BAQGqW7eufH19S3Uc9913n/bt26fNmzfr22+/1e23365//OMfeuihh857vD169NDkyZMVGBjovryudu3auuaaa/T888/rwIEDF3TZndPp/EO9QxejLM652NhYPfvss9q5c6dHGDY/W127dlXdunW1c+fOEgd6+L2y6C07l6IRB7/88kv16tXL3b569WqP5Vq0aKGoqCht375diYmJ5VILAHsRlADY7uuvv3aPPnX48GG98cYbSklJ0a233ur+y36fPn00c+ZMDRo0SPfee68OHz6sZ5991v1LU2k0bNhQN9xwgx5//HHVrl1bc+fO1bfffnvOIcJr1aql6dOna/Dgwbr55ps1atQo5eXlacaMGTp27Jiefvpp97Jt2rSRJM2ePVtDhw6Vj4+PWrRoocDAwD+03Qv19ddfa/PmzRo9erRuuOGGYvO7du2q5557TgsWLNC4cePUu3dvde3aVX/961+VnZ2tDh06aOPGjVqyZIm7xiKzZ8/Wtddeq+uuu06jR49W06ZNlZOToz179uitt97Shx9+eN76RowYoWeeeUaDBg2Sv79/sec63XPPPfL391fXrl0VFhamjIwMJSUlKTg4WJ06dTrrdv/1r3/pxRdf1KBBg9SpUycFBwfr559/1ssvv6wdO3boiSeecIeiCz2Ol19+Wf/+97+1aNEitWrVSq1atdK4ceP0yCOPqGvXrurcufM5j/XGG29UQUGB1q1bp+TkZHd7jx499OSTT8rhcJT4b2Rq06aN1q9fr7feekthYWEKDAws996Ksjjnxo8fr4ULFyo+Pl7Tpk2Ty+XS0qVL9e2330r6v89WnTp19Pzzz2vo0KE6cuSIbr/9djVq1EhZWVnavn27srKyNG/ePEmlO78uRmhoqHr0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XlKXLl3KrjIAAAAAsEmpL71LSkpS7969tXPnTp05c0azZ8/Wjh07tHHjRm3YsKE8agQAAACAClXqHqWYmBh99tlnOnnypC677DKtWbNGLpdLGzduVIcOHcqjRgAAAACoUKXuUZKkNm3aKDk5uaxrAQAAAIBKodRBKTs7u8R2h8Mhp9MpX1/fP1wUAAAAANip1EGpbt265xzdrnHjxho2bJiefPJJ1apV6iv7AAAAAMB2pQ5Kixcv1pQpUzRs2DB17txZlmUpLS1NycnJ+tvf/qasrCw9++yzcjqdeuyxx8qjZgAAAAAoV6UOSsnJyXruuec0YMAAd9stt9yiNm3a6MUXX9S6det06aWX6u9//ztBCQAAAECVVOpr4zZu3Kh27doVa2/Xrp02btwoSbr22mu1b9++P14dAAAAANig1EGpcePGWrBgQbH2BQsWKCIiQpJ0+PBh1atX749XBwAAAAA2KPWld88++6zuuOMOvffee+rUqZMcDofS0tL0zTff6PXXX5ckpaWlaeDAgWVeLAAAAABUhFIHpVtuuUW7d+/WvHnztHv3blmWpfj4eK1atUrHjh2TJI0ePbqs6wQAAACACnNRD5xt0qSJnn76aUnSsWPH9Morr+i2227Ttm3bVFBQUKYFAgAAAEBFu+gHHX344Ye66667FB4erjlz5ig+Pl5btmwpy9oAAAAAwBal6lH6+eeftXjxYi1cuFC5ubkaMGCATp8+rddff10tW7YsrxoBAAAAoEJdcI/STTfdpJYtW2rnzp16/vnndeDAAT3//PPlWRsAAAAA2OKCg9KaNWs0cuRITZ06VX369JGXl9cf3vm8efPUtm1bBQUFKSgoSF26dNF7773nnm9ZlhISEhQeHi5/f39169ZNO3bs+MP7BQAAAIBzueCg9MknnygnJ0cdO3ZUdHS05syZo6ysrD+088aNG+vpp5/Wli1btGXLFt1www3605/+5A5D06dP18yZMzVnzhylpaUpNDRUPXv2VE5Ozh/aLwAAAACcywUHpS5duuill15Senq6Ro0apeXLl+uSSy5RYWGhUlJSLiq89O3bVzfddJOaN2+u5s2b6+9//7vq1KmjTZs2ybIszZo1S1OmTFH//v3VunVrJScn6+TJk1q6dGmp9wUAAAAAF6rUo94FBARoxIgR+vTTT/XVV1/pr3/9q55++mk1atRI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ujt37tRNN92kOnXqyOVyaciQITp06NBZ6/nxxx8r6u0AAFSwSj88OACgZpo9e7Z2796t1q1ba9q0aZKkevXqqXHjxnr11VfVsGFDpaam6t5771VYWJgGDBjgXnfdunUKCgpSSkqKLMtSTk6O+vbtq5tuuklLly7VTz/9pPHjx3vsLz09XbGxsbrnnns0c+ZMnTp1So888ogGDBigDz/8sMR6QkJCKuz9AABULIISAKBSCg4Olq+vrwICAtyPjJCkqVOnun+OjIxUamqqXn31VY+gVLt2bb388svuS+5eeOEFORwOvfTSS/Lz81PLli31yy+/6J577nGvM2/ePLVv316JiYnutoULFyoiIkK7d+9W8+bNS6wHAFA9EZQAAFXKCy+8oJdfflk//fSTTp06pfz8fF199dUey7Rp08bjvqRdu3apbdu28vPzc7d17tzZY52tW7fqo48+Up06dYrt8/vvv3dfwgcAqBkISgCAKuPVV1/VQw89pOeee05dunRRYGCgZsyYoc8//9xjudq1a3u8tiyr2MNfzcGECgsL1bdvXz3zzDPF9hsWFlZGRwAAqCoISgCASsvX11cFBQXu15988oliYmI0ZswYd9v3339/3u1cccUVeuWVV5SXlyen0ynpt0dU/F779u31+uuvq2nTpvL2Lvnr0awHAFB9MeodAKDSatq0qT7//HP9+OOPOnTokC6//HJt2bJFH3zwgXbv3q3HH39caWlp593OoEGDVFhYqHvvvVfffPONPvjgAz377LOS5O5pGjt2rI4cOaI777xTmzdv1g8//KA1a9ZoxIgR7nBk1lNYWFh+Bw8AsBVBCQBQaT388MPy8vJSy5YtFRISot69e6t///4aOHCgoqOjdfjwYY/epbMJCgrSW2+9pW3btunqq6/WlClT9MQTT0iS+76l8PBwffbZZyooKFCvXr3UunVrPfjggwoODlatWrVKrGffvn3ld/AAAFs5rHM98bUayM7OVnBwsI4fP66goCC7yymmw8QldpeAGmJl4Ay7S0ANcekTX51z/q+//qq9e/cqMjLSY3CFivbKK69o+PDhOn78uPz9/ctlHxd6rHwXoKLwXYCKcr7vAruUJhtwjxIAoEZYsmSJmjVrpksuuUTbt293PyOpvEISAKBqIygBAGqEjIwMPfHEE8rIyFBYWJjuuOMO/f3vf7e7LABAJUVQAgDUCJMmTdKkSZPsLgMAUEUwmAMAAAAAGAhKAAAAAGAgKAEAAACAgaAEAAAAAAaCEgAAAAAYCEoAAAAAYCAoAQAAAICB5ygBACqNDhOXVNi+ts74y0WtN3fuXM2YMUPp6elq1aqVZs2apeuuu66MqwMA2I0eJQAALtCKFSs0fvx4TZkyRV988YWuu+46xcfHa9++fXaXBgAoYwQlAAAu0MyZM3X33Xdr5MiRuvLKKzVr1ixFRERo3rx5dpcGAChjBCUAAC5Afn6+tm7dqri4OI/2uLg4paam2lQVAKC8EJQAALgAhw4dUkFBgVwul0e7y+VSRkaGTVUBAMoLQQkAgFJwOBwery3LKtYGAKj6CEoAAFyAhg0bysvLq1jvUWZmZrFeJgBA1UdQAgDgAvj6+qpDhw5KSUnxaE9JSVFMTIxNVQEAygvPUQIA4AJNmDBBQ4YMUceOHdWlSxfNnz9f+/bt03333Wd3aQCAMkZQAgBUGhf7ENiKMnDgQB0+fFjTpk1Tenq6WrdurXfffVdNmjSxuzQAQBkjKAEAUApjxozRmDFj7C4DAFDOuEcJAAAAAAwEJQAAAAAwEJQAAAAAwEBQAgAAAAADQQkAAAAADAQlAAAAADAQlAAAAADAQFACAAAAAANBCQAAAAAMBCUAAAAAMHjbXQAAAEX2TWtTYfu69ImvSr3Oxx9/rBkzZmjr1q1KT0/XypUr1a9fv7IvDgBgO3qUAAC4QLm5ubrqqqs0Z84cu0sBAJQzepQAALhA8fHxio+Pt7sMAEAFoEcJAAAAAAwEJQAAAAAwEJQAAAAAwEBQAgAAAAADQQkAAAAADIx6BwDABTpx4oT27Nnjfr13715t27ZN9evX16WXXmpjZQCAskZQAgBUGhfzENiKtGXLFnXv3t39esKECZKkoUOHavHixTZVBQAoDwQlAAAuULdu3WRZlt1lAAAqAPcoAQAAAICBoAQAAAAABoISAAAAABgISgAAAABgICgBAGxREwZFqAnHCADVFUEJAFChfHx8JEknT560uZLyV3SMRccMAKg6GB4cAFChvLy8VLduXWVmZkqSAgIC5HA4bK6qbFmWpZMnTyozM1N169aVl5eX3SUBAEqJoAQAqHChoaGS5A5L1VXdunXdxwoAqFoISgCACudwOBQWFqZGjRrp9OnTdpdTLnx8fOhJAoAqjKAEALCNl5cXYQIAUClVicEc5s6dq8jISPn5+alDhw765JNP7C4JAAAAQDVW6YPSihUrNH78eE2ZMkVffPGFrrvuOsXHx2vfvn12lwYAAACgmqr0QWnmzJm6++67NXLkSF155ZWaNWuWIiIiNG/ePLtLAwAAAFBNVep7lPLz87V161Y9+uijHu1xcXFKTU0tcZ28vDzl5eW5Xx8/flySlJ2dXX6F/gEFeafsLgE1RI5Pgd0loIaorP/fVmZ8F6Ci8F2AilJZvwuK6rqQB4JX6qB06NAhFRQUyOVyebS7XC5lZGSUuE5SUpKmTp1arD0iIqJcagSqitZ2F4CaIynY7goAnAXfBagwlfy7ICcnR8HB566xUgelIuaDCC3LOuvDCSdPnqwJEya4XxcWFurIkSNq0KBBtXugIXChsrOzFRERof379ysoKMjucgAANuC7APgtR+Tk5Cg8PPy8y1bqoNSwYUN5eXkV6z3KzMws1stUxOl0yul0erTVrVu3vEoEqpSgoCC+HAGghuO7ADXd+XqSilTqwRx8fX3VoUMHpaSkeLSnpKQoJibGpqoAAAAAVHeVukdJkiZMmKAhQ4aoY8eO6tKli+bPn699+/bpvvvus7s0AAAAANVUpQ9KAwcO1OHDhzVt2jSlp6erdevWevfdd9WkSRO7SwOqDKfTqSeffLLYZakAgJqD7wKgdBzWhYyNBwAAAAA1SKW+RwkAAAAA7EBQAgAAAAADQQkAAAAADAQlAAAAADAQlIBqbu7cuYqMjJSfn586dOigTz75xO6SAAAV6OOPP1bfvn0VHh4uh8OhVatW2V0SUCUQlIBqbMWKFRo/frymTJmiL774Qtddd53i4+O1b98+u0sDAFSQ3NxcXXXVVZozZ47dpQBVCsODA9VYdHS02rdvr3nz5rnbrrzySvXr109JSUk2VgYAsIPD4dDKlSvVr18/u0sBKj16lIBqKj8/X1u3blVcXJxHe1xcnFJTU22qCgAAoGogKAHV1KFDh1RQUCCXy+XR7nK5lJGRYVNVAAAAVQNBCajmHA6Hx2vLsoq1AQAAwBNBCaimGjZsKC8vr2K9R5mZmcV6mQAAAOCJoARUU76+vurQoYNSUlI82lNSUhQTE2NTVQAAAFWDt90FACg/EyZM0JAhQ9SxY0d16dJF8+fP1759+3TffffZXRoAoIKcOHFCe/bscb/eu3evtm3bpvr16+vSSy+1sTKgcmN4cKCamzt3rqZPn6709HS1bt1a//jHP3T99dfbXRYAoIKsX79e3bt3L9Y+dOhQLV68uOILAqoIghIAAAAAGLhHCQAAAAAMBCUAAAAAMBCUAAAAAMBAUAIAAAAAA0EJAAAAAAwEJQAAAAAwEJQAAAAAwEBQAgAAAAADQQkAAAAADAQlAECVlpmZqVGjRunSSy+V0+lUaGioevXqpY0bN9pdGgCgCvO2uwAAAP6I2267TadPn1ZycrKaNWumgwcPat26dTpy5IjdpQEAqjB6lAAAVdaxY8f06aef6plnnlH37t3VpEkTde7cWZMnT1afPn0kScePH9e9996rRo0aKSgoSDfccIO2b98uScrKylJoaKgSExPd2/z888/l6+urNWvW2HJMAIDKgaAEAKiy6tSpozp16mjVqlXKy8srNt+yLPXp00cZGRl69913tXXrVrVv31433nijjhw5opCQEC1cuFAJCQnasmWLTpw4obvuuktjxoxRXFycDUcEAKgsHJZlWXYXAQDAxXr99dd1zz336NSpU2rfvr1iY2P15z//WW3bttWHH36oW2+9VZmZmXI6ne51Lr/8ck2aNEn33nuvJGns2LFau3atOnXqpO3btystLU1+fn52HRIAoBIgKAEAqrxff/1Vn3zyiTZu3Kj3339fmzdv1ssvv6ysrCw9+uij8vf391j+1KlTevjhh/XMM8+4X7du3Vr79+/Xli1b1LZtWzsOAwBQiRCUAADVzsiRI5WSkqIxY8bo+eef1/r164stU7duXTVs2FCStGPHDnXs2FGnT5/WypUr1bdv3wquGABQ2TDqHQCg2mnZsqVWrVql9u3bKyMjQ97e3mratGmJy+bn52vw4MEaOHCgrrjiCt1999366quv5HK5KrZoAEClQo8SAKDKOnz4sO644w6NGDFCbdu2VWBgoLZs2aL7779fffr00csvv6zrr79eOTk5euaZZ9SiRQsdOHBA7777rvr166eOHTtq4sSJ+s9//qPt27erTp066t69uwIDA/X222/bfXgAABsRlAAAVVZeXp4SEhK0Zs0aff/99zp9+rQiIiJ0xx136LHHHpO/v79ycnI0ZcoUvf766+7hwK+//nolJSXp+++/V8+ePfXRRx/p2muvlSTt27dPbdu2VVJSkkaPHm3zEQIA7EJQAgAAAAADz1ECAAAAAANBCQAAAAAMBCUAAAAAMBCUAAAAAMBAUAIAAAAAA0EJAAAAAAwEJQAAAAAwEJQAAAAAwEBQAgAAAAADQQkAAAAADAQlAAAAADD8P4uVf6x3fI8bAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIhCAYAAABwnkrAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/IUlEQVR4nO3deVhV5f7//9cWYQMKOOEGEhWLLEXLkcQKNUXJ7JiVnjSPZpY5VOZJyzwV+ikoLY9+8qNlOeA5OdQpzWbR0gY00ZNWWpplaQmCI4gGCuv3Rz/2t32DAwYshufjutZ1se81vdd2Lzcv7rXu5bAsyxIAAAAAwK2W3QUAAAAAQGVDUAIAAAAAA0EJAAAAAAwEJQAAAAAwEJQAAAAAwEBQAgAAAAADQQkAAAAADAQlAAAAADAQlAAAAADAQFACYJvFixfL4XB4TMHBwerWrZveeecdW2tbv369HA6H1q9fX+p1U1NTlZCQoGPHjpV5XStWrFDr1q3l5+cnh8Ohbdu2nXed1atXy+FwqGHDhsrLyyvzmiqTw4cPa/LkyWrVqpXq1KmjoKAgXXHFFRo6dKi++uoru8u7IMOHD1fz5s092hITE7Vq1apiyxadQ1u2bCnVPn766adi597Zpp9++uniD6YclPb8SkhIkMPh0KFDh0qcHxUVpW7dupVdgQCqDYISANstWrRIGzduVGpqqubPny8vLy/169dPb7/9tt2lXZTU1FRNnTq1zINSVlaWhg4dqksvvVQffPCBNm7cqMsvv/y86y1YsECSdOTIkRJ/2a4uTpw4oWuuuUaLFy/WyJEjtXr1ar366qu69957tXfv3gsKlZXB448/rpUrV3q0nS0oXazQ0FBt3LjRY2rXrp1atGhRrD00NLTM9lsWyuv8AgBTbbsLAICoqCh17NjR/bpPnz6qX7++li1bpn79+pXJPk6dOiU/P78y2ZZddu/erdOnT+vOO+9UbGzsBa2TkZGh9957Tz169FBqaqoWLFigQYMGlXOl9nj99de1Z88effTRR+revbvHvAkTJqiwsNCmykrn0ksvLfd9OJ1OXXPNNR5tgYGBys/PL9Z+sarDOQegZqNHCUCl4+vrKx8fH3l7e3u0T506VdHR0WrQoIECAwPVvn17LViwQJZleSzXvHlz3XTTTXrzzTfVrl07+fr6aurUqZIkh8OhcePG6aWXXtLll18up9OpVq1aafny5RdU2+rVq9WlSxf5+/srICBAvXr10saNG93zExISNHHiRElSRESE+/Kl813Cd77tDh8+XNdee60kadCgQXI4HBd0uVBycrLOnDmjhx56SAMGDNC6dev0888/F1vu2LFjuvvuu9WgQQPVrVtXffv21Y8//iiHw6GEhASPZb///nsNHjxYjRs3ltPp1JVXXqn/+7//O28t7dq103XXXVesvaCgQJdccokGDBjgbps3b56uuuoq1a1bVwEBAbriiiv02GOPnXP7hw8flqSz9oDUquX5lXe+4/jtt9/Url07XXbZZTp+/Li7PSMjQyEhIerWrZsKCgpK3Fd2drZq166tGTNmuNsOHTqkWrVqKSgoSGfOnHG3P/DAAwoODnZ/js1L7xwOh3Jzc5WcnOz+PJn/9jk5ORo9erQaNWqkhg0basCAATpw4MA53q0LUxbn3I4dOxQXFyd/f38FBwdr7Nixevfdd0s8L9auXasbbrhBgYGB8vf3V9euXbVu3Tr3/Is9v0rjbJfdFl2uuHjxYo/2LVu26Oabb1aDBg3k6+urdu3a6bXXXiuzegDYh6AEwHYFBQU6c+aMTp8+rV9++UXjx49Xbm6uBg8e7LHcTz/9pFGjRum1117Tm2++qQEDBuj+++/X//zP/xTb5n//+19NnDhRDzzwgD744APdeuut7nmrV6/W//7v/2ratGn6z3/+o2bNmumOO+7Qf/7zn3PWuXTpUv3lL39RYGCgli1bpgULFujo0aPq1q2bPvvsM0nSyJEjdf/990uS3nzzTfflS+3bt/9T23388cfdv8QnJiZq48aNmjt37nnf24ULFyo0NFTx8fEaMWKECgsLi/2iV1hYqH79+mnp0qV65JFHtHLlSkVHR6tPnz7Ftrdz50516tRJ33zzjZ5//nm988476tu3rx544AH3L8Znc9ddd+mzzz7T999/79G+Zs0aHThwQHfddZckafny5RozZoxiY2O1cuVKrVq1Sg899JByc3PPuf0uXbpIkv72t79p1apV7uBUkgs5Dl9fX7322mvKzMzUiBEj3O/VkCFDZFmWli1bJi8vrxK3HxgYqE6dOmnt2rXutnXr1snpdConJ0ebN292t69du1Y9evSQw+EocVsbN26Un5+fbrzxRvfnyfy3HzlypLy9vbV06VJNnz5d69ev1513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dXfu3Kkbb7xRdevWlcvl0tChQ3Xo0KGz1vPTTz9V1NsBAKhglXZ4cABAzTZ79mzt3r1bUVFRmjZtmiSpfv36atKkiV577TU1atRIqampuvfeexUaGqqBAwe61123bp0CAwOVkpIiy7KUk5Ojfv366cYbb9TSpUv1888/a/z48R77S09PV2xsrO655x7NnDlTp06d0iOPPKKBAwfqo48+KrGe4ODgCns/AAAVi6AEAKiUgoKC5OPjI39/f/ez9SRp6tSp7p8jIiKUmpqq1157zSMo1alTR6+88op8fHwkSS+++KIcDodefvll+fr6qlWrVvr11191zz33uNeZN2+e2rdvr8TERHfbwoULFR4ert27d+vyyy8vsR4AQPVEUAIAVCkvvviiXnnlFf388886deqU8vPzdfXVV3ss06ZNG3dIkqRdu3apbdu28vX1dbd17tzZY52tW7fq448/Vt26dYvt84cffnBfwgcAqBkISgCAKuO1117TQw89pOeff15dunRRQECAZsyYoS+++MJjuTp16ni8tiyr2MNfzVFXCwsL1a9fPz377LPF9hsaGlpGRwAAqCoISgCASsvHx0cFBQXu159++qliYmI0ZswYd9sPP/xw3u1cccUVevXVV5WXlyen0ynp92f5/VH79u31xhtvqHnz5qpdu+SvR7MeAED1xah3AIBKq3nz5vriiy/0008/6dChQ7rsssu0ZcsWffjhh9q9e7cef/xxpaWlnXc7gwcPVmFhoe699159++23+vDDD/Xcc89JkrunaezYsTpy5IjuuOMObd68WT/++KPWrFmjESNGuMORWU9hYWH5HTwAwFYEJQBApfXwww/Ly8tLrVq1UnBwsPr06aMBAwZo0KBBio6O1uHDhz16l84mMDBQb7/9trZt26arr75aU6ZM0RNPPCFJ7vuWwsLC9Pnnn6ugoEC9e/dWVFSUHnzwQQUFBalWrVol1rNv377yO3gAgK0clnmRdjWTnZ2toKAgHT9+XIGBgXaXU0yHiUvsLgE1xMqAGXaXgBqi6RNfn3P+b7/9pr179yoiIsJjcIWK9uqrr+quu+7S8ePH5efnVy77uNBj5bsAFYXvAlSU830X2KU02YB7lAAANcKSJUvUokULXXLJJdq+fbv7GUnlFZIAAFUbQQkAUCNkZGToiSeeUEZGhkJDQ3X77bfr6aeftrss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7927V9u2bVODBg3UtGlTGysDKjeGBwequblz52r69OlKT09XVFSU/vnPf+r666+3uywAQAVZv369unfvXqx92LBhWrx4ccUXBFQRBCUAAAAAMHCPEgAAAAAYCEoAAAAAYCAoAQAAAICBoAQAAAAABoISAAAAABgISgAAAABgICgBAAAAgIGgBAAAAAAGghIAAAAAGAhKAIAqLTMzU6NGjVLTpk3ldDoVEhKi3r17a+PGjXaXBgCowmrbXQAAAH/GrbfeqtOnTys5OVktWrTQwYMHtW7dOh05csTu0gAAVRg9SgCAKuvYsWP67LPP9Oyzz6p79+5q1qyZOnfurMmTJ6tv376SpOPHj+vee+9V48aNFRgYqB49emj79u2SpKysLIWEhCgxMdG9zS+++EI+Pj5as2aNLccEAKgcCEoAgCqrbt26qlu3rlatWqW8vLxi8y3LUt++fZWRkaH33ntPW7duVfv27XXDDTfoyJEjCg4O1sKFC5WQkKAtW7boxIkTuvPOOzVmzBjFxcXZcEQAgMrCYVmWZXcRAABcrDfeeEP33HOPTp06pfbt2ys2NlZ//etf1bZtW3300Ue65ZZblJmZKafT6V7nsssu06RJk3TvvfdKksaOHau1a9eqU6dO2r59u9LS0uTr62vXIQEAKgGCEgCgyvvtt9/06aefauPGjfrggw+0efNmvfLKK8rKytKjjz4qPz8/j+VPnTqlhx9+WM8++6z7dVRUlPbv368tW7aobdu2dhwGAKASISgBAKqdkSNHKiUlRWPGjNELL7yg9evXF1umXr16atSokSRpx44d6tixo06fPq2VK1eqX79+FVwxAKCyYdQ7AEC106pVK61atUrt27dXRkaGateurebNm5e4bH5+voYMGaJBgwbpiiuu0N13362vv/5aLperYosGAFQq9CgBAKqsw4cP6/bbb9eIESPUtm1bBQQEaMuWLbr//vvVt29fvfLKK7r++uuVk5OjZ599Vi1bttSBAwf03nvvqX///urYsaMmTpyo//znP9q+fbvq1q2r7t27KyAgQO+8847dhwcAsBFBCQBQZeXl5SkhIUFr1qzRDz/8oNOnTys8PFy33367HnvsMfn5+SknJ0dTpkzRG2+84R4O/Prrr1dSUpJ++OEH9erVSx9//LGuvfZaSdK+ffvUtm1bJSUlafTo0TYfIQDALgQlAAAAADDwHCUAAAAAMBCUAAAAAMBAUAIAAAAAA0EJAAAAAAwEJQAAAAAwEJQAAAAAwEBQAgAAAAADQQkAAAAADAQlAAAAADAQlAAAAADAQFACAAAAAMP/B3rphrptPbJ4AAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -73,30 +64,27 @@ } ], "source": [ - "# Creating a barplot of age vs sex with hue set to target\n", "plt.figure(figsize=(10, 6))\n", "sns.barplot(data=df, x='sex', y='age', hue='target')\n", "\n", - "# Adding labels and title\n", "plt.title('Barplot of Age vs Sex with Target Hue')\n", "plt.xlabel('Sex')\n", "plt.ylabel('Age')\n", "\n", - "# Show the plot\n", - "plt.show()\n" + "plt.show()" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Accuracy for training set for Naive Bayes = 0.76\n", - "Accuracy for test set for Naive Bayes = 0.69\n" + "Accuracy for training set for KNN = 0.76\n", + "Accuracy for test set for KNN = 0.69\n" ] } ], @@ -135,15 +123,15 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Accuracy for training set for Naive Bayes = 0.66\n", - "Accuracy for test set for Naive Bayes = 0.67\n" + "Accuracy for training set for SVM = 0.66\n", + "Accuracy for test set for SVM = 0.67\n" ] } ], @@ -170,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -204,15 +192,15 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Accuracy for training set for Naive Bayes = 1.0\n", - "Accuracy for test set for Naive Bayes = 0.75\n" + "Accuracy for training set for DecisionTreeClassifier = 1.0\n", + "Accuracy for test set for DecisionTreeClassifier = 0.75\n" ] } ], @@ -242,15 +230,15 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Accuracy for training set for Naive Bayes = 0.98\n", - "Accuracy for test set for Naive Bayes = 0.8\n" + "Accuracy for training set for RandomForestClassifier = 0.98\n", + "Accuracy for test set for RandomForestClassifier = 0.8\n" ] } ], @@ -282,23 +270,23 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 34, "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "/Users/microwave/opt/anaconda3/lib/python3.9/site-packages/sklearn/ensemble/_weight_boosting.py:527: FutureWarning: The SAMME.R algorithm (the default) is deprecated and will be removed in 1.6. Use the SAMME algorithm to circumvent this warning.\n", - " warnings.warn(\n" + "Accuracy for training set for AdaBoost = 0.91\n", + "Accuracy for test set for AdaBoost = 0.84\n" ] }, { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "Accuracy for training set for Naive Bayes = 0.91\n", - "Accuracy for test set for Naive Bayes = 0.84\n" + "/Users/microwave/opt/anaconda3/lib/python3.9/site-packages/sklearn/ensemble/_weight_boosting.py:527: FutureWarning: The SAMME.R algorithm (the default) is deprecated and will be removed in 1.6. Use the SAMME algorithm to circumvent this warning.\n", + " warnings.warn(\n" ] } ], @@ -328,15 +316,15 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Accuracy for training set for Naive Bayes = 1.0\n", - "Accuracy for test set for Naive Bayes = 0.85\n" + "Accuracy for training set for GradientBoosting = 1.0\n", + "Accuracy for test set for GradientBoosting = 0.85\n" ] } ], @@ -369,7 +357,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -408,7 +396,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 37, "metadata": {}, "outputs": [ {