Files
breast-cancer-detection/knn.ipynb
AntoninDurousseau e4abbfaf48 Use of Erwan var
2025-06-04 13:34:30 +02:00

309 lines
79 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 50,
"id": "4e6f6cb1",
"metadata": {},
"outputs": [],
"source": [
"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",
"from sklearn.preprocessing import StandardScaler\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "4dd5223b",
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"warnings.filterwarnings('ignore')"
]
},
{
"cell_type": "code",
"execution_count": 60,
"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'].map({2: 0, 1: 1}) # Map 2 to 0 and 1 to 1, 0 = pacient healthy, 1 = pacient sick\n",
" \n",
"print(\"Dataset shape:\", data.shape)\n",
"print(data.head())"
]
},
{
"cell_type": "markdown",
"id": "a1004c28",
"metadata": {},
"source": [
"# K-NN classifier "
]
},
{
"cell_type": "markdown",
"id": "082c143b",
"metadata": {},
"source": [
"### 1) No curse of dimention "
]
},
{
"cell_type": "code",
"execution_count": 61,
"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": "markdown",
"id": "1edfead5",
"metadata": {},
"source": [
"### 2) Cross validation to find the best k nearest neighbor"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "feb42adf",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The best k for k-NN is k = 23\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",
"\n",
"for k in K_list:\n",
" knn = KNeighborsClassifier(n_neighbors=k)\n",
" score = cross_val_score(knn, X, y, cv=5, scoring='accuracy') # 5-fold cross-validation\n",
" k_scores.append(score.mean())\n",
"\n",
"k_scores = np.array(k_scores)\n",
"\n",
"k_optimal = K_list[np.argmax(k_scores)]\n",
"print(\"The best k for k-NN is k =\", k_optimal)"
]
},
{
"cell_type": "markdown",
"id": "9f74eaee",
"metadata": {},
"source": [
"### 3) train-test split and rescaling of the feature "
]
},
{
"cell_type": "markdown",
"id": "5e67beb4",
"metadata": {},
"source": [
"Feature scaling is important for k-NN, as it is a distance-based algorithm and is sensitive to the scale of the features. This means that if some data are much farther from others due to unscaled features, it can damage the quality of the predictions."
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "70281897",
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # train/test split with 70% training and 30% testing\n",
"\n",
"\n",
"# Feature scaling\n",
"scaler = StandardScaler()\n",
"\n",
"X_train_scaled = pd.DataFrame(\n",
" scaler.fit_transform(X_train),\n",
" columns=X_train.columns,\n",
" index=X_train.index\n",
")\n",
"\n",
"X_test_scaled = pd.DataFrame(\n",
" scaler.transform(X_test),\n",
" columns=X_test.columns,\n",
" index=X_test.index\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "064a5aa7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.8\n",
"F1 Score: 0.798014888337469\n",
"Classification Report:\n",
" precision recall f1-score support\n",
"\n",
" 0 0.76 0.89 0.82 18\n",
" 1 0.86 0.71 0.77 17\n",
"\n",
" accuracy 0.80 35\n",
" macro avg 0.81 0.80 0.80 35\n",
"weighted avg 0.81 0.80 0.80 35\n",
"\n"
]
},
{
"data": {
"image/png": "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nDhRlSpVkre3t2JjYzVq1Cg1bNjQvn7Lli1q27atKlSoIF9fX0VGRmr79u329cHBwZKkrl27ymaz2R/Hx8fb97NixQq5u7vr3LlzDsceOnSoHnnkEfvj1NRUtWjRQh4eHgoMDFRcXBwfhYadp4er6tetpvp1q0mSgquVV/261exnxKYmrdJT7Rqrf9emqhVYQYN6tlSHlvfpvU/WleTYAIrAsBcG6+P5Hypp3nx5eXvr5MmTOnnypC5fvlzSo8EwJX4pMykpSZ6entq8ebMmT56s8ePHa+XKlZKk7t2769SpU/rqq6+0bds2NW7cWK1bt9aZM2ckScnJyZo0aZL+/ve/a9u2bapRo4beffddh/1fuHBBMTExSk1N1TfffKM6deqoQ4cOunDhgqTr4SZJc+bM0YkTJ+yPf61169by8/PTwoUL7ctycnK0YMECRUdHS5IOHjyo9u3b68knn9SuXbu0YMECpaamasiQIfm+9qysLJ0/f97hB3evxuFB2rxgtDYvGC1JmjziSW1eMFpjnu8oSfpi7S69MOljvdivjbZ+8jf169pUT7/8gTbuOFSSYwMoAu/NelcZGRl6tHWUagZWtf98+smtv9cQpZfNsiyrpA4eFRWlnJwcrV+/3r6sSZMmeuSRR9SpUyd17NhRp06dkpubm319SEiIXnnlFT377LN6+OGH9cADD+jtt9+2r2/evLkyMzPzvWk/NzdXfn5+mj9/vjp16iTp+j1mixYtUpcuXezb3Xzz/7Bhw7R79277fWcrVqzQE088oZMnT8rPz0+xsbFydnbWrFmz7PtITU1VZGSkLl68KHd39zyzxMfHa9y4cXmWu9UbKJuz6++/gQDuaGe3vP37GwG4K5w/f16Vy/sqIyNDPj4++W5X4mfM6td3/J6mqlWr6tSpU9q5c6cyMzNVvnx5+/1eXl5eSk9P18GDByVJaWlpatKkicPzb378008/aeDAgapTp458fX3l4+OjzMxMHT16tFBzRkdHKyUlRcePH5d0/Wxdx44d5efnJ0nauXOnEhMTHWZt166dcnNzlZ6efst9jh49WhkZGfafY8eOFWomAABwdynxm//LlCnj8Nhmsyk3N1eZmZmqWrWqUlJS8jznRgwVRExMjE6fPq3p06crKChIbm5uioiI0NWrVws154MPPqjatWvr448/1vPPP69FixYpMTHR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",
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"knn = KNeighborsClassifier(n_neighbors=k_optimal) # using the best k founded earlier\n",
"knn.fit(X_train_scaled, y_train)\n",
"\n",
"y_pred = knn.predict(X_test_scaled)\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",
"# Display differents performance of the model\n",
"print(\"Accuracy:\", acc)\n",
"print(\"F1 Score:\", f1)\n",
"print(\"Classification Report:\\n\", class_report)\n",
"\n",
"# Plotting 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_scaled)[:, 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()"
]
}
],
"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
}