426 lines (425 with data), 114.7 kB
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "ce15a0f7",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/mnt/d/Forschung/Breast-Cancer-Treatment-Prediction/venv/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
" from .autonotebook import tqdm as notebook_tqdm\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Path to dataset files: /home/kesslermatics/.cache/kagglehub/datasets/raghadalharbi/breast-cancer-gene-expression-profiles-metabric/versions/1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_36770/2461765115.py:9: DtypeWarning: Columns (678,688,690,692) have mixed types. Specify dtype option on import or set low_memory=False.\n",
" df = pd.read_csv(os.path.join(path, \"METABRIC_RNA_Mutation.csv\"))\n"
]
}
],
"source": [
"import kagglehub\n",
"import os\n",
"import pandas as pd\n",
"\n",
"# Download latest version\n",
"path = kagglehub.dataset_download(\"raghadalharbi/breast-cancer-gene-expression-profiles-metabric\")\n",
"\n",
"print(\"Path to dataset files:\", path)\n",
"df = pd.read_csv(os.path.join(path, \"METABRIC_RNA_Mutation.csv\"))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e7c0dbd1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/200 | Train Loss: 1.0866 | Val Loss: 1.0550\n",
"Epoch 2/200 | Train Loss: 1.0568 | Val Loss: 1.0232\n",
"Epoch 3/200 | Train Loss: 1.0178 | Val Loss: 0.9918\n",
"Epoch 4/200 | Train Loss: 0.9928 | Val Loss: 0.9602\n",
"Epoch 5/200 | Train Loss: 0.9668 | Val Loss: 0.9285\n",
"Epoch 6/200 | Train Loss: 0.9428 | Val Loss: 0.8982\n",
"Epoch 7/200 | Train Loss: 0.8936 | Val Loss: 0.8683\n",
"Epoch 8/200 | Train Loss: 0.8956 | Val Loss: 0.8425\n",
"Epoch 9/200 | Train Loss: 0.9188 | Val Loss: 0.8210\n",
"Epoch 10/200 | Train Loss: 0.8512 | Val Loss: 0.7984\n",
"Epoch 11/200 | Train Loss: 0.8152 | Val Loss: 0.7735\n",
"Epoch 12/200 | Train Loss: 0.8156 | Val Loss: 0.7508\n",
"Epoch 13/200 | Train Loss: 0.7906 | Val Loss: 0.7309\n",
"Epoch 14/200 | Train Loss: 0.8208 | Val Loss: 0.7129\n",
"Epoch 15/200 | Train Loss: 0.7734 | Val Loss: 0.6972\n",
"Epoch 16/200 | Train Loss: 0.7618 | Val Loss: 0.6817\n",
"Epoch 17/200 | Train Loss: 0.7658 | Val Loss: 0.6667\n",
"Epoch 18/200 | Train Loss: 0.7595 | Val Loss: 0.6538\n",
"Epoch 19/200 | Train Loss: 0.7055 | Val Loss: 0.6413\n",
"Epoch 20/200 | Train Loss: 0.7565 | Val Loss: 0.6334\n",
"Epoch 21/200 | Train Loss: 0.7262 | Val Loss: 0.6317\n",
"Epoch 22/200 | Train Loss: 0.7131 | Val Loss: 0.6261\n",
"Epoch 23/200 | Train Loss: 0.7487 | Val Loss: 0.6194\n",
"Epoch 24/200 | Train Loss: 0.6933 | Val Loss: 0.6118\n",
"Epoch 25/200 | Train Loss: 0.6825 | Val Loss: 0.6071\n",
"Epoch 26/200 | Train Loss: 0.7030 | Val Loss: 0.6018\n",
"Epoch 27/200 | Train Loss: 0.6826 | Val Loss: 0.5969\n",
"Epoch 28/200 | Train Loss: 0.7040 | Val Loss: 0.5909\n",
"Epoch 29/200 | Train Loss: 0.6486 | Val Loss: 0.5870\n",
"Epoch 30/200 | Train Loss: 0.6953 | Val Loss: 0.5860\n",
"Epoch 31/200 | Train Loss: 0.6864 | Val Loss: 0.5832\n",
"Epoch 32/200 | Train Loss: 0.6821 | Val Loss: 0.5786\n",
"Epoch 33/200 | Train Loss: 0.6784 | Val Loss: 0.5759\n",
"Epoch 34/200 | Train Loss: 0.6754 | Val Loss: 0.5724\n",
"Epoch 35/200 | Train Loss: 0.6701 | Val Loss: 0.5701\n",
"Epoch 36/200 | Train Loss: 0.6670 | Val Loss: 0.5692\n",
"Epoch 37/200 | Train Loss: 0.6568 | Val Loss: 0.5690\n",
"Epoch 38/200 | Train Loss: 0.6793 | Val Loss: 0.5639\n",
"Epoch 39/200 | Train Loss: 0.6586 | Val Loss: 0.5603\n",
"Epoch 40/200 | Train Loss: 0.6509 | Val Loss: 0.5568\n",
"Epoch 41/200 | Train Loss: 0.6662 | Val Loss: 0.5579\n",
"Epoch 42/200 | Train Loss: 0.6296 | Val Loss: 0.5559\n",
"Epoch 43/200 | Train Loss: 0.6510 | Val Loss: 0.5538\n",
"Epoch 44/200 | Train Loss: 0.6253 | Val Loss: 0.5509\n",
"Epoch 45/200 | Train Loss: 0.6253 | Val Loss: 0.5457\n",
"Epoch 46/200 | Train Loss: 0.6518 | Val Loss: 0.5415\n",
"Epoch 47/200 | Train Loss: 0.6241 | Val Loss: 0.5382\n",
"Epoch 48/200 | Train Loss: 0.6348 | Val Loss: 0.5372\n",
"Epoch 49/200 | Train Loss: 0.6491 | Val Loss: 0.5362\n",
"Epoch 50/200 | Train Loss: 0.6422 | Val Loss: 0.5361\n",
"Epoch 51/200 | Train Loss: 0.6556 | Val Loss: 0.5343\n",
"Epoch 52/200 | Train Loss: 0.6192 | Val Loss: 0.5333\n",
"Epoch 53/200 | Train Loss: 0.6034 | Val Loss: 0.5319\n",
"Epoch 54/200 | Train Loss: 0.6376 | Val Loss: 0.5315\n",
"Epoch 55/200 | Train Loss: 0.6168 | Val Loss: 0.5325\n",
"Epoch 56/200 | Train Loss: 0.6435 | Val Loss: 0.5310\n",
"Epoch 57/200 | Train Loss: 0.6173 | Val Loss: 0.5337\n",
"Epoch 58/200 | Train Loss: 0.6414 | Val Loss: 0.5314\n",
"Epoch 59/200 | Train Loss: 0.6104 | Val Loss: 0.5299\n",
"Epoch 60/200 | Train Loss: 0.6221 | Val Loss: 0.5287\n",
"Epoch 61/200 | Train Loss: 0.6148 | Val Loss: 0.5280\n",
"Epoch 62/200 | Train Loss: 0.5938 | Val Loss: 0.5272\n",
"Epoch 63/200 | Train Loss: 0.6222 | Val Loss: 0.5263\n",
"Epoch 64/200 | Train Loss: 0.6303 | Val Loss: 0.5251\n",
"Epoch 65/200 | Train Loss: 0.6385 | Val Loss: 0.5236\n",
"Epoch 66/200 | Train Loss: 0.6319 | Val Loss: 0.5211\n",
"Epoch 67/200 | Train Loss: 0.6168 | Val Loss: 0.5247\n",
"Epoch 68/200 | Train Loss: 0.5941 | Val Loss: 0.5264\n",
"Epoch 69/200 | Train Loss: 0.6309 | Val Loss: 0.5243\n",
"Epoch 70/200 | Train Loss: 0.5988 | Val Loss: 0.5230\n",
"Epoch 71/200 | Train Loss: 0.6092 | Val Loss: 0.5243\n",
"Epoch 72/200 | Train Loss: 0.6181 | Val Loss: 0.5249\n",
"Epoch 73/200 | Train Loss: 0.5963 | Val Loss: 0.5241\n",
"Epoch 74/200 | Train Loss: 0.5816 | Val Loss: 0.5222\n",
"Epoch 75/200 | Train Loss: 0.5849 | Val Loss: 0.5203\n",
"Epoch 76/200 | Train Loss: 0.6422 | Val Loss: 0.5195\n",
"Epoch 77/200 | Train Loss: 0.6064 | Val Loss: 0.5214\n",
"Epoch 78/200 | Train Loss: 0.6077 | Val Loss: 0.5208\n",
"Epoch 79/200 | Train Loss: 0.6258 | Val Loss: 0.5235\n",
"Epoch 80/200 | Train Loss: 0.5848 | Val Loss: 0.5209\n",
"Epoch 81/200 | Train Loss: 0.5913 | Val Loss: 0.5172\n",
"Epoch 82/200 | Train Loss: 0.6031 | Val Loss: 0.5146\n",
"Epoch 83/200 | Train Loss: 0.6238 | Val Loss: 0.5157\n",
"Epoch 84/200 | Train Loss: 0.6080 | Val Loss: 0.5145\n",
"Epoch 85/200 | Train Loss: 0.5847 | Val Loss: 0.5191\n",
"Epoch 86/200 | Train Loss: 0.5773 | Val Loss: 0.5186\n",
"Epoch 87/200 | Train Loss: 0.5548 | Val Loss: 0.5166\n",
"Epoch 88/200 | Train Loss: 0.6131 | Val Loss: 0.5138\n",
"Epoch 89/200 | Train Loss: 0.5635 | Val Loss: 0.5121\n",
"Epoch 90/200 | Train Loss: 0.5874 | Val Loss: 0.5128\n",
"Epoch 91/200 | Train Loss: 0.5749 | Val Loss: 0.5126\n",
"Epoch 92/200 | Train Loss: 0.5845 | Val Loss: 0.5178\n",
"Epoch 93/200 | Train Loss: 0.5746 | Val Loss: 0.5192\n",
"Epoch 94/200 | Train Loss: 0.5614 | Val Loss: 0.5187\n",
"Epoch 95/200 | Train Loss: 0.5441 | Val Loss: 0.5143\n",
"Epoch 96/200 | Train Loss: 0.5664 | Val Loss: 0.5119\n",
"Epoch 97/200 | Train Loss: 0.5701 | Val Loss: 0.5133\n",
"Epoch 98/200 | Train Loss: 0.5737 | Val Loss: 0.5135\n",
"Epoch 99/200 | Train Loss: 0.5908 | Val Loss: 0.5138\n",
"Epoch 100/200 | Train Loss: 0.5946 | Val Loss: 0.5140\n",
"Epoch 101/200 | Train Loss: 0.5674 | Val Loss: 0.5156\n",
"Epoch 102/200 | Train Loss: 0.5750 | Val Loss: 0.5164\n",
"Epoch 103/200 | Train Loss: 0.5497 | Val Loss: 0.5196\n",
"Epoch 104/200 | Train Loss: 0.5453 | Val Loss: 0.5187\n",
"Epoch 105/200 | Train Loss: 0.5659 | Val Loss: 0.5146\n",
"Epoch 106/200 | Train Loss: 0.5787 | Val Loss: 0.5145\n",
"Early stopping at epoch 106\n"
]
},
{
"data": {
"image/png": "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C4YOHcrdd9/N2bNnmTJlCj179mTNmjU0a9bM4bxffvklqamp3HPPPXh5eVGuXDn7vsGDB1OjRg1eeeUVNmzYwBdffEHFihV57bXXrhjvQw89REhICJMmTeLQoUO8++67jBkzhhkzZtjbTJgwgddff51+/frRs2dPNm/eTM+ePR0+ZObm119/BeCOO+7Iw7PnvP8+L5UqVaJz587MnDmTSZMmObSdMWMGZrOZW265BYBz587RuXNnjh8/zr333ku1atVYsWIFEyZMIDo6mnffffey116xYgWNGjW66m9iX331Vdzc3HjsscdITEzk9ddfZ9iwYaxevdre5p9//qF37960bNmSSZMm4ebmxpdffsn111/P0qVLs33TfMstt1C7dm1efvll+4e0BQsWcODAAUaOHEl4eDjbt2/ns88+Y/v27axatQqTyeRwjsGDBxMZGckrr7zCqlWreP/99zlz5oz9g/sdd9zB3XffzbZt2xzGoq9du5Y9e/bYk4CuXbsCXPGD76+//oqPjw8333xznp+7ffv2cfPNNzN69GjuvPNOpk6dyogRI2jZsiUNGzYEnH+dv/vuO9LT03nooYeIj4/n9ddfZ/DgwVx//fUsXryY//3vf+zbt48PPviAxx57zOFLg2effZbnnnuObt26cf/997N7924+/vhj1q5dy/Lly3N9r9xwww34+/szc+ZMOnfu7LBvxowZNGzY0P4cDxo0iO3bt/PQQw8RGRlJbGwsCxYs4MiRI/kqjra9LiEhIfZtBw4cYM6cOdxyyy3UqFGDmJgYPv30Uzp37syOHTuoXLkyAOfPn6dr164cOXKEsWPHUrlyZb755hv++eefK17XMAxuvPFGFi1axOjRo2nWrBnz58/n8ccf5/jx47zzzju5HjtkyBA+/PBD5s6da/97Butr/dtvvzFixAjMZjOxsbH06NGD0NBQnnzySYKDgzl06BA//fRTnp6brKwsTp8+nW37mTNnsm2LiYmhQ4cOnDt3jrFjx1K+fHm++uorbrzxRn788UcGDBjg0P6FF17A09OTxx57jLS0NHtPa1ZWFr179+baa6/l9ddf57vvvmPMmDH4+fkxceJEhg0bxsCBA/nkk08YPnw47du3p0aNGvmKIS//9gA0aNAAHx8fli9fnu0cIk4xRMTuyy+/NABj7dq1ubYZPXq0UalSJeP06dMO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oQI33XQTX375ZY41IDnx8/OjW7du2W4dO3bM8fHk9Lhzezy5/Zvu7e2d7cuSoKAgqlatmu15DgoKcnivOxuDM/93GIaR7foizlKNhYgTbN8a33777dx55505tmnSpAkA3377LSNGjKB///48/vjjVKxYEbPZzCuvvJJjoWtu32yBtfcjJ3n50Hs1x+aFrQh369atDt8s58ZkMuV4bVsh5n/l9rzceuutjBw5kk2bNtGsWTNmzpxJ165d7bPhgPX16t69O0888USO57B9mMtN+fLl8/2t8aWu9BrY3ldvvPFGttobm//O1JLT8zJ48GBWrFjB448/TrNmzfD398disdCrV688Favn9KGiZ8+ehIWF8e2333Lttdfy7bffEh4ebv/Q7ox69eqxadMm0tPT8zyzV17ev86+zrmds7D/Vry8vOjfvz8///wzH330ETExMSxfvpyXX37Zod24cePo168fc+bMYf78+Tz99NO88sor/PPPPzRv3vyK17n22mvtfwf9+vWjcePGDBs2jPXr19t7KV5++WWefvppRo0axQsvvEC5cuVwc3Nj3LhxxWbK2Hbt2hEZGcnMmTO57bbb+O233zh//rxDr6RtAcpVq1bx22+/MX/+fEaNGsVbb73FqlWrXDrDUW7/dhXl+8+Zc545cybblw0izlJiIeKE0NBQAgICyMrKuuIHqx9//JGoqCh++uknhw9s/y04drXq1asD1iLZS79hi4uLy9OH6n79+vHKK6/w7bff5imxCAkJybEb/krfXv5X//79uffee+3f/u7Zs4cJEyY4tKlZsybJycn5+hAM1g/CBw8ezNexzqhZsyZg/UY/v7GeOXOGhQsX8txzz/HMM8/Yt9t6Q3Kyd+9eh9d83759WCwWhwJhs9nMbbfdxrRp03jttdeYM2cOd999d64fWC6nX79+rFy5ktmzZzN06FCnj8/N1b7OeWX7W9m9ezdRUVH27enp6Rw8eDBP1x8yZAhfffUVCxcuZOfOnRiG4fBB2aZmzZo8+uijPProo+zdu5dmzZrx1ltv5ThE53L8/f2ZNGkSI0eOZObMmdx6662A9d+n6667jilTpji0T0hIcEjOq1evzrZt27J9m7179+4rXrt69er8/fffnD171qHXYteuXfb9VzJ48GDee+89kpKSmDFjBpGRkfbhfZdq164d7dq146WXXuL7779n2LBhTJ8+3WHI0dWqXr16jo/bmcdTXGPIzMzk6NGj3HjjjVcVn4iGQok4wWw2M2jQIGbPnm2fGvJSl07javvgdek3Q6tXr2blypWFH6gTunbtiru7Ox9//LHD9kunbL2c9u3b06tXL7744gvmzJmTbX96ejqPPfaY/feaNWuya9cuh+dq8+bN2aZVvZLg4GB69uzJzJkzmT59Op6envTv39+hzeDBg1m5ciXz58/PdnxCQgKZmZlXfGzbtm3L87CK/GrZsiU1a9bkzTffdBhPbvPf6YFzktP7DbjszFe2KS5tPvjgAwB69+7tsP2OO+7gzJkz3HvvvfaF7S6V1+lm77vvPipVqsSjjz6a42rssbGxvPjii1c8z39d7eucV926dcPT05P333/f4XmeMmUKiYmJ3HDDDXk6R7ly5ZgxYwYzZsygTZs2DsnduXPnss3GVrNmTQICAvL9Phw2bBhVq1Z1mEXObDZne6/MmjXLXk9i06dPH06cOMGPP/7oEONnn312xev26dOHrKysbP+WvPPOO5hMpmzvs5wMGTKEtLQ0vvrqK+bNm+dQgwDWhPq/j8PW61fQf7d9+vRhzZo1Dv+Gp6Sk8NlnnxEZGUmDBg0K9HpFGcOOHTtITU2lQ4cOBRWqlFHqsRDJwdSpU5k3b1627Q8//DCvvvoqixYtom3bttx99900aNCA+Ph4NmzYwN9//22f975v37789NNPDBgwgBtuuIGDBw/yySef0KBBgxw/PLpKWFgYDz/8MG+99RY33ngjvXr1YvPmzfz5559UqFAhT2Nuv/76a3r06MHAgQPp168fXbt2xc/Pj7179zJ9+nSio6Pta1mMGjWKt99+m549ezJ69GhiY2P55JNPaNiwYZ6K0S81ZMgQbr/9dj766CN69uxpL+S0efzxx/n111/p27evfYrSlJQUtm7dyo8//sihQ4ccvp39r5tuuokXXniBf//9lx49ejgVmzPc3Nz44osv6N27Nw0bNmTkyJFUqVKF48ePs2jRIgIDA/ntt98ue47AwED7ePyMjAyqVKnCX3/9ddkel4MHD9pf85UrV/Ltt99y2223ZVu7onnz5jRq1IhZs2ZRv359WrRo4bA/r9PNhoSE8PPPP9OnTx+aNWvmsPL2hg0b+OGHH2jfvv1lz5GTq32d8yo0NJQJEybw3HPP0atXL2688UZ2797NRx99ROvWrXNcJPG/PDw8GDhwINOnTyclJcVhjRew9rx17dqVwYMH06BBA9zd3fn555+JiYmx9zY4y8PDg4cffpjHH3+cefPm0atXL/r27cvzzz/PyJEj6dChA1u3buW7775z6IkBa2H65MmTGT58OOvXr6dSpUp88803DoXguenXrx/XXXcdEydO5NChQzRt2pS//vqLX375hXHjxtl76i6nRYsW1KpVi4kTJ5KWlpatd+err77io48+YsCAAdSsWZOzZ8/y+eefExgYSJ8+fZx7oq7gySef5IcffqB3796MHTuWcuXK8dVXX3Hw4EFmz55dJIvfFVYMCxYswNfXl+7duxdwxFLmFOkcVCLFnG2K1txuR48eNQzDMGJiYowHH3zQiIiIMDw8PIzw8HCja9euxmeffWY/l8ViMV5++WWjevXqhpeXl9G8eXPj999/z3Va1Zyml7RNH3nq1Kkc4zx48KB9W27Tzf53GkbbNISXThOZmZlpPP3000Z4eLjh4+NjXH/99cbOnTuN8uXLG/fdd1+enrtz584Zb775ptG6dWvD39/f8PT0NGrXrm089NBD2aaV/Pbbb42oqCjD09PTaNasmTF//nynnhebpKQkw8fHxwCMb7/9Nsc2Z8+eNSZMmGDUqlXL8PT0NCpUqGB06NDBePPNN4309PQrPq4mTZoYo0ePznV/XqabnTVrlsN222P78ssvHbZv3LjRGDhwoFG+fHnDy8vLqF69ujF48GBj4cKF9ja5vScMwzCOHTtmDBgwwAgODjaCgoKMW265xThx4kS2KStt59ixY4dx8803GwEBAUZISIgxZswY4/z58zk+ltdffz3bNJk2eZ1u1ubEiRPG+PHjjTp16hje3t6Gr6+v0bJlS+Oll14yEhMTHc57ww03ZDs+pymL8/I65/aeyu11yu1vaPLkyUa9evUMDw8PIywszLj//vvzPN2yYRjGggULDMAwmUz2f1NsTp8+bTz44INGvXr1DD8/PyMoKMho27atw3SvubnceyMxMdEICgqyP2+pqanGo48+alSqVMnw8fExOnbsaKxcuTLH5/bw4cPGjTfeaPj6+hoVKlQwHn74YWPevHlXnG7WMKyvy/jx443KlSsbHh4eRu3atY033njDYVrlK5k4caIBGLVq1cq2b8OGDcbQoUONatWqGV5eXkbFihWNvn37GuvWrbvieTt37mw0bNgwx325vVf2799v3HzzzUZwcLDh7e1ttGnTxvj9998d2uT2fjIM63Pk5+eX51hy+hu4mhhy+7enbdu2xu233579iRBxkskwCqgqTURKlYSEBEJCQnjxxReZOHGiq8NxmW+++YYHH3yQI0eOZOsRKalsi7ydOnUqz9/kv/fee4wfP55Dhw7lOFOTiJRMmzZtokWLFmzYsCHXySNE8ko1FiLC+fPns22zjc3v0qVL0QZTzAwbNoxq1aplq0coSwzDYMqUKXTu3FlJhUgp8+qrr3LzzTcrqZACoRoLEWHGjBlMmzaNPn364O/vz7Jly/jhhx/o0aNHjvO5lyVubm45FuqXBSkpKfz6668sWrSIrVu38ssvv7g6JBEpYNOnT3d1CFKKKLEQEZo0aYK7uzuvv/46SUlJ9oLu/MzQI6XHqVOnuO222wgODub//u//NBWliIhclmosRERERETkqqnGQkRERERErpoSCxERERERuWplrsbCYrFw4sQJAgIC8rTwl4iIiIhIWWUYBmfPnqVy5cpXXISxzCUWJ06cICIiwtVhiIiIiIiUGEePHqVq1aqXbVPmEouAgADA+uQEBga6OBoRERERkeIrKSmJiIgI+2foyylziYVt+FNgYKASCxERERGRPMhLCYGKt0VERERE5KopsRARERERkaumxEJERERERK6aS2sslixZwhtvvMH69euJjo7m559/pn///rm2j46O5tFHH2XdunXs27ePsWPH8u677xZZvCIiIiKuYrFYSE9Pd3UYUsp4eHhgNpsL5FwuTSxSUlJo2rQpo0aNYuDAgVdsn5aWRmhoKE899RTvvPNOEUQoIiIi4nrp6ekcPHgQi8Xi6lCkFAoODiY8PPyq13hzaWLRu3dvevfunef2kZGRvPfeewBMnTq1sMISERERKTYMwyA6Ohqz2UxERMQVFykTySvDMDh37hyxsbEAVKpU6arOV+qnm01LSyMtLc3+e1JSkgujEREREXFOZmYm586do3Llyvj6+ro6HCllfHx8AIiNjaVixYpXNSyq1Ke8r7zyCkFBQfabVt0WERGRkiQrKwsAT09PF0cipZUtYc3IyLiq85T6xGLChAkkJibab0ePHnV1SCIiIiJOu9rx7yK5Kaj3VqkfCuXl5YWXl5erwxARERERKdVKfY+FiIiIiJQOkZGRWmqgGHNpYpGcnMymTZvYtGkTAAcPHmTTpk0cOXIEsA5jGj58uMMxtvbJycmcOnWKTZs2sWPHjqIOXURERERyYTKZLnt79tln83XetWvXcs8991xVbF26dGHcuHFXdQ7JmUuHQq1bt47rrrvO/vsjjzwCwJ133sm0adOIjo62Jxk2zZs3t99fv34933//PdWrV+fQoUNFErOIiIiIXF50dLT9/owZM3jmmWfYvXu3fZu/v7/9vmEYZGVl4e5+5Y+loaGhBRuoFCiX9lh06dIFwzCy3aZNmwbAtGnTWLx4scMxObVXUiEiIiJSfISHh9tvQUFBmEwm+++7du0iICCAP//8k5YtW+Ll5cWyZcvYv38/N910E2FhYfj7+9O6dWv+/vtvh/P+dyiUyWTiiy++YMCAAfj6+lK7dm1+/fXXq4p99uzZNGzYEC8vLyIjI3nrrbcc9n/00UfUrl0bb29vwsLCuPnmm+37fvzxRxo3boyPjw/ly5enW7dupKSkXFU8JUmpL94ubgzDYNvxJDYdS+COdtVdHY6IiIiUMIZhcD4jyyXX9vEwF9gMQk8++SRvvvkmUVFRhISEcPToUfr06cNLL72El5cXX3/9Nf369WP37t1Uq1Yt1/M899xzvP7667zxxht88MEHDBs2jMOHD1OuXDmnY1q/fj2DBw/m2WefZciQIaxYsYIHHniA8uXLM2LECNatW8fYsWP55ptv6NChA/Hx8SxduhSw9tIMHTqU119/nQEDBnD27FmWLl2KYRj5fo5KGiUWRSz2bBr9Ji/DZIIeDcIIC/R2dUgiIiJSgpzPyKLBM/Ndcu0dz/fE17NgPj4+//zzdO/e3f57uXLlaNq0qf33F154gZ9//plff/2VMWPG5HqeESNGMHToUABefvll3n//fdasWUOvXr2cjuntt9+ma9euPP300wDUqVOHHTt28MYbbzBixAiOHDmCn58fffv2JSAggOrVq9uH6UdHR5OZmcnAgQOpXt365XHjxo2djqEk06xQRSws0Jvm1YIxDJi//aSrwxERERFxiVatWjn8npyczGOPPUb9+vUJDg7G39+fnTt3Zqu3/a8mTZrY7/v5+REYGEhsbGy+Ytq5cycdO3Z02NaxY0f27t1LVlYW3bt3p3r16kRFRXHHHXfw3Xffce7cOQCaNm1K165dady4Mbfccguff/45Z86cyVccJZV6LFygT6NKbDySwJ9bTzK8faSrwxEREZESxMfDzI7ne7rs2gXFz8/P4ffHHnuMBQsW8Oabb1KrVi18fHy4+eabSU9Pv+x5PDw8HH43mUxYLJYCi/NSAQEBbNiwgcWLF/PXX3/xzDPP8Oyzz7J27VqCg4NZsGABK1as4K+//uKDDz5g4sSJrF69mho1ahRKPMWNeixcoFejcABWH4wjLjnNxdGIiIhISWIymfD1dHfJrTBX/16+fDkjRoxgwIABNG7cmPDw8CKfoKd+/fosX748W1x16tTBbLYmVe7u7nTr1o3XX3+dLVu2cOjQIf755x/A+tp07NiR5557jo0bN+Lp6cnPP/9cpI/BldRj4QIR5XxpXCWIrccT+WtHDEPb5F6QJCIiIlIW1K5dm59++ol+/fphMpl4+umnC63nwbYW2qUqVarEo48+SuvWrXnhhRcYMmQIK1euZPLkyXz00UcA/P777xw4cIBrr72WkJAQ/vjjDywWC3Xr1mX16tUsXLiQHj16ULFiRVavXs2pU6eoX79+oTyG4kg9Fi5i67X4c5vqLERERETefvttQkJC6NChA/369aNnz560aNGiUK71/fff07x5c4fb559/TosWLZg5cybTp0+nUaNGPPPMMzz//POMGDECgODgYH766Seuv/566tevzyeffMIPP/xAw4YNCQwMZMmSJfTp04c6derw1FNP8dZbb9G7d+9CeQzFkckoS3NgAUlJSQQFBZGYmEhgYKDL4jhwKpnr3/oXdzcT65/qTpCvx5UPEhERkTInNTWVgwcPUqNGDby9NZukFLzLvcec+eysHgsXiQr1p154AJkWgwU7Y1wdjoiIiIjIVVFi4UL24VBbo6/QUkRERESkeFNi4UJ9GlcCYOne05xNzXBxNCIiIiIi+afEwoVqV/QnKtSP9CwL/+zK30IuIiIiIiLFgRILFzKZTPS2D4fS7FAiIiIiUnIpsXCx3o2sw6EW74nlXHqmi6MREREREckfJRYu1rByIBHlfEjNsLB49ylXhyMiIiIiki9KLFzMZDLR50KvhRbLExEREZGSSolFMWCbdvafnTGkZmS5OBoREREREecpsSgGmlYNplKQNynpWSzde9rV4YiIiIgUC126dGHcuHH23yMjI3n33Xcve4zJZGLOnDlXfe2COk9ZosSiGHBzM11cLG+bFssT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ZGVlERkZicFgwGKx8OqrrzJu3DgAud6Xuepc34SEBAIDA8u9bjQa8ff3b7b/BiSwEKIeTJ06lX379rFu3TpnD0XUk7i4OKZNm8by5ctxdXV19nBEA7BarURHR/Paa68B0KdPH/bt28fs2bOZMGGCk0cn6tq3337L/Pnz+eqrr+jWrRu7du3iscceo1WrVnK9haiELIVqQAEBARgMhguqwiQmJhIcHOykUYm69vDDD7NkyRJWrVpF69atHfuDg4MpKioiIyOj3PFy/Zum7du3k5SURN++fTEajRiNRtasWcO7776L0WgkKChIrvdlJiQkhK5du5bb16VLF06fPg3guK7y3/jLwz//+U+eeuop7rjjDnr06ME999zD448/zuuvvw7I9b7cVef6BgcHX1B8p6SkhLS0tGb7b0ACiwZkMpmIiopixYoVjn1Wq5UVK1YQExPjxJGJuqBpGg8//DALFy5k5cqVRERElHs9KioKFxeXctf/8OHDnD59Wq5/EzRixAj27t3Lrl27HFt0dDTjxo1zPJfrfXkZPHjwBSWkjxw5Qps2bQCIiIggODi43DXPyspi8+bNcs2boLy8PPT68rdJBoMBq9UKyPW+3FXn+sbExJCRkcH27dsdx6xcuRKr1cqAAQMafMyNgrOzx5ubBQsWaGazWfvss8+0AwcOaJMnT9Z8fX21hIQEZw9N1NKDDz6o+fj4aKtXr9bOnTvn2PLy8hzHTJkyRQsPD9dWrlypbdu2TYuJidFiYmKcOGpRl8pWhdI0ud6Xmy1btmhGo1F79dVXtaNHj2rz58/X3N3dtXnz5jmOeeONNzRfX1/tp59+0vbs2aPdeOONWkREhJafn+/EkYtLMWHCBC00NFRbsmSJduLECe3HH3/UAgICtCeeeMJxjFzvpi07O1vbuXOntnPnTg3Q3nnnHW3nzp3aqVOnNE2r3vUdPXq01qdPH23z5s3aunXrtI4dO2p33nmns07J6SSwcIL33ntPCw8P10wmk9a/f39t06ZNzh6SqANAhdunn37qOCY/P1976KGHND8/P83d3V27+eabtXPnzjlv0KJOnR9YyPW+/Pz8889a9+7dNbPZrEVGRmofffRRudetVqv23HPPaUFBQZrZbNZGjBihHT582EmjFbWRlZWlTZs2TQsPD9dcXV21du3aac8++6xWWFjoOEaud9O2atWqCv+/PWHCBE3Tqnd9U1NTtTvvvFPz9PTUvL29tUmTJmnZ2dlOOJvGQadpZVpICiGEEEIIIcQlkBwLIYQQQgghRK1JYCGEEEIIIYSoNQkshBBCCCGEELUmgYUQQgghhBCi1iSwEEIIIYQQQtSaBBZCCCGEEEKIWpPAQgghhBBCCFFrElgIIYQQQgghak0CCyGEEE2aTqdj0aJFzh6GEEI0exJYCCGEuGQTJ05Ep9NdsI0ePdrZQxNCCNHAjM4egBBCiKZt9OjRfPrpp+X2mc1mJ41GCCGEs8iMhRBCiFoxm80EBweX2/z8/AC1TGnWrFlce+21uLm50a5dO77//vty79+7dy/Dhw/Hzc2NFi1aMHnyZHJycsodM3fuXLp164bZbCYkJISHH3643OspKSncfPPNuLu707FjRxYvXly/Jy2EEOICElgIIYSoV8899xy33HILu3fvZty4cdxxxx0cPHgQgNzcXEaNGoWfnx9bt27lu+++448//igXOMyaNYupU6cyefJk9u7dy+LFi+nQoUO5z3jxxRe5/fbb2bNnD3/5y18YN24caWlpDXqeQgjR3Ok0TdOcPQghhBBN08SJE5k3bx6urq7l9j/zzDM888wz6HQ6pkyZwqxZsxyvDRw4kL59+/LBBx8wZ84cnnzySeLi4vDw8ADg119/5YYbbuDs2bMEBQURGhrKpEmTeOWVVyocg06n41//+hcvv/wyoIIVT09Pli5dKrkeQgjRgCTHQgghRK1cddVV5QIHAH9/f8fzmJiYcq/FxMSwa9cuAA4ePEivXr0cQQXA4MGDsVqtHD58GJ1Ox9mzZxkxYkSVY+jZs6fjuYeHB97e3iQlJV3qKQkhhLgEElgIIYSoFQ8PjwuWJtUVNze3ah3n4uJS7medTofVaq2PIQkhhKiE5FgIIYSoV5s2bbrg5y5dugDQpUsXdu/eTW5uruP19evXo9fr6dy5M15eXrRt25YVK1Y06JiFEELUnMxYCCGEqJXCwkISEhLK7TMajQQEBADw3XffER0dzZAhQ5g/fz5btmzhk08+AWDcuHHMmDGDCRMm8MILL5CcnMwjjzzCPffcQ1BQEAAvvPACU6ZMITAwkGuvvZbs7GzWr1/PI4880rAnKoQQokoSWAghhKiVZcuWERISUm5f586dOXToEKAqNi1YsICHHnqIkJAQvv76a7p27QqAu7s7v/32G9OmTaNfv364u7tzyy238M477zh+14QJEygoKOC///0v//jHPwgICODWW29tuBMUQghRLVIVSgghRL3R6XQsXLiQm266ydlDEUIIUc8kx0IIIYQQQghRaxJYCCGEEEIIIWpNciyEEELUG1ltK4QQzYfMWAghhBBCCCFqTQILIYQQQgghRK1JYCGEEEIIIYSoNQkshBBCCCGEELUmgYUQQgghhBCi1iSwEEIIIYQQQtSaBBZCCCGEEEKIWpPAQgghhBBCCFFrElgIIYQQQgghau3/AbLnE/IlI4PEAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 800x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import torch\n",
"import torch.nn as nn\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np\n",
"import os\n",
"\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import StandardScaler, OneHotEncoder\n",
"from sklearn.compose import ColumnTransformer\n",
"from sklearn.pipeline import Pipeline\n",
"from torch.utils.data import DataLoader, TensorDataset\n",
"\n",
"device = torch.device(\"cpu\")\n",
"\n",
"selected_features = [\n",
" \"age_at_diagnosis\", \"tumor_size\", \"tumor_stage\", \"lymph_nodes_examined_positive\",\n",
" \"nottingham_prognostic_index\", \"cellularity\", \"neoplasm_histologic_grade\",\n",
" \"inferred_menopausal_state\", \"er_status_measured_by_ihc\", \"pr_status\", \"her2_status\"\n",
"]\n",
"\n",
"df[\"therapy_class_simple\"] = -1\n",
"df.loc[(df[\"chemotherapy\"] == 1) & (df[\"hormone_therapy\"] == 0) & (df[\"radio_therapy\"] == 0), \"therapy_class_simple\"] = 0\n",
"df.loc[(df[\"chemotherapy\"] == 0) & (df[\"hormone_therapy\"] == 0) & (df[\"radio_therapy\"] == 1), \"therapy_class_simple\"] = 1\n",
"df.loc[(df[\"chemotherapy\"] == 0) & (df[\"hormone_therapy\"] == 1) & (df[\"radio_therapy\"] == 0), \"therapy_class_simple\"] = 2\n",
"\n",
"df = df[df[\"therapy_class_simple\"] != -1].copy()\n",
"df = df.dropna(subset=selected_features + [\"therapy_class_simple\"])\n",
"X = df[selected_features].copy()\n",
"y = df[\"therapy_class_simple\"].astype(int)\n",
"\n",
"categorical_cols = X.select_dtypes(include=[\"object\", \"bool\", \"category\"]).columns.tolist()\n",
"X[categorical_cols] = X[categorical_cols].astype(str)\n",
"numeric_cols = X.select_dtypes(include=[\"int64\", \"float64\"]).columns.tolist()\n",
"\n",
"preprocessor = ColumnTransformer([\n",
" (\"num\", StandardScaler(), numeric_cols),\n",
" (\"cat\", OneHotEncoder(drop=\"first\", handle_unknown=\"ignore\"), categorical_cols)\n",
"])\n",
"X_processed = preprocessor.fit_transform(X)\n",
"input_dim = X_processed.shape[1]\n",
"num_classes = len(np.unique(y))\n",
"\n",
"X_tensor = torch.tensor(X_processed, dtype=torch.float32).to(device)\n",
"y_tensor = torch.tensor(y.values, dtype=torch.long).to(device)\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(X_tensor, y_tensor, test_size=0.2, stratify=y, random_state=42)\n",
"train_loader = DataLoader(TensorDataset(X_train, y_train), batch_size=32, shuffle=True)\n",
"\n",
"class MulticlassTherapyModel(nn.Module):\n",
" def __init__(self, in_dim, out_dim):\n",
" super().__init__()\n",
" self.net = nn.Sequential(\n",
" nn.Linear(in_dim, 32),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.5),\n",
" nn.Linear(32, 16),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.5),\n",
" nn.Linear(16, out_dim)\n",
" )\n",
"\n",
" def forward(self, x):\n",
" return self.net(x)\n",
"\n",
"model = MulticlassTherapyModel(input_dim, num_classes).to(device)\n",
"loss_fn = nn.CrossEntropyLoss()\n",
"optimizer = torch.optim.Adam(model.parameters(), lr=0.001)\n",
"\n",
"best_val_loss = float(\"inf\")\n",
"patience = 10\n",
"counter = 0\n",
"best_model_state = None\n",
"\n",
"train_losses, val_losses = [], []\n",
"for epoch in range(200):\n",
" model.train()\n",
" epoch_loss = 0\n",
" for xb, yb in train_loader:\n",
" preds = model(xb)\n",
" loss = loss_fn(preds, yb)\n",
" optimizer.zero_grad()\n",
" loss.backward()\n",
" optimizer.step()\n",
" epoch_loss += loss.item()\n",
" train_losses.append(epoch_loss / len(train_loader))\n",
"\n",
" model.eval()\n",
" with torch.no_grad():\n",
" val_preds = model(X_test)\n",
" val_loss = loss_fn(val_preds, y_test)\n",
" val_losses.append(val_loss.item())\n",
"\n",
" print(f\"Epoch {epoch+1}/200 | Train Loss: {train_losses[-1]:.4f} | Val Loss: {val_losses[-1]:.4f}\")\n",
"\n",
" if val_loss.item() < best_val_loss:\n",
" best_val_loss = val_loss.item()\n",
" best_model_state = model.state_dict()\n",
" counter = 0\n",
" else:\n",
" counter += 1\n",
" if counter >= patience:\n",
" print(f\"Early stopping at epoch {epoch+1}\")\n",
" break\n",
"\n",
"if best_model_state is not None:\n",
" model.load_state_dict(best_model_state)\n",
"\n",
"os.makedirs(\"../outputs/figures\", exist_ok=True)\n",
"plt.figure(figsize=(8, 5))\n",
"plt.plot(train_losses, label=\"Train Loss\")\n",
"plt.plot(val_losses, label=\"Validation Loss\")\n",
"plt.xlabel(\"Epoch\")\n",
"plt.ylabel(\"CrossEntropy Loss\")\n",
"plt.title(\"Learning Curve (Therapy: Chemo vs Radio vs Hormon)\")\n",
"plt.legend()\n",
"plt.tight_layout()\n",
"plt.savefig(\"../outputs/figures/nn_learning_curve_therapy_simple.png\")\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1b4afcf6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"0 1.000000 0.800000 0.888889 5.000000\n",
"1 0.818182 0.710526 0.760563 38.000000\n",
"2 0.755102 0.860465 0.804348 43.000000\n",
"accuracy 0.790698 0.790698 0.790698 0.790698\n",
"macro avg 0.857761 0.790330 0.817933 86.000000\n",
"weighted avg 0.797213 0.790698 0.789916 86.000000\n"
]
},
{
"data": {
"image/png": "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E4KUlBRERUXBwcFBp6+NCQEREZEBGzt2LEJDQ3Hr1i2cOHECXbp0gYmJCXr37q3T47DLgIiISCJ9XLn47t276N27NxISEmBra4smTZrg1KlTsLW1zWckmpgQEBERSaWHjGDjxo35PKA07DIgIiIiVgiIiIik0uUsA0PDhICIiEgiGfJ/LwPDTAfYZUBERERghYCIiEgyfcwyKCxMCIiIiCR69cJC+dmHIWKXAREREbFCQEREJJ3xdhowISAiIpKIXQZERERk1FghICIiksh4OwyYEBAREUnGLgMiIiIyaqwQEBERScR7GRAREZFRDyJglwERERGxQkBERCSVERcImBAQERFJxVkGREREZNRYISAiIpKIswyIiIjIqAcRsMuAiIiIWCEgIiKSyogLBEwIiIiIpOIsAyIiIjJqrBAQERFJlv9ZBobaacCEgIiISCJ2GRAREZFRY0JARERE7DIgIiKSil0GREREZNRYISAiIpKI9zIgIiIidhkQERGRcWOFgIiISCLey4CIiIiMOiNglwERERGxQkBERCQVZxkQERERZxkQERGRcWOFgIiISCIjHlPICgEREZFkMh0t72DRokWoXLkyzMzM0LBhQ/z777/5eimvY0JARERk4DZt2oTAwEBMnToV586dg6enJ3x8fBAfH6+zYzAhICIikkimo3/amjNnDgYPHoz+/fvDw8MDS5cuhYWFBX799VedvTYmBERERBJlzzLI76KNjIwMhIWFoXXr1up1crkcrVu3xsmTJ3X22or0oEIhBAAgOSlJz5GQvqQkp+o7BNITkZWh7xBID7J/7tm//wtbkg7+3mTv4/V9KRQKKBSKHO0fPXqErKws2NnZaay3s7PDtWvX8h1PtiKdECQnJwMAqro46TkSIiIqTMnJybC2ti6045mamsLe3h5uOvp7Y2lpCScnzX1NnToVQUFBOtn/uyjSCYGjoyNiYmJgZWUFmaFe6aEAJSUlwcnJCTExMVAqlfoOhwoRf/bFW3H++QshkJycDEdHx0I9rpmZGaKjo5GRoZvKlBAix9+t3KoDAFCuXDmYmJjgwYMHGusfPHgAe3t7ncQDFPGEQC6Xo2LFivoOQ++USmWx+6VAL/FnX7wV159/YVYGXmVmZgYzM7NCP66pqSm8vLxw6NAhdO7cGQCgUqlw6NAhDBs2TGfHKdIJARERUXEQGBgIf39/vP/++2jQoAHmzZuH1NRU9O/fX2fHYEJARERk4Hr27ImHDx9iypQpiIuLQ926dbF3794cAw3zgwlBEaZQKDB16tQ8+53IePFnX7zx5188DRs2TKddBK+TCX3N3SAiIiKDwQsTERERERMCIiIiYkJAREREYEJAREREYEJQ5KhUKmRlZek7DCLSE44Dp4LCaYdFyJUrV/Dtt98iLi4Obm5u+PTTT9GoUSN9h0WFKCsrCyYmJvoOgwpZamoqVCoVhBDF8sqEVDhYISgiIiIi0KhRI2RlZaF+/fo4efIkRo4ciQULFug7NCok169fx7x58xAbG6vvUKgQXblyBX5+fmjevDlq1KiBdevWAWClgHSPFYIiQAiBNWvWwMfHBxs2bAAAfP3111iwYAFWrlyJtLQ0jB8/Xs9RUkGKjIyEt7c3njx5goSEBAQGBqJcuXL6DosK2JUrV9CsWTP069cP77//PsLCwtC/f3/UrFkTdevW1Xd4ZGSYEBQBMpkM9+/fR1xcnHqdlZUVRowYATMzM2zcuBEVKlRA37599RglFZTU1FSEhISgY8eOqF+/PoYNG4YXL15g/PjxTAqM2OPHjzF69Gj07dsXc+bMAQD06dMH586dw6+//ooFCxbkesc8onfFhMDAZX/g69Wrhxs3biAiIgLu7u4AXiYFAwYMQEREBBYvXowuXbrAwsJCzxGTrsnlcnh5eaFs2bLo2bMnypUrh169egEAkwIjlpmZicTERHTr1g3AywHFcrkcLi4uePz4MQAwGSCd4qWLi4ioqCh88MEH6NixI+bPnw9LS0t1shATEwNnZ2f8+eefaNeunb5DpQKQmpqKUqVKqR9v2rQJvXv3xpgxY/DVV1+hbNmyUKlUuH37NlxcXPQYKenSjRs34ObmBuBlglCyZElMnjwZt2/fxpo1a9TtUlJSYGlpqa8wyUiwQlBEuLq6YvPmzfD19YW5uTmCgoLU3wxLliyJOnXq6O0e4VTwspOBrKwsyOVy9OzZE0II9OnTBzKZDKNGjcIPP/yA27dvY+3atawUGYnsZEClUqFkyZIAXlYN4+Pj1W1CQkKgUCgwYsQIlCjBX+n07nj2FCEtW7bE77//ju7duyM2NhY9evRAnTp1sGbNGsTHx8PJyUnfIVIBMzExgRACKpUKvXr1gkwmw6effoqdO3ciKioKZ86cYTJghORyucZ4Abn85QSxKVOmYMaMGTh//jyTAco3dhkUQefOnUNgYCBu3bqFEiVKwMTEBBs3bsR7772n79CokGR/bGUyGVq1aoXw8HAcPXoUtWvX1nNkVFCyxxAEBQUhNjYWbm5umDRpEk6cOIF69erpOzwyAkwpi6B69eph586dePz4MZKTk+Hg4MCBZcWMTCZDVlYWxo0bhyNHjiA8PJzJgJHLrgqULFkSv/zyC5RKJY4fP85kgHSGFQKiIiorKwurVq2Cl5cX56QXI2fPnkWDBg1w+fJleHh46DscMiJMCIiKMM5DL55en3VCpAtMCIiIiIj3MiAiIiImBERERAQmBERERAQmBERERAQmBERERAQmBERERAQmBEQFKiAgAJ07d1Y/btGiBUaNGlXocRw9ehQymQyJiYl5tpHJZNi+fbvkfQYFBeX7gki3bt2CTCZDeHh4vvZDRPnHhICKnYCAAMhkMshkMpiamqJq1aqYNm0aXrx4UeDH3rp1K6ZPny6prZQ/4kREusJ7GVCx1K5dO6xcuRLp6en4888/MXToUJQsWRITJ07M0TYjIwOmpqY6Oa6NjY1O9kNEpGusEFCxpFAoYG9vD2dnZ3z55Zdo3bo1du7cCeD/y/wzZ86Eo6Mj3N3dAQAxMTHo0aMHSpcuDRsbG3Tq1Am3bt1S7zMrKwuBgYEoXbo0ypYti/Hjx+P1C4G+3mWQnp6OCRMmwMnJCQqFAlWrVsWKFStw69YttGzZEgBQpkwZyGQyBAQEAHh517uQkBC4uLjA3Nwcnp6e2LJli8Zx/vzzT1SrVg3m5uZo2bKlRpxSTZgwAdWqVYOFhQWqVKmCyZMnIzMzM0e7ZcuWwcnJCRYWFujRoweePn2q8fzy5ctRo0YNmJmZoXr16li8eLHWsRBRwWNCQATA3NwcGRkZ6seHDh1CREQEDhw4gN27dyMzMxM+Pj6wsrLC33//jX/++QeWlpZo166dersff/wRq1atwq+//orjx4/j8ePH2LZt2xuP269fP2zYsAELFizA1atXsWzZMlhaWsLJyQl//PEHACAiIgKxsbGYP38+ACAkJARr1qzB0qVL8d9//2H06NH45JNPEBoaCuBl4uLn54cOHTogPDwcgwYNwldffaX1e2JlZYVVq1bhypUrmD9/Pn755RfMnTtXo01kZCQ2b96MXbt2Ye/evTh//jyGDBmifn7dunWYMmUKZs6ciatXr+Lbb7/F5MmTsXr1aq3jIaICJoiKGX9/f9GpUychhBAqlUocOHBAKBQKMXbsWPXzdnZ2Ij09Xb3N2rVrhbu7u1CpVOp16enpwtzcXOzbt08IIYSDg4OYNWuW+vnMzExRsWJF9bGEEKJ58+Zi5MiRQgghIiIiBABx4MCBXOM8cuSIACCePHmiXpeWliYsLCzEiRMnNNoOHDhQ9O7dWwghxMSJE4WHh4fG8xMmTMixr9cBENu2bcvz+dmzZwsvLy/146lTpwoTExNx9+5d9bq//vpLyOVyERsbK4QQwtXVVaxfv15jP9OnTxfe3t5CCCGio6MFAHH+/Pk8j0tEhYNjCKhY2r17NywtLZGZmQmVSoU+ffogKChI/Xzt2rU1xg1cuHABkZGRsLKy0thPWloaoqKi8PTpU8TGxqJhw4bq50qUKIH3338/R7dBtvDwcJiYmKB58+aS446MjMSzZ8/Qpk0bjfUZGRl47733AABXr17ViAMAvL29JR8j26ZNm7BgwQJERUUhJSUFL168gFKp1GhTqVIlVKhQQeM4KpUKERERsLKyQlRUFAYOHIjBgwer27x48QLW1tZax0NEBYsJARVLLVu2xJIlS2BqagpHR0eUKKH5UXj91rIpKSnw8vLCunXrcuzL1tb2nWIwNzfXepuUlBQAwJ49ezT+EAMvx0XoysmTJ9G3b18EBwfDx8cH1tbW2LhxI3788UetY/3ll19yJCgmJiY6i5WIdIMJARVLpUqVQtWqVSW3r1evHjZt2oTy5cvn+JaczcHBAadPn0azZs0AvPwmHBYWhnr16uXavnbt2lCpVAgNDUXr1q1zPJ9docjKylKv8/DwgEKhwJ07d/KsLNSoUUM9QDLbqVOn3v4iX3HixAk4Ozvjm2++Ua+7fft2jnZ37tzB/fv34ejoqD6OXC6Hu7s77Ozs4OjoiJs3b6Jv375aHZ+ICh8HFRJJ0LdvX5QrVw6dOnXC33//jejoaBw9ehQjRozA3bt3AQAjR47Ed999h+3bt+PatWsYMmTIG68hULlyZfj7+2PAgAHYvn27ep+bN28GADg7O0Mmk2H37t14+PAhUlJSYGVlhbFjx2L06NFYvXo1oqKicO7cOSxcuFA9UO+LL77AjRs3MG7cOERERGD9+vVYtWqVVq/Xzc0Nd+7cwcaNGxEVFYUFCxbkOkDSzMwM/v7+uHDhAv7++2+MGDECPXr0gL29PQAgODgYISEhWLBgAa5fv45Lly5h5cqVmDNnjlbxEFHBY0JAJIGFhQWOHTuGSpUqwc/PDzVq1MDAgQORlpamrhiMGTMGn376Kfz9/eHt7Q0rKyt06dLljftdsmQJunXrhiFDhqB69eoYPHgwUlNTAQAVKlRAcHAwvvrqK9jZ2WHYsGEAgOnTp2Py5MkICQlBjRo10K5dO+zZswcuLi4AXvbr//HHH9i+fTs8PT2xdOlSfPvtt1q93o4dO2L06NEYNmwY6tatixMnTmDy5Mk52lWtWhV+fn5o37492rZtizp16mhMKxw0aBCWL1+OlStXonbt2mjevDlWrVqljpWIDIdM5DXiiYiIiIoNVgiIiIiICQERERExISAiIiIwISAiIiIwISAiIiIwISAiIiIwISAiIiIwISAiIiIwISAiIiIwISAiIiIwISAiIiIwISAiIiIA/wdcEFRHAq2OWQAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, ConfusionMatrixDisplay\n",
"import matplotlib.pyplot as plt\n",
"import os\n",
"import pandas as pd\n",
"\n",
"model.eval()\n",
"with torch.no_grad():\n",
" logits = model(X_test)\n",
" y_pred = torch.argmax(logits, dim=1).cpu().numpy()\n",
" y_true = y_test.cpu().numpy()\n",
"\n",
"report = classification_report(y_true, y_pred, output_dict=True)\n",
"report_df = pd.DataFrame(report).transpose()\n",
"\n",
"print(report_df)\n",
"\n",
"# Confusion Matrix\n",
"cm = confusion_matrix(y_true, y_pred)\n",
"disp = ConfusionMatrixDisplay(confusion_matrix=cm)\n",
"disp.plot(cmap=\"Blues\", xticks_rotation=45)\n",
"plt.title(\"Confusion Matrix - Multiclass Therapy Prediction\")\n",
"plt.tight_layout()\n",
"os.makedirs(\"../outputs/figures\", exist_ok=True)\n",
"plt.savefig(\"../outputs/figures/confusion_matrix_multiclass_therapy.png\")\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "c8f56ba7",
"metadata": {},
"outputs": [],
"source": [
"import seaborn as sns\n",
"\n",
"# Output directory\n",
"output_dir = \"../outputs/figures/correlation\"\n",
"os.makedirs(output_dir, exist_ok=True)\n",
"\n",
"# Mapping class IDs to names\n",
"class_labels = {\n",
" 0: \"Chemotherapy\",\n",
" 1: \"Radiotherapy\",\n",
" 2: \"Hormone therapy\"\n",
"}\n",
"\n",
"# Plot each feature against therapy class\n",
"for col in selected_features:\n",
" plt.figure(figsize=(6, 4))\n",
"\n",
" if df[col].dtype == \"object\":\n",
" sns.countplot(data=df, x=col, hue=\"therapy_class_simple\")\n",
" plt.xticks(rotation=45)\n",
" else:\n",
" sns.boxplot(data=df, x=\"therapy_class_simple\", y=col)\n",
"\n",
" # Add legend with ID to therapy name\n",
" legend_text = \"\\n\".join([f\"{k}: {v}\" for k, v in class_labels.items()])\n",
" plt.gcf().text(0.99, 0.5, legend_text, fontsize=9, va=\"center\")\n",
"\n",
" plt.title(f\"{col} vs. Therapy Class\")\n",
" plt.tight_layout()\n",
" plt.savefig(f\"{output_dir}/{col}_vs_therapy_class.png\", bbox_inches=\"tight\")\n",
" plt.close()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "26409235",
"metadata": {},
"outputs": [],
"source": []
}
],
"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.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}