diff --git a/data_science/parkinsons_disease/Pakinsonsmodel2.ipynb b/data_science/parkinsons_disease/Pakinsonsmodel2.ipynb new file mode 100644 index 00000000..2c13ef57 --- /dev/null +++ b/data_science/parkinsons_disease/Pakinsonsmodel2.ipynb @@ -0,0 +1,902 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "acXt4XKngePt" + }, + "outputs": [], + "source": [ + "# Importing necessary libraries\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "from sklearn.ensemble import GradientBoostingClassifier\n", + "from xgboost import XGBClassifier\n", + "from sklearn.naive_bayes import GaussianNB\n", + "from sklearn.neural_network import MLPClassifier\n", + "from sklearn.metrics import accuracy_score\n", + "from sklearn.metrics import precision_score\n", + "from sklearn.metrics import recall_score\n", + "from sklearn.metrics import f1_score\n" + ] + }, + { + "cell_type": "code", + "source": [ + "\n", + "# Load the dataset\n", + "df = pd.read_excel('/content/drive/MyDrive/Colab Notebooks/dataset/Parkinsons Dataset.xlsx')\n" + ], + "metadata": { + "id": "Dm8SnGgAgixk" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df.info()\n", + "df.describe()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 873 + }, + "id": "c0yOQDn0qJlg", + "outputId": "4cdcc109-d6d7-4746-b5e0-45a889f663d8" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "RangeIndex: 195 entries, 0 to 194\n", + "Data columns (total 24 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 name 195 non-null object \n", + " 1 MDVP:Fo(Hz) 195 non-null float64\n", + " 2 MDVP:Fhi(Hz) 195 non-null float64\n", + " 3 MDVP:Flo(Hz) 195 non-null float64\n", + " 4 MDVP:Jitter(%) 195 non-null float64\n", + " 5 MDVP:Jitter(Abs) 195 non-null float64\n", + " 6 MDVP:RAP 195 non-null float64\n", + " 7 MDVP:PPQ 195 non-null float64\n", + " 8 Jitter:DDP 195 non-null float64\n", + " 9 MDVP:Shimmer 195 non-null float64\n", + " 10 MDVP:Shimmer(dB) 195 non-null float64\n", + " 11 Shimmer:APQ3 195 non-null float64\n", + " 12 Shimmer:APQ5 195 non-null float64\n", + " 13 MDVP:APQ 195 non-null float64\n", + " 14 Shimmer:DDA 195 non-null float64\n", + " 15 NHR 195 non-null float64\n", + " 16 HNR 195 non-null float64\n", + " 17 status 195 non-null int64 \n", + " 18 RPDE 195 non-null float64\n", + " 19 DFA 195 non-null float64\n", + " 20 spread1 195 non-null float64\n", + " 21 spread2 195 non-null float64\n", + " 22 D2 195 non-null float64\n", + " 23 PPE 195 non-null float64\n", + "dtypes: float64(22), int64(1), object(1)\n", + "memory usage: 36.7+ KB\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " MDVP:Fo(Hz) MDVP:Fhi(Hz) MDVP:Flo(Hz) MDVP:Jitter(%) \\\n", + "count 195.000000 195.000000 195.000000 195.000000 \n", + "mean 154.228641 197.104918 116.324631 0.006220 \n", + "std 41.390065 91.491548 43.521413 0.004848 \n", + "min 88.333000 102.145000 65.476000 0.001680 \n", + "25% 117.572000 134.862500 84.291000 0.003460 \n", + "50% 148.790000 175.829000 104.315000 0.004940 \n", + "75% 182.769000 224.205500 140.018500 0.007365 \n", + "max 260.105000 592.030000 239.170000 0.033160 \n", + "\n", + " MDVP:Jitter(Abs) MDVP:RAP MDVP:PPQ Jitter:DDP MDVP:Shimmer \\\n", + "count 195.000000 195.000000 195.000000 195.000000 195.000000 \n", + "mean 0.000044 0.003306 0.003446 0.009920 0.029709 \n", + "std 0.000035 0.002968 0.002759 0.008903 0.018857 \n", + "min 0.000007 0.000680 0.000920 0.002040 0.009540 \n", + "25% 0.000020 0.001660 0.001860 0.004985 0.016505 \n", + "50% 0.000030 0.002500 0.002690 0.007490 0.022970 \n", + "75% 0.000060 0.003835 0.003955 0.011505 0.037885 \n", + "max 0.000260 0.021440 0.019580 0.064330 0.119080 \n", + "\n", + " MDVP:Shimmer(dB) ... Shimmer:DDA NHR HNR status \\\n", + "count 195.000000 ... 195.000000 195.000000 195.000000 195.000000 \n", + "mean 0.282251 ... 0.046993 0.024847 21.885974 0.753846 \n", + "std 0.194877 ... 0.030459 0.040418 4.425764 0.431878 \n", + "min 0.085000 ... 0.013640 0.000650 8.441000 0.000000 \n", + "25% 0.148500 ... 0.024735 0.005925 19.198000 1.000000 \n", + "50% 0.221000 ... 0.038360 0.011660 22.085000 1.000000 \n", + "75% 0.350000 ... 0.060795 0.025640 25.075500 1.000000 \n", + "max 1.302000 ... 0.169420 0.314820 33.047000 1.000000 \n", + "\n", + " RPDE DFA spread1 spread2 D2 PPE \n", + "count 195.000000 195.000000 195.000000 195.000000 195.000000 195.000000 \n", + "mean 0.498536 0.718099 -5.684397 0.226510 2.381826 0.206552 \n", + "std 0.103942 0.055336 1.090208 0.083406 0.382799 0.090119 \n", + "min 0.256570 0.574282 -7.964984 0.006274 1.423287 0.044539 \n", + "25% 0.421306 0.674758 -6.450096 0.174351 2.099125 0.137451 \n", + "50% 0.495954 0.722254 -5.720868 0.218885 2.361532 0.194052 \n", + "75% 0.587562 0.761881 -5.046192 0.279234 2.636456 0.252980 \n", + "max 0.685151 0.825288 -2.434031 0.450493 3.671155 0.527367 \n", + "\n", + "[8 rows x 23 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MDVP:Fo(Hz)MDVP:Fhi(Hz)MDVP:Flo(Hz)MDVP:Jitter(%)MDVP:Jitter(Abs)MDVP:RAPMDVP:PPQJitter:DDPMDVP:ShimmerMDVP:Shimmer(dB)...Shimmer:DDANHRHNRstatusRPDEDFAspread1spread2D2PPE
count195.000000195.000000195.000000195.000000195.000000195.000000195.000000195.000000195.000000195.000000...195.000000195.000000195.000000195.000000195.000000195.000000195.000000195.000000195.000000195.000000
mean154.228641197.104918116.3246310.0062200.0000440.0033060.0034460.0099200.0297090.282251...0.0469930.02484721.8859740.7538460.4985360.718099-5.6843970.2265102.3818260.206552
std41.39006591.49154843.5214130.0048480.0000350.0029680.0027590.0089030.0188570.194877...0.0304590.0404184.4257640.4318780.1039420.0553361.0902080.0834060.3827990.090119
min88.333000102.14500065.4760000.0016800.0000070.0006800.0009200.0020400.0095400.085000...0.0136400.0006508.4410000.0000000.2565700.574282-7.9649840.0062741.4232870.044539
25%117.572000134.86250084.2910000.0034600.0000200.0016600.0018600.0049850.0165050.148500...0.0247350.00592519.1980001.0000000.4213060.674758-6.4500960.1743512.0991250.137451
50%148.790000175.829000104.3150000.0049400.0000300.0025000.0026900.0074900.0229700.221000...0.0383600.01166022.0850001.0000000.4959540.722254-5.7208680.2188852.3615320.194052
75%182.769000224.205500140.0185000.0073650.0000600.0038350.0039550.0115050.0378850.350000...0.0607950.02564025.0755001.0000000.5875620.761881-5.0461920.2792342.6364560.252980
max260.105000592.030000239.1700000.0331600.0002600.0214400.0195800.0643300.1190801.302000...0.1694200.31482033.0470001.0000000.6851510.825288-2.4340310.4504933.6711550.527367
\n", + "

8 rows × 23 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe" + } + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "source": [ + "numeric_features = [feature for feature in df.columns if df[feature].dtype != 'O']\n", + "categorical_features = [feature for feature in df.columns if df[feature].dtype == 'O']\n", + "numeric_features\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "iHIy7dsmqRgh", + "outputId": "31af90b8-3d1a-4528-f283-6be90dad92b1" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['MDVP:Fo(Hz)',\n", + " 'MDVP:Fhi(Hz)',\n", + " 'MDVP:Flo(Hz)',\n", + " 'MDVP:Jitter(%)',\n", + " 'MDVP:Jitter(Abs)',\n", + " 'MDVP:RAP',\n", + " 'MDVP:PPQ',\n", + " 'Jitter:DDP',\n", + " 'MDVP:Shimmer',\n", + " 'MDVP:Shimmer(dB)',\n", + " 'Shimmer:APQ3',\n", + " 'Shimmer:APQ5',\n", + " 'MDVP:APQ',\n", + " 'Shimmer:DDA',\n", + " 'NHR',\n", + " 'HNR',\n", + " 'status',\n", + " 'RPDE',\n", + " 'DFA',\n", + " 'spread1',\n", + " 'spread2',\n", + " 'D2',\n", + " 'PPE']" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "source": [ + "\n", + "# Preprocessing: Drop the 'status' column and select only numeric columns for scaling\n", + "x = df.drop('status', axis=1)\n", + "x_numeric = x.select_dtypes(include=[np.number])\n", + "y = df['status'] # Target variable\n", + "\n" + ], + "metadata": { + "id": "yTz9C9j4gmu_" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Count the number of instances in each class\n", + "class_counts = y.value_counts()\n", + "\n", + "# Visualize the class distribution using a bar plot\n", + "plt.figure(figsize=(6, 6))\n", + "sns.barplot(x=class_counts.index, y=class_counts.values, palette=\"viridis\")\n", + "plt.title('Healthy vs Parkinson\\'s Disease Distribution')\n", + "plt.xlabel('Status')\n", + "plt.ylabel('Count')\n", + "plt.xticks(ticks=[0, 1], labels=['Parkinson\\'s Disease', 'Healthy'])\n", + "plt.show()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 669 + }, + "id": "rJCiq22dqlEa", + "outputId": "22a4f560-7b08-43e1-8bff-e492a2315d7c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + ":6: FutureWarning: \n", + "\n", + "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n", + "\n", + " sns.barplot(x=class_counts.index, y=class_counts.values, palette=\"viridis\")\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAIjCAYAAABI0sIEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJJ0lEQVR4nO3deVxV1f7/8fcBZJBRFEEScR5TcyjTnCXR1KtlTpmJOV1zKM0G7s2xFPWWWWaZt5taaZk5Xruac1aioaammVNqpoIjEJqIsH5/9GN/PQIOyBa01/PxOI+HZ+211/7szTmHN3uvfXQYY4wAAABs5JLfBQAAgLsfgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BA7YaPXq0HA7HTfU9ffq0zVXdHaKiouTj43Pdfk2bNlXTpk3tL+guwfHKWenSpRUVFWX7dg4fPiyHw6FZs2ZZbTf6es8rDodDo0ePvm3b+ysgcNzFZs2aJYfDoS1btmS7vGnTprr33ntvc1XS+PHjtXjx4tu+3duldOnScjgc1qN48eJq1KiRFi1alN+l3RHWr18vh8Ohw4cP3/JYUVFRTj8LHx8flS1bVo8//rgWLFigjIyMWy/4DtW0aVPruLi4uMjPz0+VKlVSjx49tGrVqjzbzv/+978C+4u7INd2N3LL7wLw1zN+/Hg9/vjj6tChQ36XYpv77rtPzz//vCTp+PHjev/99/XYY4/pvffe09///vfbWsvKlStv6/YKGg8PD33wwQeSpD/++ENHjhzRf//7Xz3++ONq2rSplixZIj8/P6v/X+l4lSxZUjExMZKk8+fP68CBA1q4cKE++eQTde7cWZ988okKFSpk9d+7d69cXG7u79T//e9/mjZt2k39Yg8PD9cff/zhtG07XKu2P/74Q25u/IrMSxxNwAb33HOPnnzySev5U089pfLly+vNN9+85cBx/vx5eXt733B/d3f3W9renc7Nzc3pZyFJr732miZMmKDo6Gj17dtX8+bNs5b9lY6Xv79/lmMzYcIEDRkyRO+++65Kly6tiRMnWss8PDxsrefy5cvKyMiQu7u7PD09bd3W9eT39u9GXFJBFp988onq1KkjLy8vBQYGqmvXrjp69KhTn2+++UadOnVSqVKl5OHhobCwMA0dOlR//PHHNcd2OBw6f/68Zs+ebZ3OvfqacGJioqKiohQQECB/f3/16tVLFy5csJY3adJENWvWzHb8SpUqKTIyMsftt23bVmXLls12Wf369VW3bl3r+apVq9SwYUMFBATIx8dHlSpV0j/+8Y9r7l9OQkJCVKVKFR06dEiStHPnTkVFRals2bLy9PRUSEiInn76aZ05c8Zpvcx5LT/99JOeeOIJFSlSRA0bNsxxO9u3b1dQUJCaNm2qlJQUSVnnJGResvj88881btw4lSxZUp6enmrRooUOHDjgNN7+/fvVsWNHhYSEyNPTUyVLllTXrl2VlJRk9bl8+bJeffVVlStXTh4eHipdurT+8Y9/KDU11Wms0qVLq23btvr222/1wAMPyNPTU2XLltVHH3103eN3I3XcrJdfflktW7bU/PnztW/fPqs9uzkcU6dOVbVq1VS4cGEVKVJEdevW1dy5c536HDt2TE8//bSCg4Pl4eGhatWq6cMPP3Tqc+nSJY0cOVJ16tSRv7+/vL291ahRI61bty5LfZ999pnq1KkjX19f+fn5qXr16nrrrbec+iQmJuq5555TWFiYPDw8VL58eU2cOPGWLhW5urrq7bffVtWqVfXOO+84HeOr53CkpaVpzJgxqlChgjw9PVW0aFE1bNjQuiQTFRWladOmSZLTpS3p/+ZpvP7665oyZYr1+vnpp5+yncOR6ZdfflFkZKS8vb0VGhqqsWPH6sr/9Dzz9b1+/Xqn9a4e81q1ZbZdfebjhx9+UOvWreXn5ycfHx+1aNFCmzZtcuqTeSn7u+++07BhwxQUFCRvb289+uijOnXq1PV/AHcxznD8BSQlJWU7ETMtLS1L27hx4zRixAh17txZffr00alTpzR16lQ1btxYP/zwgwICAiRJ8+fP14ULFzRgwAAVLVpU33//vaZOnarffvtN8+fPz7GWjz/+WH369NEDDzygfv36SZLKlSvn1Kdz584qU6aMYmJitG3bNn3wwQcqXry49ZdWjx491LdvX+3atctpDkpcXJz27dunV155Jcftd+nSRU899ZTi4uJ0//33W+1HjhzRpk2b9K9//UuStHv3brVt21Y1atTQ2LFj5eHhoQMHDui7777LcexrSUtL09GjR1W0aFFJf4aZX375Rb169VJISIh2796tGTNmaPfu3dq0aVOWibadOnVShQoVNH78eKcP1yvFxcUpMjJS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VEhIiB566CEFBwdrz549euedd9SmTRtrfsOECRO0bt061atXT3379lXVqlV19uxZbdu2TatXr7YCbNu2bbVw4UI9+uijatOmjQ4dOqTp06eratWq1pwJ6c9bjc+ePavmzZurZMmSOnLkiKZOnar77rvPOpP0wgsvaOnSpWrbtq11a/H58+f1448/6osvvtDhw4dVrFixa+5bUlKSdWwuXLhgfdPowYMH1bVrV7366qvXXL9q1apq2rSp6tSpo8DAQG3ZskVffPGF08TOOnXqSJKGDBmiyMhIubq6qmvXrtccNyeenp5asWKFevbsqXr16mn58uX68ssv9Y9//MOaeOrv769OnTpp6tSpcjgcKleunJYtW5btnJabqe21116zvpvnmWeekZubm95//32lpqZq0qRJudqfv5zbfFcMbqPM27Pi4uKyXZ7TbXELFiwwDRs2NN7e3sbb29tUrlzZDBw40Ozdu9fq89NPP5mIiAjj4+NjihUrZvr27Wt27NiR5baz7G6L/fnnn03jxo2Nl5eXkWTdZpfZ9+pbUTP349ChQ1lqnTRpkpFkxo8ff4NH5f90797dun3tamvWrDHt27c3oaGhxt3d3YSGhppu3bpluQUxO+Hh4de9VfC3334zjz76qAkICDD+/v6mU6dO5vjx41luxcvpmBiT/S2fp0+fNlWrVjUhISFm//79xpicb4u9+jbTq28b/OWXX8zTTz9typUrZzw9PU1gYKBp1qyZWb16tdN6aWlpZsyYMaZMmTKmUKFCJiwszERHR2e5PTen43J1fVe70Tqyk3krZeajcOHCpnTp0qZjx47miy++MOnp6det5/333zeNGzc2RYsWNR4eHqZcuXLmhRdeMElJSU7rJSQkmIEDB5qwsDBTqFAhExISYlq0aGFmzJhh9cnIyDDjx4834eHhxsPDw9SqVcssW7bM9OzZ04SHh1v9vvjiC9OyZUtTvHhx4+7ubkqVKmX69+9vTpw44bTN33//3URHR5vy5csbd3d3U6xYMdOgQQPz+uuvm0uXLl3z2DRp0sTp2Pj4+JgKFSqYJ5980qxcuTLbda6+Lfa1114zDzzwgAkICDBeXl6mcuXKZty4cU7bvnz5shk8eLAJCgoyDofD+jzIfL3961//yrKdnG6L9fb2NgcPHjQtW7Y0hQsXNsHBwWbUqFFZfo6nTp0yHTt2NIULFzZFihQx/fv3N7t27coyZk61GZP1tlhjjNm2bZuJjIw0Pj4+pnDhwqZZs2Zm48aNTn1y+tzN6XbdvxKHMX/hGSy447311lsaOnSoDh8+nO0dEACAgoHAgTuWMUY1a9ZU0aJFs/1qaABAwcEcDtxxzp8/r6VLl2rdunX68ccftWTJkvwuCQBwHZzhwB3n8OHDKlOmjAICAvTMM89o3Lhx+V0SAOA6CBwAAMB2fA8HAACwHYEDAADYjkmj+vPrco8fPy5fX988/RpeAADudsYY/f777woNDZWLS87nMQgcko4fP8734AMAcAuOHj16zf9MkcCh//vvl48ePcr34QMAcBOSk5MVFhZm/S7NCYFD//c/Bvr5+RE4AADIhetNSWDSKAAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGznlt8FAEB+avlZdH6XANhuZdeY/C6BMxwAAMB+BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7fI1cGzYsEHt2rVTaGioHA6HFi9enGPfv//973I4HJoyZYpT+9mzZ9W9e3f5+fkpICBAvXv3VkpKir2FAwCAm5KvgeP8+fOqWbOmpk2bds1+ixYt0qZNmxQaGpplWffu3bV7926tWrVKy5Yt04YNG9SvXz+7SgYAALnglp8bb926tVq3bn3NPseOHdPgwYP11VdfqU2bNk7L9uzZoxUrViguLk5169aVJE2dOlWPPPKIXn/99WwDCgAAuP0K9ByOjIwM9ejRQy+88IKqVauWZXlsbKwCAgKssCFJERERcnFx0ebNm3McNzU1VcnJyU4PAABgnwIdOCZOnCg3NzcNGTIk2+Xx8fEqXry4U5ubm5sCAwMVHx+f47gxMTHy9/e3HmFhYXlaNwAAcFZgA8fWrVv11ltvadasWXI4HHk6dnR0tJKSkqzH0aNH83R8AADgrMAGjm+++UYnT55UqVKl5ObmJjc3Nx05ckTPP/+8SpcuLUkKCQnRyZMnnda7fPmyzp49q5CQkBzH9vDwkJ+fn9MDAADYJ18njV5Ljx49FBER4dQWGRmpHj16qFevXpKk+vXrKzExUVu3blWdOnUkSWvXrlVGRobq1at322sGAADZy9fAkZKSogMHDljPDx06pO3btyswMFClSpVS0aJFnfoXKlRIISEhqlSpkiSpSpUqatWqlfr27avp06crLS1NgwYNUteuXblDBQCAAiRfL6ls2bJFtWrVUq1atSRJw4YNU61atTRy5MgbHmPOnDmqXLmyWrRooUceeUQNGzbUjBkz7CoZAADkQr6e4WjatKmMMTfc//Dhw1naAgMDNXfu3DysCgAA5LUCO2kUAADcPQgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7fI1cGzYsEHt2rVTaGioHA6HFi9ebC1LS0vTSy+9pOrVq8vb21uhoaF66qmndPz4cacxzp49q+7du8vPz08BAQHq3bu3UlJSbvOeAACAa8nXwHH+/HnVrFlT06ZNy7LswoUL2rZtm0aMGKFt27Zp4cKF2rt3r/72t7859evevbt2796tVatWadmyZdqwYYP69et3u3YBAADcALf83Hjr1q3VunXrbJf5+/tr1apVTm3vvPOOHnjgAf36668qVaqU9uzZoxUrViguLk5169aVJE2dOlWPPPKIXn/9dYWGhtq+DwAA4PruqDkcSUlJcjgcCggIkCTFxsYqICDAChuSFBERIRcXF23evDnHcVJTU5WcnOz0AAAA9rljAsfFixf10ksvqVu3bvLz85MkxcfHq3jx4k793NzcFBgYqPj4+BzHiomJkb+/v/UICwuztXYAAP7q7ojAkZaWps6dO8sYo/fee++Wx4uOjlZS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LVSokB544AHt2bPHaRtX1lmiRAlJyvZ0bWBgoKKiohQZGal27drprbfe0okTJ667D9kx//9LeXM6OzJs2DD16dNHERERmjBhgg4ePGgt27Fjh2bNmiUfHx/rERkZqYyMDB06dEiStHXrVrVr106lSpWSr6+vmjRpIknWpa0BAwbos88+03333acXX3xRGzdudBr/wIED8vX1tcYPDAzUxYsXneoAbkSzZs20fft2p8cHH3xgLc+L1/PNuPL97nA4FBISYr3fPT091aNHD3344YeSpG3btmnXrl05nk1B/iFw3EUyPyT279+vP/74Q7Nnz5a3t7cOHz6stm3bqkaNGlqwYIG2bt2qadOmSZLT6XYvL69sf5mWK1dOlStX1ocffug0FyMnmZcRMjkcDmsCqq+vr7Zt26ZPP/1UJUqU0MiRI1WzZs2bnvl+5TYya85pkuvMmTMVGxurBg0aaN68eapYsaI2bdp0U9uTZIWeMmXKZLt89OjR2r17t9q0aaO1a9eqatWqWrRokSQpJSVF/fv3d/oA37Fjh/bv369y5crp/PnzioyMlJ+fn+bMmaO4uDhr3cyfUevWrXXkyBENHTpUx48fV4sWLazTzikpKapTp06WXxL79u3TE088cdP7ir82b29vlS9f3ulxzz33WMvz4vV8M671mSL9eVll1apV+u233zRz5kw1b95c4eHhudx72OWu+M/b8KfMD4mrbd26VRkZGXrjjTfk4vJnxvz8889veNxixYpp4cKFatq0qTp37qzPP/88ywfAzXBzc1NERIQiIiI0atQoBQQEaO3atYqMjJS7u7u+++4768MiLS1NcXFxeu6553K9PUmqVauWatWqpejoaNWvX19z587Vgw8+eFNjZF5jjoiIyLFPxYoVVbFiRQ0dOlTdunXTzJkz9eijj6p27dr66aefsv35SNKPP/6oM2fOaMKECQoLC5MkpwmnmYKCgtSzZ0/17NlTjRo10gsvvKDXX39dtWvX1rx581S8eHH5+fnd1H4BNyuvXs9Xcnd3V3p6eq7qqV69uurWrat///vfmjt3rt55551cjQN7cYbjL6B8+fJKS0vT1KlT9csvv+jjjz/W9OnTb2qM4sWLa+3atfr555/VrVu3XH+/x7Jly/T2229r+/btOnLkiD766CNlZGSoUqVK8vb21oABA/TCCy9oxYoV+umnn9S3b19duHBBvXv3ztX2Dh06pOjoaMXGxurIkSNauXKl9u/frypVqlxzvcTERMXHx+vIkSNatWqVHn/8cc2dO1fvvfdett8V8Mcff2jQoEFav369jhw5ou+++05xcXHWdl566SVt3LhRgwYNss5CLVmyxJpkV6pUKbm7u1s/o6VLl+rVV1912sbIkSO1ZMkSHThwQLt379ayZcus8bt3765ixYqpffv2+uabb3To0CGtX79eQ4YM0W+//ZarYwfkJC9ez1crXbq0UlJStGbNGp0+fdrpcu+N6NOnjyZMmCBjjB599NFc7xvsQ+D4C6hZs6YmT56siRMn6t5779WcOXMUExNz0+OEhIRo7dq1+vHHH9W9e/dc/TUSEBCghQsXqnnz5qpSpYqmT5+uTz/9VNWqVZMkTZgwQR07dlSPHj1Uu3ZtHThwQF999ZWKFCly09uSpMKFC+vnn39Wx44dVbFiRfXr108DBw5U//79r7ler169VKJECVWuXFkDBgyQj4+Pvv/++xwvT7i6uurMmTN66qmnVLFiRXXu3FmtW7fWmDFjJP15Dfrrr7/Wvn371KhRI9WqVUsjR45UaGiopD/PXMyaNUvz589X1apVNWHCBL3++utO23B3d1d0dLRq1Kihxo0by9XVVZ999pm1nxs2bFCpUqX02GOPqUqVKurdu7cuXrzIGQ/kubx4PV+tQYMG+vvf/64uXbooKChIkyZNuqmaunXrJjc3N3Xr1k2enp653jfYh/+eHgBwxzt8+LDKlSunuLg41a5dO7/LQTYIHACAO1ZaWprOnDmj4cOH69ChQ/ruu+/yuyTkgEsqAIA71nfffacSJUooLi7upuem4fbiDAcAALAdZzgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4ACQ506dOqUBAwaoVKlS8vDwUEhIiCIjI60vZXI4HFq8ePFNj1u6dGlNmTIlb4sFcFvwv8UCyHMdO3bUpUuXNHv2bJUtW1YJCQlas2aNzpw5k9+lAcgvBgDy0Llz54wks379+myXh4eHG0nWIzw83BhjzIEDB8zf/vY3U7x4cePt7W3q1q1rVq1aZa3XpEkTp/UyP75GjRplatas6bSNN9980xrXGGPWrVtn7r//flO4cGHj7+9vGjRoYA4fPpyn+w3g2rikAiBP+fj4yMfHR4sXL1ZqamqW5XFxcZKkmTNn6sSJE9bzlJQUPfLII1qzZo1++OEHtWrVSu3atdOvv/4qSVq4cKFKliypsWPH6sSJEzpx4sQN1XP58mV16NBBTZo00c6dOxUbG6t+/frJ4XDk0R4DuBFcUgGQp9zc3DRr1iz17dtX06dPV+3atdWkSRN17dpVNWrUUFBQkCQpICBAISEh1no1a9ZUzZo1reevvvqqFi1apKVLl2rQoEEKDAyUq6urfH19nda7nuTkZCUlJalt27YqV66cJKlKlSp5tLcAbhRnOADkuY4dO+r48eNaunSpWrVqpfXr16t27dqaNWtWjuukpKRo+PDhqlKligICAuTj46M9e/ZYZzhyKzAwUFFRUYqMjFS7du301ltv3fDZEQB5h8ABwBaenp56+OGHNWLECG3cuFFRUVEaNWpUjv2HDx+uRYsWafz48frmm2+0fft2Va9eXZcuXbrmdlxcXGSu+j8o09LSnJ7PnDlTsbGxatCggebNm6eKFStq06ZNud85ADeNwAHgtqhatarOnz8vSSpUqJDS09Odln/33XeKiorSo48+qurVqyskJESHDx926uPu7p5lvaCgIMXHxzuFju3bt2fZfq1atRQdHa2NGzfq3nvv1dy5c/NmxwDcEAIHgDx15swZNW/eXJ988ol27typQ4cOaf78+Zo0aZLat28v6c/v01izZo3i4+N17tw5SVKFChW0cOFCbd++XTt27NATTzyhjIwMp7FLly6tDRs26NixYzp9+rQkqWnTpjp16pQmTZqkgwcPatq0aVq+fLm1zqFDhxQdHa3Y2FgdOXJEK1eu1P79+5nHAdxu+X2bDIC7y8WLF83LL79sateubfz9/U3hwoVNpUqVzCuvvGIuXLhgjDFm6dKlpnz58sbNzc26ffXQoUOmWbNmxsvLy4SFhZl33nnHNGnSxDz77LPW2LGxsaZGjRrGw8PDXPnx9d5775mwsDDj7e1tnnrqKTNu3Dhr3Pj4eNOhQwdTokQJ4+7ubsLDw83IkSNNenr67TokAIwxDmOuuvgJAACQx7ikAgAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADb/T9y97r+o0Mj1AAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "\n", + "# Scaling the numeric features\n", + "scaler = StandardScaler()\n", + "x_scaled = scaler.fit_transform(x_numeric)\n", + "\n", + "# Split the data into training and test sets\n", + "x_train, x_test, y_train, y_test = train_test_split(x_scaled, y, test_size=0.3, stratify=y, random_state=2)\n", + "\n", + "\n" + ], + "metadata": { + "id": "dIQB8HCYg-Ix" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "\n", + "# Define new models to evaluate\n", + "new_models = {\n", + " 'K-Nearest Neighbors': KNeighborsClassifier(),\n", + " 'Gradient Boosting': GradientBoostingClassifier(),\n", + " 'XGBoost': XGBClassifier(),\n", + " 'Naive Bayes': GaussianNB(),\n", + " 'Neural Network (MLPClassifier)': MLPClassifier(max_iter=500)\n", + "}\n", + "\n", + "# Initialize lists to store performance metrics\n", + "accuracy = []\n", + "precision = []\n", + "recall = []\n", + "f1 = []\n", + "\n", + "for name, model in new_models.items():\n", + " classifier = model.fit(x_train, y_train)\n", + " y_pred = classifier.predict(x_test)\n", + "\n", + " # Append performance metrics to corresponding lists\n", + " accuracy.append(accuracy_score(y_test, y_pred))\n", + " precision.append(precision_score(y_test, y_pred))\n", + " recall.append(recall_score(y_test, y_pred))\n", + " f1.append(f1_score(y_test, y_pred))\n", + "\n", + " # Print performance for each model\n", + " print(f\"{name}:\")\n", + " print(f\" Accuracy: {accuracy_score(y_test, y_pred):.4f}\")\n", + " print(f\" Precision: {precision_score(y_test, y_pred):.4f}\")\n", + " print(f\" Recall: {recall_score(y_test, y_pred):.4f}\")\n", + " print(f\" F1 Score: {f1_score(y_test, y_pred):.4f}\")\n", + " print(\"-\" * 40)\n", + "\n", + "# Create a DataFrame to store the results\n", + "results_new_models = pd.DataFrame({\n", + " \"Model\": list(new_models.keys()),\n", + " \"Accuracy\": [round(a, 4) for a in accuracy],\n", + " \"Precision\": [round(p, 4) for p in precision],\n", + " \"Recall\": [round(r, 4) for r in recall],\n", + " \"F1 Score\": [round(f, 4) for f in f1]\n", + "})\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0Z9ICuT2n2UI", + "outputId": "b684971a-eac0-40b7-a5de-9ee0b909ed4e" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "K-Nearest Neighbors:\n", + " Accuracy: 0.9492\n", + " Precision: 0.9362\n", + " Recall: 1.0000\n", + " F1 Score: 0.9670\n", + "----------------------------------------\n", + "Gradient Boosting:\n", + " Accuracy: 0.9153\n", + " Precision: 0.9333\n", + " Recall: 0.9545\n", + " F1 Score: 0.9438\n", + "----------------------------------------\n", + "XGBoost:\n", + " Accuracy: 0.8983\n", + " Precision: 0.9130\n", + " Recall: 0.9545\n", + " F1 Score: 0.9333\n", + "----------------------------------------\n", + "Naive Bayes:\n", + " Accuracy: 0.6949\n", + " Precision: 0.9643\n", + " Recall: 0.6136\n", + " F1 Score: 0.7500\n", + "----------------------------------------\n", + "Neural Network (MLPClassifier):\n", + " Accuracy: 0.9831\n", + " Precision: 0.9778\n", + " Recall: 1.0000\n", + " F1 Score: 0.9888\n", + "----------------------------------------\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (500) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "\n", + "# Set the Model column as the index for better readability\n", + "results_new_models.set_index('Model', inplace=True)\n", + "\n", + "# Display the results DataFrame\n", + "print(results_new_models)\n", + "\n", + "# Visualize the model comparison\n", + "results_new_models.plot(kind='bar', figsize=(12, 8), colormap='viridis')\n", + "plt.title('Model Performance Comparison')\n", + "plt.ylabel('Score')\n", + "plt.xticks(rotation=45)\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 985 + }, + "id": "eVa35CLPoDEF", + "outputId": "5a00d8a0-97db-42df-e95b-082f6b0d5a54" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " Accuracy Precision Recall F1 Score\n", + "Model \n", + "K-Nearest Neighbors 0.9492 0.9362 1.0000 0.9670\n", + "Gradient Boosting 0.9322 0.9545 0.9545 0.9545\n", + "XGBoost 0.8983 0.9130 0.9545 0.9333\n", + "Naive Bayes 0.6949 0.9643 0.6136 0.7500\n", + "Neural Network (MLPClassifier) 0.9661 0.9565 1.0000 0.9778\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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fpKk3Llzq3jx4urZs6datGjxn6PvCYWQDgAAAAAmtSlmia278FQzZsyQv7//EwFdehTSR40apVSpUmnJkiUaOnSoRowYoeTJk6tMmTLWepMmTVKfPn3UoUMH3blzR++884769OkjSUqVKpXmz5+vL774QtOmTVP58uU1aNAgtWnT5l/7ZWdnp59++kmdO3dWvnz5lDNnTo0bN07lypWz1nFyctLGjRvVo0cPVa1aVVFRUcqTJ48mTJgQp62WLVtq9+7datGixUs8U8/HYvxzkv8bLiQkRO7u7goODlby5Mlt3R0AAAAAUHh4uC5cuBDnWt+wvaFDh2rJkiU6evTof9b9t9/h8+RQm56Tvn37dtWoUUNeXl6yWCxauXLlf24TGBioQoUKWS90/yzTHQAAAAAAeFb379/X8ePHNX78eHXq1OmV7tumIT0sLEwFChR4YkrB01y4cEHVqlXT+++/r8OHD6tr165q1aqVNmzYkMg9BQAAAAC8LTp27ChfX1+VK1fulU51l0w03d1isWjFihWqVavWU+v07NlTa9as0fHjx61l9evX119//aX169c/036Y7g4AAADAbJju/vp7I6a7P689e/bI398/TlmlSpW0Z8+ep24TERGhkJCQOD8AAAAAAJjRa7W6+/Xr1+Xp6RmnzNPTUyEhIfr777/jXRJ/+PDhGjx48KvqIp6i6Po+idr+vsrDErV9AAAA4E1yMvhKoraf2z1jorb/JnutRtJfRO/evRUcHGz9uXz5sq27BAAAAABAvF6rkfR06dLpxo0bccpu3Lih5MmTP/XC8s7OznJ2dn4V3QMAAAAA4KW8ViPpfn5+CggIiFO2adMm+fn52ahHAAAAAAAkHJuG9Pv37+vw4cM6fPiwpEeXWDt8+LAuXbok6dFU9SZNmljrt2vXTufPn9eXX36pU6dOaeLEiVq8eLG6detmi+4DAAAAAJCgbDrd/cCBA3r//fett7t37y5Jatq0qWbPnq0///zTGtglKXPmzFqzZo26deum77//XhkzZtT06dNVqVKlV953AAAAAEhshdp/90r3t2DEJ690fy/qWS7h/SJ1zcCmIb1cuXL6t8u0z549O95tDh06lIi9AgAAAAA8qz7tu2nlj0slSQ6Ojkqf0UutmrVQnz595OCQOJHzzz//VMqUKRO8rhm8VgvHAQAAAADMp5R/OX09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fXXr1k09evSIt37sqJzFYpFhGAR0IBE8HtBbtmypatWq6YMPPlDx4sV1/PhxZcmSRZUrV1aOHDkUGhqqQ4cOqWbNmsqdO7cqVKhg494nDkI6bCq+dQsvXLggd3d3NW7cWAcOHND777+vPn36qGzZsurSpYt69eqlv//+W2vXrpWnp6eSJ09uvYQQYGuBgYGaNGmShgwZYh0Jt7e3V7NmzbRt2zatWrVKkuTs7Czp0ToL9vb2cnV1JZQjwcT+bS1RooRcXFwUERGhlClTqnHjxrp586ZatmypK1euyMnJSdKjReV69+6tOXPmWEfdgTfRpk2btHTpUq1YsUI//PCDypcvr/DwcOXJkydOvdjX0OOjcm/KCB1gJjExMXEus7Z//3599913OnLkiP744w+1bdtWO3fuVFRUlMLDwzV58mR17txZefLk0dKlS61tvGn4OhA28/i0s/Pnz8vR0VERERHKli2bDhw4oPfee08NGzbUggULVLx4cRUvXtx6SaCUKVNKevRt+J07d+Tv72/LhwJIkqZPn65+/fopR44cOn78uH755Rft379fkuTn56dy5cpp9OjRioqK0scff6zbt29r3bp18vHxsYZ2ICHEhonMmTPr4sWL2r59uypUqKAuXbooODhY06ZNU758+dSiRQvdvHlTISEhOnjwoAICApQ3b14b9x5IOLFr2cT++8cff8jb21vFixfX8uXL1bp1a40ZM0YtW7bU/fv3deDAAZUrV45ADiSi8PBwHT9+XIULF7ZmgZ9//lkXL17U8uXLlS1bNk2YMEGRkZG6c+eOWrRooVmzZqls2bKqVKmScufOrQ8//FDSm7FIXHzevEeE18LjizoMHDhQDRo0UJkyZfTpp59q9OjRslgsOnTokJImTaomTZpo7969ioqKkpeXl1KmTKndu3frs88+0+z/a+++42u8//+PP7JIEGrvGWpEjaioVdQIgiAxqk1pjMTWqpWoLfamsfdWsYISqzVqfBCUUCPUSGJFRfY4vz/8cj4Jbb/9tMh63v9xO9d1ncv7JNfJuZ7n/Xq/3ytX4uvra1wnUSS1LFq0CA8PD3x8fNi1axc//vgjv/32GwEBAQBUrFiRb775hjJlyuDq6krZsmX5+OOPefDgAWvXrjXeRIr8G7dv32b58uUEBQUREhJC6dKlKVeuHFFRUcZjRo0axeLFi+nU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R0dH6tWrh729vXFZnxMnTmBubm7stRERkXerUKFCeHp6YmNjw8OHD3WPIfKWJAX0zZs3c+vWrRQB287OjkePHlGvXj28vb2JjY2lTZs2xh711q1bs2/fPgX0N0g96fKHjh07RteuXVm5ciX169dn3759tGnThgULFtCjRw8Ajh49yvLly3ny5Albt27FwsJC48IkzVm9ejXLly8nf/78jBkzBltbW0JCQujXrx/BwcH07NmTbt26AS/XSo+KiiJXrlzUr18fU1NTXdMiImnA06dPee+994yryaiEVuTN++677+jXrx+lSpXiiy++oEyZMnzxxRcAtGjRgmLFirFkyRL27NmDt7c3pqambNu2jbx58xrPoYD+ZugnKMDrY9CfPn1KwYIFqV+/Ptu2bcPFxYW5c+fSo0cPfv/9d06cOEH9+vXx9PRk+/btCuiS5iTNj/DFF1/QsWNHwsLCGDt2LNevX6dQoULMmzePwoULs3TpUpYuXQpA06ZNadOmDQ0aNMDU1FRjHUVE0og8efIY/y4roIu8eVFRUZiZmVGpUiUiIiLImTMno0aNon379qxfv54+ffrw/PlzQkNDcXBwYPjw4QQHB+Pj45PiPArob4Z+igL89w01Z84cDh06RIECBTA3N2fBggV07dqVadOmGcfvnj59mmnTpvHbb79Rrlw5hRlJcwwGA1myZAFg5syZnD59mqCgILZu3YqXlxeBgYEULlzYGNTXrl37h+uf64NGRCRt0d9lkTcnNjaWzp078/TpU6ysrOjcuTNDhw4le/bsXLt2jYsXL1K+fHnWrVtHhw4d2LJlC4cPH8bMzIwWLVqwZcsWRo4cmdovI0NSqsrkkpekLFq0iClTprBjxw5y5syJwWBg8ODBeHp6Gme8jo6OZs6cOeTOnTvFxHH60JS0JKmXZfr06YwbN46NGzfy9ddfs337dnbt2sWoUaOYMGEC5cuXZ968eXTp0oVr166phFJEREQyjcjISB4/fsyjR4/IkycPuXLlol27dhgMBr755hty5crF1KlTAZg6dSqXL1+mUaNGwMuZ36tVqwZombW3QWPSBYBz586xYsUKatWqxeeffw7Axo0b+eabb2jcuDFNmzYlW7Zs+Pj4EBoayrlz5zA3N9e4E0mTDAYDsbGxtGvXjipVqjB58mTjvsWLFzN58mTs7e0ZP3485cqV48mT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QVSsWPFtvDwREZEMQSFdREQkE3FzczOWnS9YsOCt/B8vXrzA3d2dAQMGvLZPk9SJiIj8NYV0ERGRTKR58+bExsZiYmKCg4NDin02NjZkyZKF48ePU7JkSQDi4uI4c+YMgwYNAqBixYrs3LkzxfNOnjyZ4rGdnR1XrlyhbNmyb++FiIiIZFAaky4iIpKJmJmZERgYyJUrVzAzM0uxL3v27PTu3ZshQ4bwww8/cOXKFXr27ElkZCTdu3cHwMPDg+vXrzNkyBCuXbvG+vXrWblyZYrzDBs2jBMnTtCvXz8CAgK4fv06O3bs0MRxIiIif4NCuoiISCaTM2dOcubM+Yf7Jk+ejLOzM66urtjZ2XHjxg327dtH7ty5gZfl6lu3bmX79u1UrVqVhQsX4u3tneIcVapU4ccff+TXX3+lfv36VK9enVGjRlGkSJG3/tpERETSOxODwWBI7UaIiIiIiIiIiHrSRURERERERNIMhXQRERERERGRNEIhXURERERERCSNUEgXERERERERSSMU0kVERERERETSCIV0ERERERERkTRCIV1EREREREQkjVBIFxEREREREUkjFNJFRERERERE0giFdBEREREREZE0QiFdREREREREJI34fwPrUjyT2EiWAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + } + ] +} \ No newline at end of file