{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "df=pd.read_csv(\"new_pcos_dataset.csv\")\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "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", "
PCOS (Y/N)Follicle No. (R)Follicle No. (L)Skin darkening (Y/N)hair growth(Y/N)Weight gain(Y/N)Cycle length(days)AMH(ng/mL)Fast food (Y/N)Cycle(R/I)FSH/LHPRL(ng/mL)Pimples(Y/N)Age (yrs)BMI
003300052.071.002.16032645.1602819.3
105300051.530.006.17431220.0903624.9
21151300056.631.006.29545510.5213325.3
302200051.220.003.41525436.9003729.7
404300052.260.004.42222230.0902520.1
\n", "
" ], "text/plain": [ " PCOS (Y/N) Follicle No. (R) Follicle No. (L) Skin darkening (Y/N) \\\n", "0 0 3 3 0 \n", "1 0 5 3 0 \n", "2 1 15 13 0 \n", "3 0 2 2 0 \n", "4 0 4 3 0 \n", "\n", " hair growth(Y/N) Weight gain(Y/N) Cycle length(days) AMH(ng/mL) \\\n", "0 0 0 5 2.07 \n", "1 0 0 5 1.53 \n", "2 0 0 5 6.63 \n", "3 0 0 5 1.22 \n", "4 0 0 5 2.26 \n", "\n", " Fast food (Y/N) Cycle(R/I) FSH/LH PRL(ng/mL) Pimples(Y/N) Age (yrs) \\\n", "0 1.0 0 2.160326 45.16 0 28 \n", "1 0.0 0 6.174312 20.09 0 36 \n", "2 1.0 0 6.295455 10.52 1 33 \n", "3 0.0 0 3.415254 36.90 0 37 \n", "4 0.0 0 4.422222 30.09 0 25 \n", "\n", " BMI \n", "0 19.3 \n", "1 24.9 \n", "2 25.3 \n", "3 29.7 \n", "4 20.1 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "X=df.drop([\"PCOS (Y/N)\"],axis=1)\n", "y = df[[\"PCOS (Y/N)\"]]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(540, 14)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.shape\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(540, 1)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y.shape\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from imblearn.combine import SMOTEENN\n", "\n", "resample = SMOTEENN(sampling_strategy=1/1, random_state =0)\n", "X, y = resample.fit_resample(X, y)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(527, 14)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.shape\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(527, 1)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y.shape\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", "[notice] A new release of pip is available: 24.3.1 -> 25.0.1\n", "[notice] To update, run: python.exe -m pip install --upgrade pip\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Note: you may need to restart the kernel to use updated packages.Requirement already satisfied: yellowbrick in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (1.5)\n", "Requirement already satisfied: matplotlib!=3.0.0,>=2.0.2 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from yellowbrick) (3.10.0)\n", "Requirement already satisfied: scipy>=1.0.0 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from yellowbrick) (1.15.1)\n", "Requirement already satisfied: scikit-learn>=1.0.0 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from yellowbrick) (1.6.1)\n", "Requirement already satisfied: numpy>=1.16.0 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from yellowbrick) (2.2.2)\n", "Requirement already satisfied: cycler>=0.10.0 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from yellowbrick) (0.12.1)\n", "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from matplotlib!=3.0.0,>=2.0.2->yellowbrick) (1.3.1)\n", "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from matplotlib!=3.0.0,>=2.0.2->yellowbrick) (4.55.4)\n", "Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from matplotlib!=3.0.0,>=2.0.2->yellowbrick) (1.4.8)\n", "Requirement already satisfied: packaging>=20.0 in c:\\users\\user\\appdata\\roaming\\python\\python313\\site-packages (from matplotlib!=3.0.0,>=2.0.2->yellowbrick) (24.2)\n", "Requirement already satisfied: pillow>=8 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from matplotlib!=3.0.0,>=2.0.2->yellowbrick) (11.1.0)\n", "Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from matplotlib!=3.0.0,>=2.0.2->yellowbrick) (3.2.1)\n", "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\user\\appdata\\roaming\\python\\python313\\site-packages (from matplotlib!=3.0.0,>=2.0.2->yellowbrick) (2.9.0.post0)\n", "Requirement already satisfied: joblib>=1.2.0 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from scikit-learn>=1.0.0->yellowbrick) (1.4.2)\n", "Requirement already satisfied: threadpoolctl>=3.1.0 in c:\\users\\user\\appdata\\local\\programs\\python\\python313\\lib\\site-packages (from scikit-learn>=1.0.0->yellowbrick) (3.5.0)\n", "Requirement already satisfied: six>=1.5 in c:\\users\\user\\appdata\\roaming\\python\\python313\\site-packages (from python-dateutil>=2.7->matplotlib!=3.0.0,>=2.0.2->yellowbrick) (1.17.0)\n", "\n" ] } ], "source": [ "import sys\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "plt.style.use(\"ggplot\")\n", "plt.rcParams['figure.figsize'] = (12, 8)\n", "import seaborn as sns\n", "sns.set(style='whitegrid', color_codes=True)\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "from sklearn.feature_selection import chi2,f_classif, mutual_info_classif, SelectKBest\n", "from sklearn.model_selection import train_test_split, cross_val_score\n", "from sklearn.model_selection import RepeatedStratifiedKFold\n", "from sklearn.model_selection import StratifiedKFold\n", "from sklearn.metrics import confusion_matrix\n", "\n", "%pip install yellowbrick\n", "from yellowbrick.model_selection import CVScores" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from yellowbrick.classifier import confusion_matrix\n", "\n", "def vis_conf(model, X_test, y_test):\n", " plt.figure(figsize=(6, 5))\n", " visualizer = confusion_matrix(\n", " model,\n", " X_test, y_test,\n", " is_fitted=True,\n", " classes=['Negative', 'Positive']\n", " )\n", " visualizer.show();" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def test_results(model, X_test, y_test):\n", " from sklearn.metrics import confusion_matrix\n", " y_pred = model.predict(X_test)\n", " tn, fp, fn, tp = confusion_matrix(y_test, y_pred).ravel()\n", "\n", " accuracy = (tp + tn)/(tp + fp + tn + fn)\n", " print(\"Accuracy: \", '{:.2f}'.format(accuracy * 100))\n", " print(\"True Negative:\", tn)\n", " print(\"True Positve:\", tp)\n", " print(\"False Positive:\", fp)\n", " print(\"False Negative:\", fn)\n", " print()\n", " print(\"-------------------------------------------------------\")\n", " print(\"Negative Class Results\")\n", " precision = (tp / (tp + fp)) \n", " recall = (tp / (tp + fn)) \n", " f1_score = (2 * (precision * recall) / (precision + recall)) \n", " print(\"Precision (N): \", '{:.2f}'.format(precision * 100))\n", " print(\"Recall (N): \", '{:.2f}'.format(recall * 100))\n", " print(\"F1 Score (N):\" , '{:.2f}'.format(f1_score * 100))\n", " print()\n", " print(\"-------------------------------------------------------\")\n", " print(\"Positive Class Results\")\n", " precision = (tn / (tn + fn))\n", " recall = (tn / (tn + fp))\n", " f1_score = (2 * (precision * recall) / (precision + recall))\n", " print(\"Precision (P): \", '{:.2f}'.format(precision * 100))\n", " print(\"Recall (P): \", '{:.2f}'.format(recall * 100))\n", " print(\"F1 Score (P):\" , '{:.2f}'.format(f1_score * 100))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0, stratify= y)\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scaler has been saved as scaler.pkl\n" ] } ], "source": [ "from sklearn.preprocessing import MinMaxScaler\n", "import pandas as pd\n", "import joblib\n", "\n", "scaler = MinMaxScaler().fit(X_train)\n", "\n", "X_train = scaler.transform(X_train)\n", "X_train = pd.DataFrame(X_train)\n", "\n", "X_test = scaler.transform(X_test)\n", "X_test = pd.DataFrame(X_test)\n", "\n", "\n", "# Setting Column Names from dataset\n", "X_train.columns = X.columns\n", "X_test.columns = X.columns\n", "\n", "scaler_filename = \"scaler.pkl\"\n", "joblib.dump(scaler, scaler_filename)\n", "\n", "print(f\"Scaler has been saved as {scaler_filename}\")\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "from sklearn.svm import SVC\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "svm = SVC(kernel=\"linear\", gamma='auto', probability= True, random_state=0)\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "param_grid = {\n", " 'C': [0.1, 1, 10, 100], # Regularization parameter\n", " 'gamma': ['scale', 'auto', 0.1, 1], # Kernel coefficient\n", " 'kernel': ['linear', 'rbf', 'poly'] # Kernel types\n", "}" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import GridSearchCV\n", "\n", "grid_search = GridSearchCV(estimator=SVC(probability=True, random_state=0), \n", " param_grid=param_grid, \n", " cv=5, \n", " verbose=2, \n", " n_jobs=-1, \n", " scoring='f1_weighted')" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 5 folds for each of 48 candidates, totalling 240 fits\n" ] }, { "data": { "text/html": [ "
GridSearchCV(cv=5, estimator=SVC(probability=True, random_state=0), n_jobs=-1,\n",
       "             param_grid={'C': [0.1, 1, 10, 100],\n",
       "                         'gamma': ['scale', 'auto', 0.1, 1],\n",
       "                         'kernel': ['linear', 'rbf', 'poly']},\n",
       "             scoring='f1_weighted', verbose=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "GridSearchCV(cv=5, estimator=SVC(probability=True, random_state=0), n_jobs=-1,\n", " param_grid={'C': [0.1, 1, 10, 100],\n", " 'gamma': ['scale', 'auto', 0.1, 1],\n", " 'kernel': ['linear', 'rbf', 'poly']},\n", " scoring='f1_weighted', verbose=2)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid_search.fit(X_train, y_train)\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best Hyperparameters from GridSearchCV: {'C': 100, 'gamma': 'scale', 'kernel': 'linear'}\n" ] } ], "source": [ "print(\"Best Hyperparameters from GridSearchCV:\", grid_search.best_params_)\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "best_svm = grid_search.best_estimator_\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 94.34\n", "True Negative: 48\n", "True Positve: 52\n", "False Positive: 3\n", "False Negative: 3\n", "\n", "-------------------------------------------------------\n", "Negative Class Results\n", "Precision (N): 94.55\n", "Recall (N): 94.55\n", "F1 Score (N): 94.55\n", "\n", "-------------------------------------------------------\n", "Positive Class Results\n", "Precision (P): 94.12\n", "Recall (P): 94.12\n", "F1 Score (P): 94.12\n" ] } ], "source": [ "test_results(best_svm, X_test, y_test)\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from yellowbrick.classifier import confusion_matrix as viz_conf\n", "\n", "# Confusion Matrix Visualization\n", "def vis_conf(model, X_test, y_test):\n", " plt.figure(figsize=(6, 5))\n", " visualizer = viz_conf(\n", " model,\n", " X_test, y_test,\n", " is_fitted=True,\n", " classes=['Negative', 'Positive']\n", " )\n", " visualizer.show()\n", "\n", "vis_conf(best_svm, X_test, y_test)\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArAAAAH7CAYAAAA0M6yEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUnJJREFUeJzt3QeYE1XbxvFnYem9Y3sBRQQRkGYDK0UsSBNFUbBgexXsBXilWBGxo2JDQbCACioiCiKiKKAoTYo0KdKbIG0XNt91H7+JSXYXdxd2M7P7/13XQjKZJE8myeSeM2fOJIRCoZABAAAAAZEv3gUAAAAAmUGABQAAQKAQYAEAABAoBFgAAAAECgEWAAAAgUKABQAAQKAQYAEAABAoBFgAAAAECgEWALIJ54kBgOxBgAXykHnz5tm9995r55xzjtWtW9eaN29uDz74oK1evdr86tprr7VTTjnFkpKS0p2ndevW1rlz5ww93nnnnWcPPPCAu7xmzRo74YQT7KOPPsrwfTJq1qxZduONN4avZ/S5Dic9V6dOnaxBgwZWr149u+iii+y5556zv/76y4Ju/fr17j2vU6eOnX766bZnz57D/hx//PGH9e7d284++2w76aST7LTTTrObb77ZZs6cGZ7n5Zdfdu/r3Llz032chx9+2OrXrx+13Hfs2GGDBw92n13dptfQtWtXmzx58mF/HUBuRIAF8oiRI0e6MLNlyxa7++677bXXXnMBSz/Gl156qS1atMj8qEOHDvbnn3/a1KlT07z9119/td9++806duyY6ceuWLGivf/++y7QH26jR4+2ZcuW5chzpUXhqE+fPi78P/PMMy5otWnTxn0OrrnmGktOTrYgGzZsmM2ePdueeOIJ91qLFClyWB9/06ZNdvnll7vvxV133WVDhw61fv36ueWmoPnll1+6+dq1a2f58uWzTz/9NM3H0YbXuHHjrFWrVla8eHE3TZ+Ltm3b2gcffODu/+KLL7qQW7p0abvlllvspZdeOqyvBciNEuNdAIDsp9bARx991LVYqUXJc+qpp7pWWP2Y9urVK0dbBzOqRYsWVqpUKfvkk09crbHGjBnjgsH555+f6ccuWLCgnXzyyYepUv88l0KTNlCuv/56u/POO8PTzzjjDDv22GPt1ltvtUmTJtkFF1xgQbV9+3a3UXDhhRdmy+OPGjXKtZJOmDAhHDy9z6M2ltSS3bJlS6tcubI1bdrUxo8f71rp8+fPH/U433zzjatVG4miAHzHHXdYgQIF7J133rFy5cqF5/X2iOix1epfs2bNbHltQG5ACyyQB7zxxhtWokQJ15IUq2zZsu6Ht1mzZrZ79243TT+ejz32mGtpUlcDL/Ru3LjRevbs6Xaparp+lL/66quox5s2bZpddtllbrdo48aNXYtSZEvkqlWr3G5YhWft1lYrl37k01OoUCG7+OKLbcqUKal2fSsMfPbZZ27XuFrgtm7dav3797dzzz3X7fJV66PCmnbfpyWt3fpqcVO3BdWvx1FwjvVvz6PlqWCtXdDe46f1XL///rv16NHDmjRp4sLt1Vdf7TY2Yuv7/PPP3XyqSc/1v//9L/xepUXLae/evZaSkpLqNr13CrXHHHNM1PxqATzzzDNdHWr11vL2HDhwwLXcane33ne1Ig8aNMj27dsXnkevWZ+Xvn37ui4LCpa6n2p49dVXXfDTstKGxttvvx1VU2Y/E/p8ajmuXbvWLZ8XXnghw59Pza8W2/bt27t5dDktmzdvtoSEBPcaIimgag+GavRoeWn+H374IdXj6HOgjYaGDRu663pd2mNw++23R4VXj97nq666yvbv35/u6wfw90EGAHKxlJSUUJ06dUK33357hu9z7rnnhk488cTQk08+Gfr2229DP//8c2jTpk2hM888M9S8efPQmDFjQlOmTAn16NEjdMIJJ4Q+/vhjd79Vq1aF6tatG+rfv3/ohx9+CH3xxReh888/P3TeeeeFDhw44P5atWoV6tKli7v/d999F7rxxhtDtWrVCv3+++/p1jN//vxQjRo1Qh988EHU9EmTJrnpc+fOda/z0ksvDbVo0SI0bty40PTp00PDhg0L1a9fP3TddddFvbb777/fXV69erW7/4cffuiur1+/PtSwYcNQhw4dQhMnTnSvU69Zy8K7T0aeZ+XKlaEbbrgh1KRJk9Avv/wS2rJlS6rnWrJkibtPu3btQuPHj3fPd/XVV4dq164dmjFjRlR9jRs3Dg0YMCD0/fffh4YMGeKW+aBBgw76Hnbs2NEt1/vuu889tmpIy/79+928eo633347NG3atNA999zjXvOPP/7o5unVq5er69lnn3Xv2auvvhqqV6+ee71aHqLlo/vodatOvTfy4IMPuvs+//zz7rP09NNPh2rW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T7rzrlq1ym655RZ3kFXr1q1typQpUbfrNu898/6+/vrrVI/z+uuv23nnnWfZjQALAADiokCBAjZ58uRU0ydNmnRYdjPnZV988YUNHjzYHnroIRs2bJjNmTPHnnzyyTTn3bdvn3Xr1s0KFSrkNh6uv/56u/POO23u3LnheZYtW+bu/91334X/mjRpEvU4q1evds+ZE3wRYJOSkuziiy+2GTNmpDvPggULrGPHjlavXj3r0KGDzZ8/P0drBAAAh5da+2IDrA7u+eWXX9yR6si64cOHW9euXe3cc8+1unXrWv/+/e3DDz9MsxVWLakam/Xhhx+2448/3tq2bWuXXHKJa8H1ctqaNWusTp06VqFChfBf7Jixffv2tVq1auWNAKvUf9ddd9mSJUvSnWf37t124403ug/6Rx995JrCb7rpJjcdAAAEU7NmzWzmzJlRR6Rr17V+74sVKxY173vvved2TSsDXH311bZ48eLwbRs2bLAePXrYaaedZqeeeqpr6Jo1a5a7TcFLu7u//PJLa968uQthyhDbt29Ps6YdO3ZY9+7dXQ2NGze2e+65J6q+N998M1yHWirV6igpKSlu97lekwJjbI0K5C+//LKdccYZdvPNN7tpP/30k7Vv397Nr932ajVNj54zdhf+CSecYA888ECaY7rOmzfPvQbPySefbMnJybZo0aJU8+s1HHvssVaiRInwND327Nmz3eXly5e7FvFjjjkm3fo0FrHC8aWXXmq5PsAuXbrULrvsMtfv4mDGjx/vmrXvu+8+O+6446x3797ugz1hwoQcqxUAABxeNWrUsEqVKtnUqVPD0yZOnOiCZiS10mrX9IMPPmhjxoyxhg0buoHw//zzT3e7QqZC2zvvvON2get0pf369Yt6jCFDhtjTTz9tI0aMcOFOQTQtzz//vG3atMk9jloxFfheeumlcIhWHXo+1aEscvvtt7vbXnzxRRs6dKjra6rbjjrqKLdbPrKxTa9z5MiR7v56DgVpBdhPP/3UzaswqlCblg8++CBq9/13//+nTJRWCFcDYcWKFcPTdPrW0qVLu3GDY5UvX97VEwqFwtM0n3fGLAVYnQZWOaxp06YupH7zzTfhebdu3WqDBg1y3RVyqutHXAOstrq0pfT+++8fdD7129CH1Vso+r9BgwbhLQMAABBt3Y7d9vOaLVF/K7bsdLftTT6Q6jb9eRZv/DPVbVt373O3bd61z35ZszXqtiWbdmS5TrVYet0ItKt62rRpbloktWwq7Gl3eNWqVe2OO+5wAfGTTz5xoUuBV+FWrYj6u+KKK1wjWSS10KqlU10R1dqpEJve6U4VTI8++mi3O/y5555zLbqivHLNNdfYhRde6Oro06ePyzE6g5WCscKsaldjm3bHa9B+1ejR4+h0rdWrV3dBVq2xV111lVWpUsXatGljl19+ueuvmpayZctG7b6v8P9/ka2mHtUjsbv4dV3LONZZZ51lO3fudCFft2vZKDCrxdYLsHpMhVe9F2effbY7qMtbho899pi1a9fOdT/IKXE9leyVV16Zofm0VaA3O1K5cuUO2u0gLfqQx7vbgdf35GBHAsaLn2vze33Uljvr83Ntfq+P2jImX77U7UgKEEWLFnX/x96u3dSxFCwUTNQCGWnItMX2yKTo40WuqF/Vhl1xhq3cutMaPzM+9XMP/Pt3+dp3p9mMVf8EWnmr0xl2Rf0qNubXP+zucdENSC1qHGGfdTs3Q6859vUolCr4qcVQ4VUhSC2F+s3W7Xpd3gFETz311D+1JiW5YKV5tDf3888/d31nNe/ChQvD9/WWmXZ/e8tIy1fhLHaZiQLlbbfdZqeffrrrknD++efbRRdd5OZdsWKFC7Xe/cqUKeNaUzdv3uy6JJx00knuNjW0KbzWrl3bBWmvBoVu73WpTvU9VVcEr+VTpwVWME6rLoXutEZsaN26darWZrW2ep+NyMfSMtMe7djH1/JWC6paj9944w1XZ+fOnV0LtObVxoMym3fCDL1HOhZJgV6tr2pQVB9bb3nr9aT1GiLfd9WSVibTfTPSihvXAJtRWslkdCviYPRh1YfaD37//XfzKz/X5vf6qC131ufn2vxeH7WlTyHqyTlb7df1f+8GT21F1LXalUvZvfXKpvrRX7lypWvV81rdPF3qH2Mtq1eImla6SEE3X/lC+WzqzakDp/cYL7drZKt3Jtm+/f+EkKNKFbUlW3ZZ46qVbFSXs6LuV7ZYIfebnFbAPhjdR30zZfr06a6f6jnnnOPq0GMp0Omy/r/77rvtlFNOibq/dmt7x8moBbFly5buyHj93itY6r4KxqLH816fHk8BK3aZiepRGFZfXO2i14FJ2l3+6KOPulCqmmPv5wVQ3aa/DXsO2J7kA7ZjT5IV3LXXFm/6u+V76/58bhnK9t177awWrazzNddb+cL5wstO4TOtutQSrLpjFS9ePNX8hQsXdkFVgffII48Mv2aFbJ0FK63HV0uyRn9QGFcjoVpgjzjiiPC8erzI+/3nP/9xGxDq/qDTwnojEmi5avlrz7mGQdMe81h6T7QxkF7Ijc18gQ2wWmixYVXX9QZldriO2JbceIRxrTS1hVWkSBHzEz/X5vf6qC131ufn2vxeH7X9O7Wu/vrFCvtpdXRL58FUa9swVUhUqNIPfuxvYtXCha1qdH4N06ynlYg+SCpSnaOLWMFNO21XUnRg0vVCifmtStniUdOLFUx0v9WRfSgzQnUrgGmXtFpfv/32W7drWq9Fy0dhTpcV0NXSpz6zHrUWquuAWlZ//vlnFzbVIqpwpAO+RTXpz7vsLSM9rh4/rRyhXfh6Ho18pD8dh6N+pppXnxkFL7XKigKhWmdHjRrlQp8aydRFYc+Onfbn7r22ZPFCq1W/UXg5quuGd7niUcfYkl/nW9nKR9rxFUq4Zad+uco3avGMpa4RmXHSSSe5VlLt9hf1rdXrVjeK2Net1uBHHnnE9eNV1wm1gH7//feuBVrzallrmkK8Ry3LaolV393//ve/4ekKwepOoREM1L85rWWs90KvJ/L9jHzcjAhEgNUC0BZBJF2P7JycEVr42uL1A600/VJLkGrze33Uljvr83Ntfq+P2g6vtMKAN01B1m/dITJyH9WtINqzZ08XRtUf1PvN9m6/7rrrXIhUkFWLnnZd64j9yLCrA7sVhNWNQEFM1MLn1eU9lnfZ280fa+PGjTZ69Gh7/PHH3a51HVSmEQQ0r0YW0HQdoa9+rs8884wLfGqNvPbaa90BXjqAbH+xsjZqxDBLTkqy086J7s/raX5Je/tizGgb+drL1u2qTq4/6bPPPuv6kx6O97Jz586uj65qVV5Sn1x1tdAGgxe+9TzqQ6v6FWLVB1bzjBs3zm0UqFuA5lG/Xo0YpUCrLg9qddXtekw9dmQe0wFhCsoHC9zexkNa37+MHgQWiACrrZnXXnst3C9C/2vBecNQAACA4FIroXZxx44+4NFBU2q40ggB+l97UzUklVpERX1AFVrVR1YBWC2GCsQaQ14HOmWG+uOqO4LCsbonaCgt7wQAOtBKQ3Yp2GloLXVpUE2ikK1pOphsx86ddvyJdex/Tw22kqXLpPk8FSodYfc8/KS9/8bLNva9Ea6xTqMQaPzVw+Giiy5yB6QpxKpVV90r7r333vDtGipMfV0HDBjgwqR292sUAR1cppZVHazldT/QfdWVQstc3RK82xXe4yUhlNn2/myiLQR1FlYfDO/ALW0VaKHqA9GiRQv3ZnTq1MkNY6EtLfWVyejWs3eknMZ/iyd9GbSLQZ3A/bbl7+fa/F4fteXO+vxcm9/ro7aMOfXZ8RnuQtDomHI2444LU033xvWsWbPmYa1t4YY/U3UhSE+xgolWq9LfB/jEk9evVdkhni3SLLuDO9hnNqN5Le4nMjjY1pj6nYiau1955RU3KLHGS9OwWq+++mrcVzwAAADIeb7pQhB5toq0rqvTsQYGBgAAQN7m2xZYAAAAIC0EWAAAAAQKARYAgIDzyfHYQI59XgmwAAAEmAbQX7NmTbzLADJMn1d9bnPFQVx5hQbv1egJWRnwOa/z87Lzc21+x7JDTsttnzmNc6qTMujUnxroX68to4PBH8yKLX/ZnuSMDQVVpECiJWyLPjtXPOgsZToTl870FM/3l2WXdqurhrDTmcx0sofMjs8biwCbja57b1qmznE9tNPf5xFGxpddPJYb72vWsezgr89d7vnMaehJnSJXg+yndZ77rOg1/hf7df32DM1bu3Jpe+/qMy3eNGC/ApLOApXZ080fTiy71LRRpVZXndXscJzCmQCbjbTCzMw5rhGMZefn2vyOZYd4yCufO4UC78xUh0OhCsstZW/GgkyhCuUO+4kUskItfBqQv0aNGnEdK55ll/1yx/4TAAAA5BkEWAAAAAQKARYAAACBQoAFAABAoOSpg7gOpITs5zXRHfnLFClo1cqVsL3JB2zBhtRHDDY4+u9xyhZv/NN2JUUPiVG1bHErW7SQbfprr63evivqthKFCmSqNj22V9tRpYpapRJFbNvufbZi61+phtuoVamUu/zLmq0WsujBgHWb5lm59S/bsntf1G16TD32zr3JtmTzjqjbCuTPZ8eVKhQ+4CF/wT1Rtx9fvqSVKFzA/vhzt23YGX1buaKFrErZ4m7IkIUboo/0TbAEq390WXdZt8UOK1KtbHErU7SQe0w9duTyyKglm3bYzn3JUdOOKV3MKhQvbFt377PfY5ZhsYKJdkLFv5dh7OdBTqxU2goXyG8rtuy0bXuSom47omSRLL+vNSqUtOKFCtia7bts41/RRwmXL1bY/lOmmO1O2m+LNkYvw3wJCXbyUX8vwwXrt9ve/Qeibj+2XAkrXaSgrd+xx9bu+GcZiqZXLpLfkg+EbPbabVa4cPR7d/KRZS1fvgT7bdMO+ytmGf6ndDErX7ywbf5rr62K+Xzrdej1pKTocbemet0nVS5tBRPz2/ItO217xDLMzPuqZRH7/tSsWMqKFky0Vdt22eZd0cuwYvHCdnTpYu516PVESsyXz+oeWcZd1pHB+2KWYfXyJaxk4YK2bsduW7fjn2Wko7k3/5VktXQ5G9YRx1coaQdSUmzO2m2pHrfOEWXc93LZ5p32597oz2F4HbEnyRZt3WP7It7b7FxHqCaZt26bJR9IOeg6Qstuxf/XdlTZlMO+jpBShQvaceVLuFpUU6x6R5ax/PnyufcuM9/XYoe4jjiiZFHbsTfJlm7eGXVbocT87ohzmbt2m+1PScnUd0KyYx2h25P2H7D5MUfNZ6a2yHXdoawj5MiSRa1yySJuum6PVDgxv534/8tw9h9bLSVmQPz/FP/7t3f19t22a2v0+q5iNqwj0ssRmX1fs20dsTvjOcL7zlZNPmA6hCu71xHp5YikAylWMP+/t6/mqQC7Y1+ynfvM+KhpVzaoZm93bmpr/txljWNukwNPXe3+v+697236ys1Rtw27sold1fBYGz17pXUfMzPqthY1jshUbVpxe88/6JKGdufZJ9qkJeut0/CpUfPVP6qs/XTXRe7yGc9/7t7oSHPvbe1WkI9MnGdDZy6Nuu3+82rbYxc1sFlrtlizlydG3aYP5KJ7LnCX2789zdbGfEG/uqWFnVO9sr343SJ7YvKvUbddd0p1e+3y0235lr9SLUN9CPcM7OwuXz3yO/vlj+gV2XtdzrKO9arYOz+vsHs+mWVZ0f2jmTbxt3VR015od4r9t+kJNn7hH9b1nWlRt51WpbxN6/H3a03rPV/cs41VL1/S+kyY4+qK1Kdl3Sy/r991b2WnV61gz3yz0J6dujBqvlvOqGGDO5zqfphia9JKbPtjndzly4dPtQUxAWDMtefYJScdY2/9uNR6j58ddVuHuv+xtzo2tq379lvrlyenqm/3E1daoXz57ebR0+2bZRuibnul42nW7bTjbez81XbT6OlRt519XCWb/N+WlpySkuYyXPlge/dD8cC4n+3DuassKxZt3JHqsX+880IXGAdOnm8vf/9b1G13nFXLnmrTyOat225NX5gQdVv5YoVsw0OXucvthk6xZTE/iuNvaGbn1zzSXv1hiT305dyo21pVLWXNG1u2rCMm3NTc/dCl9bjr+3d0G2F3ffyTjVsQPUi9t46YsmyjdZmgz+iKHFlHrOrTwV2+6LXJqcJk+uuIFdm2jrj4xKPt4+vPdUEnrWW47dHLXeiI3QD7t+/roa4j+p5fz374fbNd+NpXUbcdV66E/darrbvcYshE27wrOhxkRHasI0Z1PdttVKf1WrOyrjvUdcSjF55sDzSrY1OXbbB2b06Juu3ESqVs3n2XuMvnvPhlqsaLb285z9QU88y3i+21mctzZB3xbzkiI7JrHTEpCzliZvXqVq5UiRxcR0TnCN1PG67/JiGUR84/N2/ePNcCm1LuqBxrgb1q5HcZHrpFW0PDr2wS9xbYhQsXWkqZIy1/wYJxbYHt8s60VI+VlkbHlLMRnZvmaAts26FTsvS+xrMFdu78BZZS9ohUY/vldAtsRt9X74dKATDuLbB/rLLmjetZvgKFfNcC+8eW7Tbl5/lu8HrvvfVVC+yKFa62o8qWimsLbL0nP03Vuniw72uxHGyBzcx3Quu7r//bMsdaYDNTW+S6Lt4tsCuXLbHiR1SxXSnRJ3OomIMtsJl9X8d1O88fLbArVlirU+q5ABuvFtgFv/7qNmzr1Klz0OWWpwKs/NsCOZxOfXZ8hoOOPsAz7rjQ4j0GnAJsrVq14j4GXEaXXTyWG+9r1rHs8k59fqqN9Unuq83vnzuWXfbnNQ7iQq49vSJwqPhOZB3LDvHA5y7vyFN9YPEPTukJBP874Zcf6yAuOwQfn7u8jQCbR+WVUysCueU74ecfa78vO+ROfO7yNgIsAAQAP9YA8A86iQAAACBQCLAAAAAIFAIsAAAAAoUACwAAgEAhwAIAACBQCLAAAAAIFAIsAAAAAoUACwAAgEAhwAIAACBQCLAAAAAIFAIsAAAAAoUACwAAgEAhwAIAACBQCLAAAAAIFAIsAAAAAoUACwAAgEAhwAIAACBQCLAAAAAIFAIsAAAAAoUACwAAgEAhwAK5XL58+axo0aLufwAAcoPEeBcA4PC57r1p9uv6P9O5dUXUtdqVS9nQTk1ypC4AAA4nAiyQiyi8/rR6S7zLAAAgW7FPEQAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAMjj8uXLZ0WLFnX/BwGnkgUAAMhDrntvmjv1eNpWhC/VrlzKhnZqYn5EgAUAAMhDfl3/p/20eosFWTDaiQEAAID/R4AFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAEChxDbD79u2zXr16WaNGjaxp06Y2dOjQdOedOHGiXXDBBVa/fn274oor7Ndff83RWgEAAOAPcQ2wAwcOtPnz59uwYcOsb9++NnjwYJswYUKq+ZYsWWJ333233XTTTfbxxx9brVq13OU9e/bEpW4AAADkwQC7e/duGz16tPXu3dtq165tLVq0sG7dutnIkSNTzTtt2jSrXr26tW3b1v7zn//YXXfdZZs2bbKlS5fGpXYAAADkwQC7aNEi279/v+sS4GnYsKHNmTPHUlJSouYtXbq0C6uzZs1yt3300UdWvHhxF2YBAACQtyTG64nVglqmTBkrWLBgeFr58uVdv9jt27db2bJlw9MvvPBCmzx5sl155ZWWP39+y5cvn73yyitWqlSpTD1nKBRyLb85QTVm1t69e1OF97xWW1bq83Ntwvvq//r8XJvf6/NzbcL6JPfV5vf6/Fyb378TXlZLSEjwb4BV/9XI8Cre9aSkpKjp27Ztc4G3T58+Vq9ePXv33XetZ8+eNmbMGCtXrlyGnzM5OdkWLlxoOaFo0aKZvs+KFStyJGD7ubas1Ofn2oT31f/1+bk2v9fn59qE9Unuq83v9fm5Nr9/Jzyx+dBXAbZQoUKpgqp3vXDhwlHTBw0aZDVq1LDOnTu76w8//LAbkeDDDz+0G2+8McPPWaBAAdeXNue2cFZk6j7VqlXLwa1Df9aWlfr8XJvwvvq/Pj/X5vf6/FybsD7JfbX5vT4/1+b374Rk9PimuAXYSpUquZZV9YNNTPy7DLWyKryWLFkyal4NmXX11VdHLfyaNWva2rVrM/WcapLOypZRTokN7n5CbbmzPj/X5vf6/Fyb3+ujttxZn59r83t91PaPjHQfiOtBXBoKS8F19uzZ4Wk6SKtOnTqp+mdUrFjRli1blqpJ++ijj86xegEAAOAPcQuwRYoUccNi9evXz+bOnWuTJk1yJzLo0qVLuDVWHYflsssus1GjRtnYsWNt5cqVrkuBWl/btWsXr/IBAAAQJ3HrQiA6EEsBtmvXrm5YrO7du1vLli3dbToz1+OPP27t27d3oxDs2rXLjTywfv1613qrkx9k5gAuAAAA5A5xDbBqhX3iiSfcX6zFixdHXe/YsaP7AwAAQN4W11PJAgAAAJlFgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABEpcA+y+ffusV69e1qhRI2vatKkNHTo03XkXL15sV1xxhdWtW9dat25t06dPz9FaAQAA4A9xDbADBw60+fPn27Bhw6xv3742ePBgmzBhQqr5du7cadddd51Vr17dPv30U2vRooXddttttmXLlrjUDQAAgDwYYHfv3m2jR4+23r17W+3atV0o7datm40cOTLVvGPGjLGiRYtav379rEqVKtajRw/3v8IvAAAA8pbEeD3xokWLbP/+/Va/fv3wtIYNG9qQIUMsJSXF8uX7J1vPnDnTmjVrZvnz5w9P+/DDD3O8ZgAAAOThFthNmzZZmTJlrGDBguFp5cuXd/1it2/fHjXv6tWrrWzZsvbggw9akyZN7LLLLrNZs2bFoWoAAADk2RbYPXv2RIVX8a4nJSWl6m7w6quvWpcuXey1116zzz77zK6//nr7/PPP7Ygjjsjwc4ZCIfdYOSGyBTmj9u7d61qf83JtWanPz7UJ76v/6/NzbX6vz8+1CeuT3Feb3+vzc21+/054WS0hIcG/AbZQoUKpgqp3vXDhwlHT1XWgVq1aru+rnHjiiTZt2jT7+OOP7eabb87wcyYnJ9vChQstJ6jPbmatWLEiRwK2n2vLSn1+rk14X/1fn59r83t9fq5NWJ/kvtr8Xp+fa/P7d8IT28DpqwBbqVIl27Ztm+sHm5iYGO5WoPBasmTJqHkrVKhgxx57bNS0qlWr2rp16zL1nAUKFHAjGeTcFs6KTN2nWrVqObh16M/aslKfn2sT3lf/1+fn2vxen59rE9Ynua82v9fn59r8/p2QpUuXZmi+uAVYtagquM6ePduNAyvq11qnTp1Uzdsnn3yy/fjjj1HTli9fbhdffHGmnlNN0lnZMsopsS3PfkJtubM+P9fm9/r8XJvf66O23Fmfn2vze33U9o+MdB+I60FcRYoUsbZt27qhsebOnWuTJk1yJzJQP1evNVb9LqRTp07uRAYvvPCCrVy50p577jl3YFebNm3iVT4AAADy4okMevbs6caA7dq1q/Xv39+6d+9uLVu2dLfpzFzjx493l4866ih7/fXX7euvv3atrvpfB3WpGwIAAADylrh1IfBaYZ944gn3F0strpE0RuxHH32Ug9UBAADAj+LaAgsAAABkFgEWAAAAgUKABQAAQKAQYAEAABAoBFgAAAAECgEWAAAAeSfAJiUluTNi6XSwycnJh68qAAAA4HAG2FAoZIMGDbLGjRu7EwusW7fO7r//fuvduzdBFgAAAP4LsG+//bZ9/PHH1rdvXytYsKCb1rx5c3c62MGDBx/uGgEAAIBDC7Dvv/++9enTx9q3b28JCQlu2oUXXmiPPPKIffrpp1l5SAAAACD7AuyaNWusVq1aqabXrFnTNm3alJWHBAAAALIvwB511FE2b968VNOnTp1qxxxzTFYeEgAAAMiQRMuC66+/3vr37+9aW3VA1w8//OC6Fahv7AMPPJCVhwQAAACyL8B26NDBDZ318ssv2969e11/2LJly9odd9xhV1xxRVYeEgAAAMi+ADtu3Dhr1aqVXX755bZ161bXCluuXLmsPBQAAACQ/X1gH3roofDBWmp5JbwCAADA1wG2atWq9ttvvx3+agAAAIDs6EKg4bLuuecee/31112YLVSoUNTtjz/+eFYeFgAAAMieALtixQpr2LChu8y4rwAAAPB9gNVwWQAAAEBgAqzs2rXLPvnkE9cXNjEx0Y4//nh3OtnixYsf3goBAACAQw2wa9eutauuusq2bNli1apVs5SUFBs1apQNGTLE3nnnHatcuXJWHhYAAADInlEIBgwY4ELqV199ZWPHjnUtsbp85JFH2pNPPpmVhwQAAACyL8B+//337pSx5cuXD0/T5fvuu8++++67rDwkAAAAkH0BNn/+/FakSJFU0zWcVlJSUlYeEgAAAMi+ANugQQN76aWXLDk5OTxNl9UHVrcBAAAAvjqISycx6NSpk7Vo0cJOOukkN23evHluZIIRI0Yc7hoBAACAQ2uBPe644+zjjz+2iy++2HUZ2Ldvn7Vu3dpN01m6AAAAAN+NA6vg2qpVK9caK8OGDbP9+/cfztoAAACAwzcKQZs2bWzixInhaePHj7e2bdvaTz/9lJWHBAAAALIvwD799NN2zTXX2J133hme9v7779vVV19tgwYNyspDAgAAANkXYJcuXWqXXnppqukdO3a0xYsXZ+UhAQAAgOwLsGXLlrVFixalmr5kyRIrUaJEVh4SAAAAyL6DuNT/tV+/frZ9+3arV69eeBitZ5991vWDBQAAAHwVYG+99Vbbtm2bPfTQQ+4EBgkJCe7sXOoD26NHj8NfJQAAAHAoATYxMdG1wN577722bNkymzp1qp122mnWqFGjrDwcAAAAkD19YF988UU79dRTbeXKle76b7/9Ztddd50NHjzYtb5ee+21tnfv3sw8JAAAAJA9AVbDZA0ZMsQuu+wyK1eunJvWs2dPK1y4sI0bN86mTJniTiX76quvZq4CAAAAIDsC7OjRo+2BBx6wu+++24oXL+4O2vr9999dy2v16tWtUqVKdsstt9hnn32WmecHAAAAsifAqq9rkyZNwtenT5/uDt46++yzw9MUZNeuXZu5CgAAAIDs6gOrwOrRKWNLlSplNWvWDE9TF4IiRYpk5iEBAACA7AmwNWrUsJ9//tld3rFjh82YMSOqRVY+//xzNx8AAAAQ92G0OnfubH379rWFCxfaL7/8YklJSda1a1d324YNG+zTTz+1N954wx599NFsKxYAAADIcIC95JJLXGh99913LV++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TihatGim77NixYocCdh+ri0r9fm5NuF99X99fq7N7/X5uTZhfZL7avN7fX6uze/fCU9sPvRVgC1UqFCqoOpdL1y4cJr32bx5s1177bUunT///POZ3oooUKCAVa9e3XLC37WtyNR9qlWrloNbh/6sLSv1+bk24X31f31+rs3v9fm5NmF9kvtq83t9fq7N798JWbp0aYbmi1uArVSpkm3bts31g01MTAx3K1B4LVmyZKr5N2zYED6Ia/jw4VFdDDJKTdJZ2TLKKekFdz+gttxZn59r83t9fq7N7/VRW+6sz8+1+b0+avtHRroPxHUYrVq1arngOnv27PC0WbNmWZ06dVK1rKrpulu3bm76iBEjXPgFAABA3hS3AFukSBFr27at9evXz+bOnWuTJk1yJzLwWlnVGquOw/LKK6/YqlWr7Iknngjfpj9GIQAAAMh74taFQHr27OkCbNeuXa148eLu4KyWLVu623Rmrscff9zat29vX3zxhQuzHTt2jLq/htcaMGBAnKoHAABAnguwaoVVq6rXshpp8eLF4ctpnZ0LAAAAeVNcTyULAAAAZBYBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKHENsPv27bNevXpZo0aNrGnTpjZ0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n5155pnuHPKnn366u75nzx53+4wZM+zEE0+0b775xi6++GL3nK1atXLLMjIUDxs2zM4//3z3nBdddJGNGzcufPuGDRuiXvfNN99sv//+e4ZqBpC3EWAB5CmrVq2yjRs32tixY114mj9/vtsNr3D16aef2qhRo1wL6n333WdJSUlpPsa6devsvffesyeffNIFvyJFirgQmF4r5k8//eQCrkLsO++844JZ//793W0pKSl200032cqVK+3111+3oUOH2uzZs7MU1B5//HEXAj///HM755xzrF+/frZ69Wp3my7v27fPRowY4V5ntWrVXIDfvXu39e7d2y644AKrX7++fffdd25+vZ4FCxbY4MGDXTBWFwMts8hQfODAAbcMdH8F0xo1atj9999vu3btcrfr9TzzzDPWrVs3d7sCqJbr9OnT3fNqw0BUk7oulClTxi677DIXbP+tZgB5G10IAOQ5CkHHHHOMu7xw4UJ78MEH7corrwzfrtbPG264wQXNI444ItX9k5OTXQCtVauWu37ttdfarbfeaps2bbKKFSummn///v02cOBAK1WqlLuuIKfgJwqqc+fOdaHz2GOPddOeffZZ14KaWWrpbdasmbuscD5y5EibM2eOe60K7gqYuly4cGEXOlu3bu369hYtWtRNK1CgQLjLRZMmTaxx48bhFtmjjz7aBcnffvst6jnvuOMO1zrrLVeFXc2j1my1vmpZqlVYFFjVT1nL47PPPrMdO3a45ZCY+PdP0aOPPupadrURoY2Kg9UMIG8jwALIc6pWrRq+rBCqYKnW0eXLl7uW0EWLFoVbGNNz3HHHhS97fW8VbNNSvnz5cHj15vfmVSunbvPCqze/Whsz62A13XbbbXbvvfe6gKnuEzrITbv+dbBZWhToJ0+e7FqYtVt/6dKlrqtCZJ0Seb148eLh59SoBgr09erVi5pfGwaiDQB1U1BIjqQWV697RWZrBpB3EGAB5DlqzfOoBfT66693u9wVktTCp36ealE9mIIFC6aall4XgrTm9ag1Ud0IDoeD1aT+uurXq7/vv//e3nzzTdc9QK2dxx9/fNR9vG4NS5YscYFRIzmoH6xaqjP6nGrNPRg9h0L6yy+/nOo2tQhntmYAeQsBFkCepj6nOkgo8oApbyipnDgyv2bNmm4IMLU6ei2oar1US/Dhor68Tz31lLVp08aFUf1pV766CUyZMsWFwYSEhPD86lYxdepUFxS9FlS1qmqXvtf14t+oBVjdKebNmxfu1iA6KEvdMtQ14OOPP3bzeaM26DnuvvtudzBY8+bN/7VmAHkXB3EByNMUphYvXuwOtNIu8g8//NCee+45d1t6B3EdTgrPCok6uEkHb6n7wj333ONagSND5aFQK6mCpFpQ9Rx6nRpFQQdD6cAtr9VTB7fpoC91YVC/VPXL1XXdV31d1SUgM8vkxhtvdP1gFVQVfocPH25fffWVC7SXXHKJ6zqhQKt+ugrwOnBMwVn9bjNSM4C8ixZYAHmaAtTmzZvd0ftSvXp1e+yxx1zfSwWoyH6l2UWtvw899JA7CEv9O9X/VP1x/203fGZoNACNUnDLLbe4Fl/1XdVwXRrCStq2bWsTJ050XQa+/PJLGzBggKtLB4LpwC51sVB96hebURouTK2m2iBQ+FXfY9VxyimnuNt1UJgOblMXDvU3VjcFtYh7y/zfagaQd3EmLgCII40BqxZIHaDkBVa1cqpltm/fvi5YAgCi0QILAHGkXfUa8kpDa11xxRWuH+gbb7zhdqHrxAcAgNRogQWAONPA/hr7VX1x8+XLZw0aNHD9YL0xWAEA0QiwAAAACBRGIQAAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAIAFyf8BNn1ZkVDaULQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "cv = StratifiedKFold(\n", " n_splits=15,random_state=0,\n", " shuffle=True\n", ") \n", "visualizer = CVScores(svm, cv=cv, scoring='f1_weighted', is_fitted=False, stratify = True)\n", "visualizer.fit(X, y) \n", "visualizer.show() " ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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9mjevLlZU1IrPOvXrzeLN/v7+7s+geqhS1W/fn25efOmjB492szA1O/aS6KLOcP9959OMvjzzz/lgw8+cN2mX6xCYI99qJWg3LlzR/pS+kFEJyDAHr+HOmlSA+wnn3wip0+flkmTJpnKuvZRwh77sE2bNqb3VT9E6j7UlgKtvurkSriny+6cZSxZvCuRCAwMdAwcONBRunRpR7Vq1cwad066llrEtdH27t3raN68uVkvr1WrVo4//vjDolEjtvuvXr165nrUr0GDBlk4esT2dzAi1oG15z7csWOHWUe0ePHijmbNmjm2b99u0ajxqPvw22+/ddSvX9/ct127do79+/dbNGrE5P+N7pxlkul/rInOAAAAQOzRQgAAAABbIcACAADAVgiwAAAAsBUCLAAAAGyFAAsAAABbIcACAADAVgiwAAAAsBUCLADb6tChgxQqVCjaL+eZ0/7Lr7/+au5/9uzZeBmjPm/UsRUtWlQqV64sr776apyeB75mzZrmTFVKl/hesmSJXL161VxfvHixee344nz+iF96mtEKFSpI586d5cCBA7F6Pn1fVq5cGW/jBWBvXlYPAAAeh57G8O233472FJfuRINlmTJlzOXw8HBzGlQdd48ePWT58uWSLFmyx36N//3vf+Lr62su//bbb/LWW2/Jhg0bzPWGDRtK9erVJb79/PPPrsthYWHmXPfvv/++dO3a1ZxmNGXKlDF6nkGDBsmTTz4pjRo1isfRArArAiwAW0uePLlkzpxZ3F3atGkjjTNr1qzSp08feeONN+Tw4cNSuHDhx36NDBkyuC5HPcmivk/6Fd+i7osnnnhChg4dKi+99JJs27ZNatWqFe9jAJD40UIAIFH7+++/5Z133jHVx2LFiplD93r97t270d7/1KlTplpYrlw5UzHVyxownW7duiXvvvuuVKpUydzH399ffv/990cam6enp/nu7e1tvp8/f94E2qpVq0rp0qXNax86dMh1f20H6Nevnzz99NNSsmRJadu2rWzfvv2+FgJti9BxKQ2Meng/YguBVmZbt24daSznzp0zIfqXX34x13ft2iXt27c3r/Pss8/KiBEj5Pbt24/0czqrwl5eXq4K9PTp06VevXpSvHhxKVu2rHTr1k3+/PNPV2uI/lzaAqE/kwoODpbx48eb/aj7pU2bNpGqvQCSFgIsgERNw5r2X06Z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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "AUC: 0.98\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "from sklearn.metrics import roc_curve, auc\n", "\n", "# Training the SVM model\n", "svc = SVC(kernel=\"linear\", gamma=\"auto\", probability=True, random_state=0)\n", "svc.fit(X_train, y_train)\n", "\n", "\n", "y_prob = svc.predict_proba(X_test)[:, 1] # Probabilities for the positive class\n", "\n", "# ROC curve and AUC\n", "fpr, tpr, thresholds = roc_curve(y_test, y_prob)\n", "roc_auc = auc(fpr, tpr)\n", "\n", "# Plotting the ROC curve\n", "plt.figure()\n", "plt.plot(fpr, tpr, color=\"darkorange\", lw=2, label=f\"ROC Curve (AUC = {roc_auc:.2f})\")\n", "plt.plot([0, 1], [0, 1], color=\"navy\", lw=2, linestyle=\"--\") # Diagonal line\n", "plt.xlabel(\"False Positive Rate\")\n", "plt.ylabel(\"True Positive Rate\")\n", "plt.title(\"ROC Curve for SVM\")\n", "plt.legend(loc=\"lower right\")\n", "plt.show()\n", "\n", "print(f\"AUC: {roc_auc:.2f}\")\n" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LogisticRegression\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10-Fold CV Mean F1-Score: 0.9524\n", "10-Fold CV Score Standard Deviation: 0.0262\n" ] }, { "data": { "text/html": [ "
LogisticRegression(C=0.1, class_weight='balanced', random_state=0,\n",
       "                   solver='liblinear')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LogisticRegression(C=0.1, class_weight='balanced', random_state=0,\n", " solver='liblinear')" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.linear_model import LogisticRegression\n", "from sklearn.model_selection import cross_val_score\n", "\n", "# Train the Logistic Regression model with the best hyperparameters from GridSearchCV\n", "lr_model = LogisticRegression(\n", " C=0.1, # Best regularization strength from GridSearchCV\n", " penalty='l2', # Ridge regularization\n", " solver='liblinear', # Suitable for small datasets\n", " random_state=0,\n", " max_iter=100, # Optimal number of iterations\n", " class_weight='balanced' # To handle class imbalance, if needed\n", ")\n", "\n", "# Perform 10-fold cross-validation to verify performance\n", "cv_scores = cross_val_score(\n", " lr_model, \n", " X, \n", " y, \n", " cv=10, \n", " scoring='f1_weighted', # Focus on F1-score for class imbalance\n", " n_jobs=-1\n", ")\n", "\n", "print(f\"10-Fold CV Mean F1-Score: {cv_scores.mean():.4f}\")\n", "print(f\"10-Fold CV Score Standard Deviation: {cv_scores.std():.4f}\")\n", "\n", "# Fit the model on the entire dataset\n", "lr_model.fit(X, y)\n" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
LogisticRegression(C=0.1, class_weight='balanced', random_state=0,\n",
       "                   solver='liblinear')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LogisticRegression(C=0.1, class_weight='balanced', random_state=0,\n", " solver='liblinear')" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Fit the model using training data\n", "lr_model.fit(X_train, y_train)\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# Predict probabilities using the best model\n", "y_probs = lr_model.predict_proba(X_test)[:, 1]\n", "\n", "# Apply threshold of 0.40\n", "y_pred = (y_probs >= 0.48).astype(int)\n" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 94.34\n", "True Negative: 48\n", "True Positve: 52\n", "False Positive: 3\n", "False Negative: 3\n", "\n", "-------------------------------------------------------\n", "Negative Class Results\n", "Precision (N): 94.55\n", "Recall (N): 94.55\n", "F1 Score (N): 94.55\n", "\n", "-------------------------------------------------------\n", "Positive Class Results\n", "Precision (P): 94.12\n", "Recall (P): 94.12\n", "F1 Score (P): 94.12\n" ] } ], "source": [ "# Evaluate model results\n", "test_results( lr_model, X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAHkCAYAAADFKNCnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQ0lJREFUeJzt3Qm4jOX/x/GvXZHsJFskWbNFUbb0Q5bop9VaKllCkixlp4iyk0qlRQiVpUSLilKkkq2S0M++k335X5+7/3OaczvWnJlzzPt1XXOdOTNzZu6ZM+c8n/ne3+d+kpw4ceKEAQAAIEbSf84CAABACEgAAAAeAhIAAICHgAQAAOAhIAEAAHgISAAAAB4CEgAAgIeABAAA4CEgARcp1oAFzh9/PyAgAeehcePG7hQOf/75pxUsWNCmTp161j8zatQoe+WVV2K+Hz58uLuPs6XH0u39U/Hixa1q1arWu3dv27dvn11swvl7DSxdutSeeOIJq1y5snt9q1WrZk8//bStX78+3h7ztddeswoVKrjH03vlQli4cKF7j+hrfAseS6evvvoqztusXr065jb6Gzpbhw8ftv79+9v06dPPeFvdt/62cHFKHukBADi9rFmz2sSJEy137txn/TNDhw61Nm3axHx/55132s0333zOjz1ixAjLkiVLzPe7d++2L7/80t544w3bsWOHDRkyxC4mPXr0COvjvfXWW25jXK5cOXv88cfd73rt2rUu3H788cf2+uuv27XXXntBH1PBdsCAAS6QPfDAA5YzZ84Lcr9FihRx79Orr77awiVp0qT20Ucf2U033XTSdbNmzTqv+9yyZYt73Z955pkz3lbPN3v27Of1OEj4CEhAApcyZUorUaLEv7oP/RM/n3/khQoVOmkDWqlSJdu+fbt9+OGH9tdff1maNGnsYhHOjfvixYutX79+1rBhQ+vWrVvM5QpLqiLVq1fPunbtek6Vw7OhkHv8+HH3GNdff/0Fu9+0adP+6/fpuSpVqpTNmTPHevbsacmTJz8pIOn9u2LFinh7/HA/X4QXU2xAPJo/f77dd999Vrp06ZgqwcaNG2PdZsmSJW4jqX+2+lSvT6/NmjWzzp07xznFpo3bCy+84Ka6ihYt6r4OHjzYjhw54q4PptJU/QnOxzXF9t5771n9+vXtuuuuc4+r+9D0wtm47LLLLEmSJO4UWLRokTVq1MjdX9myZe3JJ590Vabzea6vvvqq1ahRw93XlClT3HW//PKLtWjRwm0UdWrduvVJ01C6P/1csWLFXMVMG87QqUD9Pu666y4rWbKkCwctW7Z0UzGnmmI7dOiQjRw5MuY+//Of/9jYsWPd7yD0ZxRwdLmek253zz332E8//XTa11BVIr2OHTp0OOm6jBkzutfklltusf3797vLjh075ipOderUcVNjeqxBgwa5MQb0M3o99ZpVr17dvT9uv/12++KLL9z1eg/p/SIKX8F7QpcFvwN/mjWYnjp48KB7PStWrOjuV69J6DRuXFNsmj5s3ry5e+/rd/bII4/Yr7/+etLPfP31166apd+3pv6ee+4593zP5LbbbrNdu3bZN998E+vylStX2h9//GE1a9Y86Wfmzp3r/ib1Hgieh15X0XPVay5dunSJea302jRt2tRVGPU89LgaX+gUmyq2+t3//vvvMY+l6xTSvv322zM+FyQ8BCQgniiA6J/+FVdcYc8//7z7h6uAcPfdd7sKjGjjrA2a6DaPPvqo29CqunAqL730kk2YMMEFhHHjxtm9997rNlSjR4+OKftLgwYNYs77tEFQgNG0iILUww8/7KbN+vbtG+t2CgJHjx51JwUwjfvdd9+1adOm2a233mqXXnqpu913333nnkfq1KndtJs2vtooNGnSxG1Yz/W5asPy0EMP2cCBA90Gc82aNS506PE1PaTKi8KRnnvwWs6YMcNtWBXA9Hro9Xn//fetT58+7nrdvlWrVm6jqNdK96H71XMPDTyhTbraoL/88stuinLMmDFuY6rn50/FzZ492z755BN76qmn3HPbtm2be36n2sjrvtU7c+ONN9oll1wS5220EdZzCF7j7t27u2kfVX40fj3PN9980z2n0Ibin3/+2T3/tm3bunCXLFkyNxZVjhSq9PsWhcNTvT/ioqlABS29b3T/ChL6/QQB1qfQot9P8LN6b+nDgX6PoaFUOnbs6D5E6DWuXbu2e80nT558VhW/AgUKuGm2UDNnznQhPXR6WD7//HP3mup9r94rvc9y5crleup+/PFHN8UZ+voE54MPABq/XlN90NHrGkrhUb+r4L2h34Oej/4HaCxIfJhiA+KBNrj6dK/eCFVmAsGnT21gOnXqZC+++KKrImiDEGwo8+XL5zYip6LgoY38f//7X/e9/vnqZ3U/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gc2bNy/WbUaMGGFp06b914+F6JQqVQpbsGCcZc2aIdblKVOmsN2790VsXEC0y16ikG1b+Xuc4ciSJLHf58y3tV8sinWxbi8Z8+cO1zARAQk6ICmQlChRItZl119/vf311182bNgw+/HHH0+6/kI9TlxhDThfyZIls+LFC8RM3W7ZssNefXW6zZ37rb34YtdIDw+I6oB0/OgxazT7FctVoZSbMls++SP7uONA14f0cccBJ/3MtfWqua9blv0agREjXBLlXmxFixZ1Xzds2OC+zpo1y+644w4rWbKkVahQwU2N7d69O+b2Bw8etJ49e1rFihXdz9aoUcNeeeWVWFNsBQsWdF+nTp1qXbp0cZffcsst1rlz55gptuB89erVrW3btieN6/bbb7eWLVvGfD937lw3rmLFirlx9e3b1/bv3x9vrwsSh3femW3Zs1e3Ll1G2G23VbBGjWjSBiIlW/GClvHqPLbq/U/srZoP2Zf9xljRe2vbfbPGugqSL0O+XHbroCdt45Ll9uus2DMNuLgkyoC0Zs0a9zVXrlw2atQo69Chg6sAqarUunVrmz17tuthUjCS/v372xdffGFPPvmkC0YKPgMHDrQpU6acdN+VK1eOCTmaVmvVqtVJt6lbt66bgtu375+pkdWrV9vKlStdSJLp06e7seTLl89Gjhxpbdq0sQ8++MDdnyoIiF5lyxa1efPG2vDhT9j8+T9ajRpteU8AkZAkiU2o29JeueEu+27U27buy0X29fOv2syWPS3PzWXs6uo3x7p5poL5rOln4+340aM2uUFblYMjNnRE+RSbNhpHjx6N+V5VITVujx492lWLcufO7c7fddddrmoUuOaaa6xhw4YuAOmrfkYVnFq1arnr1Yh96aWXWqZMmU56zIwZM7r7lUKFCsU0afsBafjw4a5CVK9ePXfZjBkzLF26dK7SpHEPGjTIbr75Zvc1kDdvXmvWrJkLVwpiiE758+d0p4oVS1m6dGmsadOe9uWXS9z3AMLoxAlbOy/2zkCipmzJdl1B++2jL9z5PJXK2t1Th9vhffvt9SpNbefv68M+XIRXgq4gfffdd66BOjiVL1/eVYs0TTZ48GD74Ycf7PDhw1a7du1YP1emTBm78sorY/aCUyCaNGmSPfTQQ/bmm2/a+vXrXXXnfEOKKlelSpVyU3uBmTNnuqm7lClT2u+//+72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YaBVeoOqUd26de2pp55ye7EBABImAhIQz1UjVYpefvlly5Ahg1sHSQtFAgASNgISEE+WLVvmVsj+7bffrF69eta1a1e77LLLIj0sAMBZoEkbiCfaPfj48eMuFGk34tNh12EASFioIAHxpFSpUjHnz/Q5hM8pAJCwUEECAADwJPUvAAAAiHYEJAAAAA8BCQAAwENAAgAA8BCQAERE1apVrWDBgjEnLYWgPf8aNWrkjqJ+oS1cuNA9zp9//um+b9y4sVun6mzs37/f3nrrrX/1+HpcPb7GcTrr16+3Hj16uNenWLFi7mufPn1s69atMbeZOnWquy8A8YeABCBiHnjgAfvqq6/c6YsvvrB33nnH0qZNaw8++KBt2LAhXh97+PDh1q1bt7O67bhx4+yVV16x+LZ48WKrX7++bdmyxZ555hn78MMPXThasmSJ3Xvvve5yAOFBQAIQMZdeeqllyZLFnbJmzWrXXHON9erVyw4ePGhz5syJ18fWAYPPdmXzcKyGcvjwYXv88cfthhtusFGjRlm5cuUsZ86cVqFCBXv11Vdt79697rA1AMKDgAQgQUme/O/1a1OmTOm+aoppwIABdtttt7nQ8O2337rA8tJLL9ktt9xi1113nd1+++32wQcfxLqfRYsW2Z133mnFixd3BwheuXJlrOv9KbaffvrJmjVrZiVLlrTy5cu7aa4DBw64SpOCyf/+979YU3RTpkyxmjVruvvXV62ErpXTA7/88os1adLESpQoYbfeeqt9/fXXp33en332mW3cuNFat27tVlYPdfnll7vn27Jlyzh/VtW2xx57zG688Ua3gnvFihXtueeeixnPsWPH3PeVKlWyokWLWo0aNWzChAkxP799+3Zr27ate331fO655x73OgPRjJW0ASQYmzdvtv79+7vKkjbmgTfffNNefPFFV/FRSHnhhRdsxowZ1r17d8uXL5/rWerZs6ersjRs2ND18Wj6TsfAe/bZZ93x8HTbU9HtmzZt6oLMxIkT3f08+eSTrpr19NNPux6kWbNm2bvvvmsZM2Z0t3n++efdfSpQLF++3E2FafydOnVyPx+ErcmTJ7upMd3P6fz888/ueZ/qsDR6nFNRcFIVTpWmNGnS2CeffOKm6PT41apVs7fffts++ugj97ply5bNhTG9XgUKFLAyZcq486pg6XVWMB0zZoy1atXKTXtqTEA0IiABiBiFHvX3yNGjR91GOn/+/DZkyBDLkSNHzO0UllTVEYWV1157zQWUypUru8ty587tKjzqE1JAmjRpkmXOnNlVgZIlS+buU9UZhYa46PaaclM4CypYffv2db0/ChwKCbofhRDRFJhCSa1atdz3uXLlsn379rlA1a5dO5s5c6arPimcKdQpiOhgxaoOncru3bvdbf3q0ZloOlIVNFWxrrjiCneZwpkqTqtWrXIBad26de45aMpOU5lqhFewvOqqq9ztdb2mN/U8UqdO7Xqz6tSp454zEK0ISAAiRlM5muqSpEmTnrIvKE+ePDHnVQ06dOiQ69fRzwSCgKXAoOmtwoULx9rAhx4bz6fba2oqCEeiXiCdfDt27LBNmza5gDZ06NCYyzWdpXFpCk73lzdv3ljPRdWc08mQIYMLSZo+PJeQpECjwKMKkaYJ165d64LRtm3bYqbYFBrnzp3rgmahQoVcX5PCXaZMmdz1bdq0sSeeeMJmz55tpUuXtptuuslq165tqVKlOutxABcbAhKAiFFvTWj4OV0I8BumVWVSFcSnKSIFjNB+IAkNP77TXecL7rdLly4xVa1QquKc6+MHAU5TW5quU1jzqSKk8KUqVShV1BSQFAzVW6S94DQdp1AUUFj7+OOPXV/R/Pnz7fPPP3f3p4qabq+pxS+//NKdFixY4Kbq1HelypqqX0A0okkbQKKiUKSwocZkhavgNG/ePDfFpqqS+njU06OKUkDfn8rVV1/tgomamQPai04N4qoKhVZ0VHVRH5L6lkIff9myZS60iR7/jz/+cNWms3l8UYO1psBGjx590l5zaqLWtGLo+AJaIkGPPX78eNdorWZ2LZWgnwnuR9cpIKlypB6p6dOnu8dTX5VeIwUlPR/9rKYWVW3S66ggBUQrAhKAREXTVpqa0/TW+++/7zbsap7WXlrqrxGtGaQeIPX9rF692jUla2+0U7nvvvts586drmdJt1fT98CBA90Um6aZ1L+j6a81a9a4qbyHHnrI3njjDdfUrP4dhSk1OqvSpQpWMH2laUDtPafKTb9+/U77vPRzuo0Cj3qVNAY9N4UV7Q2nXijtqebLnj27+6q9+NSHpb331GB95MiRmICooNa7d2/XvK3bqFK0YsUKN+2nx126dKlrIv/hhx9clUoLUaoydaZpQeBixhQbgERH01vq2VFI0h5imtZS9UQLTIr21NJu92q61hSSrldTtT89FdDt1SyukKU93zT1p2pKhw4d3PX/+c9/3HSTlgtQKNIecgpOCklqxFZD+F133eXGIApUenzt2aawpvvTdRr36SiQabHMsWPHunCl0KaxValSxR555JGYnqFQmk7T/arCpAqWbq+x6zkr+AQ9RgpMqg5pRW41m2tcLVq0cNdr7zZVkfQaaQ88VekGDRrk9nADolWSE+FYAQ0AACARYYoNAADAQ0ACAADwEJAAAAA8BCQAAAAPAQkAAMBDQAIAAPAQkAAAADwEJAAAAA8BCQAAwENAAgAA8BCQAAAAPAQkAAAAi+3/AJajBG+zgO9XAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vis_conf(lr_model, X_test, y_test)\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best Parameters: {'C': 0.1, 'class_weight': 'balanced', 'max_iter': 100, 'penalty': 'l2', 'solver': 'liblinear'}\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArAAAAH7CAYAAAA0M6yEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUj1JREFUeJzt3QmcTfX/x/EPBkOWLKVFoSQSsrTSHkkJibRRUepXtJelbC1K2lXa9FNpU1EkRaVFUSlbdsnys2SN7Mz9P97f3+/c/713ZjTDmJnvPa/n4zHMnHPuued77rn3vs/3fL/fUyASiUQMAAAA8ETBvN4AAAAAIDsIsAAAAPAKARYAAABeIcACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFkC9wTxXsTxxfQHIhwAKZmDFjht1999121llnWe3ate28886z+++/35YuXWr51bXXXmsnnXSS7dixI9NlmjdvbldeeWWW1nfOOedYt27d3O/Lli2zY4891j788MMsPyarpkyZYjfccEP076w+V07Sc7Vr187q1atnderUsQsvvNCefvpp+/vvv813K1eudK95rVq17NRTT7WtW7fm6Pr1eut1zy06Np599tksLz98+HB79NFH415rrUPHWVZMnjzZLZ/4c/zxx9sZZ5xh99xzj61evdqSTW6/rkB2pGRraSAkhg0bZg8//LCdfPLJduedd9rBBx9sixcvtldffdU+//xzGzp0qFWvXt3ym9atW9v3339v33zzjQvciX777TebN29e3Jd5VmkfvPvuu3bkkUdaTlPAWLhwYa48V0YGDRpkgwcPtuuuu85uuukmK1y4sM2cOdNeeeUV+/bbb+3tt99203yl43Xq1Kn22GOPWYUKFaxYsWLmMx0bhxxySJaXf+GFF9yJXUAnpVqHjrPs6NWrl9WsWTP69+bNm93J10svvWSLFi1yx3Ey+de//mXt27fP680AMkSABRLoC+mhhx5yNVY9e/aMTleYVShs2bKl9ejRI1drB7OqcePGVrp0afv4448zDLAjRoywEiVK2Pnnn5/tdRcpUsROOOGEHNrS/PNcqq1++eWXrWPHjnb77bdHp5922ml21FFH2c0332zjx4+3Cy64wHy1YcMGF9aaNWtmyWBfj42yZcu6n+yqWrVquudu2LBh9BhasGCBWyZZ5NYJJLA3aEIAJFAta8mSJe2OO+5IN09ferqsdu6559qWLVvcNF1iU21thw4dXFODIPT++eef1r17dzvzzDPd9EsvvdS++OKLuPVNnDjR2rZta3Xr1rUTTzzR1f7F1kQuWbLEbrzxRheedVn7sssus6+//jrTbS9atKhddNFFNmHChHSXvnfu3GmffPKJuzSuGrh169ZZ37597eyzz3aXQlVDpbCW2WXVjC7rz5kzxzVb0PZrPQrOif7pebQ/Faz/85//RNef0XP98ccf1rVrVxcYFCKuvvpqd7KRuH2ffvqpW07bpOe67777oq9VRrSftm3bZmlpaenm6bVTqD3iiCPiln/ggQfs9NNPd9uhWm/t78Du3btdDb6aauh1V23fwIEDbfv27dFlVGYdL71793ZNFhQs9Thtg2rzdCKifaUTjTfeeCNum7J7TOj41H5cvnx53KX3rByfWl6105dccolbRr/va7McnSho21VulWP+/Plxy+j4v/766918nUQ8+eSTbjv1emfWhEA1zE2bNnVNJPS69OnTJ3r8q/w6tnSMBc0GMmpCoH2oJiR6TRs1auRqWzdu3JilcpUqVcr9X6BAgeg0Xeno3LmzK4d+dMwnNj/Kalkzeg30euozSse4jgMdT7NmzYpb/+jRo+3iiy92jzvllFPsrrvuslWrVkXn6yqDHle/fn33frnmmmtcTX1mTQiyemxrPR988IE7fnUct2jRwl0VAnJUBEBUWlpapFatWpFbb701y485++yzI8cdd1zksccei3z77beRX375JbJ69erI6aefHjnvvPMiI0aMiEyYMCHStWvXyLHHHhv56KOP3OOWLFkSqV27dqRv376RH374IfLZZ59Fzj///Mg555wT2b17t/tp2rRppH379u7x3333XeSGG26I1KhRI/LHH39kuj0zZ86MVKtWLfL+++/HTR8/frybPn36dFfOSy+9NNK4cePI6NGjI5MmTYoMHTo0Urdu3ch1110XV7Z7773X/b506VL3+A8++MD9vXLlykj9+vUjrVu3jowbN86VU2XWvggek5XnWbx4ceT666+PNGzYMPLrr79G1q5dm+655s+f7x7TqlWryJgxY9zzXX311ZGaNWtGJk+eHLd9J554YuSRRx6JfP/995HBgwe7fT5w4MA9voZt2rRx+/Wee+5x69Y2ZGTXrl1uWT3HG2+8EZk4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X+/awaakpESbFSi8lipVKm7Zgw46yI466qi4aZUrV7YVK1Zk6zkLFy7sRjLIvbOfRTmyripVqnhytpcz5Q1jmX0obxjLHLbyhrHMfHYlf3nDWOaCHpd3wYIFWVouzwKsalQVXKdOnerGgRW1a61Vq1a6qu8TTjjBfvrpp7hpv//+u1100UXZek5VSef02XZuSKyRDoOwlTls5Q1jmcNWXqHMyS9s5Q1jmVNzubxZaT6Qp524ihUrZi1btnRDY02fPt3Gjx/vbmSgdq5BbazaXUi7du3cjQyeffZZW7x4sT399NOuY1eLFi3yavMBAAAQxhsZdO/e3Y0B26FDB+vbt6916dLFmjRp4ubpzlxjxoxxvx9++OH2yiuv2FdffeVqXfW/OnWpGQIAAADCJc+aEAS1sI8++qj7SaQa11gaI/bDDz/Mxa0DAABAfpSnNbAAAABAdhFgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAA4QmwO3bscHfE0u1gd+7cmXNbBQAAAORkgI1EIjZw4EA78cQT3Y0FVqxYYffee6/17NmTIAsAAID8F2DfeOMN++ijj6x3795WpEgRN+28885zt4MdNGhQTm8jAAAAsG8B9t1337VevXrZJZdcYgUKFHDTmjVrZg8++KCNGjVqb1YJAAAA7L8Au2zZMqtRo0a66dWrV7fVq1fvzSoBAACA/RdgDz/8cJsxY0a66d98840dccQRe7NKAAAAIEtSbC907NjR+vbt62pb1aHrhx9+cM0K1Da2W7due7NKAAAAYP8F2NatW7uhs1544QXbtm2baw9btmxZu+222+zyyy/fm1UCAAAA+y/Ajh492po2bWqXXXaZrVu3ztXClitXbm9WBQAAAOz/NrD9+vWLdtZSzSvhFQAAAPk6wFauXNnmzZuX81sDAAAA7I8mBBou66677rJXXnnFhdmiRYvGze/fv//erBYAAADYPwF20aJFVr9+ffc7474CAAAg3wdYDZcFAAAAeBNgZfPmzfbxxx+7trApKSl2zDHHuNvJlihRIme3EAAAANjXALt8+XK76qqrbO3atValShVLS0uz9957zwYPHmxvvfWWHXLIIXuzWgAAAGD/jELwyCOPuJD6xRdf2MiRI11NrH4/7LDD7LHHHtubVQIAAAD7L8B+//337pax5cuXj07T7/fcc4999913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B0V/Em+FnWyvr77kFNhr167tjunrrrvOpk2bZslItzaPfW0//vhj94WvQJesVMGgz+ubbrrJfXadd955LsT/8MMPlqxmzpzp7vb5+OOPu/HldVLaqVMnd5KW7Jlj0qRJrga2X79+dvTRR7uad9XE6n2e3xFg88iPP/5oJ598sr377ruW7PTBr8vn5cuXj5v+999/W7I6+OCD7amnnnJn8PrCU3D96aefXBOKZPboo49aixYtrGrVqhaWAKsv+bDQcaxjOvY41pUGnZwmO4X3l19+2dVgFSlSxJKVQrvulKna1507d7oKCN26XSfkyUoBrmzZsnbEEUdEp6mpiIKt9kEyZ45p06a50F68ePHotPr167uTmPyOJgR55IorrrCwUI1U7GU4XaZ588037ZRTTrEwUBuy5cuXu7P6888/35KVamh+/vlnGzVqlKt5TnY6MVm0aJFrL/biiy/a7t273W2vdXUhWQOOvuh1KXnkyJE2ePBg9+WuuyWqtk5NgpLZ22+/7U5M9RonMzWB6dWrl6tl1+V0Hdd6jdu0aWPJSpUrmzZtcncHVXiXlStXuiYjmq5wm6yZY/Xq1e64jlWuXDlX/vwuuT9xkC899thjNmvWLNd2LgyeeeYZ92U/e/bspK2pUtsq3epZX3yqwQkDnZToC09hVbXtajOn8K4mFMlqy5Ytrj33O++8445llfmNN95I+k4+OlkZPny4XXXVVRaWKws64VZtnV7nsWPHuuYTyapOnTouxCm0B8f4a6+95uYlSw1sZoLPsFj6W5298jtqYJHr4XXo0KH25JNPuraDYRC0B1XIU9u5e+65J+lq6AYNGmTHH398XE17slNNpDozlS5d2goUKOAuserqwt13323du3e3QoUKWbJJSUlxTX/UVlDlD4K8aifVFjZZzZgxw3XsufDCCy3Z6UrK+++/7zpi6mRUn18q+wsvvGAXX3yxJWuts05C1XlNl89VA6k2sArvajKTzIoWLeqax8RSePWhIoIAi1yjs1t90SnEJvOl9KATl9oQqQNEQO1CdTavAJAMl6QSRx5QmTVkmARn75999pnrHJGsDjzwwLi/1QlCJyrqCJNsr3HQnl1feEF4lSpVqrhhl5LZt99+6zqf6mQl2andZ6VKleICjNpI6ipSMlOnxC+//NJdUi9TpoxNnDjR/X/AAQdYMqtQoYLr4BVL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ZhlqGvDRRx+55YJRG/Qcd955p+sMdt555/3jNgMILzpxAQg1ham5c+e6jla6RP7BBx/Y008/7eZl1okrJyk8KySqc5M6b6n5wl133eVqgWND5b5QLamCpGpQ9Rwqp0ZRUGcoddwKaj3VuU2dvtSEQe1S1S5Xf+uxauuqJgHZ2Sc33HCDaweroKrw+/rrr9sXX3zhAu3FF1/smk4o0KqdrgK8Oo4pOKvdbVa2GUB4UQMLINQUoNasWeN670vVqlXt4Ycfdm0vFaBi25XuL6r97devn+uEpfadan+q9rj/dBk+OzQagEYpuOmmm1yNr9quarguDWElLVu2tHHjxrkmA59//rk98sgjbrvUEUwdu9TEQtundrFZpeHCVGuqEwKFX7U91nacdNJJbr46halzm5pwqL2xmimoRjzY5/+0zQDCiztxAUAe0hiwqoFUB6UgsKqWUzWzvXv3dsESABCPGlgAyEO6VK8hrzS01uWXX+7agb766qvuErpufAAASI8aWADIYxrYX2O/qi1uwYIFrV69eq4dbDAGKwAgHgEWAAAAXmEUAgAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeIcACAADAKwRYAAAAmE/+D0xrQYK463thAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.model_selection import StratifiedKFold, GridSearchCV\n", "from sklearn.linear_model import LogisticRegression\n", "from yellowbrick.model_selection import CVScores\n", "\n", "# Use StratifiedKFold with 10 folds\n", "cv = StratifiedKFold(n_splits=10, random_state=0, shuffle=True)\n", "\n", "# Hyperparameter tuning with GridSearchCV\n", "param_grid = {\n", " 'C': [0.01, 0.1, 1.0, 10.0], # Regularization strength\n", " 'penalty': ['l1', 'l2', 'elasticnet'], # Regularization types\n", " 'solver': ['liblinear', 'saga'], # Solver choices\n", " 'class_weight': ['balanced'], # Class weight for focus on recall\n", " 'max_iter': [100, 200, 300] # Iteration counts\n", "}\n", "\n", "grid_search = GridSearchCV(\n", " estimator=LogisticRegression(random_state=0),\n", " param_grid=param_grid,\n", " scoring='f1_weighted', # Focus on F1 score\n", " cv=cv, # 10-Fold CV\n", " n_jobs=-1 # Use all processors\n", ")\n", "\n", "# Fit with cross-validation\n", "grid_search.fit(X, y)\n", "\n", "# Best parameters from tuning\n", "best_params = grid_search.best_params_\n", "print(f\"Best Parameters: {best_params}\")\n", "\n", "# Use the best model for visualization\n", "best_model = grid_search.best_estimator_\n", "\n", "# Cross-validation visualization with Yellowbrick\n", "visualizer = CVScores(\n", " best_model,\n", " cv=cv,\n", " scoring='f1_weighted', # Focus on F1 score\n", " is_fitted=False,\n", " stratify=True\n", ")\n", "visualizer.fit(X, y)\n", "visualizer.show()\n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "from sklearn.metrics import roc_curve, roc_auc_score\n", "\n", "# Predict probabilities\n", "y_probs = lr_model.predict_proba(X_test)[:, 1]\n", "\n", "# Compute ROC curve\n", "fpr, tpr, thresholds = roc_curve(y_test, y_probs)\n", "\n", "# Compute AUC\n", "roc_auc = roc_auc_score(y_test, y_probs)\n", "\n", "# Find the optimal threshold (Youden's J statistic)\n", "j_scores = tpr - fpr\n", "optimal_idx = j_scores.argmax()\n", "optimal_threshold = thresholds[optimal_idx]\n" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArAAAAIhCAYAAAC2folQAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAfjtJREFUeJzt3Qd4VGX2x/FD770jCALSe5EiCEpREKQrWFDXgr2vvfe27loXRFmxKx0EpYoKSBMBka50kN4h1Pk/v3f/d3YSEkhCkjt38v08z0DuzWTmnbmTzJlzz3veLKFQKGQAAABAQGT1ewAAAABAShDAAgAAIFAIYAEAABAoBLAAAAAIFAJYAAAABAoBLAAAAAKFABYAAACBQgALAACAQCGABQAkC+veAIgWBLBAgF1zzTVWrVq1eJfq1atbw4YNrUePHjZ69OhEf27q1Kl24403WtOmTa1u3bp28cUX20svvWSbN29O8r4mTJhgN9xwg7Vo0cLq169vnTt3tvfee8/279+frLHu3bvX3nnnHevSpYs1aNDAmjdvbtdee60bSxB89NFHdv7557vnS487LW3YsMEduxEjRlhGePvtt939Jddff/1lN998s23cuDG876KLLrKHH374jB9zwkvt2rXd83zHHXfY6tWrLdak9LkHkLjsSewHEBA1a9a0p556Krx9/PhxF3Ao4HrwwQetcOHC1rp16/D3n3nmGfv888/t0ksvteeee84KFixoq1atsk8++cRGjhxpb731ljVr1ix8/RMnTtjf//53++6776xnz57Wt29fy5cvny1YsMA+/PBDmzx5srsv3U5S/vjjD7vpppvcbfXr188F2QcPHrSxY8farbfeanfffbfddtttFq0UpL/yyivWpk0b+9vf/mblypWzIOvdu7e1atUq2defOXOm/fDDD/H26cNI/vz5z3gsOv56Xj2HDh2y33//3QYMGOCea73ucuXKZbEipc89gCSEAATW1Vdf7S6J2bt3b6hWrVqhu+66K7zv008/DVWtWjU0YsSIk66/b9++UJ8+fUJNmzYNbdu2Lbx/4MCB7mcmTpx40s/MmzcvVK1atdCLL76Y5BiPHDkS6ty5c6hDhw6h7du3n/T9xx9/3N3+0qVLQ9Fqw4YNbozDhg1Ll9tfv369u/3hw4eHopHGpfFpnBn1mD///HP3/WnTpqXZfQKIHZQQADFKWaucOXNalixZwpnZf//739ayZUvr3r37SddXNu3555+3Xbt22Weffeb2HT161AYPHmwXXHCBtW/f/qSfadSokd11111WpUqVJMehzN2KFStclrVYsWInfV8/f/XVV9uxY8fctk5L6/T0qU6xz549221/+eWXduGFF7qSCWWPtU/3FUkZYu1fsmSJ2969e7c9+eSTrhSiTp06dvnll9vPP/+c5Ph1n954Hn300Xinf8ePH+9KNVQSodPeut09e/bEO12s503ZyvPOO88995HfT6nDhw/bu+++a5dccokbe4cOHez99993me1Iyoy3bdvWlTv06dPHlWlo3HrevHFFPo5169bZLbfc4kpK6tWrZ1dccUU446rH/8gjj7ivdZte2UDCEgJlqZXRV3ZRJSbK1k+bNi3VjzWxjP6mTZvsvvvuc8+lxqkSFO+4erZu3Wr33nuvu06TJk3cMfnnP/8Z7zWlr1988UX383qOHnvssWS/NmbMmOH265jr9pVB1hmG5DyXiT33KXkd6flUCY7KLFT2M2rUqFQ/v0DQEcACMTCxRsGfd1GQ8+eff7qg48CBA9a1a1d3vaVLl9q2bdtOCg4jVa5c2Z3enzJlitvWqVwFtAoSk6JT/zotmpQff/zRsmXLFq+MIVKJEiXsiSeecG/KKaXA8KGHHnJv+HpDz5s3r40bNy7edb755hs799xzXamFnhsFLXp8CnL086VLl3b1wEkFsTq9reuJgpWvvvrKfa06WAVTCtZUdnH77be7OmHVJcfFxcULuhTAKIjSMSlUqJCl9jgrMPrggw/c861T7Apk//Wvf8UrIdFYX3/9devYsaMbo4Koe+65J8nbVfDbv39/d+r+1VdfdT+jshM91rVr17rHr6+9206s1EMfjnS6XyUhui3dRqVKldxzMm/evFM+Lt1/5OtXgbCCxH/84x921llnWePGjd31du7c6YJxvSb1etH39bNXXXVVOIA8cuSIO77z5893HzZU171s2TL3ISwhfUhTkKqx9urVK1mvjfXr17vHr9eqPgy+8MILrk5X9cEay+mey8Qk93Wk391nn33WleDoQ4vKWPTajwyegcyEGlgg4ObOnWu1atWKt09Z16pVq9qbb74ZDj6VxZTT1W9WqFDBBRDiTeo6k5pP1eMWKVLE1c2mtSuvvNIFcR4FscpmKQARBfDf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I4ddeumlVq9ePb+HBsQUAlgAANKAalxV77pnzx63XbJkSbcwQfHixf0eGhBzCGABAEgDBw4cCAevDRs2dP1dlYEFkPYIYAEASAPVqlWzCy64wEqUKGG1a9f2ezhATCOABQAgFdatW2cHDx606tWrh/ddeOGFvo4JyCwIYAEASGGXgenTp9v333/vSgRuvvlmt7oWgIxDAAsAQArqXEeOHGl//PFHeEGC3bt3E8ACGYwAFgCAZFizZo0NHz7c9u/f77bLli1rvXr1siJFivg9NCDTIYAFAOAUtBjBTz/95FbSUvmANG3a1Nq3b2/ZsmXze3hApkQACwBAEhSwfvnll7Zy5Uq3nTt3buvatWu8iVsAMh4BLAAASVCNa9WqVV0AW65cOevZs6cVLlzY72EBmR4BLAAACbKuClw9jRo1spw5c1qtWrUoGQCiRFa/BwAAQLTYu3evffzxx7Z69erwPgWzdevWJXgFoggZWAAAzFyZwKhRo9ziBNu3b7dbbrnF8uXL5/ewACSCABYAkKkdP37cpk6dajNnzgzvq1+/vuXJk8fXcQFIGgEsACDT2rNnj+vtun79eredN29e69Gjh1WuXNnvoQE4BQJYAECmtHz5clcyEBcX57YrVqzogtcCBQr4PTQA6RXAHjlyxDZs2GBnn322m7Gp9aABAAiCnTt32ldffRVemKB169Z2wQUXWNaszG0GgiDFv6n6ZX/99detSZMm1rlzZ9u8ebM99NBD9thjj9nRo0fTZ5QAAKShokWLWqtWrSx//vzWr18/a9OmDcErECAp/m395JNPbPTo0fbUU0+5vnjSrl07mzx5sr3zzjvpMUYAANKk3jWSsq7qNHDOOef4NiYAGRTA6pTLk08+6eqEvEbPnTp1sueff97Gjh2bymEAAJA+jh07Zt9++61LsmzZsiW8XxlX2mQBmSSAVd1rjRo1TtqvdaG3bduWVuMCACBNal0HDx5sc+bMcYHshAkT/B4SAD8mcZ111ln222+/uTWhI/34449Wvnz5tBgTAABn7Pfff7cxY8a4ScdSpUoV69atm9/DAuBHAHvDDTfYM88847KtmtD1888/u7IC1cY+/PDDaTEmAABSTZnW7777zn755Re3rXK3tm3bWosWLcKlbwAyWQDbs2dP98fh3//+t+udp3pYzea85557rG/fvukzSgAAkmHHjh02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f//9LnBdv369m8yVLVs227Fjh/Xp08fuvPPO9BklAMSwAgUKWIUKFWzJkiVufkHbtm3d31YAQBoFsFrQ4Jprrom3L+E2AODUVOPqLQqj/7t06eJW1apSpYrfQwOA2OwDO2XKFLv88sutfv361rhxY5d9VasXAMDpqbtAZMmAV/NK8AoA6RTATpw40e644w4rWbKk3Xvvve5rTey6++67XWALAEi6y8DkyZPts88+s7/++stGjx7NAjAAkBElBO+9957dfvvtLnD1XHfddfbOO+/YgAEDXO0WACC+PXv22PDhw938AcmbN6+bBOuVEQAA0jGA/fPPP12tVkKdO3e2QYMGpfTmACDmrVixwi277S1GoAlbPXv2dJO3AAAZEMCqdGDt2rXuD3Ak7eOPMQD8z/Hjx11p1c8//xzep8VfWrdu7SbEAgBSJ8V/QZVpffrpp91KMWq8rYu+fuaZZ6xTp06pHAYAxJ758+eHg9d8+fK5ji0XXnghwSsAZHQG9tZbb3Wnw/r37x+u3dIkhDZt2th99913puMBgJjRqFEj++2339zKhT169LD8+fP7PSQAyJwBbK5cudxErj/++MMFsgpeq1WrZpUrV06fEQJAQBw7dswOHjxoBQsWdNvKtPbt29f93STrCgA+BLBq+aJerzlz5nT1WwpYCVoB4L927dplQ4cOdUHsTTfdZDly5HD7tew2AMCHAHbevHl24403WlxcXLj9y1tvvWUtW7ZM4+EAQPBoCdgxY8bY4cOH3fYvv/xizZo183tYABCzknVO680333Trc//44482Y8YMa9Wqlb388svpPzoAiGLKto4bN85lXhW8al6AemE3bdrU76EBQEzLntzswldffeVaaMmjjz7qJm2pAwGTEgBkRjt27LBhw4a58ipR3at6u5599tl+Dw0AYl6yAlhNSihcuHB4u1SpUq6+SyvLEMACyGzUWeCbb76xI0eOuO1zzz3XunXr5sqrAABREsCq00DC5Q6zZcvm1vUGgMxGXVgUvKqzgEoGVGLFkrAAEMVttAAgs9OiLQcOHHAdWcqVK+f3cAAg00l2ADt48OB47WA0eeHjjz+2QoUKxbveHXfckbYjBACfLVq0yM4555zwctlqJ3jVVVf5PSwAyLSSFcCWLVvWvv3223j7SpQo4db4jqRTaASwAGKFygT0t2/BggVWoUIF69evHwsSAEBQAtipU6em/0gAIIps3brVtcfavn272967d6/t27fvpLNOAICMRw0sACSYtPrrr7+6zKtKpaRmzZrWpUsXy507t9/DAwAQwALA/2gxAi1MoDZZXreViy++2Bo3bkyXAQCIIgSwAGDmygOGDBniFiiQokWLWu/eva106dJ+Dw0AkAABLACYuUVZtGCLAtjatWtb586dLVeuXH4PCwCQ1gGsZuiqnQwABJ1KBLp3724rV660evXqUTIAAFEsVf1gvvjiC7vooousfv36tn79envqqafsvffeS/vRAUA62bx5s3366acWFxcX3pcvXz73d43gFQBiLIAdO3as/eMf/3CZihw5crh9lStXtgEDBrjFDgAg2rsMzJ492z788EO3JOw333zj9gEAYjiAVZD62GOP2Z133hlu6K3m3k8++aR99dVX6TFGAEgThw4dsq+//tq+++47O378uPsQXqVKFTKuABDrAezq1atdS5mEmjZt6k7JpbRlzaOPPupur2XLlsnK4G7YsMEaNGjgMigAkFz62/H+++/bsmXL3HbJkiXtpptuciUDAIAYn8RVvHhxF8SWL18+3n41/tYbQkq8+uqrtnjxYte6ZtOmTfbQQw+5ZWsvueSSJH/m6aeftoMHD6Z02AAyKZUH/PzzzzZ58mQ7ceKE26cPwR07dgyXQQEAYjyAveKKK+zZZ5+1Rx55xG3/+eefNn36dPvXv/5l1157bbJvR0GolmkcNGiQ1apVy100+/ezzz5LMoAdM2aMHThwIKVDBpCJLVy40CZNmuS+VtcUtceqU6eO38MCAGRkAKtTbmr4fd9997kSgP79+1v27NmtT58+dssttyT7dnQaT8s0KhPiadSokZsMpiyJV1/r2bVrl7322muuzEBvQACQHOrpqpW1lInVwgTFihXze0gAAD/6wCp4vfXWW23VqlXuTaFSpUquCXhKbNu2zYoUKRKvj6zKExQU7969262CE+nll192nQ/OPfdcSy2NNSPKD+LiFHz/d810PZ6DB/972hLBm/AT+T+CQb/nka2xjh49at26dbM8efK4D9uUIAUHv4PBxzEMtkM+HD/9DU/OxNoUB7CqVfV4mYy9e/e6i6iGNTn0ZCRcBMHb1gIJkWbOnGm//PKLa3dzJvRGtnTpUktva9bkNbMa7uvNmzfZ0qW8YQbZmjVr/B4Ckkkf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BVLQZeCnn36yIUOG2L59+2zmzJm2bds2v4cFAECm42sAq/XgH330UWvcuLG1bNnSBg8enOR1p02bZl27drUGDRpYly5dbMqUKRk6VmRuBw4csE8//dRlXRXIqnxAE7XU4xUAAGSiGthXX33VFi9e7DJamzZtsoceesjKli3rJsFEWrZsmd1xxx324IMPWuvWrW369Ol29913u2bx1atX9238yBzWrVtn48aNs/3797ttvUZ79eplRYoU8XtoAABkStn9nAQzdOhQGzRokNWqVctdVq5caZ999tlJAew333xjzZo1s379+oXXklcm7NtvvyWARbrRYgRqjaXXpbKuotdhu3btwpO3AABAJgpglVU9duyYKwnwNGrUyE2OUeCQNev/qhu6d+9uR48ePek2VIcIpJcjR4647KuC19y5c1u3bt2sWrVqfg8LAIBMz7cAVpNfdAo2Z86c4X1qRaS6WK0hX7Ro0fD+ypUrx/tZZcR+/vln69OnT4ruU4GIMr/pLS5OwXdu97Uez8GD/11WFMGi10vDhg1tzZo11rlzZ9dlICNeP0i71dEi/0fwcAyDj2MYbId8OH56782SJUv0BrB6MiKDV/G2lflKys6dO+3OO+90gUXbtm1TdJ/K4i5dutTS25o1ec2shvt68+ZNtnQpQU8QKPOvWuyzzjor/MujD1L6oKX9uiB49AEEwcYxDD6OYbCtyeDjlzA+jKoAVrO4Ewaq3rZO1yZm+/btdv3117vo/K233opXZpAcWh2pSpUqlt727//fuMqUKWs1arAqU7RTOYpqrTds2OCCVpWz6EOWfmnPOeccy5Mnj99DRAp5x69ixYocv4DiGAYfxzDYDvlw/FatWpWs6/kWwJYqVcp27drl6mCzZ88eLitQ8FqwYMGTrr9ly5bwJK6PP/44XolBcimrljevsqPpKzL+VqCeN2/iATmig0pSRo4cGT5FoiVh1dbNo1/ajHjdIH1w/IKPYxh8HMNgy5OBxy855QO+BrA1atRwgeuCBQtcH1j55Zdf3FryCTOrqju88cYb3X4Fr/TeRFo4fvy462ahBQk8rVq1sjZt2iT7FwgAAGS87H5G85rV/fTTT9uLL75oW7dudQsZvPTSS+FsbIECBVxGduDAgW42+CeffBL+nuh7ug6QUnv27HF9hFUyIPpk2aNHj5MmDAIAgOjj60IGjzzyiAtgr732WsufP7+bnNWhQwf3PZ3CVTCroGLChAkWFxfnVj6KpPZaL7/8sk+jR1Cpnuerr75yrylRbY9eZ3wYAgAgGHwNYJWFfeWVV9wloeXLl4e//u677zJ4ZIhlaoflLUygld0uuOCCFE8IBAAAmTSABfygtljKuKorhToMAACAYCGARcxT79+NGze6JWA9VatW9XVMAAAg9QhgEbPUom3ixIk2d+5ct122bFmrWbOm38MCAABniAAWMUkrtqnLwObNm922Jmjly5fP72EBAIA0QACLmLN48WIbO3ZseGU3rb6mlm0EsAAAxAYCWMSMo0ePupZrWhBDtBhB27ZtrUWLFixMAABADCGARczQcrCasCVajrhXr15Wvnx5v4cFAADSGAEsYoaWgV2xYoUrGejatavrMwwAAGIPASwCXTKQPXv2cHlAmTJl7MYbb7RSpUpRMgAAQAxj+SEE0rZt22zQoEE2ffr0ePtLly5N8AoAQIwjA4vAWbBggY0bN871ef3++++tWrVqVrJkSb+HBQAAMggBLAJDbbHGjx9vCxcudNvZsmWzDh06WIkSJfweGgAAyEAEsAiELVu2uIUJtm/f7raLFClivXv3dnWvAAAgcyGARVQLhUI2f/58++6771zJgNSqVcu6dOliuXLl8nt4AADABwSwiGpxcXE2depUF7yqZOCSSy6xRo0aMVELAIBMjC4EiGrq5dq9e3crXry4a5HVuHFjglcAADI5MrCIupKB1atXW6VKlcL7tDCBtrNm5fMWAAAgA4soKxfQRK1PPvnEtcqKRPAKAAA8RAWIChs3brSBAwfakiVL3PbcuXNdNhYAACAhSgjgKwWps2fPtkmTJtmJEyfcvvr161vHjh2pdQUAAIkigIVvDh06ZKNHj7bly5e77Rw5ctill15q9erV83toAAAgihHAwhebNm2yr7/+2vbs2eO2tRSsFiZQtwEAAIBTIYCFL5RtPXjwoPu6YcOGrr+r9gEAAJwOASx8UaJECbealupca9eu7fdwAABAgBDAIkOsW7fONmzYYC1atAjvq1Onjq9jAgAAwUQAi3TvMjB9+nT7/vvv3deqddXCBAAAAKlFAIt0c+DAARs5cqT98ccfbjtXrlx27Ngxv4cFAAACjgAW6WLNmjU2fPhw279/v9suW7as9erVy4oUKeL30AAAQMARwCJNaTGCn376yX744YfwSlpNmza1du3aWfbsvNwAAMCZI6JAmtLCBIsWLXJf586d27p27WrVq1f3e1gAACCGZPV7AIgt6umq1lhnnXWW9e/fn+AVAACkOTKwOOOSAQWsukiFChXs6quvdv9ny5bN7+EBAIAYRAYWqbZ37177+OOPbe7cufH2V6pUieAVAACkGzKwSJVVq1a5FllaDlYLFFSsWNH1eAUAAEhvBLBIkePHj7tFCWbMmBHe17x5cytevLiv4wIAAJkHASySbc+ePa636/r169123rx5rUePHla5cmW/hwYAADIRAlgky/Lly12LrEOHDrltlQwoeC1QoIDfQwMAAJkMASxOKy4uzkaNGuX+l9atW9sFF1xgWbMyBxAAAGQ8IhCclhYk6NKli+XPn9/69etnbdq0IXgFAAC+IQOLRG3ZssVKlSoV3q5Zs6ZVqVLFcubM6eu4AAAASKMhnmPHjtn48eNtwIABtnTp0njfI3gFAADRgAwswnbu3GnDhg2zzZs3u221y6pWrRrlAgAAIKoQwML5/fffbcyYMXbkyBG3rXKBbt26EbwCAICoQwCbyalk4LvvvrNffvnFbWfJksXatm1rLVq0cF8DAABEGwLYTGzHjh02dOhQN2FLChYsaL169bLy5cv7PTQAAIAkEcBmYocPH7Zt27a5r6tWrWpdu3Z1q2sBAABEMwLYTKxs2bJ2ySWXuDKCZs2aUTIAAAACgQA2E1G2dcOGDdagQYPwviZNmvg6JgAAgJQigM0kFixY4Pq7KttarFgxO/vss/0eEgAAQKoQwMY4tcVS4Lpw4UK3nS1bNtfvlQAWAAAEFQFsDFN3AS1MsH37drddpEgR12VAta8AAABBRZf6GBQKhVxf1w8++CAcvNaqVctuvvlmglcAOANanXD27Nm+3vb69evthx9+cF9rXoN+Tv+n5v4iLzVq1LDmzZvb3//+d9u7d68Fydtvv23XXHNNunbt6d69u+3atSve/ocfftg9d+vWrTvpZy666CIbMWLESfu1T9+LtGfPHnv55Zfd/nr16lnHjh3to48+shMnTqTZY9i1a5fdeeedbh6M7mf06NGnvP6oUaPcgkY33HCD3XfffeGuRd7z8dxzz7nXiy5PPvmkHTx4MHw/eq50nfREABuDtDDBN9984+pdVTJw6aWXWs+ePS137tx+Dw0AkITp06fH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ytdsU6/thpo4q/9derahAABkDLUySqwdVdB5K3HFMk0kGzNmjN/DCIQiRYpkyHNFABsF9ClcJQNals4rSdbybPpk6/UOBAAAwH8RHflM2Va1CVGrD1H/NjVBjrXTLwAAAGmFANZn6uOn0gHR7EaVDHhLywEAAOBkBLA+06oZas+hhQq09rMaQwMAACBpBLAZTCuJqNVIZInABRdc4OuYAAAAgoQANgOp95+WtDt8+LBbMq5MmTJ+DwkAACBwfO3PpEBOTZ0bN27s1ugdPHhwktddsmSJ9e7d2+rVq2c9e/Z06+8GhdYYnjx5suvvqlUttK11kQEAwbN161a39rvet+rWrevWgP/www/dilQpmcA7atSo8PZFF13kJvSmtbffftuuueaak/bPnj3bqlWrluTl4YcfDl8nI5zpfekx6rEmRbet+8jo2EXUYizh86uesp6PPvrIWrVqZQ0aNHC3e+jQoTQZZ6zzNQP76quvukB0yJAhtmnTJnvooYdc71M1Q46koE9L03Xp0sVefvll++KLL6x///42adKkqF+aLi5urw0Z8o2tX7/ebWu83bt3typVqvg9NABACm3evNktRFCpUiX717/+5Xq7aunL119/3WbNmmUDBw5MVu9uBS0KqLp16+a2hw0blqHvZwqWpk+fHt5WIKYAUPu9jjhKHCH1sYtHq6699tprbtlgj7dM/IQJE+ydd95x3y9WrJg98sgj7msteoEoDWAVlGrJuUGDBlmtWrXcZeXKlS5LmfBFoNWocuXKZQ8++KBbTlUrfmhN6e+++86ttRutqlZdYfPmjbRjx+LCE7aUPWY5WABII0oO/POfWv5HHdTN7r3XrHz5dLu75557zsqXL28ffPBBeNKttuvXr+8ysUqwaNnR0/F6fnuKFi1qGSlnzpxWokSJePsUVCXch9THLnLkyBHbsGGDWzI4sef2448/tmuvvdYuvPBCt/3MM8+4EsO///3vbvEERGEJwbJly9zpFu/TnjRq1MgWLlx40tKp2qfvKXgV/d+wYUNbsGCBRas2babZlVd+EQ5eNVGrX79+BK8AkBZ0uv76680aN/5vAPvRR//9X9van4LT+cm1fft2t8z3TTfddFLHGGXglFDRGvCicgCtBa/MrN7n1G1GgY/3PWXd5syZEz5tHllCoNPhKkm4/vrrXYmC2iuq7ExlC7qtDh06uJ/1TJkyxWVyFSTptPZ9993nliVPKwrKvVPcyhAqKBNlbG+77TYXsJ933nluTPre888/7xbj0UUJJ291SS9gU7Cmser5mjdvXrLuS3TaXWcw9Zx06tTJJk6cmOSY9fwq46kxeM97YhRcJlVGkVhJR0piF/nzzz9dzKIPOQmpnFDZex0zjz4IHT161N0PojQDu23bNrfcmD4FeooXL+5qS3bv3h3v06ium/CUu1Lt+tSTEvrEq09P6S0uLqtt3frfT1o5cqhkoLPLvqpVFoLDq0OiHimYOH6xfQxz9u9v2T77zLIkyGTa1q0WGjLEBQdHBgxI0/HMnz/fvY9Urlw50feS2rVr26effurewxR4LVq0yJ2K16lmnXJ++umn3XubglkFqQp6/vGPf7jbUvCjn/HmSbz77rv21FNPuWD0/vvvd2fvVLqg21fg+Oyzz7pgWeVpd911lwv2mjVr5gJd1VHqeroPBUO6veS89+n9N/J62vbOgmo8CuA1HnXR0ZwU3baCZ93fAw884N7nXnnlFfe4NUadOX3zzTfdRRlLBWU6/a7HrOfw888/t7vvvtudRj/dfSk4vuOOO+yee+5x5Q46C3vvvfe657ZmzZruMWo8Gr+WZNd+ZctV4vHiiy8m+vi8rLPKEROTP3/+k66vgFe92hXEejXP+fLlc7etcoKEmfSlS5e629Fj+eWXX9x4brnlFvcY9DrRzxUsWDDe/WhM69aty7D642j7O6rfMS9hGZUBrJ6MyOBVvO3IT1ynum7C652OXtx6MaW/rLZ+fR2bPPlie+KJ/wbNGXO/SA/eQhMIJo5f7B3DHH/9ZdXHj7fsCYPX/6eg9sS4cbbq++/taOnSaTYO7++4ApUtW7ac9H0FJKKsoq6jN2EviFQwooygal8VAClDqv1K0Oiir/Uzug+9Z2jCcrly5dz7nDKOP//8c7hneJMmTdzy47quanJ1CrpGjRq2Z88ed9v6WsG2Mnu67eS+Byn4VTAWuS1XXHGFG58CK50yV+2ugnXdtvbpawXgClC//PJLl4FVhloB3nXXXefmsCjg9J4zvadrrOp9rqBXtbanuy+VbCjLq7Ovejx6bLoo03rnnXe6fRqPHqcCY2Wpdcpe47r66qtdCWLCx3c6ur2kMqqRz6f3uPQ4lFyLNHfuXDe2ihUruuOnbQXt+gDi1cEqWI1McOn29ZqPprhhTQb/HU0Y80VVAKtPZgkDUG9bn1iTc92E1zudHDlyZNjkqYUL99q6dbmsdu2zqWMJKP2R1S+t/vBwDIOH4xe7xzDHRx9Zjp07T/mzOXfutBoTJtjRl19O05UTRYGRMmkJeWcFFVgpg3j22We7rKhHAawmaynA1G0ooNLX7jHlyOHKELStyVzKKnrf036dgtY+UfCr4FDf9y7jFLCvWuUCLE0aUj1uYvdzKgomI6/nlSG0bt06XDKh9o8KsLzb1mP0fkb3r3GpjjNhRk0ZUmVSlW3VpCdlVhXQqSSgZMmS4QAuqfvS86lSisjxqdRg9OjR4edM49HX+iCgrLR3Xf2v10/Cxyf6AKDsdmIef/xxV6qQMAOrxxN5O4pRRGURXlDqUXZaY1GWVVQnq8eiDxi3336726fn8Jxzzon3fGmSYHKOWSz+HdXrKDl8C2D1y79r1y73Ys+ePXv4046CUu9AR15XBzyStvWiTwn9ImTULE/9bdu584Q74NHeKQGnxjEMNo5fDB7DiJrKU8mxb5/lSMNjr8BUwZUCxMiAw7NixQqXaVUWVBkkXSLHrZ/V+532KWDVtvd9dS7wrq/9ei/0vqfr6uJtewGTtpX1VK2tamgVLN94443u9HlS93Mqut3I63n3Ezl3w3u/9m478tho26tj9fYpANLzpeypspM6va9yANWzjh071gX0qjU93X3p+Yh8DhJ+X4/R+77e6xM+9/pewscnCmoVBCdG4014fX2QUKZdt+/dv2p8NT7FKol1oFAJQaRzzz3XBWn6YKIx6ee9+1FMpOy0su/R9HcrTwb+HU1O+YCvk7j0yUIHP3IilupD9Akm4QtAp1J+/fXX8KxN/a9PL9oPAMhk1G0gOdJ4Zr/qG9u1a2fvvfeeyygmzOQpGLv88svD+5T5jJxMpTrYqlWrpuhN+nQUfKmkQHWlV155pSs30P0m7HKQERTcKZBUgKfAUBcFb5988onLXut9XG3GFGirZledhFQDqvf+09EHBtUMR9LtJfZBQgGiJkdFZk337t2b6O0qDvHGmvCSMPBMaewi6qerxxpJHzqUYdX19XORj1+3q9uPXK0TURbAKprXrEkVtavgW43+1QxYM/W9bKx3SkEpd734XnjhBfepRf/rU13Hjh39Gj4AwC9qlXW6M3A6DXbPPWl+15pVrwyZOhF4ta6aBKT3LmUZFUR6VPuoiVjKQGrClQI27/t6D9SCCAquzoSyvcuXL3fvo6tXr3a90hW8pXSOSFpQwKcyAb2vq3ZV79fqnKAa0bPOOstlKTVBS10B9LhV9qDnKDmTlVRLq/IDZZd1Slu1xHrelX1OSDWv6nag6ysrrmOWnN68aRG7JIxflBlXplmLVuiDhWp2FbBqjKLXgzpO6HZ0e7pdfQii7CnKFzLQpxIdLBWg64WvQmwVXotm6L300kuuzYa+p09t+kOgPwJ6sb///vtRlV4HAGQQtSRSbeKQITold/L3ld1UgiMd+sHqNLHeh5SF1cz7nTt3usyjOgTovSwyUFINp+oyVbup/9WgXi2XpH379m7Ck2pV1ZortTRJTJOHFODpdLSysaqtVHDoB2Uc1YlAdZ+ajKVJV5pApcysspdKQOm50yQmnULXc6KOBAnLBBPSGVd1MFB3A/2MMq9aSCJycQBP165dXYmiuhAokNQksrRsS3Wq2CVh/KL9il3+/e9/uw87yg5rQppKBETHf+PGjW7hAn3o0PXVAxanlyXkx3kGH3inE5SuzwjerE+vuBzBwzEMNo5fjB9DtTC6+Wb1XdI08PiZVwWvgwbp/LD5xev1eibBaSzg9zDYDvpw/JIbr/magQUAIFUUnGoN+siVuNTCSGUD/5/dAhC7CGABAMGlMoE33vB7FAAyyyQuAABileofM3v5AJCeCGABAAAQKASwAAAACBQCWAAAAAQKASwAAAAChQAWAAAAgUIACwAAgEAhgAUAAECgEMACAAAgUAhgAQAAECgEsAAAAAiULKFQKGSZwPz5800PNWfOnBlyf7qvo0ePWo4cOSxLliwZcp9IWxzDYOP4BR/HMPg4hsEW8uH4HTlyxN1Xw4YNT3m97JZJZPQvju4vo4JlpA+OYbBx/IKPYxh8HMNgy+LD8dN9JidmyzQZWAAAAMQGamABAAAQKASwAAAACBQCWAAAAAQKASwAAAAChQAWAAAAgUIACwAAgEAhgAUAAECgEMACAAAgUAhgz8Dhw4ft0UcftcaNG1vLli1t8ODBSV53yZIl1rt3b6tXr5717NnTFi9enKFjxZkdv2nTplnXrl2tQYMG1qVLF5syZUqGjhVnfgw9GzZscMdx9uzZGTJGpN0xXL58ufXt29fq1q3rfg9nzZqVoWPFmR/DSZMmWceOHd3voI7l77//nqFjxamXcO3cufMp/zZGUyxDAHsGXn31VXfwhgwZYk899ZS988479t133510vYMHD9rNN9/sfrlHjBjhfnH79+/v9iP6j9+yZcvsjjvucL+so0aNsj59+tjdd9/t9iMYxzDS008/ze9eAI/hvn377G9/+5tVqVLFxo4da+3bt3e/lzt27PBl3Ej5MVy5cqXdf//97v1v9OjRVqNGDff1oUOHfBk34n8Iue+++9wxSkrUxTJaShYpd+DAgVCdOnVCs2bNCu979913Q1dfffVJ1x06dGjooosuCp04ccJt6//27duHhg8fnqFjRuqO32uvvRa64YYb4u3729/+FnrjjTcyZKw482PoGT16dKhPnz6hqlWrxvs5RP8xHDJkSKhdu3ahY8eOhff16NEjNG3atAwbL87sGP7nP/8Jde/ePby9b98+97u4aNGiDBsvTrZy5crQZZddFurSpcsp/zZGWyxDBjaVlH07duyY+wTiadSokS1cuNBOnDgR77rap+9lyZLFbev/hg0b2oIFCzJ83Ej58evevbs98MADiWaEEIxjKLt27bLXXnvNnn322QweKdLiGM6ZM8fatm1r2bJlC+8bPny4tW7dOkPHjNQfw8KFC9uqVavsl19+cd9TFi9//vx29tln+zByRP5uNW3a1L766is7lWiLZbL7cq8xYNu2bVakSBHLmTNneF/x4sVdGn737t1WtGjReNfVaa9IxYoVO2WqHtFz/CpXrhzvZ3Xcfv75Z1dKgGAcQ3n55Zfdh5Fzzz3Xh9HiTI/h+vXrXe3rE088YVOnTrWzzjrLHnroIfeGimAcw06dOrljd+WVV7oPIlmzZrWBAwdaoUKFfBo9RMcjOaItliEDm0qq2Yn8hRVvW4XQybluwushOo9fpJ07d9qdd97pPnUqG4RgHMOZM2e6rM9tt92WoWNE2h1D1dm9//77VqJECRs0aJA1adLEbrjhBtu8eXOGjhmpP4Y6C6Ig6Mknn7Svv/7aTYx95JFHqGMOiENRFssQwKZSrly5Tjpo3nbu3LmTdd2E10N0Hj/P9u3b7dprr1XduL311lsue4DoP4ZxcXHuDVOTS/idC+7voTJ2mvRz1113Wc2aNe3vf/+7VaxY0U0GQjCO4euvv25Vq1a1q666ymrXrm3PPfec5cmTx5WCIPrlirJYhnfgVCpVqpT7NKnaH48+WepAFixY8KTrKviJpO2SJUtm2HiR+uMnW7ZscX909cv68ccfn3R6GtF7DBctWuROPyvwUZ2eV6t30003ucAWwfg9VOa1UqVK8fYpgCUDG5xjqJZZ1atXD28rCaDtTZs2ZeiYkTrRFssQwKaSMgHZs2ePV7ysU5R16tQ5KTOnfmm//vqry9yJ/p8/f77bj+g/fjp1eeONN7r9n376qfslRnCOoeomJ06c6FqgeRd5/vnnXTs0BOP3sH79+q4PbKQ///zT1cIiGMdQgc4ff/wRb9/q1autXLlyGTZepF60xTIEsKmk0x7dunVzPSWV4Zk8ebJr3tyvX7/wJ1CdupRLLrnE9u7day+88IKbgan/VUuiZs6I/uOnSQbr1q2zV155Jfw9XehCEIxjqExQhQoV4l1EH0Q0AQHB+D3UpEkFsG+//batXbvW3nzzTZdZVx0lgnEML7/8clf7qg+ROoYqKVD2VZMrEZ22RXMs40vzrhhx8ODB0IMPPhiqX79+qGXLlq7HnUe91CJ7oy1cuDDUrVs31y+vV69eod9//92nUSOlx+/iiy922wkvDz30kI+jR0p/ByPRBzaYx3DevHmuj2jt2rVDXbt2Dc2ZM8enUSO1x/Drr78OXXLJJe66ffv2DS1evNinUSM5fxujOZbJon/8CZ0BAACAlKOEAAAAAIFCAAsAAIBAIYAFAABAoBDAAgAAIFAIYAEAABAoBLAAAAAIFAJYAAAABAoBLAAAAAKFABZAYF1zzTVWrVq1RC/e0r+nM3v2bHf9DRs2pMsYdbsJx1azZk1r3ry53XPPPW4pzbRy0UUXuaVWRWvUjBw50nbs2OG2R4wY4e47vXi3H3mpUaOGNWnSxK6//npbsmRJim5Pz8u4cePSbbwAgi273wMAgDOhdbgfe+yxRNdojyYKLBs0aOC+PnHihK1fv96Nu3///jZmzBjLkiXLGd/HsGHDLFeuXO7ruXPn2sMPP2xTpkxx2506dbJWrVpZeps+fXr46+PHj9vq1avtxRdftBtuuMEmT55s+fLlS9btPPTQQ3bWWWfZpZdemo6jBRBUBLAAAi137txWokQJi3aFChWKN85SpUrZHXfcYQ888IAtX77cqlevfsb3UbRo0fDXCVcJ1/OkS3pLeCxKly5tTz75pF199dU2a9Ysa9u2bbqPAUDso4QAQEzbs2ePPf744y77WKtWLXfqXtuHDh1K9Ppr1qxx2cJGjRq5jKm+VoDp2bdvnz3xxBPWrFkzd51+/frZb7/9lqqxZcuWzf2fI0cO9//mzZtdQHv++edb/fr13X0vW7YsfH2VA9x1113WtGlTq1u3rvXp08fmzJlzUgmByiI0LlHAqNP7kSUEysz27t073lg2btzoguiZM2e67fnz59tVV13l7qdNmzb2zDPP2P79+1P1OL2scPbs2cMZ6IEDB9rFF19stWvXtoYNG9qNN95o69atC5eG6HGpBEKPSY4cOWKvvfaaO446Lpdffnm8bC+AzIUAFkBMU7Cm+st33nnHJkyYYI888oiNGjXKvvrqq0Svf99997ns6PDhw23o0KGWNWtWlyn1spo33XSTO/2vAOzrr792gWbfvn1TVOOpAG7p0qX273//2wWN55xzjgsOdTtbtmxx+7/88kuXMVXmUsGlPP3003b48GH79NNPbezYse7nbrvtNjt48GC821eA59XC6jGofCBSjx49bNGiReGAUXR7ypYqMFfQrLpVBYsqb3j99dft999/t7/97W8nZXZPR8+VAs+yZcu6elj5+OOP7cMPP3THRsfk3XffdR8cXn755XjlFioPUVmE6LjNmDHDjUWBrb53yy232LRp01I0HgCxgRICAIGmwEtBUCRlRj/44AP3tbKZCpy87GO5cuVcALhixYpEb09BXYsWLVz9pTKjqt/8888/XdCpzOaCBQvcqfDChQuHA15lKxWUeQFYYhT4ehlXZRMVCDZu3Niee+45FyQrUNy1a5fLlHqlAP/4xz+sXbt29tlnn9mDDz7oxla1alUrX768C25VQ9ulS5fw7Xpy5szpShZEt5WwdEDPh25D9+kF53oeu3bt6sai4FLPmwJEqVixYngsyowqA5wUr85Xjh496p7Dli1b2ksvvWR58+Z1+88++2w3ye7CCy9023quL7nkEvvuu+/ctp5b/ZzGrfGvXbvWvvnmG/fBQxPDRAG2Am2NVRliAJkLASyAQNMpZp12jxQZsF155ZU2depUl7VTlm/VqlWuM0ClSpUSvb17773XBa2ff/65nXfeeS4L2blzZxfYKQupwNMLvDwKSJUZPZXnn3/e6tWrFz6VXqxYsXjjVECtQDGyjlXf1yl8L9hWsPn3v//dBewK0hUYamzeKfrk0oSxbt26uaBVt6nssZ6X9957z31f2woaI4NRzx9//HHKAFZBplfu8K9//cv9r24L+uAQecwWLlxob775ppvkpYvuX5nvxHjZbR3LSAqQCxYsmKLHDiA2EMACCDTNaq9QoUKi31PWVLP8V65c6QI9nUpXHaxqWJOiuk9lA3/44Qf7+eef7a233nKn9BWY6fby58/vsqQJKet5KgrOkhqnJHVqXvfp1Y62b9/efvrpJ3dRrep//vMfVxqhUoZzzz3XUqJ79+7uZ1W/O378eFeH6o1P96nMrpeBjRQZYCfGuw39rzIL1dqqllcfIIoUKeK+9/7777uyAY1BNcnXXXed65aQVNss77lRJjphFwN9sACQ+fCbDyBmqc70xx9/dJk+ZWkvu+wyd/pap+ITCxiVLXz22WddZk91oqrd1Gn2bdu2uVPnOn2vWlV9XwGadxk0aFC4XVVqqcRBGWKvb6soq7t48WKrUqWKy/LqNLxqShWIK6OrtlQK4BKrAz1dWy6dtlcmVdncb7/91j1ej4JhZUQjH+OxY8fc/WuiWXKplZlqVrdv3+6eV8+AAQPs9ttvdzW9V1xxhasj1mNPKoj3gnMdh8gxeZPTAGQ+BLAAYlbx4sVd9lIBmgI/ZRt1OluBkALChFQ3qmBQXQoU/OpnNJlK9ZiaLa9yAtVgqsxAdbA6za6gTkFU5cqVz2isyniq9lPj0wQr1Xcq6NYELQV5yvBq/Moeqw5XZRC6X30/sVP9Xr2pbufAgQOJ3qcyoCqV2L17t5sU5dFkLZ22V+cBlQz8+uuvdv/997sgU2UOKaFJauowoCyvSjmkTJkybkKWgmTVF//zn/+0iRMnxjsmyrRq8tpff/3lAliVbTz11FPuNnRc9KFBGV59IAGQ+RDAAohZOm2viVUKepS1vPvuu90+nbJWZjMhBbsKjJTV1HXURF+n6nXKW4GSJksNHjzYBbMKNJXR1YIBOhWvU+FnokCBAm5ymWo6dd+q94yLi7MvvvjCTbgSBXr6+tZbb3VlDgquleHUZLCElC1u3bq1G2dSHRfUxko0OUulER5lRDUJTkG8glzdnzoefPTRR6ctlUiMOiWo5thrxfXqq6+6x9azZ0/XZUE1vvqess/eymRqEab9eo61IIIee4cOHVxPWR1LlXS88MILbnwAMp8soZT2RAEAAAB8RAYWAAAAgUIACwAAgEAhgAUAAECgEMACAAAgUAhgAQAAECgEsAAAAAgUAlgAAAAECgEsAAAAAoUAFgAAAIFCAAsAAIBAIYAFAACABcn/ATBB+f8yxLfmAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Optimal Threshold (Youden's J): 0.50\n", "AUC: 0.98\n" ] } ], "source": [ "# Plot ROC curve\n", "plt.figure(figsize=(8, 6))\n", "plt.plot(fpr, tpr, color='blue', label=f'Logistic Regression (AUC = {roc_auc:.2f})')\n", "plt.scatter(fpr[optimal_idx], tpr[optimal_idx], color='red', label=f'Optimal Threshold = {optimal_threshold:.2f}')\n", "plt.plot([0, 1], [0, 1], color='gray', linestyle='--')\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('ROC Curve for Logistic Regression')\n", "plt.legend(loc='lower right')\n", "plt.grid(True)\n", "plt.show()\n", "\n", "print(f\"Optimal Threshold (Youden's J): {optimal_threshold:.2f}\")\n", "print(f\"AUC: {roc_auc:.2f}\")" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "from sklearn.metrics import precision_recall_curve, f1_score\n", "\n", "# Predict probabilities\n", "y_probs = lr_model.predict_proba(X_test)[:, 1]\n", "\n", "# Calculate precision-recall curve\n", "precision, recall, thresholds = precision_recall_curve(y_test, y_probs)\n", "\n", "# Calculate F1 score for each threshold\n", "f1_scores = [f1_score(y_test, (y_probs >= t).astype(int)) for t in thresholds]\n", "\n", "# Find the best threshold (highest F1 score)\n", "best_index = f1_scores.index(max(f1_scores))\n", "best_threshold = thresholds[best_index]" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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iZ1xxhn73W6AQgsByOOaa64JXX311aG9e/eGLxs3bgxNmTIl9Otf/zp0xRVXhHJycsLznnjiiaGsrKzw33/66aehJk2ahN59992o573nnntCp59+unu+bdu2hY4//vjQkCFDouZ59NFHQ7169XK377///tA555zjbn/99dfuOWfPnh2ed9WqVaHhw4eH1q5dm2f+pUuXuvlHjhwZ9fxvv/22mz5jxozw3+i+niswa9YsN23q1KkHXE+aL/fl2GOPDXXs2DH03nvvheddvny5m557eZ599tlQixYtQps3bw7t27cvdNppp4VuueWWqHlGjx4d6tKlS2jPnj2hUaNGuWWOtGXLlqj3OmHCBHd/9erV4eXUpSCDBw9282dmZoZi8fzzz7v5c9M0PSZ6bd3v379/nr896aSTQrt373b3tR2dffbZoYEDB8a87RQk8vW1LjX/9ddfHzWP2rlZs2ahYcOGRa0rbRcHEvn8+Yl1m9P77dOnT9Q8+hvNo+XJrw2bN28e+tOf/hSeX+9v6NCh4c/DF1984ebXdSCy3ZcsWeIe/8tf/hL1urfddlvowQcf3O97zu+i5bnuuutCCxcuDM87fvx499icOXPC09S++r+ka9eu7v7nn3/u5nn//fej3suFF14YtU0V9f+VWP6fONC6jFz3hd2O3njjjfA8WnZ9th955JEC1y9QVFRggQKoOqjKVqSUlBS3a1CVnsjdho0aNXK7ywPaZajHVVGLrNyowvfPf/7THQCyYcMG99h5550X9RoPPvhgvstzzDHHuH5pN910k9slrYqGqraqpuRn1qxZ7vriiy+Omq77qnppt2vQN1XPG9l/VpUY2b17t7uOfA/BetBFtI5UyRFVcbWLVge86VrrJfDFF1+4CpLWQe51ogrR7Nmz7aijjnKVIXUxiKTqkS6i6pKouqtq+Pfff+8q1xLZzaAwypYt6673VwEsqqZNm0bdV0VtxIgRrhuBuo6omqbuKEGlOpZtJ/dz5kfrRtuYdvVGUjur+h1sHwUtZ1HEss2pi4be7x133JFnnvyqkAFVVVVRVEVX277Wj6qCsdL2Jbk/b7GMqqBuALpo+128eLE9+eSTble6lrdixYrh+dR2OphLn4nItlO1PdiLoM+BKr6//e1vw4/rs6TuFLmXpSj/r8Ty/0Rh1mVhtyNNC2jZtSy7du064DoGCosACxQgMpjpS0O7kQ8//HC3yy23yC+xoB+cvuw0nFR+FPSCobhiPVhCr6Hd6wp72rWoXcYZGRku+Cj0Rn7RSfD8uY+OTk1NterVq9v27dvD08qXLx81TxDOtUswWBeRbrvtNrf7Plgu9XcLaNesQpqGGNLu8uD9aZ3kF24C69evd8slwS7J/Kj/no4uVz9YLWeDBg3crmop6lBX9erVc9cKVgUd+KPl0y7hwo5CEPSbDWh59SWvbgQKsLpWGAi2lVi2nVjCZrC+a9WqlecxTVN42d9yFkUs25zaL782zm85Iz377LPuqH9t+++//37Uj8mg/WJZH/vbtgqidg+2cfWdVfchdfvRbnL16Q62Cb2Gwl7uz0tAj2n3u7qLBD8AA/ktV1H+X9G2caD/JwqzLgu7Hem1Ium5fRiCDv4hwAIFyB3MCkP9zBQIXn311XwfV4hR5U30hR5ZqVSIUlVRFZ7cNJ+qP6oUqt+g+q5pOC8FoKAyGQj6rupLM/JLSdVRfYkGYTEW6ssWaX/D6+hLTf0QVWFTn8qgqhYc8KI+v7m/mEV9AYNwE1wHtLz6olTwUz/G5cuXu4NedF9fyKoUv/HGG1ZUbdu2ddfqE5lfgFW1SwFAweHFF18MBxa1Q1C9VUU4Vgr4TzzxhAt0GoLpqquuKtS2EwuFJFF/zNy0TRSm/WMVyzYXVPdVaY+U+35uQd9NXdT+06dPd22hH5kKkQcSbH/atoJlkO+++86FtPw+bwVRX1Yd0KSgqO1OfUGDZVSFWf3Y83PkkUe64c20LvTjMDLEHuj9F2bbOND/E4VZl4nYjoBYMAoBUAJ0JLd2m6nyoBAcXL799lt3QIsCkSo52pWY+4h0HUyjg5eCYBRQ0NEBFvrS0GMKbzooSl/MwYgIuZdBVOGLpPv6YivMF3bke9DlQGOMBrsudXBSsIsxqJLqyzvyuRQodNCYQoS+ePWFmHud6Av4xhtvdEFIu4K1G1i7QYOqczBiQlAxLiztdtWwX6NGjXIHjeU2cuRIt9wKnhJU4TXsVu5d1LHQ7mJtG3rfCi7B88a67cRC3TFUCVUbRNL70xHpBVXxDkYs25zCo4JUMOJCQENRFUQHBWo3tz4Dou1EB4mpahhs+7k/L7kF2/tHH30UNV1hUz+0CksHTunHmoZXC6qUev86Ml/V1Mi20xH8OohLy6h51IaRy6G21h6FA4ll2zjQ/xOxrMtEb0dALKjAAiVAXxAaM1ZHG+uio4VVCdGRuwp2wW51HUmvSqKCmL6cNASNKiU6AUDuXYz6olBA01HICnOqYmoXoKp4ufv1iSqJGopKr6kKpZZHRz6r/6XCX0kfFdy/f38XzB577DF3pLKG5dH9hx56yH2J6shx9a/T7kxVplS50heuuiZoV6ZCgPr2aR69Bw1jpQqfgv/kyZPdblqFIVWyg924QZ/dolD1SUeQq6+j2kVdIVRV1Re9ApjOyKVgHrSvKqiqNKtvrkKLAkR+leX8BCMO6OhzBYzIqmqs286BaPvRDyH1PVX/Ra17hXC1v9ZjMCxTYSm0aJvNTcsWyzandtIR9KqkqyuI+jurX6nWX7Dcuamaq7bWtqSj7BWANXKGKubBaB3BKBw60l7vT2eEi6T7aj9VJjVyhXa164ePfixp+QpLr6cQqxEm9ENE70Vnn3vttdfculUfVHU5+vzzz90Po2uuucb9YNU6UZ9U/Z2qmtrzoD0cGtXgQN1TYtk2DvT/RCzrMh7bEXCwCLBACdB/+gpV+mJT9U5VNlUt9Z99MFyUaBeegtrf//53V6FRkFPAU1jKTbvtNY+eU19+CgiqHOpgjPyGvhFVlhSONJSPvkT1HApn+vLLLygUJ1V2NJalKsoK5foCV+jT+tD7VfVS713VSPUlDCpowXirGj9S/ff0ZasKkS6is0xp+CJdRMFX4VMHsUSeRrSwFCT0eurioGqT2k8/LPQ+1A1CyxlZlRo2bJjrZ6iQoCARuUyxUJcEVd00jmdRtp1YKFApwOh59LeqHCvoKJAU9cxRGi9Xl9xUOdd6iGWb03tWJVFtrPm0HWub1qWgvrgKTKp2ar0oQCkcqi+21r/oOTTMk3bra1i03BVDUXjV86iNg+HCFP4iD6gqDJ31S9tMMISZQrJeX9uLXkuhUYFRwU99wgP60abtWPOpaqphuNSNJHIs1vzEsm3E8v/EgdZlPLYj4GCV0VAEB/0sAADESOFSg95H9v1W5VQVQHUXyV09PZRo74Oq2AqtkQc8qSqt3fIHc2IFoDShAgsAiCtVy1WFVOVd1b9Vq1a5Sqi60RzK4TWoourkCQqwOumE9jyoYqw+wNpDASA2VGABAHGl3dbafa4+qDqITwdD6bTCqkLG2o/YZxoLNjg7mboQqCuDugHs72xgAKIRYAEAAOAVhtECAACAVwiwAAAA8AoBFgAAAF4pNaMQfP311+7sJRpIGgAAAMlHZ1zUST10kpf9KTUVWIXXeB6vptfas2dPXF8TxYs29Bvt5z/a0H+0od9CCWi/WPNaqanABpVXnTc6HnSWGQ2RolMrFnRmGSQ32tBvtJ//aEP/0YZ+25WA9ps/f35M85WaCiwAAAAODQRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4JSkCrM6z26FDB5s5c2aB8yxcuNAuv/xyO/HEE+3SSy+1BQsWxHUZAQAAkBwSHmCzsrLsrrvusqVLl+73XLw33nijtW7d2iZOnGgtW7a0Pn36uOkAAAAoXRIaYJctW2bdunWz77//fr/zTZkyxdLT0+2+++6zo48+2gYMGGAVK1a0qVOnxm1ZAQAAkBwSGmBnzZplbdq0sfHjx+93vrlz51qrVq2sTJky7r6uTz75ZJszZ06clhQAAADJIjWRL969e/eY5tuwYYM1btw4alrNmjX32+0gP6FQKC7dDtb+tNsueGWGrdis11po9nPuhm9CwQ3a0Eu0n/9ow6RVOS3Vnu90sl3a4lf7nW/37t1R1/DL7gS0n7JaULBM2gAbK624tLS0qGm6r4O/CmPv3r22aNEiK2lfrd9py114zf2fMLxFG/qN9vMfbZhUfsrKtlGfLrTjU3fENP/KlStLfJlQcuLdfrkzn7cBVv1fc4dV3c/IyCjU85QrVy5PJbckHHdcyCrXrG1fLlttNWrUcK8L/+gHz+bNm2lDT9F+/qMNk9Mr/1luSzfucMeiNG3a9IAFKIWfhg0bWvny5eO2jCgeiWg/HR8VCy8CbN26dW3jxo1R03S/Tp06hXoelaQrVKhg8XBJiwZ2TOou9+GO12uieKm7iSr2tKGfaD//0YbJ6aPlG12ATSlbNuZ2UfihDf1VPo7tF0v3gaQYRisWGvv166+/dv0iRNdfffWVmw4AAIDSJWkDrA7cyszMdLcvuOAC++mnn2zIkCGutKxrlbUvvPDCRC8mAAAA4ixpA2zbtm3d+K9SqVIlGzlypM2ePdu6du3qhtV6+eWX2R0BAABQCiVNH9glS5bs9/4JJ5xgb731VpyXCgAAAMkmaSuwAAAAQH4IsAAAAPAKARYAAABeIcACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8kjQnMgAAAP5YumG7PfDOV7Z7b7bt2rPPXe/O1vU+270n213vyd5nFxyZYQ82TfTS4lBDgAUAADErm1LGXX+3abs9+fE3B5x/xaay9uAlcVgwlCoEWAAAELPrTjnaZq/eZHv25Vj5cmUjLqlR18s3bbf5a7e6+YDiRoAFAAAxu+zEBu5yIEOnz7f5a+fEZZlQ+nAQFwAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvMKZuAAAgNf25eTYT5l7bevuPbbtl+vUlBQ7rWEtK5tCre5QRIAFAAAJlb0vJxw8w5fMX653Bbf/9/j/wurP07dn7c33eR9o19yGXNQy7u8HJY8ACwAASkx2KGTDZyyyHdkh27Jrj22JCKm6rWkFBdCDNW/NlhJ5XiQeARYAABS7MlbGXWfnmD06fWGRn6dsShmrlpFm1crrUs5dV9Ul45fb7rFyVuWXeTS937tf2azvNxXju0GyIcACAIBid/5xR9iTH3/jqqwV08pa9fLpVr1CmlX/JYDq+uf76e52lfLlfp5WPj0cVHWpmJZqZcr8HIZjpTCLQxsBFgAAFLuT6tWw5fdfbAsXLbYTmh9vFSpUSPQi4RDCoXkAAKBEpJZNsXJlC1c9BWJBgAUAAIBXCLAAAADwCgEWAAAAXuEgLgAAgCSyd1+Obd6VZZt37bFNO7Ns555s+03D2lY5o1yiFy1pEGABAABKQE5OyJ0tbNOuLBdEN/0SSDeH7//vtoYb+/mx/E/scHrD2vZJ3wsS8j6SEQEWAAAghjCqU9puVPDcmWUbd2ZG3P7ftPD9XyqoOaFQsbz+/HVbi+V5DhUEWAAAUOpkZe+zDTsybcOOn4PnBhdCg/tZtuGXMKp5gkC6L6d4wqjOy6CTNtSokG41K6RbjYrpVqNCxH2d4OGX2xPmrbJXZi4rltc9lBBgAQDAIem7jdttwJSvXQj9UUF0x8/BVLd/ysy7m74oUlPKWK2KGVazYtov1z8Hz6jrXNN0prGyKbEdR/+f1RuLZTkPNQRYAABwSFqy4ScbOn1Bof5GldFaFdOtdqUMd61QWrvSz9c1f5les8LPYVWPV8koV+hT3eLgEWABAMAhpUuL+jZj2TrbFwpZjfIKnelWR4G0Uoa7rv1LKFUYdZdfgql24ZcrywijPiDAAgCAQ8pNv2liPVo3srSyKe50tjj0EGABAMAhp0IaEedQxs8SAAAAeIUACwAAAK8QYAEAAOAVOogAAAAkOZ1EYfbqTW4M2/XbNZbt7l+udX+3u9alTf1aNuG6sy0l5dAe2osACwAAkOR27sm2X/9hygHn++c3P9g367dai8Or26GMAAsAAJCkGteqnO/0cmVTrK7Gta3889i2qtBO+3ateyx7X/Gc8jaZEWABAACS1OUnNrDq5dNtW+Yeq1u5vAutdStnWLXyaVFnAPvX8vXhAFsaEGABAACSVNmUFDv/uCMSvRhJh1EIAAAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeSWiAzcrKsv79+1vr1q2tbdu2NmbMmALn/fTTT+2SSy6xli1b2nXXXWfLly+P67ICAAAgOSQ0wA4fPtwWLFhgY8eOtUGDBtmIESNs6tSpeeZbunSp9enTx9q1a2cTJkyw448/3nr27Gk7d+5MyHIDAACgFAbYXbt22ZtvvmkDBgywZs2aWfv27a137942bty4PPO+/vrrrvJ6xx13WKNGjezee++1ypUr2+TJkxOy7AAAACiFAXbx4sWWnZ3tgmmgVatWNnfuXMvJyYmad/Xq1XbCCSeE75cpU8aaNGlic+bMiesyAwAAIPFSE/XCGzZssOrVq1taWlp4Wq1atVy/2K1bt1qNGjWipq9fvz7q79etW2dVq1Yt1GuGQiFX+Y2H3bt3R13DP7Sh32g//9GG/qMN4yczMyvidmax5J1EtJ+ymgqVSRtgtTIiw6sE9/fs2RM1/cILL7RbbrnFOnToYGeccYbrOjB//nxr06ZNoV5z7969tmjRIounlStXxvX1UPxoQ7/Rfv6jDf1HG5a8VT/+77igFSuWW9q28t62X+58mFQBNj09PU9QDe5nZGRETT/zzDPt1ltvtb59+9q+fftccO3UqZPt2LGjUK9Zrlw5a9y4scUroKvBGzZsaOXLF99GhPihDf1G+/mPNvQfbRg/m8tvVIx1t486qpE1PaKal+23bNmymOZLWICtW7eubdmyxfWDTU1NDXcrUHitUqVKnvlvvvlm69Wrl23fvt1q1qzpDuiqV69eoV5TJekKFSpYPKnB4/2aKF60od9oP//Rhv6jDUteRkZ6xO2MYl3f8Wy/WLoPJPQgrqZNm7rgGnkg1uzZs61FixaWkhK9WO+8844NGTLElZQVXtW3Y+bMmYXuQgAAAAD/JSzAKs137tzZBg8ebPPmzbMPP/zQncigR48e4WqsgqqodP33v//dPvjgA1fKvvvuu+3www93XQsAAABQuiT0RAb9+vVzY8DqpAQPP/yw6+N63nnnucd0Zq4pU6a4282bN3dBd+jQoda1a1c3beTIkXkqtQAAADj0JawPbFCFHTZsmLvktmTJkqj7l156qbsAAACgdKOECQAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeIcACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeIcACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwSkIDbFZWlvXv399at25tbdu2tTFjxhQ477Rp0+zCCy+0li1b2lVXXWXffPNNXJcVAAAAySGhAXb48OG2YMECGzt2rA0aNMhGjBhhU6dOzTPf0qVL7e6777Y+ffrYpEmTrGnTpu727t27E7LcAAAAKIUBdteuXfbmm2/agAEDrFmzZta+fXvr3bu3jRs3Ls+8n332mTVu3Ng6d+5s9evXt7vuuss2bNhgy5YtS8iyAwAAoBQG2MWLF1t2drbrEhBo1aqVzZ0713JycqLmrVatmgurs2fPdo9NnDjRKlWq5MIsAAAASpfURL2wKqjVq1e3tLS08LRatWq5frFbt261GjVqhKdfdNFF9tFHH1n37t2tbNmylpKSYiNHjrSqVasW6jVDoZCr/MZD0L2Bbg7+og39Rvv5jzb0H20YP5mZWRG3M4sl7ySi/ZTVypQpk7wBVisjMrxKcH/Pnj1R07ds2eIC78CBA+3EE0+0119/3fr162dvvfWW1axZM+bX3Lt3ry1atMjiaeXKlXF9PRQ/2tBvtJ//aEP/0YYlb9WPO8O3V6xYbmnbynvbfrnzYVIF2PT09DxBNbifkZERNf2pp56yJk2a2NVXX+3uP/roo25EggkTJtiNN94Y82uWK1fO9aWNV0BXgzds2NDKly++jQjxQxv6jfbzH23oP9owfjaX36gY624fdVQja3pENS/bL9bjm4oUYFUN/cMf/mBfffWVq2qq3Btp+vTpB3yOunXrusqq+sGmpqaGn1fhtUqVKlHzasisa6+9NnxfXQiOO+44W7NmTaGWWyXpChUqWDypweP9mihetKHfaD//0Yb+ow1LXkZGesTtjP2u77U/7bKs7BxrWKNS0rVfLN0HihxgH3roITf81cUXX2yVK1cuylO4obAUXOfMmePGgRUdpNWiRQsXUCPVqVPHvvvuu6hpK1ascPMCAAAgf5l799nX/91sM1dtsC9WbbSZ32+077fsNOXEaTe1t3MaH2Y+KlKA/eKLL2z06NHh4FkUSvMaFmvw4MH2+OOP248//uhOZPDEE0+Eq7EKx/oV0a1bN3vggQesefPmbtQCDb+l6muXLl2K/PoAAACHoncW/mB/+c8ym7lqo81Zs8X27ose3Um083zemi2lK8CqjFyYg6cKogOxFGB79uzphsXq27evnXfeee4xnZlLYbZr165uFIKdO3e6kQfWrVvnqrc6+UFxLAMAAMChZPD7c/NMU8X1+LpVrU392jZmlv/j6BcpwHbq1MlVYB955BE3rNXBVGGHDRvmLrktWbIk6v7ll1/uLgAAAIhWt3L0QVa1KqZbmwa17NQGta1N/Vp2Sv2aViXj56P7//yfZa4CW+oCrMZpfeedd2zGjBn2q1/9Ks9wB6+++mpxLR8AAAAOoEntKvZBn9/ajzsy7df1a1mjmpViPiDKR0UeRqtDhw7FuyQAAAAosnZNDrfSokgBNjjQCgAAAPCmArt27VobN26cffvtt244rGOOOcauuOIKO+KII4p3CQEAAIAI0QOuxkgHWF1yySU2adIkd3Yrnchg4sSJbtrSpUuL8pQAAABAyVVghw8fbm3atLGnn37anRJWsrKy7J577nGnfdVwVwAAAEDSVGB1ClmN2RqEV9HtW2+91Z1NCwAAAEiqAFuxYkXbu3dvnun5TQMAAAASHmBPPfVU141A48EGNm/ebE8++aSddtppxbl8AAAAwMH3gVVf1yuvvNLOOecca9iwoZu2cuVKq1atmj3++ONFeUoAAACg5ALsYYcdZu+++64bhUCjDmgUgm7dulnHjh2tUqVKRXlKAAAAoGTHgVU/2O7duxf1zwEAAICSDbDt2rWzf/zjH1a9enU799xz93t+3enTpxdtaQAAAIDiCrBdunSxjIyM8O39BVgAAAAg4QH2tttuC9/WGLAAAACAN8NoyeTJk23dunXu9osvvmgdOnSwgQMHujNyAQAAAEkVYBVYBwwYYGvWrHFn3nr++eetZcuWNnPmTHcqWQAAACCpAuyECRNs2LBhdvLJJ9v7779vJ510kj366KM2ZMgQmzp1avEvJQAAAHAwAfbHH390FVf5/PPPrW3btu724Ycfbj/99FNRnhIAAAAo2RMZrFixwvV3XbZsmZ1++ulu+pdffukeAwAAAJIqwOo0snfeeaelpaXZscce66qx48aNs+HDh9vtt99e/EsJAAAAHEyA7dWrlx111FG2evVqu+SSS9y0KlWq2EMPPWSXXXZZUZ4SAAAAKNlTyepsXJE6duxY1KcCAAAAij/A9ujRw0aMGOEqrbq9P6+++mrsSwAAAACURICtV6+epaSkhG8DAAAASR1gn3jiiTy39+7da+XKlXO3169fb3Xr1i2JZQQAAAAObhzYzZs3h7sUBLp06WLXX3+9bdu2rShPCQAAAJRcgNUZt3bv3m0XX3xxeNqoUaNs+/bt7gxdAAAAQFIF2E8//dSdOrZJkybhac2aNbNBgwbZjBkzinP5AAAAgIMPsPv27bNQKJRnuvrDqjILAAAAJFWAPeWUU+yZZ56xHTt2hKfp9nPPPeceAwAAAJLqRAb9+vWzq6++2s4880xr2LChm7Zy5UqrVq2ajR49uriXEQAAADi4AFu/fn2bMmWKvfvuu7Z06VJLTU21q666yp2NKyMjoyhPCQAAAJTsqWQrV65sV155pe3Zs8f1fS1TpkxRnwoAAAAo2T6w8vrrr9u5555rJ510kv3www9uBIIXX3yxqE8HAAAAlFyAnTx5sj399NPu5AXBmbiOPvpoe+mll2zMmDFFeUoAAACg5AKsQuqAAQOsb9++lpLy81PozFwDBw608ePHF+UpAQAAgJILsCtWrLDWrVvnmd6mTRtbu3ZtUZ4SAAAAKLkAW6tWLRdic/v666+tTp06xbFcAAAAQPEF2CuuuMIeeeQRmz59uru/fPlyd1DXkCFDrGvXrkV5SgAAAKDkhtG64YYbbPv27XbXXXdZVlaW9enTx40Fq2G1brrppqI8JQAAAFByAfbLL790B3DdfPPNtmzZMguFQtaoUSOrVKlSUZ4OAAAAKNkuBAqv3377rZUvX95atGhhJ5xwAuEVAAAAyRtga9So4boQAAAAAF50ITjzzDNdv9ezzjrLGjRoYOnp6VGP33bbbcW1fAAAAMDBB9j333/fatasaQsWLHCXSGXKlCHAAgAAIDkC7Lp162zatGnh6uthhx1WcksGAAAAHEyA1cgDvXv3tszMTHe/QoUK9vzzz1vbtm1jfQoAAAAgfgdxPffcc3baaafZJ598Yp999pmdccYZNnTo0INfAgAAAKAkKrALFy608ePHh08V279/fzv77LNtx44dDKEFAACA5KvA7tq1y6pVqxa+X7duXStXrpxt27atpJYNAAAAKHqA1dm2NMJApLJly1pOTk6sTwEAAAAk5kQGAAAAgBfDaI0ZM8adPjaQnZ1tr776qlWtWjVqPsaBBQAAQMID7BFHHGHvvfde1LTatWvb9OnTo6ZxIgMAAAAkRYD96KOPSnRBAAAAgFjQBxYAAABeIcACAADAKwRYAAAAeIUACwAAAK8QYAEAAOCVhAbYrKws69+/v7Vu3dratm3rxpnNz7XXXmvHHntsnku/fv3ivswAAADw6EQGxW348OG2YMECGzt2rK1Zs8buv/9+N97sBRdcEDXfCy+8YHv37g3fnzt3rt15553WvXv3BCw1AAAASmWA3bVrl7355ps2atQoa9asmbssXbrUxo0blyfAVqtWLXx737599uyzz1rv3r2tRYsWCVhyAAAAlMoAu3jxYncq2pYtW4antWrVyl566SXLycmxlJT8ezdMnDjRtm3bZjfccEOhXzMUCrngHA+7d++OuoZ/aEO/0X7+ow39Rxsmtz179uw3FyWi/ZTVdFbXpA2wGzZssOrVq1taWlp4Wq1atVy/2K1bt1qNGjXyfVOjR4+2Hj16WMWKFQv9muqGsGjRIounlStXxvX1UPxoQ7/Rfv6jDf1HGyaZ0M9X69evt0WLspOu/SKzYdIFWKX53AsY3NcvgvzMnDnT1q1bZ926dSvSa5YrV84aN25s8Xp/avCGDRta+fLl4/KaKF60od9oP//Rhv6jDZNUmYUuxNatW9eaNj0mqdpv2bJlMc2XsACbnp6eJ6gG9zMyMvL9m/fff9/OPPPMqD6xhaGSdIUKFSye1ODxfk0UL9rQb7Sf/2hD/9GGySktLS2mdoln+8XSfSChw2gp9W/ZssX1g43sVqDwWqVKlXz/5l//+pe1a9cujksJAACAZJOwANu0aVNLTU21OXPmhKfNnj3bjSyQ3wFcmzdvttWrV7sDvQAAAFB6JSzAqhzduXNnGzx4sM2bN88+/PBDdyIDHaAVVGMzMzPD82uILXU7OPLIIxO1yAAAACjtZ+LSmbQ0/mvPnj3t4Ycftr59+9p5553nHtOZuaZMmRKed9OmTa5rQax9IwAAAHBoSuiZuFSFHTZsmLvktmTJkqj7F110kbsAAACgdEtoBRYAAAAoLAIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeIcACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeIcACAAAgj517sm3plkzLyQlZsklN9AIAAAAgOazavMOmLPqvTV74g81Yts6ysnPsgd3pNqRja0smBFgAAIBSal9Ojs36fpO9s/AHe3fhDzZ/7dY888xfl3daohFgAQAASqFXZi61xz+cbxt3ZuV5rPlh1Wz99t22IZ/HkgEBFgAAoBT6Zt228O20sil2duPDrMPx9eyipvXsqJqV7ewRU23Dig2WjAiwAAAApciJh1e3OWu2WN3KGS6sXnz8kda+yeFWKb2c+YIACwAAUIp8fOt59t9tu+3Y2lUsJaWM+YgACwAAUIpUyUhzF58xDiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeIcACAADAKwRYAAAAeIUACwAAAK8kNMBmZWVZ//79rXXr1ta2bVsbM2ZMgfMuWbLErrrqKjvhhBOsY8eO9sUXX8R1WQEAAJAcEhpghw8fbgsWLLCxY8faoEGDbMSIETZ16tQ8823fvt2uv/56a9y4sU2ePNnat29vt912m23atCkhyw0AAIBSGGB37dplb775pg0YMMCaNWvmQmnv3r1t3LhxeeZ96623rEKFCjZ48GBr0KCB3X777e5a4RcAAAClS2qiXnjx4sWWnZ1tLVu2DE9r1aqVvfTSS5aTk2MpKf/L1rNmzbJ27dpZ2bJlw9MmTJgQ92UGAABAKQ6wGzZssOrVq1taWlp4Wq1atVy/2K1bt1qNGjXC01evXu36vj700EP20UcfWb169ez+++93gbcwQqGQq/zGw+7du6Ou4R/a0G+0n/9oQ//Rhn7L2bfPXe/LyYlbflJWK1OmTPIGWG3MkeFVgvt79uyJmq6V9vLLL1uPHj1s1KhR9u6771qvXr3svffes8MPPzzm19y7d68tWrTI4mnlypVxfT0UP9rQb7Sf/2hD/9GGfsrMzAznsHjmp9z5MKkCbHp6ep6gGtzPyMiImq6uA02bNnV9X+X444+3zz77zCZNmmQ33XRTzK9Zrlw5dyBYvAK6PrANGza08uXLx+U1UbxoQ7/Rfv6jDf1HG/ot49N1iq/uOCTlsHhYtmxZTPMlLMDWrVvXtmzZ4vrBpqamhrsVKLxWqVIlat7atWtbo0aNoqbpw7B27dpCvaZK0mqEeNIHNt6vieJFG/qN9vMfbeg/2tBPKb8ce1Q2JSVu7RdL94GEjkKgJK/gOmfOnPC02bNnW4sWLaIO4JKTTjrJjQMbafny5a4vLAAAAEqXlET+GuvcubMbGmvevHn24YcfuhMZqJ9rUI0N+l5ceeWVLsC+8MILtmrVKnvuuefcgV2dOnVK1OIDAACgNJ7IoF+/fm4M2J49e9rDDz9sffv2tfPOO889pjNzTZkyxd1WpXX06NH28ccfW4cOHdy1DupSNwQAAACULgnrAxtUYYcNG+YuueXuMqAhsyZOnBjHpQMAAEAySmgFFgAAACgsAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeIcACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKAdZj5557rh177LHhS7NmzeyCCy6wv/zlL+F5Xnjhhah5dDnxxBOtY8eO9sEHHxzwNd5++227/PLLrWXLlta2bVu7//77be3atZZMnnnmGXvzzTfzXSetW7e222+/3TZt2lQsr7Vo0SL76quv8kz/4Ycf8qznyMu1114bnkfXJe1gX+uBBx5wl4JoPU+cODHm53vnnXfst7/9rdv2br31Vtu8eXNMf3fjjTfmWY5p06bZhRde6LbJq666yr755puYlyP39hFc9Dy5/elPf9rvOshPKBSyp556yk499VT79a9/bcOHD7ecnJwC51+wYIFdccUV7r1069bN5syZE/X4JZdckmdZv/32W/eYtqlly5YVavkA4FBBgPVc//797dNPP3WXDz/80Pr06eO+NBU8A/pyDObRRWHvuOOOs7vuustWrVpV4HM/8cQT7qIvVj3fH//4R9uwYYNdc801MQeQkrZ8+XIXaLp06ZJnnXzyySf217/+1bZt2+aCd3FQ+Fq5cmWe6YcffnjUOj7ssMOi2kY/JEqrefPm2YABA+y2226z8ePH208//WT9+vU74N+9++679n//939R05YuXWp33323284nTZpkTZs2dbd3794d8/JEtktwUVjNHbiL0mZ//vOf3d+OGDHCnn/+eZs8ebKblh/9qLruuuusSZMm9o9//MMuuugi+93vfmdr1qxxj+/bt89ta6+99lrUsjZq1Ci8LT788MOFXkYAOBQQYD1XuXJlq127trsoRCnInXbaaVHV1XLlyoXn0UVfmEOG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tJ//aEP/0YZ+CyWg/bQ3PpbXSklkmu/cubMNHjzY5s2bZx9++KE7kUGPHj3C1Vj1e5Vzzz3XJk+ebG+//batWrXKRowY4cLuNddcE/PraWXE88Oj11IfDj6w/qIN/Ub7+Y829B9t6LcyCWi/WPNamVAQrxPUt0IB9oMPPnCjDPTq1cuuu+4695jOtKWKa9euXd19jRk7evRod8KDY445xvr162ennHJKohYdAAAACZLQAAsAAAAUVsK6EAAAAABFQYAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgD0JWVpb179/fnQq3bdu27kxiBVm4cKFdfvnlduKJJ9qll15qCxYsiOuy4uDab8aMGdapUydr2bKldezY0aZPnx7XZcXBt2Hghx9+cO04c+bMuCwjiq8NlyxZYldddZWdcMIJ7nP4xRdfxHVZcfBtOG3aNLvwwgvdZ1Bt+c0338R1WbH/U7h26NBhv/83JlOWIcAehOHDh7vGGzt2rA0aNMid4nbq1Kl55tu1a5fdeOON7sM9ceJE98Ht06ePm47kb7/Fixfbbbfd5j6sOp3xlVdeaXfccYebDj/aMJLO/sdnz7823L59u11//fXWuHFjd2rx9u3bu8/lpk2bErLcKHwbLl261O6++273/Tdp0iRr2rSpu62zciLxP0Luuusu10YFSbosozNxofB27twZatGiReiLL74IT/vjH/8Yuuaaa/LM++abb4bOPffcUE5Ojruv6/bt24cmTJgQ12VG0drvySefDPXq1Stq2vXXXx965pln4rKsOPg2DEyaNCl05ZVXhpo0aRL1d0j+Nhw7dmzot7/9bSg7Ozs8rWvXrqEZM2bEbXlxcG345z//OdSlS5fw/e3bt7vP4rx58+K2vMhr6dKloUsuuSTUsWPH/f7fmGxZhgpsEan6lp2d7X6BBFq1amVz5861nJycqHk1TY+VKVPG3df1ySefbHPmzIn7cqPw7delSxe755578q0IIXEK04ayZcsWe/LJJ+2RRx6J85KiONpw1qxZ1q5dOytbtmx42oQJE+yss86K6zKj6G1YrVo1W7Zsmc2ePds9pipepUqVrH79+glYckR+ttq0aWPjx4+3/Um2LJOakFc9BGzYsMGqV69uaWlp4Wm1atVyZfitW7dajRo1oubVbq9INWvW3G+pHsnTfkcffXTU36rd/v3vf7uuBPCjDWXo0KHux8gxxxyTgKXFwbbh6tWrXd/Xhx56yD766COrV6+e3X///e4LFX604UUXXeTarnv37u6HSEpKio0cOdKqVq2aoKWHqD1ikWxZhgpsEanPTuQHVoL76ggdy7y550Nytl+kzZs3W9++fd2vTlWD4Ecbfv75567qc8stt8R1GVF8bah+di+//LLVrl3bRo0aZaeccor16tXL1q5dG9dlRtHbUHtBFIIGDhxob7zxhjswtl+/fvRj9sTuJMsyBNgiSk9Pz9Nowf2MjIyY5s09H5Kz/QIbN260nj17qt+4Pf/88656gORvw8zMTPeFqYNL+Mz5+zlUxU4H/dx+++12/PHH27333msNGzZ0BwPBjzZ86qmnrEmTJnb11Vdb8+bN7dFHH7Xy5cu7riBIfulJlmX4Bi6iunXrul+T6vsT0C9LNWSVKlXyzKvwE0n369SpE7flRdHbT9avX+/+09WH9dVXX82zexrJ24bz5s1zu58VfNRPL+ird8MNN7hgCz8+h6q8NmrUKGqaAiwVWH/aUENmHXfcceH7KgLo/po1a+K6zCiaZMsyBNgiUiUgNTU1qvOydlG2aNEiT2VO46V9/fXXrnInuv7qq6/cdCR/+2nXZe/evd301157zX2I4U8bqt/kBx984IZACy7y2GOPueHQ4Mfn8KSTTnLjwEZavny56wsLP9pQQee7776LmrZixQo78sgj47a8KLpkyzIE2CLSbo/OnTu7MSVV4fnwww/d4M09evQI/wLVrku54IIL7KeffrIhQ4a4IzB1rb4kGswZyd9+Osjg+++/t2HDhoUf04VRCPxoQ1WCGjRoEHUR/RDRAQjw43OogyYVYF944QVbtWqVPffcc66yrn6U8KMNu3Xr5vq+6kek2lBdClR91cGVSE4bkjnLJGTwrkPErl27Qvfdd1/opJNOCrVt29aNcRfQWGqRY6PNnTs31LlzZzde3mWXXRb65ptvErTUKGz7nX/++e5+7sv999+fwKVHYT+DkRgH1s82/PLLL904os2bNw916tQpNGvWrAQtNYrahm+88UboggsucPNeddVVoQULFiRoqRHL/43JnGXK6J/ERGcAAACg8OhCAAAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAHF07bXX2rHHHht1ad68uZ199tn2yCOPuFMzxsPMmTPda//www/h5XrggQfi8toAcLBSD/oZAACFonOHDxgwIHx/165d9umnn9oTTzxhOTk57rzyAICCEWABIM4yMjKsdu3aUdMaNGhgCxYssClTphBgAeAA6EIAAEkiPT3dUlN/rivs2bPHnnzySTvjjDOsZcuW1q1bN1eljTRv3jy77rrr3OO/+c1vbNCgQeEuCNu2bbMHH3zQ/X2zZs3stNNOc/fj1UUBAEoSARYAEiw7O9tmzJhhkyZNsk6dOrlp/fr1s88++8yeeuope+utt1y3g5tuusnNJ6tXr7aePXtanTp1bPz48fbCCy+4+R9++GH3uPqzLly40EaMGGHvv/++e763337bzQsAvqMLAQDE2eTJk12oDGRmZtoRRxxhvXr1ciF11apV9s4777jA2bRpUzfP7373O1u8eLG98sor7oCvN954w6pVq2aPP/54uGr72GOP2ddff+1un3766XbKKae4A7XkyCOPtNdee82+/fbbhLxnAChOBFgAiLNzzz3X7rnnHguFQq4bwJAhQ1wXAIVXhVFVTqV79+5Rf7d3716rUqWKu60gqq4BQXiVU0891V2Cv/3oo49c9XblypW2bNkyN+JAo0aN4vpeAaAkEGABIM4qVqzoDtqShg0bum4AqrCWLVvWHcClYCvjxo1z80ZKSfm551dkcM1NIxn06dPHli5dah06dLCLLrrIhd2HHnqoRN8XAMQLfWABIMFUNVWAff311+2TTz6xY445xk3fsGGDC7rBZeLEie4ijRs3dpXaffv2hZ9n2rRprro7Z84c9zzPPfecq/RecsklVr9+ffv+++/D4RgAfEaABYAkcMcdd7hqrCqw6g97zjnnuFEF1A1AB2yNGjXKRo4c6YJo0EVgy5Ytbp7vvvvO/vOf/9jw4cNdGK5Xr56r0L733nvub+fPn2933nmnC8Qa3QAAfEeABYAkGULr0UcftTVr1tizzz7rLuedd54NHDjQdQHQAV3qK9ulSxc3f926dW3MmDG2fPly69y5s/3+9793oVfz67GhQ4e68Ku/VTjWNA25pbFmAcB3ZULsTwIAAIBHqMACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAA88n/A1U6+aDHoWWwAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Best Threshold (Max F1): 0.48\n", "Max F1 Score: 0.95\n" ] } ], "source": [ "# Plot the PR curve\n", "plt.figure(figsize=(8, 5))\n", "plt.plot(recall, precision, label=f'PR Curve (Best Threshold={best_threshold:.2f}, F1={max(f1_scores):.2f})')\n", "plt.xlabel('Recall')\n", "plt.ylabel('Precision')\n", "plt.title('Precision-Recall Curve for Logistic Regression')\n", "plt.legend(loc='best')\n", "plt.grid(True)\n", "plt.show()\n", "\n", "print(f\"Best Threshold (Max F1): {best_threshold:.2f}\")\n", "print(f\"Max F1 Score: {max(f1_scores):.2f}\")" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import GridSearchCV\n", "from sklearn.tree import DecisionTreeClassifier" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "param_grid = {\n", " 'criterion': ['gini', 'entropy'], # Criterion for splitting nodes\n", " 'max_depth': [None, 5, 10, 20, 30], # Maximum depth of the tree\n", " 'min_samples_split': [2, 5, 10], # Minimum samples required to split a node\n", " 'min_samples_leaf': [1, 2, 5, 10], # Minimum samples required at a leaf node\n", "}" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "param_grid = {\n", " 'criterion': ['gini', 'entropy'],\n", " 'max_depth': [3, 5, 10, 20, None], # Broader range of tree depths\n", " 'min_samples_split': [2, 5, 10, 20], # Larger minimum samples to split\n", " 'min_samples_leaf': [1, 2, 5, 10] # Larger minimum samples per leaf\n", "}" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "dt_model = DecisionTreeClassifier(random_state=0)\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "grid_search = GridSearchCV(\n", " estimator=dt_model,\n", " param_grid=param_grid,\n", " scoring='f1_weighted',\n", " cv=5, # 5-fold cross-validation\n", " n_jobs=-1\n", ")" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
GridSearchCV(cv=5, estimator=DecisionTreeClassifier(random_state=0), n_jobs=-1,\n",
       "             param_grid={'criterion': ['gini', 'entropy'],\n",
       "                         'max_depth': [3, 5, 10, 20, None],\n",
       "                         'min_samples_leaf': [1, 2, 5, 10],\n",
       "                         'min_samples_split': [2, 5, 10, 20]},\n",
       "             scoring='f1_weighted')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "GridSearchCV(cv=5, estimator=DecisionTreeClassifier(random_state=0), n_jobs=-1,\n", " param_grid={'criterion': ['gini', 'entropy'],\n", " 'max_depth': [3, 5, 10, 20, None],\n", " 'min_samples_leaf': [1, 2, 5, 10],\n", " 'min_samples_split': [2, 5, 10, 20]},\n", " scoring='f1_weighted')" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid_search.fit(X_train, y_train)\n" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best Hyperparameters from GridSearchCV: {'criterion': 'gini', 'max_depth': 10, 'min_samples_leaf': 1, 'min_samples_split': 2}\n" ] } ], "source": [ "best_params = grid_search.best_params_\n", "print(\"Best Hyperparameters from GridSearchCV:\", best_params)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
DecisionTreeClassifier(max_depth=10, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "DecisionTreeClassifier(max_depth=10, random_state=0)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "best_dt_model = grid_search.best_estimator_\n", "best_dt_model.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 93.40\n", "True Negative: 47\n", "True Positve: 52\n", "False Positive: 4\n", "False Negative: 3\n", "\n", "-------------------------------------------------------\n", "Negative Class Results\n", "Precision (N): 92.86\n", "Recall (N): 94.55\n", "F1 Score (N): 93.69\n", "\n", "-------------------------------------------------------\n", "Positive Class Results\n", "Precision (P): 94.00\n", "Recall (P): 92.16\n", "F1 Score (P): 93.07\n" ] }, { "data": { "image/png": "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AB4CEgAAgIeABAAA4CEgAQAAeAhIAAAAHgISAACAh4AEAADgISABAAB4CEgAAAAeAhIAAICHgAQAAOAhIAEAAHgISAAAAB4CEgAAgIeABAAA4CEgAQAAeAhIAAAAnpT+FQDi332TBlvOMkVt4BW3uMtdTq6I876rv55nY6o2DGHrAMTlnnues19+WW5//z0l3E1BiBGQTuPkyZOWLFmycDcDSVyJ+rWsyD23266/10ddN/L6+065n+5TsV1TW/D62BC3EEBs3ntvun300deWL1/OcDcFkdbF1qBBAytatKgtXrw41turVq1q7du3t3AYNmyYvfXWW1GXBw8ebIULFw5LW5B0pc95mdUY1Ml2r9sY4/p/5v0a47T3n81Wplk9+2nIe7Zk/Gdhay+Af23YsNVat+5ruXNnD3dTEKljkI4fP24dOnSwI0eOWGIycOBAO3jwYNTlevXq2bhx48LaJiQ9tUb2tFVfzLHVs3447f1u79fejh08bLM69g9Z2wDErWnTHnb77eXtlluuC3dTEKkB6ZJLLrE///zThg4daolZjhw5rFSpUuFuBpKQ0k3qWs5ri9n0Vj1Oe7/Ly19jxe6r4cLRkb37Q9Y+ALEbOfJjW7BguQ0Z8ny4m4JIDkhFihSx2rVr28iRI+33338/7X0nTJhgd955pxUvXtwqV67sur1UgYruo48+sjvuuMNKlChhtWrVsh9++MF1402ePDnqPj///LM1adLErrvuOvdc6srTc504ccLdHnSlDRkyJOp89C62119/3T1u9+7dMV579OjRVqxYMdu+fbu7vGHDBmvbtq2VK1fOrrnmGmvUqJEtXbo0XpYbEreMeXNZtf4dbPoT3ezg9p2nva/GHe1cvd5+e+/TkLUPQOzWrNlobdu+ZsOGPW/ZsmUKd3MQyQFJOnbsaJkzZz5tV9sbb7xhL774ot1www0uoNSvX9/efPNNd13g448/dmOWypQp48YQVatWzZ544okYIWr58uXWuHFjy5Qpk7322ms2fPhwK1u2rAtDn33279iPoCutbt26sXar3XXXXXbs2DH74osvYlw/bdo0u/HGGy1r1qy2Y8cOe+CBB2zJkiWujf369XMBTO1etWpVvC07JE61RvW2P6fPtmWTY35GfJdcnt0K332LzRvwjp30wj6A0O+Y8+ij3e2OOyrYvff+u8cpIleiCEgZ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zkzQ19YBg892ZvNQzIZy5MgRe+aZZ+z666+3YcOGWfny5S137txWsWJFe/vtt23v3r3usDUAQoOABCBRSZny3/lrU6dO7f6qi6lPnz52xx13uNDw008/ucDy5ptv2i233GLXXHON3X333fbpp5/GeJ758+dbvXr1rGTJku4AwcuXL49xu9/F9ttvv1njxo2tdOnSVqFCBdfNdfDgQVdpUjD5559/YnTRTZo0yWrUqOGeX381E7pmTg/88ccf1rBhQytVqpTddttt9sMPP5z2fX/99de2ceNGa9mypZtZPbqMGTO699uiRYtYH6tq29NPP2033HCDm8H95ptvtldffTWqPcePH3eXK1WqZMWLF7fq1avb2LFjox6/fft2a926tVu+ej8PPPCAW85AJGMmbQCJxubNm613796usqSVeeC9996zN954w1V8FFJee+01mzp1qnXu3NkKFCjgxix17drVVVnq16/vxvGo+07HwHv55Zfd8fB037jo/o0aNXJBZty4ce55nn/+eVfNevHFF90YpOnTp9vEiRMtS5Ys7j79+/d3z6lAsXTpUtcVpva3a9fOPT4IWxMmTHBdY3qe0/n999/d+47rsDR6nbgoOKkKp0pTunTpbNasWa6LTq9/66232gcffGCff/65W27Zs2d3YUzL66qrrrKyZcu686pgaTkrmL7++uv2xBNPuG5PtQmIRAQkAGGj0KPxPXLs2DG3ki5YsKANGDDAcuXKFXU/hSVVdURhZfTo0S6gVK5c2V2XN29eV+HROCEFpPHjx1u2bNlcFShFihTuOVWdUWiIje6vLjeFs6CC1bNnTzf2R4FDIUHPoxAi6gJTKLnzzjvd5Tx58ti+fftcoHrqqads2rRprvqkcKZQpyCigxWrOhSX3bt3u/v61aMzUXekKmiqYuXMmdNdp3CmitOKFStcQFq7dq17D+qyU1emBsIrWF5xxRXu/rpd3Zt6H2nTpnVjs+666y73noFIRUACEDbqylFXlyRPnjzOcUH58uWLOq9q0OHDh914HT0mEAQsBQZ1bxUtWjTGCj76sfF8ur+6poJwJBoLpJNvx44dtmnTJhfQBg4cGHW9urPULnXB6fny588f472omnM6mTNndiFJ3YfnEpIUaBR4VCFSN+GaNWtcMNq2bVtUF5tC45dffumCZpEiRdy4JoW7rFmzuttbtWplzz33nM2YMcOuvfZau/HGG61mzZqWJk2as24HcKEhIAEIG42tiR5+ThcC/AHTqjKpCuJTF5ECRvTxQBI9/PhOd5sveN4OHTpEVbWiUxXnXF8/CHDq2lJ3ncKaTxUhhS9VqaJTRU0BScFQY4u0F5y64xSKAgprX3zxhRtXNGfOHPvmm2/c86mipvura/G7775zp7lz57quOo27UmVN1S8gEjFIG0CSolCksKGByQpXwWn27Nmui01VJY3j0ZgeVZQCuhyXK6+80gUTDWYOaC86DRBXVSh6RUdVF41D0ril6K+/ZMkSF9pEr//333+7atPZvL5ogLW6wIYPH37KXnMaRK1uxejtC2iKBL32mDFj3EBrDWbXVAl6TPA8uk0BSZUjjZGaMmWKez2Nq9IyUlDS+9Fj1bWoapOWo4IUEKkISACSFHVbqWtO3VuffPKJW7Fr8LT20tL4GtGcQRoDpHE/q1atcoOStTdaXB566CHbuXOnG7Ok+2vQ9yuvvOK62NTNpPE76v5avXq168pr1qyZvfvuu25Qs8bvKExpoLMqXapgBd1X6gbU3nOq3PTq1eu070uP030UeDRWSW3Qe1NY0d5wGgulPdV8OXLkcH+1F5/GYWnvPQ2wPnr0aFRAVFDr3r27G7yt+6hStGzZMtftp9ddvHixG0S+aNEiV6XSRJSqTJ2pWxC4kNHFBiDJUfeWxuwoJGkPMXVrqXqiCSZFe2ppt3sNulYXkm7XoGq/eyqg+2uwuEKW9nxT15+qKW3btnW333777a67SdMFKBRpDzkFJ4UkDcTWgPD77rvPtUEUqPT62rNNYU3Pp9vU7tNRINNkmSNGjHDhSqFNbatSpYo9/vjjUWOGolN3mp5XFSZVsHR/tV3vWcEnGGOkwKTqkGbk1mBztat58+budu3dpiqSlpH2wFOVrm/fvm4PNyBSJTsZihnQAAAAkhC62AAAADwEJAAAAA8BCQAAwENAAgAA8BCQAAAAPAQkAAAADwEJAADAQ0ACAADwEJAAAAA8BCQAAAAPAQkAAMBDQAIAALCY/g//kUgIFSCzNwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "test_results(best_dt_model, X_test, y_test)\n", "vis_conf(best_dt_model, X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArAAAAH7CAYAAAA0M6yEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVu5JREFUeJzt3Qd4FFXbxvEndJAOCmIDQQTpxY5dFFEERBRQwYJiA3sBlGahiB0VGwqKDQsIIgoiduAVpUmRJuWlN0EgBMh+1338Ju/uJoFNILszyf93XbmSbH12ZnbmnjNnziSFQqGQAQAAAAGRL9EFAAAAAFlBgAUAAECgEGABAAAQKARYAAAABAoBFgAAAIFCgAUAAECgEGABAAAQKARYAAAABAoBFsAhx/VRAAA5iQCLPGHOnDn2wAMP2Lnnnmt169a1Cy+80B599FFbuXKl+dUNN9xgp5xyiqWkpGT6mBYtWtg111wT0+udf/759vDDD7u/V61aZSeeeKJ9+umnMT8nVjNmzLBbbrkl7f9Y3+tQ0nu1a9fOGjZsaPXq1bNLL73Unn/+efvnn38s6NauXevmeZ06dez000+3Xbt2HdLX1/zW/PJ+atSoYfXr13fL2pAhQyw5OdkOtWnTprn30u+ceHysrrvuuojPntFPVr8PB2P37t329ttvW5s2baxRo0ZufaDlevTo0RE7iS+++KKrLd70nnpvzxdffGHnnXee1a5d23r16uWmldYhQE4okCOvCvjIyJEj7cknn7RTTz3V7rvvPjviiCNs+fLl9uabb9rXX39tw4cPdxtpv9FG6+eff7bvv//eBe5of/zxh/355582cODALL+2psGHH35oxx57rB1qo0aNsiVLlsTlvTKikDV06FC78cYb7bbbbrOCBQva3Llz7Y033rAffvjB3n//fXdbUGl5nTlzpj311FNWoUIFK1q06CF/j8MPP9xNR0lNTbXt27fbr7/+aq+++qr9+OOProbChQsfsverVauWW0aqVauWI4+PVe/evSN2cvr27Zt2u6ds2bIWDxs3brTOnTvbmjVrXLDWjrfmxbfffuuCoebHY489ZklJSZYomgcVK1ZM+79fv35WuXJlGzBggFs28+XLZx07dkxYfcjdCLDI1dQa+MQTT7gWq549e6bdrjCrUNiqVSvr0aNHXFsHY9W0aVMrVaqUff755xkG2M8++8yKFy9uF198cZZfu1ChQq5VLR7i+V5qrX799dftpptusnvuuSft9jPOOMOOP/54u+OOO2zSpEl2ySWXWFBt3brV7RQ0b948rvPsnHPOca3ZmobDhg1zOweHipbjrCwjWX18rKIDsd5H4rX8hnvooYdca7tCokKhR0eRKlWqZM8884xr7bzgggssUaKni5bNM888061fgZxGFwLkamplLVGihN17773p7lNLiloytAHYuXOnu02Hu9Ra26lTJ9fi4YXe9evXW/fu3d1GXLdfeeWV9s0330S83k8//WRXXXWVNWjQwE4++WS3gQ9viVyxYoXdeuutbuWuIHD11Vfbd999l2ntauG67LLLbMqUKekOfe/Zs8cdrtOhcbXAbd682bUWeYfvdKhRQUOH7zOS0WH9BQsWuG4Lql+vo+Ac7UDvo+mpYP3f//437fUzeq+//vrLunXr5jZ22giqhUk7G9H1ffnll+5xqknv9cgjj6TNq4xoOukQt1qqomneKdQec8wxEY9XK9ZZZ53l6lCrt6a3Z9++fa4FX4fPNd8VHgYPHuwO7Xr0mbW8qJVOXRYULPU81fDaa6+5HRFNK+1ovPPOOxE1ZXWZ0PKp6bh69eqIw7exLJ96vFpVr7jiCvcYr4U1K7Qjpen0wQcfRNyunQK9rro1aJ4+/vjj6eaTWo3VKq5pdNppp7nv5Lp16zLsEqB52KdPHzv77LPdtGvWrJn7Lu+vC4G6CWnHRdNS76HpumjRonTP+eWXX1wdmt6qVS3Zml9Zoemu+appqOWySZMm9vfff6cdgdD3UnVredFjo19frafXXnutq0HPV1jVd8szf/5819KtzxMeXj3XX3+92ykvVqxYhvXp/bTsaf2hea15pq4HU6dOTXvMgaaxqKVdt2u+6juix4evi7xl0Ju28tJLL7m/9R3OqAvBgaZPZt8nIJ0QkEulpqaG6tSpE7rrrrtifs55550XOumkk0JPPfVU6Icffgj99ttvoQ0bNoTOOuus0IUXXhj67LPPQlOmTAl169YtdOKJJ4bGjBnjnrdixYpQ3bp1Q3379g398ssvoa+++ip08cUXh84///zQvn373E+zZs1CHTt2dM//8ccfQ7fcckuoZs2aob/++ivTeubOnRuqXr166OOPP464fdKkSe722bNnu8955ZVXhpo2bRoaN25caOrUqaHhw4eHGjRoELrxxhsjPttDDz3k/l65cqV7/ieffOL+X7t2bahRo0ahNm3ahCZOnOg+pz6zpoX3nFjeZ/ny5aGbb745dOaZZ4Z+//330KZNm9K916JFi9xzWrduHRo/frx7v+uuuy5Uq1at0LRp0yLqO/nkk0MDBgwI/fzzz6GhQ4e6aT548OD9zsO2bdu66frggw+611YNGdm7d697rN7jnXfeCf3000+h+++/333m//znP+4xPXr0cHU999xzbp699tproXr16rnPq+khmj56jj636tS8kUcffdQ994UXXnDL0jPPPBOqUaNGaMiQIe7+7CwTf/zxR8T0XbNmTUzLp2h6qp5hw4aFvv3229Cff/6Z4Xvo82hZyczzzz/vXmvVqlXu/88//9z9f99994W+++670HvvveemaadOndKmkerWe3fo0MHNkwkTJrjl6NJLLw3t2bPHLUt6Df32pp1q8JazQYMGRXwPoh+v75xeX/NF0/+LL74IXX755aGGDRuGFi9eHPGcM844w80Dzasnn3zS3fb+++9n+FmvvfZa9xNN81TzXN8HzTfVKd4y+thjj7l5ruVF66Du3bunPXf69Omu1ptuuik0efJkN8/OPfdcNy127drlHvPqq6+6urzaD0T16PEefWe0nI4YMcJ9pzSPtD465ZRTQjt37oxpGo8dO9bV6b2GplH9+vXd98qjx+u9t2/f7pZH/a/vjP7evXt3umUplumT2fcJiEaARa6l4KIVqsJorLSyVRAIpxW7VuTeBtujDbSChIKINgJ6LwVBz6xZs1xo0cp9/fr17n5tSDzbtm1zG9DMgoSnZcuW7r3C3XnnnaEWLVq4v/WeCoBe6PJoI1G7du2YAqw2eNo4hYe9mTNnusd4z4n1faI3WtHvpR2KU0891U0Xj0KMNrAK0OHPUaAMp/e/7LLL9ju9FOr0OD1fP9pg6jkKXlu3bk17nMKD7leg8mheXn311aEXX3zRBW3drzARbvTo0e52BUXv8+p/va9n6dKl7n2jn/vss8+6DfbmzZuzvUxET99Ylk/Re0UvR7G8frSRI0e619LyoYB69tlnuzAWTsFDj1FQlq5du7pakpOT0x6jnUO9z7x589IFUi0LjzzySMRrKnR6rxf9eAXJ5s2bu50Sz99//+0Cm8J8+HM0D8JpJ7NLly5ZDrB6rfDvguaddmJ79eoV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n2vze33Uljvr83Ntfq+P2nJnfX6uze/1+bk2P9U3Z86cmB6XZ1pgAQAAkDsQYAEAABAoBFgAAAAECgEWAAAAgZJnTuICACA327Bhg23atClH3yM5OdmWL19u+fPntyJFipjf+Lk+P9cWr/qKFy9uFStWtAIFDj5+0gILAEDA/fjjjzZz5swcHwKpUKFCVqVKFffbj/xcn59ri1d9//3vf+2dd96xLVu2HPRr0QILAECA7dq1y9auXWtXXnlljr/Xvn37XEudWujUUuc3fq7Pz7XFs77GjRvbiBEjrGPHjgf1PrTAAgAQYOvWrbPjjz8+0WUAMVFoPemkk2zNmjV2MAiwAAAEmFrN/DgwPpCZkiVL2j///GMHgwALAACAuElKSjro1yDAAgAAIFAIsAAAIO5OPPFE97N69ep0973//vvuvhdffDEhteUWb7/9tp111lnWoEED69GjhzvhLzMrVqyw2267zZ1k1aJFC5syZUqGj1u1apV7vWnTpqXdtmfPHnvqqaesSZMmdtppp9nAgQNt7969lpMIsAAAICEKFixokydPTnf7pEmTDslh5rzsq6++siFDhli/fv1s+PDhNmvWLBcyM7J7927r3LmzFS5c2O083HTTTXbPPffY7Nmz0z22T58+tnPnzojbXnjhBRs9erQ98cQT9uabb9ovv/xiAwYMsFwfYFNSUuyyyy6LSPPR5s2bZ23btrV69epZmzZtbO7cuXGtEQAAHFpq7YsOsDq55/fff3dnqiP7RowYYZ06dbLzzjvP6tata3379rVPPvkkw1bYb7/91o3N+thjj9kJJ5xgrVq1sssvv9y14Ib7/PPPbceOHRG3aezhkSNH2r333mvnnHOO1apVy73XBx98kO6xuSrAKvXrQy9atCjTxyjp33LLLW5B//TTT13TdZcuXdLtAQAAgOC44IILbPr06RFnpOvQtbb3hx12WMRjFYjOP/98lwGuu+46W7hwYcRQYt26dXOHr0899VTX0DVjxoy0Q97qjvD111/bhRdeaHXq1HEZYuvWrRnWtG3bNuvataur4eSTT7b7778/or633norrQ61VK5cudLdnpqaam+88Yb7TAqM0TUqkL/yyit2xhln2K233upu+/XXX+2KK65wj9dhe7WaZkbv6XW7ODHs5+GHH85wTNc5c+a4z+CpX7++O9S/YMGCdI/XZ9BQ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vUN/1pad+vxcmzBf/V+fn2vze31+rk1Yn+S+2vxen59r8/t3QhYvXhzT4xIWYCtUqOD6taofbIECBdK6FSiklixZMu1xs2fPtpUrV1q3bt0inn/zzTdbq1atstQnVk3S2dkzipeDDeg5idpyZ31+rs3v9fm5Nr/XR225sz4/1+b3+qjtf2LpPpDQAFuzZk0XXGfOnOnGgRV1E6hTp05E/4y6deva119/HfHciy66yB5//HE788wz4143AAAAEithAbZo0aKuBVXjuj755JO2fv16dyGD/v37p7XGlihRwiX/4447LsMW3HLlyiWgcgAAAOTZK3F1797djf/aqVMn69u3r3Xt2tW1roquzDV+/PhElgcAAAAfSuiVuNQKO3DgQPcTbeHChZk+b3/3AQAAIHdLaAssAAAAkFUEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgEWAAAAAQKARYAAACBQoAFAABAoBBgAQAAECgJDbC7d++2Hj16WOPGja1JkyY2bNiwTB87ZcoUa9mypTVo0MBatGhh33zzTVxrBQAAgD8kNMAOGjTI5s6da8OHD7fevXvbkCFDbMKECeket2DBArvzzjutTZs2Nnr0aGvXrp3ddddd7nYAAADkLQUS9cY7d+60UaNG2euvv261atVyP4sWLbKRI0das2bNIh47btw4O+2006xjx47u/+OOO84mT55sX375pdWoUSNBnwAAAAB5KsCq9XTv3r2uS4CnUaNGNnToUEtNTbV8+f7XONy6dWvbs2dPutfYvn173OoFAABAHg+wGzZssDJlylihQoXSbitfvrzrF7t161YrW7Zs2u1Vq1aNeK5aan/55RfXlSArQqGQa/mNh/AAHqvk5GQX3vNybdmpz8+1CfPV//X5uTa/1+fn2oT1Se6rze/1+bk2v38nvKyWlJTk3wC7a9euiPAq3v8pKSmZPm/z5s3WtWtXa9iwoV1wwQVZek+14s6fP9/ioVixYll+zrJly+ISsP1cW3bq83Ntwnz1f31+rs3v9fm5NmF9kvtq83t9fq7N798JT3Q+9FWALVy4cLqg6v1fpEiRDJ+zceNGu+GGG1w6f+GFF7K8F1GwYEGrVq2axcO/tS3L0nOqVKkSx71Df9aWnfr8XJswX/1fn59r83t9fq5NWJ/kvtr8Xp+fa/P7d0IWL14c0+MSFmArVKhgW7Zscf1gCxQokNatQOG1ZMmS6R6/bt26tJO4RowYEdHFIFZqks7OnlG8ZBbc/YDacmd9fq7N7/X5uTa/10dtubM+P9fm9/qo7X9i6T6Q0GG0atas6YLrzJkz026bMWOG1alTJ13LqpquO3fu7G5/9913XfgFAABA3pSwAFu0aFFr1aqV9enTx2bPnm2TJk1yFzLwWlnVGquOw/Lqq6/aihUrbODAgWn36YdRCAAAAPKehHUhkO7du7sA26lTJytevLg7Oeuiiy5y9+nKXP3797crrrjCvvrqKxdm27ZtG/F8Da81YMCABFUPAACAPBdg1QqrVlWvZTXcwoUL0/7O6OpcAAAAyJsSeilZAAAAIKsIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQCHAAgAAIFAIsAAAAAgUAiwAAAAChQALAACAQElogN29e7f16NHDGjdubE2aNLFhw4Zl+th58+ZZ27ZtrV69etamTRubO3duXGsFAACAPyQ0wA4aNMgF0eHDh1vv3r1tyJAhNmHChHSP27lzp91yyy0u6H766afWoEED69Kli7sdAAAAeUvCAqzC56hRo6xnz55Wq1Yta9q0qXXu3NlGjhyZ7rHjx4+3woUL24MPPmhVq1Z1zznssMMyDLsAAADI3RIWYBcsWGB79+51rameRo0a2axZsyw1NTXisbpN9yUlJbn/9bthw4Y2c+bMuNcNAACAPBpgN2zYYGXKlLFChQql3Va+fHnXL3br1q3pHnvEEUdE3FauXDlbu3Zt3OoFAACAPySFQqFQIt549OjR9vzzz9u3336bdtvKlSvtwgsvtO+++84qVqyYdnunTp1cC2y3bt3SbtNzf//9d3v77bdjer/ffvvN9FELFixo8bJx527bszeyNTkzBQvks/LFClu8+Lm2rNTn59qE+Rqc+vxcm9/r83Ntwvok99Xm9/r8XJvfvxN79uxJO9K+PwUsQdSnNSUlJeI27/8iRYrE9Njox+1PePeDeDn8sNjrizc/1+b3+qgtd9bn59r8Xp+fa/N7fdSWO+vzc21+r085LZaslrAAW6FCBduyZYvrB1ugQIG0rgIKpSVLlkz32I0bN0bcpv+juxXsT3hfWwAAAARXwvrA1qxZ0wXX8BOxZsyYYXXq1LF8+SLL0tiv6i7g9XbQb3UJ0O0AAADIWxIWYIsWLWqtWrWyPn362OzZs23SpEnuQgYdO3ZMa41NTk52fzdr1sy2bdtmTzzxhC1evNj93rVrl11yySWJKh8AAAB57SQuUQhVgP3666+tePHidtNNN9n111/v7jvxxBOtf//+dsUVV7j/FXJ1sYMlS5a4+/r27WsnnXRSokoHAABAXgywAAAAQKAuJQsAAABkFQEWAAAAgUKABQAAQKAQYAEAABAoBNg40xXELrvsMps2bZr5ybp169ylek855RQ766yz3AgQu3fvNj9Yvny5G6FCF6M499xz7Y033jA/uuWWW+zhhx82P5k4caIbtSP8J/ySzH74PmhEkZNPPtnOOOMMe+aZZ9LGe06kTz/9NN1000+NGjXMD9asWWNdunRxl1o8//zzY76kdrxs2rTJLWeNGze2pk2buunpx3WvLl+ukW/q169vzZs3tx9//NFX9Xnrv7p161oiZVSbxnBv166dWy9ffPHFNmrUKF/V98MPP9jll1/upp1+6xL1fqnNs337dre9TdT3IyWD2h5//PF06713333X/ChhV+LKixQI77vvPlu0aJH5iQKDNja6AtrIkSPt77//th49ergLSjz00EMJrS01NdUFQ13g4rPPPnMr83vvvdddna1FixbmF1988YVbQbZu3dr8ROMmn3feefbYY49FXJrZL7Sy1MrzzTfftB07dtg999xjlSpVchvGRFKY0YbFoysGdurUye1A+cHdd9/tppM2fJrH999/vx111FEuLPphfXLHHXe47+6IESPczrHWIxoq8aKLLvLNuters3r16vbJJ5+4scjvvPNOGz9+vJu2ia4vfEclkY0JGdWmcdpvvvlma9++vQ0YMMD++OMP6969ux1++OFx/45kVJ+2E5qXWp9ccMEFbt5qXk+YMMGOPvrohNYW7qmnnrL169dbIuzOpDYNVarbw7dl+u76ES2wcaKNzFVXXWUrVqwwv1m6dKnbm1ar6wknnOBaTRRox40bl+jS3CWDddU2jRdcuXJlO+ecc+z00093V23zi61bt9qgQYNcyPYbrYy0gdaGxfuJvlRzIqebgoPCtVpJNF9vvPFGmzVrVqJLc5e0Dp9mn3/+uQs8CoqJph1MfV9vu+0295248MILXdj+5ZdfzA/mzp3rrpz49NNPu7G6tQPVuXNnt5Pip3Xv1KlTXQtsv379rGrVqi4oqiVWy6Qf6lPo0jjohQoVims9sdZWvnx515igZfDSSy91FyYaO3asL+pbu3atu12t68ccc4zdcMMNVqxYMTeefKJr8/z6669uGdT6Jd4W76c2bTP0vQ1f/+nCU35EgI2T6dOn26mnnmoffvih+Y0W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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cv = StratifiedKFold(n_splits=15, random_state=0, shuffle=True)\n", "visualizer = CVScores(dt_model, cv=cv, scoring='f1_weighted', is_fitted=False, stratify=True)\n", "visualizer.fit(X, y)\n", "visualizer.show()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "import pickle\n", "# Save the model to a .pkl file\n", "filename = 'Support_Vector_Model1.pkl' \n", "pickle.dump(best_svm, open(filename, 'wb'))\n", "\n", "\n", "loaded_model_svc = pickle.load(open(filename, 'rb'))" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "\n", "input_data = np.array([[8,15,1,1,1,2,7.94,1.0,1,1.3245033112582782,22.43,1,25,32.0\n", "\n", "]]) \n", "\n" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n" ] } ], "source": [ "\n", "prediction = loaded_model_svc.predict(input_data)\n", "print(prediction) \n" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n" ] } ], "source": [ "predicted_value = loaded_model_svc.predict(input_data)\n", "print(predicted_value) " ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PCOS Detected\n" ] } ], "source": [ "if prediction == 1:\n", " print(\"PCOS Detected\")\n", "else:\n", " print(\"No PCOS\")" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "import pickle\n", "# Saving the model to a .pkl file\n", "filename = 'LR1.pkl' \n", "pickle.dump(lr_model, open(filename, 'wb'))\n", "\n", "# Load the model from the .pkl file\n", "loaded_model_lr = pickle.load(open(filename, 'rb'))" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "\n", "input_data = np.array([[8,15,1,1,1,2,7.94,1.0,1,1.3245033112582782,22.43,1,25,32.0\n", "\n", "]]) \n" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n" ] } ], "source": [ "\n", "prediction = loaded_model_lr.predict(input_data)\n", "print(prediction) " ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n" ] } ], "source": [ "predicted_value = loaded_model_lr.predict(input_data)\n", "print(predicted_value) " ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PCOS Detected\n" ] } ], "source": [ "if prediction == 1:\n", " print(\"PCOS Detected\")\n", "else:\n", " print(\"No PCOS\")" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1]\n", "[1]\n", "PCOS Detected\n" ] } ], "source": [ "import pickle\n", "import numpy as np\n", "\n", "# Saving the Decision Tree model to a .pkl file\n", "filename = 'Decision_Tree_Model1.pkl'\n", "pickle.dump(best_dt_model, open(filename, 'wb'))\n", "\n", "\n", "loaded_model_dt = pickle.load(open(filename, 'rb'))\n", "\n", "input_data = np.array([[8, 15, 1, 1, 1, 2, 7.94, 1.0, 1, 1.3245033112582782, 22.43, 1, 25, 32.0]])\n", "\n", "\n", "\n", "prediction = loaded_model_dt.predict(input_data)\n", "print(prediction) \n", "\n", "predicted_value = loaded_model_dt.predict(input_data)\n", "print(predicted_value)\n", "\n", "if prediction == 1:\n", " print(\"PCOS Detected\")\n", "else:\n", " print(\"No PCOS\")" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'1.6.1'" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import sklearn\n", "sklearn.__version__" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "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iZ1xxhn73W6AQgsByOOaa64JXX311aG9e/eGLxs3bgxNmTIl9Otf/zp0xRVXhHJycsLznnjiiaGsrKzw33/66aehJk2ahN59992o573nnntCp59+unu+bdu2hY4//vjQkCFDouZ59NFHQ7169XK377///tA555zjbn/99dfuOWfPnh2ed9WqVaHhw4eH1q5dm2f+pUuXuvlHjhwZ9fxvv/22mz5jxozw3+i+niswa9YsN23q1KkHXE+aL/fl2GOPDXXs2DH03nvvheddvny5m557eZ599tlQixYtQps3bw7t27cvdNppp4VuueWWqHlGjx4d6tKlS2jPnj2hUaNGuWWOtGXLlqj3OmHCBHd/9erV4eXUpSCDBw9282dmZoZi8fzzz7v5c9M0PSZ6bd3v379/nr896aSTQrt373b3tR2dffbZoYEDB8a87RQk8vW1LjX/9ddfHzWP2rlZs2ahYcOGRa0rbRcHEvn8+Yl1m9P77dOnT9Q8+hvNo+XJrw2bN28e+tOf/hSeX+9v6NCh4c/DF1984ebXdSCy3ZcsWeIe/8tf/hL1urfddlvowQcf3O97zu+i5bnuuutCCxcuDM87fvx499icOXPC09S++r+ka9eu7v7nn3/u5nn//fej3suFF14YtU0V9f+VWP6fONC6jFz3hd2O3njjjfA8WnZ9th955JEC1y9QVFRggQKoOqjKVqSUlBS3a1CVnsjdho0aNXK7ywPaZajHVVGLrNyowvfPf/7THQCyYcMG99h5550X9RoPPvhgvstzzDHHuH5pN910k9slrYqGqraqpuRn1qxZ7vriiy+Omq77qnppt2vQN1XPG9l/VpUY2b17t7uOfA/BetBFtI5UyRFVcbWLVge86VrrJfDFF1+4CpLWQe51ogrR7Nmz7aijjnKVIXUxiKTqkS6i6pKouqtq+Pfff+8q1xLZzaAwypYt6673VwEsqqZNm0bdV0VtxIgRrhuBuo6omqbuKEGlOpZtJ/dz5kfrRtuYdvVGUjur+h1sHwUtZ1HEss2pi4be7x133JFnnvyqkAFVVVVRVEVX277Wj6qCsdL2Jbk/b7GMqqBuALpo+128eLE9+eSTble6lrdixYrh+dR2OphLn4nItlO1PdiLoM+BKr6//e1vw4/rs6TuFLmXpSj/r8Ty/0Rh1mVhtyNNC2jZtSy7du064DoGCosA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MqAhsyZOnBjHpQMAAEAySmgFFgAAACgsAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKARYAAABeIcACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgAQAA4BUCLAAAALxCgAUAAIBXCLAAAADwCgEWAAAAXiHAAgAAwCsEWAAAAHiFAAsAAACvEGABAADgFQIsAAAAvEKABQAAgFcIsAAAAPAKAdZj5557rh177LHhS7NmzeyCCy6wv/zlL+F5Xnjhhah5dDnxxBOtY8eO9sEHHxzwNd5++227/PLLrWXLlta2bVu7//77be3atZZMnnnmGXvzzTfzXSetW7e222+/3TZt2lQsr7Vo0SL76quv8kz/4Ycf8qznyMu1114bnkfXJe1gX+uBBx5wl4JoPU+cODHm53vnnXfst7/9rdv2br31Vtu8eXNMf3fjjTfmWY5p06bZhRde6LbJq666yr755puYlyP39hFc9Dy5/elPf9rvOshPKBSyp556yk499VT79a9/bcOHD7ecnJwC51+wYIFdccUV7r1069bN5syZE/X4JZdckmdZv/32W/eYtqlly5YVavkA4FBBgPVc//797dNPP3WXDz/80Pr06eO+NBU8A/pyDObRRWHvuOOOs7vuustWrVpV4HM/8cQT7qIvVj3fH//4R9uwYYNdc801MQeQkrZ8+XIXaLp06ZJnnXzyySf217/+1bZt2+aCd3FQ+Fq5cmWe6YcffnjUOj7ssMOi2kY/JEqrefPm2YABA+y2226z8ePH208//WT9+vU74N+9++679n//939R05YuXWp33323284nTZpkTZs2dbd3794d8/JEtktwUVjNHbiL0mZ//vOf3d+OGDHCnn/+eZs8ebKblh/9qLruuuusSZMm9o9//MMuuugi+93vfmdr1qxxj+/bt89ta6+99lrUsjZq1Ci8LT788MOFXkYAOBQQYD1XuXJlq127trsoRCnInXbaaVHV1XLlyoXn0UVfmEOG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tJ//aEP/0YZ+CyWg/bQ3PpbXSklkmu/cubMNHjzY5s2bZx9++KE7kUGPHj3C1Vj1e5Vzzz3XJk+ebG+//batWrXKRowY4cLuNddcE/PraWXE88Oj11IfDj6w/qIN/Ub7+Y829B9t6LcyCWi/WPNamVAQrxPUt0IB9oMPPnCjDPTq1cuuu+4695jOtKWKa9euXd19jRk7evRod8KDY445xvr162ennHJKohYdAAAACZLQAAsAAAAUVsK6EAAAAABFQYAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAArxBgD0JWVpb179/fnQq3bdu27kxiBVm4cKFdfvnlduKJJ9qll15qCxYsiOuy4uDab8aMGdapUydr2bKldezY0aZPnx7XZcXBt2Hghx9+cO04c+bMuCwjiq8NlyxZYldddZWdcMIJ7nP4xRdfxHVZcfBtOG3aNLvwwgvdZ1Bt+c0338R1WbH/U7h26NBhv/83JlOWIcAehOHDh7vGGzt2rA0aNMid4nbq1Kl55tu1a5fdeOON7sM9ceJE98Ht06ePm47kb7/Fixfbbbfd5j6sOp3xlVdeaXfccYebDj/aMJLO/sdnz7823L59u11//fXWuHFjd2rx9u3bu8/lpk2bErLcKHwbLl261O6++273/Tdp0iRr2rSpu62zciLxP0Luuusu10YFSbosozNxofB27twZatGiReiLL74IT/vjH/8Yuuaaa/LM++abb4bOPffcUE5Ojruv6/bt24cmTJgQ12VG0drvySefDPXq1Stq2vXXXx965pln4rKsOPg2DEyaNCl05ZVXhpo0aRL1d0j+Nhw7dmzot7/9bSg7Ozs8rWvXrqEZM2bEbXlxcG345z//OdSlS5fw/e3bt7vP4rx58+K2vMhr6dKloUsuuSTUsWPH/f7fmGxZhgpsEan6lp2d7X6BBFq1amVz5861nJycqHk1TY+VKVPG3df1ySefbHPmzIn7cqPw7delSxe755578q0IIXEK04ayZcsWe/LJJ+2RRx6J85KiONpw1qxZ1q5dOytbtmx42oQJE+yss86K6zKj6G1YrVo1W7Zsmc2ePds9pipepUqVrH79+glYckR+ttq0aWPjx4+3/Um2LJOakFc9BGzYsMGqV69uaWlp4Wm1atVyZfitW7dajRo1oubVbq9INWvW3G+pHsnTfkcffXTU36rd/v3vf7uuBPCjDWXo0KHux8gxxxyTgKXFwbbh6tWrXd/Xhx56yD766COrV6+e3X///e4LFX604UUXXeTarnv37u6HSEpKio0cOdKqVq2aoKWHqD1ikWxZhgpsEanPTuQHVoL76ggdy7y550Nytl+kzZs3W9++fd2vTlWD4Ecbfv75567qc8stt8R1GVF8bah+di+//LLVrl3bRo0aZaeccor16tXL1q5dG9dlRtHbUHtBFIIGDhxob7zxhjswtl+/fvRj9sTuJMsyBNgiSk9Pz9Nowf2MjIyY5s09H5Kz/QIbN260nj17qt+4Pf/88656gORvw8zMTPeFqYNL+Mz5+zlUxU4H/dx+++12/PHH27333msNGzZ0BwPBjzZ86qmnrEmTJnb11Vdb8+bN7dFHH7Xy5cu7riBIfulJlmX4Bi6iunXrul+T6vsT0C9LNWSVKlXyzKvwE0n369SpE7flRdHbT9avX+/+09WH9dVXX82zexrJ24bz5s1zu58VfNRPL+ird8MNN7hgCz8+h6q8NmrUKGqaAiwVWH/aUENmHXfcceH7KgLo/po1a+K6zCiaZMsyBNgiUiUgNTU1qvOydlG2aNEiT2VO46V9/fXXrnInuv7qq6/cdCR/+2nXZe/evd301157zX2I4U8bqt/kBx984IZACy7y2GOPueHQ4Mfn8KSTTnLjwEZavny56wsLP9pQQee7776LmrZixQo78sgj47a8KLpkyzIE2CLSbo/OnTu7MSVV4fnwww/d4M09evQI/wLVrku54IIL7KeffrIhQ4a4IzB1rb4kGswZyd9+Osjg+++/t2HDhoUf04VRCPxoQ1WCGjRoEHUR/RDRAQjw43OogyYVYF944QVbtWqVPffcc66yrn6U8KMNu3Xr5vq+6kek2lBdClR91cGVSE4bkjnLJGTwrkPErl27Qvfdd1/opJNOCrVt29aNcRfQWGqRY6PNnTs31LlzZzde3mWXXRb65ptvErTUKGz7nX/++e5+7sv999+fwKVHYT+DkRgH1s82/PLLL904os2bNw916tQpNGvWrAQtNYrahm+88UboggsucPNeddVVoQULFiRoqRHL/43JnGXK6J/ERGcAAACg8OhCAAAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAHF07bXX2rHHHht1ad68uZ199tn2yCOPuFMzxsPMmTPda//www/h5XrggQfi8toAcLBSD/oZAACFonOHDxgwIHx/165d9umnn9oTTzxhOTk57rzyAICCEWABIM4yMjKsdu3aUdMaNGhgCxYssClTphBgAeAA6EIAAEkiPT3dUlN/rivs2bPHnnzySTvjjDOsZcuW1q1bN1eljTRv3jy77rrr3OO/+c1vbNCgQeEuCNu2bbMHH3zQ/X2zZs3stNNOc/fj1UUBAEoSARYAEiw7O9tmzJhhkyZNsk6dOrlp/fr1s88++8yeeuope+utt1y3g5tuusnNJ6tXr7aePXtanTp1bPz48fbCCy+4+R9++GH3uPqzLly40EaMGGHvv/++e763337bzQsAvqMLAQDE2eTJk12oDGRmZtoRRxxhvXr1ciF11apV9s4777jA2bRpUzfP7373O1u8eLG98sor7oCvN954w6pVq2aPP/54uGr72GOP2ddff+1un3766XbKKae4A7XkyCOPtNdee82+/fbbhLxnAChOBFgAiLNzzz3X7rnnHguFQq4bwJAhQ1wXAIVXhVFVTqV79+5Rf7d3716rUqWKu60gqq4BQXiVU0891V2Cv/3oo49c9XblypW2bNkyN+JAo0aN4vpeAaAkEGABIM4qVqzoDtqShg0bum4AqrCWLVvWHcClYCvjxo1z80ZKSfm551dkcM1NIxn06dPHli5dah06dLCLLrrIhd2HHnqoRN8XAMQLfWABIMFUNVWAff311+2TTz6xY445xk3fsGGDC7rBZeLEie4ijRs3dpXaffv2hZ9n2rRprro7Z84c9zzPPfecq/RecsklVr9+ffv+++/D4RgAfEaABYAkcMcdd7hqrCqw6g97zjnnuFEF1A1AB2yNGjXKRo4c6YJo0EVgy5Ytbp7vvvvO/vOf/9jw4cNdGK5Xr56r0L733nvub+fPn2933nmnC8Qa3QAAfEeABYAkGULr0UcftTVr1tizzz7rLuedd54NHDjQdQHQAV3qK9ulSxc3f926dW3MmDG2fPly69y5s/3+9793oVfz67GhQ4e68Ku/VTjWNA25pbFmAcB3ZULsTwIAAIBHqMACAADAKwRYAAAAeIUACwAAAK8QYAEAAOAVAiwAAAC8QoAFAACAVwiwAAAA8AoBFgAAAF4hwAIAAMArBFgAAAB4hQALAAAA88n/A1U6+aDHoWWwAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Best Threshold (Max F1): 0.48\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "from sklearn.metrics import precision_recall_curve, f1_score\n", "\n", "# Predict probabilities\n", "y_probs = lr_model.predict_proba(X_test)[:, 1]\n", "\n", "# Calculate precision-recall curve\n", "precision, recall, thresholds = precision_recall_curve(y_test, y_probs)\n", "\n", "# Calculate F1 score for each threshold\n", "f1_scores = [f1_score(y_test, (y_probs >= t).astype(int)) for t in thresholds]\n", "\n", "# Find the best threshold (highest F1 score)\n", "best_index = f1_scores.index(max(f1_scores))\n", "best_threshold = thresholds[best_index]\n", "\n", "# Plot the PR curve\n", "plt.figure(figsize=(8, 5))\n", "plt.plot(recall, precision, label=f'PR Curve (Best Threshold={best_threshold:.2f}, F1={max(f1_scores):.2f})')\n", "plt.xlabel('Recall')\n", "plt.ylabel('Precision')\n", "plt.title('Precision-Recall Curve for Logistic Regression')\n", "plt.legend(loc='best')\n", "plt.grid(True)\n", "plt.show()\n", "\n", "print(f\"Best Threshold (Max F1): {best_threshold:.2f}\")\n" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Classification Report on Test Set:\n", " precision recall f1-score support\n", "\n", " 0 0.94 0.94 0.94 51\n", " 1 0.95 0.95 0.95 55\n", "\n", " accuracy 0.94 106\n", " macro avg 0.94 0.94 0.94 106\n", "weighted avg 0.94 0.94 0.94 106\n", "\n", "Confusion Matrix on Test Set:\n", " [[48 3]\n", " [ 3 52]]\n" ] } ], "source": [ "# Assuming you have your test set X_test, y_test already defined\n", "\n", "# Make predictions on the test set\n", "y_pred_test = lr_model.predict(X_test)\n", "\n", "# Calculate performance metrics on the test set\n", "from sklearn.metrics import classification_report, confusion_matrix\n", "\n", "# Print classification report to get precision, recall, F1 score\n", "print(\"Classification Report on Test Set:\\n\", classification_report(y_test, y_pred_test))\n", "\n", "# Confusion matrix to understand true positives, false positives, etc.\n", "print(\"Confusion Matrix on Test Set:\\n\", confusion_matrix(y_test, y_pred_test))\n" ] } ], "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.13.1" } }, "nbformat": 4, "nbformat_minor": 2 }