mirror of
https://github.com/ArthurDanjou/breast-cancer-detection.git
synced 2026-01-14 15:54:14 +01:00
274 lines
78 KiB
Plaintext
274 lines
78 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 35,
|
|
"id": "4e6f6cb1",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from ucimlrepo import fetch_ucirepo \n",
|
|
"from sklearn.model_selection import train_test_split\n",
|
|
"from sklearn.neighbors import KNeighborsClassifier\n",
|
|
"from sklearn.model_selection import cross_val_score\n",
|
|
"from sklearn.metrics import accuracy_score, f1_score, classification_report, confusion_matrix, roc_curve\n",
|
|
"\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import pandas as pd"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 36,
|
|
"id": "4dd5223b",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import warnings\n",
|
|
"warnings.filterwarnings('ignore')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 37,
|
|
"id": "c1ab7ec9",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Dataset shape: (116, 10)\n",
|
|
" Age BMI Glucose Insulin HOMA Leptin Adiponectin Resistin \\\n",
|
|
"0 48 23.500000 70 2.707 0.467409 8.8071 9.702400 7.99585 \n",
|
|
"1 83 20.690495 92 3.115 0.706897 8.8438 5.429285 4.06405 \n",
|
|
"2 82 23.124670 91 4.498 1.009651 17.9393 22.432040 9.27715 \n",
|
|
"3 68 21.367521 77 3.226 0.612725 9.8827 7.169560 12.76600 \n",
|
|
"4 86 21.111111 92 3.549 0.805386 6.6994 4.819240 10.57635 \n",
|
|
"\n",
|
|
" MCP.1 Classification \n",
|
|
"0 417.114 1 \n",
|
|
"1 468.786 1 \n",
|
|
"2 554.697 1 \n",
|
|
"3 928.220 1 \n",
|
|
"4 773.920 1 \n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# fetch dataset \n",
|
|
"data = pd.read_csv(\"dataR2.csv\")\n",
|
|
" \n",
|
|
"# data (as pandas dataframes) \n",
|
|
"X = data.drop(columns='Classification')\n",
|
|
"y = data['Classification']\n",
|
|
" \n",
|
|
"print(\"Dataset shape:\", data.shape)\n",
|
|
"print(data.head())\n",
|
|
"\n",
|
|
"# transform {1,2} to {0,1}\n",
|
|
"y = y.map({1: 0, 2: 1})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a1004c28",
|
|
"metadata": {},
|
|
"source": [
|
|
"# K-NN classifier "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "082c143b",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Cross-validation"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 38,
|
|
"id": "754dce9b",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Number of samples: 116\n",
|
|
"Number of features: 9\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"Number of samples:\", X.shape[0])\n",
|
|
"print(\"Number of features:\", X.shape[1])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "01bb817a",
|
|
"metadata": {},
|
|
"source": [
|
|
"Then d is small enough to insure that we are not in the curse of dimention"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 43,
|
|
"id": "feb42adf",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"The best k for k-NN is k = 6\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"k_scores = []\n",
|
|
"K_list = np.arange(1, X.shape[0] // 4 ) # concidering 1/4 of the samples as neaighbors is large enough for k-NN to don't overfit\n",
|
|
"\n",
|
|
"for k in K_list:\n",
|
|
" knn = KNeighborsClassifier(n_neighbors=k)\n",
|
|
" score = cross_val_score(knn, X, y, cv=5, scoring='accuracy')\n",
|
|
" k_scores.append(score.mean())\n",
|
|
"\n",
|
|
"k_scores = np.array(k_scores)\n",
|
|
"\n",
|
|
"print(\"The best k for k-NN is k =\", np.argmin(k_scores))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 40,
|
|
"id": "fa8a7166",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Accuracy: 0.7714285714285715\n",
|
|
"F1 Score: 0.7714285714285715\n",
|
|
"Classification Report:\n",
|
|
" precision recall f1-score support\n",
|
|
"\n",
|
|
" 0 0.76 0.76 0.76 17\n",
|
|
" 1 0.78 0.78 0.78 18\n",
|
|
"\n",
|
|
" accuracy 0.77 35\n",
|
|
" macro avg 0.77 0.77 0.77 35\n",
|
|
"weighted avg 0.77 0.77 0.77 35\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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iX2fn332mSQpMDBQNptNX3/9tX755Relp6fLy8tLw4cP19ChQ5WQkKBDhw5p+/btmjZtmv2G+gEDBujAgQN67bXXlJKSogULFmju3Ll5er01a9bU8ePH9emnn+rQoUN6//337/hBBjc3N0VHR2vXrl1av369YmNj1a1bN1WsWFGSNGbMGMXHx+v999/X/v37tWfPHs2ZM0fvvfdenuYBkDuEGYBioVSpUlq3bp2qVq2qLl26qHbt2urbt6+uXr1qP4P26quv6sUXX1R0dLTCw8Pl5eWlZ5555nf3++GHH+q5557TX/7yFz300EPq16+fLl26JEmqXLmyxowZozfeeEMVKlTQoEGDJEnjxo3TqFGjFB8fr9q1a6tt27ZatmyZqlWrJunmfV+LFi3SkiVLVL9+fc2YMUNvv/12nl7v008/raFDh2rQoEFq0KCBNm7cqFGjRmXbLjg4WF26dFH79u315JNPql69eg5fhxETE6OPPvpIc+bMUd26dRUREaG5c+faZwWQv2xWTne1AgAAoFBxxgwAAMAQhBkAAIAhCDMAAABDEGYAAACGIMwAAAAMQZgBAAAYgjADAAAwBGEGAABgCMIMAADAEIQZAACAIQgzAAAAQxBmAAAAhvj/tr1HyTHlSagAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 800x600 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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sCD+tpEjR8YfGxYWZp555pn492WBAgVMy5Ytzfr1669bU9xr+PPPP09w/m3btplOnTqZ/Pnzm8DAQFOhQoVEYTApJUqUML179060P6kwa4wxDzzwgAHM4cOH4/fNnDnTAObVV19N8hxnz541uXPnNpUqVYrfN2vWLAOYN95447o1xvnrr78MYObPn3/N49x97fbq1SvJPxziXtNXSqqd58yZY/LkyZPk83ju3DkTEBBgnnvuufh9KX1NSdaR8s9sRDxQ3EeMefLkid+3ZcsWGjVqRLFixRg8eDA5cuRgzpw5dOzYka+//pp7770XgPPnz9O4cWO2bdvGQw89RO3atTl58iQLFy7k4MGD5M+fH5fLxT333MPq1at59NFHqVy5Mv/88w/jx49n586dfPPNN0nWVbduXcqUKcOcOXPo1atXgttmz55Nnjx5aNOmDWCHAtx66614eXnRv39/ChQowPfff8/DDz9MWFgYzz77bIL7v/baa/j7+zNo0CAiIyOT/Xj922+/BaBnz55J3u7r60u3bt145ZVXWLNmDS1btoy/bdq0aYSHh9OvXz8uXbrEu+++S/Pmzfnnn38oVKiQW89znCeffJICBQowYsQILly4AMAff/zBr7/+SpcuXShevDj79u3jo48+olmzZmzdupXs2bPTpEkTnn76ad577z2GDh1K5cqVAeL/T86YMWPw9vZm0KBBnDt3jjfffJMHH3yQ33//Pf6Yjz76iP79+9O4cWMGDBjAvn376NixI3ny5Lnux6vff/89MTEx9OjR45rHXa1z586ULl2a0aNHs2HDBj799FMKFizI2LFjE9R1yy23cM899+Dr68u3337Lk08+icvlol+/fgkeb8eOHXTt2pXHHnuMvn37UrFiRbceY+rUqTz00EPccsstDBkyhNy5c7Nx40aWLFlCt27dGDZsGOfOnePgwYOMHz8egJw5cwK4/f748ccfmTNnDv379yd//vyUKlUqyefo8ccfZ968efTv358qVapw6tQpVq9ezbZt26hdu/Y1a0rK33//TePGjfHz8+PRRx+lVKlS7N69m2+//TbRcIArHTp0iP3791O7du1kj7la3AVouXPnjt93vfdirly56NChA1988QW7du2iXLlyLFy4EMCt11eVKlXIli0ba9asSfT+u9KNvnZT6up2Ll++PPfeey/z58/n448/TvAz65tvviEyMpIuXboA7r+mJItwOk2LpIa43rnly5ebEydOmAMHDph58+aZAgUKmICAgAQfh7Vo0cJUq1YtwV/xLpfL3HbbbaZ8+fLx+0aMGJFsL0bcR4pffvml8fb2TvQx36RJkwxg1qxZE7/vyp5ZY4wZMmSI8fPzM6dPn47fFxkZaXLnzp2gt/Thhx82RYoUMSdPnkxwji5duphcuXLF95rG9TiWKVMmRR8ld+zY0QDJ9twaY8z8+fMNYN577z1jzOVerWzZspmDBw/GH/f7778bwAwYMCB+X0qf57i2u/322xN89GqMSfL7iOtRnjZtWvy+aw0zSK5ntnLlyiYyMjJ+/7vvvmuA+B7myMhIky9fPlOvXj0THR0df9zUqVMNcN2e2QEDBhjAbNy48ZrHxYnrxbq6p/zee+81+fLlS7AvqeelTZs2pkyZMgn2lSxZ0gBmyZIliY5PyWOcPXvWBAUFmQYNGiT6KPjKj9WT+0jfnfcHYLy9vc2WLVsSPQ5X9czmypXL9OvXL9FxV0qupqR6Zps0aWKCgoLMf//9l+z3mJTly5cn+hQlTtOmTU2lSpXMiRMnzIkTJ8z27dvN888/bwDTrl27BMfWrFnT5MqV65rneueddwxgFi5caIwxplatWte9T1IqVKhg7rrrrmse4+5r192e2aTa+YcffkjyuWzbtm2C16Q7rynJOjSbgWQqLVu2pECBAoSEhPDAAw+QI0cOFi5cGN+Ldvr0aX788Uc6d+5MeHg4J0+e5OTJk5w6dYo2bdrw77//xs9+8PXXX1OjRo0kezC8vLwAmDt3LpUrV6ZSpUrxj3Xy5EmaN28OwE8//ZRsraGhoURHRzN//vz4fUuXLuXs2bOEhoYC9mKVr7/+mvbt22OMSXCONm3acO7cOTZs2JDgcXv16kW2bNmu+1yFh4cDEBQUlOwxcbeFhYUl2N+xY0eKFSsWv12/fn0aNGjA4sWLAfee5zh9+/ZNdEHOld9HdHQ0p06doly5cuTOnTvR9+2uPn36JOgBaty4MWAvqgH4888/OXXqFH379k1w4dGDDz6YoKc/OXHP2bWe36Q8/vjjCbYbN27MqVOnErTBlc/LuXPnOHnyJE2bNmXPnj2cO3cuwf1Lly4d38t/pZQ8xrJlywgPD2fw4MGJLqCMew9ci7vvj6ZNm1KlSpXrPm7u3Ln5/fffE1ytf6NOnDjBqlWreOihhyhRokSC2673PZ46dQog2dfD9u3bKVCgAAUKFKBSpUqMGzeOe+65J9G0YOHh4dd9nVz9XgwLC3P7tRVX6/Wmf7vR125KJdXOzZs3J3/+/MyePTt+35kzZ1i2bFn8z0O4uZ+5knlpmIFkKhMnTqRChQqcO3eOKVOmsGrVKgICAuJv37VrF8YYhg8fzvDhw5N8jOPHj1OsWDF2797N/ffff83z/fvvv2zbto0CBQok+1jJqVGjBpUqVWL27Nk8/PDDgB1ikD9//vgfzCdOnODs2bN88sknfPLJJyk6R+nSpa9Zc5y4X1Th4eEJPvK8UnKBt3z58omOrVChAnPmzAHce56vVXdERASjR4/m888/59ChQwmmCrs6tLnr6uASF0jOnDkDED9naLly5RIc5+vrm+zH31cKDg4GLj+HqVFX3GOuWbOGkSNHsnbtWi5evJjg+HPnzpErV6747eReDyl5jN27dwNQtWpVt76HOO6+P1L62n3zzTfp1asXISEh1KlTh7Zt29KzZ0/KlCnjdo1xf7zc6PcIJDuFXalSpZg8eTIul4vdu3fzxhtvcOLEiUR/GAQFBV03YF79XgwODo6v3d1arxfSb/S1m1JJtbOvry/3338/M2bMIDIykoCAAObPn090dHSCMHszP3Ml81KYlUylfv361K1bF7C9h7fffjvdunVjx44d5MyZM35+x0GDBiXZWwWJw8u1uFwuqlWrxjvvvJPk7SEhIde8f2hoKG+88QYnT54kKCiIhQsX0rVr1/iewLh6u3fvnmhsbZzq1asn2E5JryzYMaXffPMNf//9N02aNEnymL///hsgRb1lV7qR5zmpup966ik+//xznn32WRo2bEiuXLnw8vKiS5cuyc7VmVLJTcuUXDBxV6VKlQD4559/qFmzZorvd726du/eTYsWLahUqRLvvPMOISEh+Pv7s3jxYsaPH5/oeUnqeXX3MW6Uu++PlL52O3fuTOPGjVmwYAFLly5l3LhxjB07lvnz53PXXXfddN0plS9fPuDyH0BXy5EjR4Kx5o0aNaJ27doMHTqU9957L35/5cqV2bRpE/v370/0x0ycq9+LlSpVYuPGjRw4cOC6P2eudObMmST/GL2Su6/d5MJxbGxskvuTa+cuXbrw8ccf8/3339OxY0fmzJlDpUqVqFGjRvwxN/szVzInhVnJtHx8fBg9ejR33HEHH3zwAYMHD47vufHz80vwSyYpZcuWZfPmzdc95q+//qJFixYp+tj1aqGhobzyyit8/fXXFCpUiLCwsPgLHQAKFChAUFAQsbGx163XXXfffTejR49m2rRpSYbZ2NhYZsyYQZ48eWjUqFGC2/79999Ex+/cuTO+x9Kd5/la5s2bR69evXj77bfj9126dImzZ88mOO5GnvvriZsAf9euXdxxxx3x+2NiYti3b1+iPyKudtddd+Hj48NXX32VqhfSfPvtt0RGRrJw4cIEwcedj1dT+hhly5YFYPPmzdf8Iy+55/9m3x/XUqRIEZ588kmefPJJjh8/Tu3atXnjjTfiw2xKzxf3Wr3eez0pcaFv7969KTq+evXqdO/enY8//phBgwbFP/d33303M2fOZNq0abz00kuJ7hcWFsb//vc/KlWqFN8O7du3Z+bMmXz11VcMGTIkReePiYnhwIED3HPPPdc8zt3Xbp48eRK9JwG3V0Rr0qQJRYoUYfbs2dx+++38+OOPDBs2LMExafmaEs+lMbOSqTVr1oz69eszYcIELl26RMGCBWnWrBkff/wxR44cSXT8iRMn4r++//77+euvv1iwYEGi4+J6yTp37syhQ4eYPHlyomMiIiLir8pPTuXKlalWrRqzZ89m9uzZFClSJEGw9PHx4f777+frr79O8pftlfW667bbbqNly5Z8/vnnSa4wNGzYMHbu3MkLL7yQqCflm2++STDmdd26dfz+++/xQcKd5/lafHx8EvWUvv/++4l6fHLkyAGQ5C/UG1W3bl3y5cvH5MmTiYmJid8/ffr0ZHvirhQSEkLfvn1ZunQp77//fqLbXS4Xb7/9NgcPHnSrrrie26uHXHz++eep/hitW7cmKCiI0aNHc+nSpQS3XXnfHDlyJDns42bfH0mJjY1NdK6CBQtStGhRIiMjr1vT1QoUKECTJk2YMmUK+/fvT3Db9XrpixUrRkhIiFurYb3wwgtER0cn6Fl84IEHqFKlCmPGjEn0WC6XiyeeeIIzZ84wcuTIBPepVq0ab7zxBmvXrk10nvDw8ERBcOvWrVy6dInbbrvtmjW6+9otW7Ys586di+89Bjhy5EiSPzuvxdvbmwceeIBvv/2WL7/8kpiYmARDDCBtXlPi+dQzK5ne888/T6dOnZg6dSqPP/44EydO5Pbbb6datWr07duXMmXKcOzYMdauXcvBgwfjl3t8/vnn41eWeuihh6hTpw6nT59m4cKFTJo0iRo1atCjRw/mzJnD448/zk8//USjRo2IjY1l+/btzJkzhx9++CF+2ENyQkNDGTFiBIGBgTz88MN4eyf8G3PMmDH89NNPNGjQgL59+1KlShVOnz7Nhg0bWL58OadPn77h52batGm0aNGCDh060K1bNxo3bkxkZCTz589n5cqVhIaG8vzzzye6X7ly5bj99tt54okniIyMZMKECeTLl48XXngh/piUPs/Xcvfdd/Pll1+SK1cuqlSpwtq1a1m+fHn8x7txatasiY+PD2PHjuXcuXMEBATQvHlzChYseMPPjb+/Py+//DJPPfUUzZs3p3Pnzuzbt4+pU6dStmzZFPUKvf322+zevZunn36a+fPnc/fdd5MnTx7279/P3Llz2b59e4Ke+JRo3bo1/v7+tG/fnscee4zz588zefJkChYsmOQfDjfzGMHBwYwfP55HHnmEevXq0a1bN/LkycNff/3FxYsX+eKLLwCoU6cOs2fPZuDAgdSrV4+cOXPSvn37VHl/XC08PJzixYvzwAMPxC/hunz5cv74448EPfjJ1ZSU9957j9tvv53atWvz6KOPUrp0afbt28eiRYvYtGnTNevp0KEDCxYsSNFYVLDDBNq2bcunn37K8OHDyZcvH/7+/sybN48WLVpw++23J1gBbMaMGWzYsIHnnnsuwWvFz8+P+fPn07JlS5o0aULnzp1p1KgRfn5+bNmyJf5TlSunFlu2bBnZs2enVatW163Tndduly5dePHFF7n33nt5+umnuXjxIh999BEVKlRw+0LN0NBQ3n//fUaOHEm1atUSTbGXFq8pyQTSfwIFkdSX3KIJxtgVZsqWLWvKli0bP/XT7t27Tc+ePU3hwoWNn5+fKVasmLn77rvNvHnzEtz31KlTpn///qZYsWLxk3P36tUrwTRZUVFRZuzYseaWW24xAQEBJk+ePKZOnTrmlVdeMefOnYs/7uqpueL8+++/8RO7r169Osnv79ixY6Zfv34mJCTE+Pn5mcKFC5sWLVqYTz75JP6YuCmn5s6d69ZzFx4ebl5++WVzyy23mGzZspmgoCDTqFEjM3Xq1ERTE125aMLbb79tQkJCTEBAgGncuLH566+/Ej12Sp7na7XdmTNnTJ8+fUz+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3nknR44cYc+ePYwfP56PP/44UZB4//336dChA40aNeL333/n77//pkuXLjz++OMMGjQowbHDhg0jNDSUevXq8f3337N582befvtt/vrrL7788st0+76ioqLS7LH379/Pd999R+/evW/qcdKyxpvlbs4CmD9/PkeOHIn/t3nzZnx8fOjYsWP8MVfefuTIEaZMmYKXlxf3339//DF9+vRh+vTpaf/Hj3FY/fr1Tb9+/eK3Y2NjTdGiRc3o0aOTPL5z586mXbt2CfY1aNDAPPbYYyk637lz5wxgzp07d+NFu6F/3wvmUx4yBuy/Zs2MOXw4Xc4tqSMqKsp88803JioqyulS5AapDT1ferRhRESE2bp1q4mIiIjf53IZc/68M/9crpTX3qtXL9OhQ4cE++677z5Tq1at+O39+/cbPz8/M3DgwET3f++99wxgfvvtN2OMMb///rsBzIQJE5I835kzZ5Kt5cCBA6ZLly4mT548Jnv27KZOnTrm119/NWfOnDE9e/ZMVOczzzxjmjZtGr/dtGlT069fP/PMM8+YfPnymWbNmpmuXbuazp07J7hfVFSUyZcvn/niiy+MMTY/jBo1ypQqVcoEBgaa6tWrm7lz5yZbpzHGjBs3ztStWzfBvpMnT5ouXbqYokWLmmzZspmqVauaGTNmJDgmqRqNMeaff/4xd955p8mRI4cpWLCg6d69uzlx4kT8/b7//nvTqFEjkytXLpM3b17Trl07s2vXrmvWeLPczVlJGT9+vAkKCjIHDx40sbGxSR7ToUMH07x580T7S5cubT799NMk75PUey6OO3nN0W7BqKgo1q9fz5AhQ+L3eXt707JlS9auXZvkfdauXcvAgQMT7GvTpg3ffPNNksdHRkYSGRkZvx0WFgbYZdmio6Nv8ju4vmh8KMxRXHhhXhqGa9gw8PGBdDi3pI6410l6vF4kbagNPV96tGF0dDTGGFwuFy6XC4ALFyA42JkPMcPCXCkeiWaMia8dYPPmzfz666+ULFkyft/cuXOJjo5m4MCB8fvi9O3bl6FDhzJjxgzq1avHV199Rc6cOXn88ccTHQsQHByc5P7z58/TtGlTihUrxjfffEPhwoXZsGFDguVPr6wzbhtIsO+LL77g8ccf55dffgFg165dhIaGEhYWFr9a1Pfff8/Fixfp0KEDLpeLUaNGMX36dD788EPKly/PqlWr6N69O/ny5aNp06ZJPm+rVq2iTp06Cc598eJFateuzfPPP09wcDCLFy+mR48elC5dmvr16ydb4+nTp2nevDkPP/wwb7/9NhEREQwePJjOnTuzfPlyAMLDw3n22WepXr0658+fZ+TIkdx7771s2LAh2SnhRo8ezejRo5O8Lc7mzZspUaJEov1xOevFF19M8D22aNGCX3/9Nck2TMpnn31GaGgoOXLkSNR+AMeOHWPRokV8/vnniW6rV68eq1atok+fPoke1+VyYYxJcp5Zd97rjobZkydPEhsbS6FChRLsL1SoENu3b0/yPkePHk3y+KNHjyZ5/OjRo3nllVcS7V+6dGm6TIodGV2WN8qPZ9ctHSlVtyD88EOan1PSxrJly5wuQW6S2tDzpWUb+vr6UrhwYc6fPx//sfGFCwC50+yc1xIWFsYVGfCaoqOjWbRoEcHBwcTExBAZGYm3tzdjx46N78TZvHkzwcHB5MiRI37flUqWLMnWrVsJCwtj27ZtlCxZkoiICCIiIlJc89SpUzlx4gTLly8nT548gB3+cGWdMTExCc4fFRWVYF9MTAxlypRh2LBh8ccUKFCA7NmzM2PGDLp06QLAtGnTuPPOO+NXkho9ejQLFiyID5z33XcfK1euZOLEidSqVSvJevfu3Uu1atUS1BMUFETfvn3jt3v27MmiRYuYPn06lSpVSrbGt956i2rVqvHiiy/G75swYQJVq1Zlw4YNlCtXjlatWsXfVrBgQSZMmEC5cuVYt24dVapUSbLGbt26cddddyV5W5ycOXMm2aZHjhwhNjY20e25c+eOb+vrWb9+PZs3b2bChAkASV4o98knn5AzZ05atmyZ6DHz58/P33//neS5oqKiiIiIYNWqVcTExCS4zZ0lpTP9gM0hQ4Yk6MkNCwsjJCSE1q1bExwcnObnb9UqmmXLltGq1YP4af5YjxQdHdeGrdSGHkpt6PnSow0vXbrEgQMHyJkzJ4GBgQAEBdkeUidkzx5MSueU9/Pzo1mzZnz44YdcuHCBCRMm4OvrS/fu3eOPiVueN7nffT4+Pvj6+hIcHIyPjw8+Pj5u/57csWMHtWrVouRVC/8YYwgPD8fPzy/+HFfWdeU+X19f6tWrl+jcnTt3ZsGCBTz66KNcuHCB77//nhkzZhAcHMyWLVu4ePEi9913X4L7REVFUatWrWS/j6ioKHLlypXg9tjYWEaPHs3cuXM5dOgQUVFRREZGEhwcfM0at2/fzi+//ELx4sUTnefYsWPUrl2bf//9l5EjR7Ju3TpOnjwZ34t5+vTpZGsMDg5O9Hym1Pnz5wHIkSNHgscPCAhIcfvOnj2batWq0axZM8LDwwkKCkq02MHMmTN58MEHKViwYKL758qVi6ioqCTPdenSJbJly0aTJk3i33NxUhK04zgaZvPnz4+Pjw/Hjh1LsP/YsWMULlw4yfsULlzYreMDAgIICAhItN/Pzy9df6ml9/kk9akNPZ/a0POlZRvGxsbi5eWFt7d3go98PeEidy8vL3LmzEmFChUA+Pzzz6lRowaff/45Dz/8MAAVK1bk3LlzHD16lKJFiya4f1RUFLt37+aOO+7A29ubihUrsmbNGmJjY916vuM+8bz6I/O40Ba3/8rb43rkrtyXM2fORI/RvXt3mjZtysmTJ1m2bBnZsmWjbdu2eHt7x/fiLVq0iGLFiiW4X0BAQLIf4efPn5+zZ88muP3NN9/kvffeY8KECVSrVo0cOXLw7LPPEh0dfc0aL1y4QPv27Rk7dmyi8xQpUgRvb286dOhAyZIlmTx5MkWLFsXlclG1alViYmKSrXHUqFGMGjUqydvibN26NclhBgULFsTHx4cTJ04kePzjx49TuHDh6652d+HCBWbPns2rr74aH2Dj3iNxfvnlF3bs2MHs2bOTfLwzZ85QoECBJG/z9vaOn4Hj6teZO687R2cz8Pf3p06dOqxYsSJ+n8vlYsWKFTRs2DDJ+zRs2DDB8WA/dkrueBERkazG29uboUOH8tJLL8UPE7j//vvx8/Pj7bffTnT8pEmTuHDhAl27dgXsR9vnz5/nww8/TPLxz549m+T+6tWrs2nTpmSvXi9QoABHjhxJsG/Tpk0p+p5uu+02QkJCmD17NtOnT6dTp07xgadKlSoEBASwf/9+ypUrl+BfSEhIso9Zq1Yttm7dmmDfmjVr6NChA927d6dGjRqUKVOGnTt3Xre+2rVrs2XLFkqVKpWohhw5cnDq1Cl27NjBSy+9RIsWLahcuTJnzpy57uM+/vjjbNq06Zr/rv7jJM6N5KwrzZ07l8jIyAQ9/Ff77LPPqFOnDjVq1Ejy9s2bNyc7zCPVXPcSsTQ2a9YsExAQYKZOnWq2bt1qHn30UZM7d25z9OhRY4wxPXr0MIMHD44/fs2aNcbX19e89dZbZtu2bWbkyJHGz8/P/PPPPyk6X3rPZqCrqD2f2tDzqQ09n1OzGXiKpGYziI6ONsWKFTPjxo2L3zd+/Hjj7e1thg4darZt22Z27dpl3n77bRMQEGCee+65BPd/4YUXjI+Pj3n++efNr7/+avbt22eWL19uHnjggWRnOYiMjDQVKlQwjRs3NqtXrza7d+828+bNM6tXrzZnzpwxixcvNl5eXuaLL74wO3fuNCNGjDDBwcGJZjN45plnknz8YcOGmSpVqhhfX1/zyy+/JLotX758ZurUqWbXrl1m/fr15r333jNTp05N9nlbuHChKViwoImJiYnfN2DAABMSEmLWrFljtm7dah555BETHByc4PlNqsZDhw6ZAgUKmAceeMCsW7fO7Nq1yyxZssT07t3bxMTEmNjYWJMvXz7TvXt38++//5oVK1aYevXqGcAsWLAg2Rpv1vVyljGJs1ac22+/3YSGhhpj7CwIZ86cSTCbwblz50z27NnNRx99lOS5L1y4YLJly2ZWrVqV5O2pNZuB42HWGGPef/99U6JECePv72/q168fPzWIMfYF06tXrwTHz5kzx1SoUMH4+/ubW265xSxatCjF51KYFXepDT2f2tDzKcxeW1Jh1hhjRo8ebQoUKGDOnz8fv+9///ufady4scmRI4cJDAw0derUMVOmTEnycWfPnm2aNGligoKCTI4cOUz16tXNq6++es2pufbt22fuv/9+ExwcbLJnz27q1q1r1q5dGx+ERowYYQoVKmRy5cplBgwYYPr375/iMLt161YDmJIlSxrXVXOXuVwuM2HCBFOxYkXj5+dnChQoYNq0aWN+/vnnZGuNjo42RYsWNUuWLInfd+rUKdOhQweTM2dOU7BgQfPSSy8lmlIsuRp37txp7r33XpM7d26TLVs2U6lSJfPss8/G17ps2TJTuXJlExAQYKpXr25WrlyZ5mHWmGvnrLjv5+qstX37dgOYpUuXGmOSDrMff/yxyZYtmzl79myS550xY4apWLFisnWlVpj1Mub/58TIIsLCwsiVKxfnzp1LlwvAoqOjWbx4MW3bttVYPQ+lNvR8akPPlx5teOnSJfbu3Uvp0qUTXYwiN8flchEWFkZwcPB1x2mmt4kTJ7Jw4UJ+0GxD13QjbXjrrbfy9NNP061btyRvv9Z7zp28lulnMxAR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",
|
|
"text/plain": [
|
|
"<Figure size 800x600 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)\n",
|
|
"\n",
|
|
"from sklearn.preprocessing import StandardScaler\n",
|
|
"scaler = StandardScaler()\n",
|
|
"X_train = scaler.fit_transform(X_train)\n",
|
|
"X_test = scaler.transform(X_test)\n",
|
|
"\n",
|
|
"knn = KNeighborsClassifier(n_neighbors=6) # using the best k found\n",
|
|
"knn.fit(X_train, y_train)\n",
|
|
"\n",
|
|
"y_pred = knn.predict(X_test)\n",
|
|
"\n",
|
|
"acc = accuracy_score(y_test, y_pred)\n",
|
|
"f1 = f1_score(y_test, y_pred, average='weighted')\n",
|
|
"class_report = classification_report(y_test, y_pred)\n",
|
|
"\n",
|
|
"print(\"Accuracy:\", acc)\n",
|
|
"print(\"F1 Score:\", f1)\n",
|
|
"print(\"Classification Report:\\n\", class_report)\n",
|
|
"\n",
|
|
"# Plottinf the confusion matrix\n",
|
|
"cm = confusion_matrix(y_test, y_pred)\n",
|
|
"plt.figure(figsize=(8, 6))\n",
|
|
"plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)\n",
|
|
"plt.title('Confusion Matrix')\n",
|
|
"for i in range(cm.shape[0]):\n",
|
|
" for j in range(cm.shape[1]):\n",
|
|
" plt.text(j, i, cm[i, j], horizontalalignment='center', color='white' if cm[i, j] > cm.max() / 2 else 'black')\n",
|
|
"plt.xticks(np.arange(len(np.unique(y))),labels = [\"negative\", \"positive\"])\n",
|
|
"plt.yticks(np.arange(len(np.unique(y))),labels = [\"negative\", \"positive\"])\n",
|
|
"plt.xlabel('Predicted label')\n",
|
|
"plt.ylabel('True label')\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"# Plotting ROC curve\n",
|
|
"fpr, tpr, thresholds = roc_curve(y_test, knn.predict_proba(X_test)[:, 1])\n",
|
|
"plt.figure(figsize=(8, 6))\n",
|
|
"plt.plot(fpr, tpr, color='blue', label='ROC curve (area = {:.2f})'.format(f1))\n",
|
|
"plt.plot([0, 1], [0, 1], color='red', linestyle='--')\n",
|
|
"plt.xlim([-0.05, 1.05])\n",
|
|
"plt.ylim([-0.05, 1.05])\n",
|
|
"plt.xlabel('False Positive Rate')\n",
|
|
"plt.ylabel('True Positive Rate')\n",
|
|
"plt.title('Receiver Operating Characteristic (ROC) Curve')\n",
|
|
"plt.legend(loc='lower right')\n",
|
|
"plt.grid()\n",
|
|
"plt.show()\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "42e3cecc",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"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.11.9"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|