diff options
Diffstat (limited to 'MLLab6.ipynb')
| -rw-r--r-- | MLLab6.ipynb | 561 |
1 files changed, 561 insertions, 0 deletions
diff --git a/MLLab6.ipynb b/MLLab6.ipynb new file mode 100644 index 0000000..917ce7b --- /dev/null +++ b/MLLab6.ipynb @@ -0,0 +1,561 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Name: Anand Panchdhari\n", + "Roll No.: C013\n", + "Aim: Implement Logistic Regression for classification on real world dataset using sklearn package in python to\n", + " i. calculate class probability and \n", + " ii. evaluate the performance using confusion matrix\n", + "\"\"\"\n", + "import numpy as np\n", + "import pandas as pd\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn import metrics\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from sklearn.metrics import classification_report" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>Student_ID</th>\n", + " <th>Age</th>\n", + " <th>Gender</th>\n", + " <th>Study_Hours_per_Week</th>\n", + " <th>Preferred_Learning_Style</th>\n", + " <th>Online_Courses_Completed</th>\n", + " <th>Participation_in_Discussions</th>\n", + " <th>Assignment_Completion_Rate</th>\n", + " <th>Exam_Score</th>\n", + " <th>Attendance_Rate</th>\n", + " <th>Use_of_Educational_Tech</th>\n", + " <th>Self_Reported_Stress_Level</th>\n", + " <th>Time_Spent_on_Social_Media_(hours/week)</th>\n", + " <th>Sleep_Hours_per_Night</th>\n", + " <th>Final_Grade</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>S00001</td>\n", + " <td>18</td>\n", + " <td>1.0</td>\n", + " <td>48</td>\n", + " <td>Kinesthetic</td>\n", + " <td>14</td>\n", + " <td>1</td>\n", + " <td>100</td>\n", + " <td>69</td>\n", + " <td>66</td>\n", + " <td>Yes</td>\n", + " <td>High</td>\n", + " <td>9</td>\n", + " <td>8</td>\n", + " <td>C</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>S00002</td>\n", + " <td>29</td>\n", + " <td>1.0</td>\n", + " <td>30</td>\n", + " <td>Reading/Writing</td>\n", + " <td>20</td>\n", + " <td>0</td>\n", + " <td>71</td>\n", + " <td>40</td>\n", + " <td>57</td>\n", + " <td>Yes</td>\n", + " <td>Medium</td>\n", + " <td>28</td>\n", + " <td>8</td>\n", + " <td>D</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>S00003</td>\n", + " <td>20</td>\n", + " <td>1.0</td>\n", + " <td>47</td>\n", + " <td>Kinesthetic</td>\n", + " <td>11</td>\n", + " <td>0</td>\n", + " <td>60</td>\n", + " <td>43</td>\n", + " <td>79</td>\n", + " <td>Yes</td>\n", + " <td>Low</td>\n", + " <td>13</td>\n", + " <td>7</td>\n", + " <td>D</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>S00004</td>\n", + " <td>23</td>\n", + " <td>1.0</td>\n", + " <td>13</td>\n", + " <td>Auditory</td>\n", + " <td>0</td>\n", + " <td>1</td>\n", + " <td>63</td>\n", + " <td>70</td>\n", + " <td>60</td>\n", + " <td>Yes</td>\n", + " <td>Low</td>\n", + " <td>24</td>\n", + " <td>10</td>\n", + " <td>B</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>S00005</td>\n", + " <td>19</td>\n", + " <td>1.0</td>\n", + " <td>24</td>\n", + " <td>Auditory</td>\n", + " <td>19</td>\n", + " <td>1</td>\n", + " <td>59</td>\n", + " <td>63</td>\n", + " <td>93</td>\n", + " <td>Yes</td>\n", + " <td>Medium</td>\n", + " <td>26</td>\n", + " <td>8</td>\n", + " <td>C</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " Student_ID Age Gender Study_Hours_per_Week Preferred_Learning_Style \\\n", + "0 S00001 18 1.0 48 Kinesthetic \n", + "1 S00002 29 1.0 30 Reading/Writing \n", + "2 S00003 20 1.0 47 Kinesthetic \n", + "3 S00004 23 1.0 13 Auditory \n", + "4 S00005 19 1.0 24 Auditory \n", + "\n", + " Online_Courses_Completed Participation_in_Discussions \\\n", + "0 14 1 \n", + "1 20 0 \n", + "2 11 0 \n", + "3 0 1 \n", + "4 19 1 \n", + "\n", + " Assignment_Completion_Rate Exam_Score Attendance_Rate \\\n", + "0 100 69 66 \n", + "1 71 40 57 \n", + "2 60 43 79 \n", + "3 63 70 60 \n", + "4 59 63 93 \n", + "\n", + " Use_of_Educational_Tech Self_Reported_Stress_Level \\\n", + "0 Yes High \n", + "1 Yes Medium \n", + "2 Yes Low \n", + "3 Yes Low \n", + "4 Yes Medium \n", + "\n", + " Time_Spent_on_Social_Media_(hours/week) Sleep_Hours_per_Night Final_Grade \n", + "0 9 8 C \n", + "1 28 8 D \n", + "2 13 7 D \n", + "3 24 10 B \n", + "4 26 8 C " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = pd.read_csv(\"datasets/student_performance_large_dataset.csv\")\n", + "data.rename(columns={\n", + " 'Study+AF8-Hours+AF8-per+AF8-Week': 'Study_Hours_per_Week',\n", + " 'Exam+AF8-Score (+ACU-)': 'Exam_Score',\n", + " 'Preferred+AF8-Learning+AF8-Style': 'Preferred_Learning_Style',\n", + " 'Online+AF8-Courses+AF8-Completed': 'Online_Courses_Completed',\n", + " 'Participation+AF8-in+AF8-Discussions': 'Participation_in_Discussions',\n", + " 'Assignment+AF8-Completion+AF8-Rate': 'Assignment_Completion_Rate',\n", + " 'Attendance+AF8-Rate (+ACU-)': 'Attendance_Rate',\n", + " 'Use+AF8-of+AF8-Educational+AF8-Tech': 'Use_of_Educational_Tech',\n", + " 'Self+AF8-Reported+AF8-Stress+AF8-Level': 'Self_Reported_Stress_Level',\n", + " 'Time+AF8-Spent+AF8-on+AF8-Social+AF8-Media (hours/week)': 'Time_Spent_on_Social_Media_(hours/week)',\n", + " 'Sleep+AF8-Hours+AF8-per+AF8-Night': 'Sleep_Hours_per_Night',\n", + " 'Final+AF8-Grade': 'Final_Grade',\n", + " 'Student+AF8-ID': 'Student_ID',\n", + " 'Assignment+AF8-Completion+AF8-Rate (+ACU-)': 'Assignment_Completion_Rate'\n", + "}, inplace=True)\n", + "data['Gender'] = data['Gender'].map({'Male': 0, 'Female': 1})\n", + "data['Participation_in_Discussions'] = data['Participation_in_Discussions'].map({'No': 0, 'Yes': 1})\n", + "data.dtypes\n", + "data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vM/PF198IS5evCgAiKNHjwohhFi+fLlwcHAQ6enpIigoSNjb22vfl5SUJJRKpejcubNQq9Xa6cuWLRMAxJo1a4QQQmRnZ4uqVauKpk2biqysLG251atXCwAiICBAO239+vXCwsJC236eVatWCQAiIiJCO83Ly0sEBQUVuWxEpYGHpYjM7P3339d53bZtW/zzzz/a11u3boWzszM6deqE+/fvax/NmzeHg4MDwsLCtGVtbW21f6elpeH+/fto27YtMjIycOXKFZ12VCoVhg8fblSsdevWRZUqVeDt7Y13330XtWrVwt69e2FnZwcAiIyMxLVr1zBo0CA8ePBAG2t6ejo6duyIP/74A7m5uVCr1Th48CD69OkDDw8Pbf21atVCt27d9LYdEBCABg0aaF8LIbBt2zb07NkTQgidvunSpQtSUlK0h5RcXFxw+/ZtnDx50uCyubi44MSJE7h7967k/tizZw8sLS0xfvx4nekffvghhBDYu3evzvTAwED4+PhoX/v6+sLJyUlnfT9Lw4YN4evri02bNgEANm7ciN69e2vXQX4HDx5EdnY2Jk6cCAuLf3/uR44cCScnJ+zevRsAcOrUKSQlJeH999+HUqnUlhs2bBicnZ116ty6dSvq16+PevXq6fR5hw4dAEDn80hkLjwsRWRGNjY2hQ7DVKhQQWcszbVr15CSkoKqVavqrSMpKUn796VLlzB9+nQcPnwYqampOuVSUlJ0XlerVk1nQybFtm3b4OTkhHv37uGrr75CTEyMTkJ17do1AEBQUJDBOlJSUpCZmYknT56gVq1ahebrmwYANWvW1Hl97949JCcnY/Xq1Vi9erXe9+T1zccff4yDBw+iVatWqFWrFjp37oxBgwbB399fW3bhwoUICgqCp6cnmjdvju7du2Po0KF46aWXDC7LrVu34OHhAUdHR53p9evX187Pr0aNGoXqKLi+pRg0aBAWLVqESZMm4c8//zQ4Xiqv/bp16+pMVyqVeOmll7Tz855r166tU87a2rrQ8l+7dg1RUVEGDx/m/zwSmQuTGyIzknL2VG5uLqpWrYoNGzbonZ+3kUlOTkZAQACcnJwwe/Zs+Pj4wMbGBmfOnMHHH39c6BTm/EmJVK+99hoqV64MAOjZsycaN26MwYMH4/Tp07CwsNC28cUXX6Bp06Z663BwcCjWmU4F481ra8iQIQaT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Y25KYsGCBdi8eTO2b98OGxsbvWXmz58PZ2dn7cPT0/M5R0lERETPk1mTm8qVK8PS0hKJiYk60xMTE+Hm5lbke7/88kssWLAABw4cgK+vr8Fy06ZNQ0pKivYRFxdnktiJiIiobDJrcqNUKtG8eXMcOnRIOy03NxeHDh2Cn5+fwfctXLgQc+bMwb59+9CiRYsi21CpVHByctJ5EBERkXyZdcwNAAQHByMoKAgtWrRAq1atsHTpUqSnp2P48OEAgKFDh6JatWqYP38+AODzzz9HSEgINm7cCG9vbyQkJAAAHBwc4ODgYLblICIiorLB7MnNgAEDcO/ePYSEhCAhIQFNmzbFvn37tIOMY2NjYWHx7w6mlStXIjs7G2+++aZOPaGhoZg5c+bzDJ2IiIjKILNf5+Z543VuiIiIyp9yc50bIiIiIlNjckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5MZGUFODVV4EaNTTPKSn6yz18CDRuDFSqpHl++LBk9QHAnTtAxYqAtbXm+c6d5xNjbCzg6AhYWmqeY2MNx3j9OqBUAgqF5vn69ZK1LbVcQgLg5gbY2GieExIMxyh1eZ48AcaOBbp00Tw/eVKyGKXWVxptP34M9O0L+Ppqnh8/1l/OmH40V9v37gE1awIODprne/cMxyi1rNTvjNT61GogPBzYtEnzrFYbjlFq21L7UWo5Y357pJaV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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "X = data[['Study_Hours_per_Week']]\n", + "Y = (data['Gender'] == 1).astype(int)\n", + "logis = LogisticRegression(random_state=100)\n", + "logis.fit(X=X, y=Y)\n", + "y_pred = logis.predict(X)\n", + "y_prob = logis.predict_proba(X)[:,1]\n", + "plt.scatter(X, Y, color='blue', label=\"Actual Data\")\n", + "\n", + "plt.plot(X, y_prob, color='red', linewidth=2, label=\"Logistic Regression Curve\")\n", + "\n", + "plt.xlabel(\"Study_Hours_per_Week\")\n", + "plt.ylabel(\"Exam_Score\")\n", + "plt.title(\"Linear Regression Model\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 427.9555555555555, 'Predicted Pass')" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmsAAAIWCAYAAAAI8Mr7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAASEpJREFUeJzt3XlYVeXax/HfBmWLyCAqAqk45XScSpPISkmcNT2apmlhOTSgljTS4FSKaWZZpqeOU5YNapppac5koqnFyQbNAdEScEoR1A3Cev/oddMWB7Zu3Iv4fs61rqv9rGc/696857znPve9nrUshmEYAgAAgCl5uDsAAAAAXBrJGgAAgImRrAEAAJgYyRoAAICJkawBAACYGMkaAACAiZGsAQAAmBjJGgAAgImRrAEAAJgYyRpQQuzevVvt2rWTv7+/LBaLlixZ4tL19+/fL4vFojlz5rh03X+C6tWra8CAAe4OA0AxRbIGXEd79+7Vww8/rJo1a6pMmTLy8/NTy5Yt9eabb+rMmTNFeu3o6Gjt2LFD48aN07x589S8efMivd4/0S+//KLRo0dr//797g4FQAli4d2gwPWxfPly9erVS1arVQ888IAaNmyo7Oxsbdy4UYsWLdKAAQP07rvvFsm1z5w5o7Jly+qFF17QK6+8UiTXMAxDNptNpUuXlqenZ5Fcw90WLlyoXr16ad26dWrdunWhv2ez2eTh4aHSpUsXXXAA/rFKuTsAoCRITk5Wnz59FBYWprVr1yokJMR+LiYmRnv27NHy5cuL7PpHjhyRJAUEBBTZNSwWi8qUKVNk6xc3hmHo7Nmz8vb2ltVqdXc4AIox2qDAdTBx4kRlZmZq5syZDonaebVr19bjjz9u/3zu3Dm9/PLLqlWrlqxWq6pXr67nn39eNpvN4XvVq1dXly5dtHHjRrVo0UJlypRRzZo19f7779vnjB49WmFhYZKkp59+WhaLRdWrV5ckDRgwwP7Pfzd69GhZLBaHsVWrVun2229XQECAypUrp7p16+r555+3n7/UPWtr167VHXfcIR8fHwUEBKhbt2769ddfL3q9PXv2aMCAAQoICJC/v78efPBBnT59+tJ/2P/XunVrNWzYUD/++KNatWqlsmXLqnbt2lq4cKEkacOGDQoPD5e3t7fq1q2r1atXO3w/JSVFjz32mOrWrStvb29VqFBBvXr1cmh3zpkzR7169ZIkRUZGymKxyGKxaP369ZLy/2+xcuVKNW/eXN7e3vrPf/5jP3f+njXDMBQZGalKlSrp8OHD9vWzs7PVqFEj1apVS1lZWVf8zQBKDpI14Dr44osvVLNmTd12222Fmj9o0CCNHDlSN998s6ZMmaJWrVopPj5effr0KTB3z549uueee9S2bVtNnjxZ5cuX14ABA/Tzzz9Lknr06KEpU6ZIkvr27at58+bpjTfecCr+n3/+WV26dJHNZtPYsWM1efJk3X333fr2228v+73Vq1erffv2Onz4sEaPHq3Y2Fht2rRJLVu2vOh9X71799apU6cUHx+v3r17a86cORozZkyhYvzzzz/VpUsXhYeHa+LEibJarerTp48++eQT9enTR506ddKECROUlZWle+65R6dOnbJ/d+vWrdq0aZP69OmjqVOn6pFHHtGaNWvUunVre7J45513avjw4ZKk559/XvPmzdO8efNUv359+zq7du1S37591bZtW7355ptq2rRpgTgtFotmzZqls2fP6pFHHrGPjxo1Sj///LNmz54tHx+fQv1mACWEAaBInTx50pBkdOvWrVDzk5KSDEnGoEGDHMafeuopQ5Kxdu1a+1hYWJghyUhISLCPHT582LBarcaTTz5pH0tOTjYkGZMmTXJYMzo62ggLCysQw6hRo4y//7+HKVOmGJKMI0eOXDLu89eYPXu2faxp06ZGUFCQcezYMfvY//73P8PDw8N44IEHClzvoYcecljz3//+t1GhQoVLXvO8Vq1aGZKM+fPn28d27txpSDI8PDyMzZs328dXrlxZIM7Tp08XWDMxMdGQZLz//vv2sQULFhiSjHXr1hWYf/7/FitWrLjouejoaIex//znP4Yk44MPPjA2b95seHp6Gk888cQVfyuAkofKGlDEMjIyJEm+vr6Fmv/ll19KkmJjYx3Gn3zySUkqcG9bgwYNdMcdd9g/V6pUSXXr1tW+ffuuOuYLnb/X7fPPP1deXl6hvpOamqqkpCQNGDBAgYGB9vHGjRurbdu29t/5d3+vNEnSHXfcoWPHjtn/hpdTrlw5h8pj3bp1FRAQoPr16ys8PNw+fv6f//738fb2tv9zTk6Ojh07ptq1aysgIEDff/99IX7tX2rUqKH27dsXau6QIUPUvn17DRs2TPfff79q1aql8ePHF/paAEoOkjWgiPn5+UmSQ9vtclJSUuTh4aHatWs7jAcHBysgIEApKSkO49WqVSuwRvny5fXnn39eZcQF3XvvvWrZsqUGDRqkypUrq0+fPvr0008vm7idj7Nu3boFztWvX19Hjx4tcG/Whb+lfPnyklSo31KlSpUC99n5+/uratWqBcYuXPPMmTMaOXKkqlatKqvVqooVK6pSpUo6ceKETp48ecVrn1ejRo1Cz5WkmTNn6vTp09q9e7fmzJnjkDQCwHkka0AR8/PzU2hoqH766Senvndh4nEpl3pMhlGIp/Jc6hq5ubkOn729vZWQkKDVq1fr/vvv148//qh7771Xbdu2LTD3WlzLb7nUdwuz5rBhwzRu3Dj17t1bn376qb7++mutWrVKFSpUKHQlUZLTydb69evtm0Z27Njh1HcBlBwka8B10KVLF+3du1eJiYlXnBsWFqa8vDzt3r3bYTw9PV0nTpyw7+x0hfLly+vEiRMFxi+s3kmSh4eH2rRpo9dff12//PKLxo0bp7Vr12rdunUXXft8nLt27SpwbufOnapYsaJpbqRfuHChoqOjNXnyZPtmjdtvv73A36awCXRhpKamatiwYWrXrp26dOmip5566qJ/dwAgWQOug2eeeUY+Pj4aNGiQ0tPTC5zfu3ev3nzzTUlSp06dJKnAjs3XX39dktS5c2eXxVWrVi2dPHlSP/74o30sNTVVixcvdph3/PjxAt89v9PxwseJnBcSEqKmTZtq7ty5DknPTz/9pK+//tr+O83A09OzQPXurbfeKlA1PJ9cXizBddbgwYOVl5enmTNn6t1331WpUqU0cODAQlURAZQsPBQXuA5q1aql+fPn695771X9+vUd3mCwadMmLViwwP4criZNmig6OlrvvvuuTpw4oVatWum7777T3Llz1b17d0VGRrosrj59+ujZZ5/Vv//9bw0fPlynT5/W9OnTVadOHYcb68eOHauEhAR17txZYWFhOnz4sN555x1VqVJFt99++yXXnzRpkjp27KiIiAgNHDhQZ86c0VtvvSV/f3+NHj3aZb/jWnXp0kXz5s2Tv7+/GjRooMTERK1evVoVKlRwmNe0aVN5enrq1Vdf1cmTJ2W1WnXXXXcpKCjIqevNnj1by5cv15w5c1SlShVJfyWH/fv31/Tp0/XYY4+57LcBKP5I1oDr5O6779aPP/6oSZMm6fPPP9f0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rH//+9/XHDMAXArJGlCM+fj4qHbt2oWef/PNN+uTTz5RUFCQ/Pz8LjonJCREW7Zs0Z133ilJOnfunLZv366bb775ovMbNWqkvLw8bdiwQVFRUQXOn6/s5ebm2scaNGggq9WqAwcOXLIiV79+fftmifM2b9585R8pqWLFihf9u3z77be67bbb9Nhjj9nH9u7dW2DeTTfdpJtuuklxcXGKiIjQ/Pnzdeutt0qS6tSpozp16mjEiBHq27evZs+eTbIGoEixGxQoQfr166eKFSuqW7du+uabb5ScnKz169dr+PDh+v333yVJjz/+uCZMmKAlS5Zo586deuyxxy77jLTq1asrOjpaDz30kJYsWWJf89NPP5UkhYWFyWKxaNmyZTpy5IgyMzPl6+urp556SiNGjNDcuXO1d+9eff/993rrrbc0d+5cSdIjjzyi3bt36+mnn9auXbs0f/58zZkz55p+/4033qht27Zp5cqV+u233/TSSy9p69at9vPJycmKi4tTYmKiUlJS9PXXX2v37t2qX7++zpw5o6FDh2r9+vVKSUnRt99+q61bt6p+/frXFBMAXAnJGlCClC1bVgkJCapWrZp69Oih+vXra+DAgTp79qy90vbkk0/q/vvvV3R0tL1VeKXK0fTp03XPPffoscceU7169TR48GBlZWVJkm644QaNGTNGzz33nCpXrqyhQ4dKkl5++WW99NJLio+PV/369dWhQwctX75cNWrUkCRVq1ZNixYt0pIlS9SkSRPNmDFD48ePv6bf//DDD6tHjx669957FR4ermPHjjlU2cqWLaudO3eqZ8+eqlOnjoYMGaKYmBg9/PDD8vT01LFjx/TAAw+oTp066t27tzp27KgxY8ZcU0wAcCUW41J3DQMAAMDtqKwBAACYGMkaAACAiZGsAQAAmBjJGgAAgIn9I5+zlnN0n7tDAFAI3qF3uDsEAFdwLvsPt1y3KP67vHTFmi5f83qgsgYAAGBi/8jKGgAAKObycq88p4QgWQMAAOZj5Lk7AtOgDQoAAGBiVNYAAID55FFZO4/KGgAAgIlRWQMAAKZjcM+aHckaAAAwH9qgdrRBAQAATIzKGgAAMB/aoHZU1gAAAEyMyhoAADAf3mBgR7IGAADMhzaoHW1QAAAAE6OyBgAAzIdHd9hRWQMAALhAfHy8brnlFvn6+iooKEjdu3fXrl27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", + "text/plain": [ + "<Figure size 640x480 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cnf_matrix = metrics.confusion_matrix(Y, y_pred)\n", + "class_names=['Less','More']\n", + "fig, ax = plt.subplots()\n", + "tick_marks = np.arange(len(class_names))\n", + "plt.xticks(tick_marks, class_names)\n", + "plt.yticks(tick_marks, class_names)\n", + "\n", + "sns.heatmap(pd.DataFrame(cnf_matrix), annot=True, fmt='g')\n", + "ax.xaxis.set_label_position(\"top\")\n", + "plt.tight_layout()\n", + "plt.title('Confusion matrix', y=1.1)\n", + "plt.ylabel('Actual Pass')\n", + "plt.xlabel('Predicted Pass')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Failed 0.55 0.87 0.67 269\n", + " Passed 0.53 0.17 0.26 230\n", + "\n", + " accuracy 0.55 499\n", + " macro avg 0.54 0.52 0.47 499\n", + "weighted avg 0.54 0.55 0.48 499\n", + "\n" + ] + } + ], + "source": [ + "target_names = ['Failed', 'Passed']\n", + "print(classification_report(Y, y_pred, target_names=target_names))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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OYyzXpzASkRERIarRe8ZISIiIukxjBAREZGkGEaIiIhIUgwjREREJCmDDyMrV66Ej48PTE1NERISghMnTty1//bt29GuXTuYmpqic+fO2LdvXxNVqt90Gec1a9agb9++sLOzg52dHcLCwu75faG/6fozfdvWrVshk8kwYsSIxi3QQOg6znl5eZg8eTJcXV2hVCrRtm1bvn/Uga7jvGzZMgQEBMDMzAyenp6YOnUqysrKmqha/fT7779j6NChcHNzg0wmw86dO++5zZEjR9C9e3colUq0bt0aGzZsaNwihQHbunWrUCgUYt26deLixYti0qRJwtbWVmRlZdXY/88//xRGRkbio48+ErGxsWLWrFnCxMREnD9/vokr1y+6jvOzzz4rVq5cKaKjo8WlS5fE2LFjhY2Njbh27VoTV65/dB3r25KTk4W7u7vo27evGD58eNMUq8d0Hefy8nLRo0cP8eijj4qjR4+K5ORkceTIERETE9PElesXXcd58+bNQqlUis2bN4vk5GTxyy+/CFdXVzF16tQmrly/7Nu3T8ycOVP8+OOPAoDYsWPHXfsnJSUJc3NzERERIWJjY8Vnn30mjIyMxP79+xutRoMOI8HBwWLy5Mnar9VqtXBzcxMLFy6ssf9TTz0lhgwZUq0tJCREvPjii41ap77TdZz/rbKyUlhZWYmNGzc2VokGoz5jXVlZKXr16iW++uorMWbMGIaROtB1nD///HPh5+cnVCpVU5VoEHQd58mTJ4sBAwZUa4uIiBC9e/du1DoNSV3CyFtvvSU6duxYrW3kyJEiPDy80eoy2MM0KpUKp0+fRlhYmLZNLpcjLCwMUVFRNW4TFRVVrT8AhIeH19qf6jfO/1ZSUoKKigrY29s3VpkGob5j/d5778HJyQkTJkxoijL1Xn3Geffu3QgNDcXkyZPh7OyMTp06YcGCBVCr1U1Vtt6pzzj36tULp0+f1h7KSUpKwr59+/Doo482Sc0thRSfhXpxobz6yMnJgVqthrOzc7V2Z2dnxMXF1bhNZmZmjf0zMzMbrU59V59x/re3334bbm5ud/zwU3X1GeujR49i7dq1iImJaYIKDUN9xjkpKQm//vornnvuOezbtw+JiYl45ZVXUFFRgblz5zZF2XqnPuP87LPPIicnB3369IEQApWVlXjppZfwzjvvNEXJLUZtn4UFBQUoLS2FmZlZgz+nwe4ZIf2waNEibN26FTt27ICpqanU5RiUwsJCjBo1CmvWrIGDg4PU5Rg0jUYDJycnfPnllwgKCsLIkSMxc+ZMrF69WurSDMqRI0ewYMECrFq1CmfOnMGPP/6IvXv3Yv78+VKXRvfJYPeMODg4wMjICFlZWdXas7Ky4OLiUuM2Li4uOvWn+o3zbYsXL8aiRYtw6NAhdOnSpTHLNAi6jvWVK1eQkpKCoUOHats0Gg0AwNjYGPHx8fD392/covVQfX6mXV1dYWJiAiMjI21b+/btkZmZCZVKBYVC0ag166P6jPPs2bMxatQoTJw4EQDQuXNnFBcX44UXXsDMmTMhl/Pv64ZQ22ehtbV1o+wVAQx4z4hCoUBQUBAiIyO1bRqNBpGRkQgNDa1xm9DQ0Gr9AeDgwYO19qf6jTMAfPTRR5g/fz7279+PHj16NEWpek/XsW7Xrh3Onz+PmJgY7W3YsGHo378/YmJi4Onp2ZTl6436/Ez37t0biYmJ2rAHAAkJCXB1dWUQqUV9xrmkpOSOwHE7AApeZq3BSPJZ2GinxjYDW7duFUqlUmzYsEHExsaKF154Qdja2orMzEwhhBCjRo0S06dP1/b/888/hbGxsVi8eLG4dOmSmDt3Lqf21oGu47xo0SKhUCjE999/LzIyMrS3wsJCqV6C3tB1rP+Ns2nqRtdxTk1NFVZWVuLVV18V8fHxYs+ePcLJyUm8//77Ur0EvaDrOM+dO1dYWVmJb7/9ViQlJYkDBw4If39/8dRTT0n1EvRCYWGhiI6OFtHR0QKAWLp0qYiOjhZXr14VQggxffp0MWrUKG3/21N7p02bJi5duiRWrlzJqb3367PPPhNeXl5CoVCI4OBg8ddff2nv69evnxgzZky1/t99951o27atUCgUomPHjmLv3r1NXLF+0mWcvb29BYA7bnPnzm36wvWQrj/T/8QwUne6jvOxY8dESEiIUCqVws/PT3zwwQeisrKyiavWP7qMc0VFhXj33XeFv7+/MDU1FZ6enuKVV14Rt27davrC9cjhw4drfM+9PbZjxowR/fr1u2ObwMBAoVAohJ+fn1i/fn2j1igTgvu2iIiISDoGe84IERER6QeGESIiIpIUwwgRERFJimGEiIiIJMUwQkRERJJiGCEiIiJJMYwQERGRpBhGiIiISFIMI0RERCQphhEiIiKSFMMIERERSYphhIiIiCT1/9j35AbBcM0aAAAAAElFTkSuQmCC", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_pred_proba = logis.predict_proba(X)[::,1]\n", + "fpr, tpr, _ = metrics.roc_curve(Y, y_pred_proba)\n", + "auc = metrics.roc_auc_score(Y, y_pred_proba)\n", + "plt.plot(fpr,tpr,label=\"data 1, auc=\"+str(auc))\n", + "plt.legend(loc=4)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Biased dataset generated and saved as 'biased_student_data.csv'.\n" + ] + } + ], + "source": [ + "# Set random seed for reproducibility\n", + "np.random.seed(42)\n", + "\n", + "# Number of samples\n", + "num_samples = 500\n", + "\n", + "# Generate biased features\n", + "study_hours = np.random.normal(loc=2, scale=1, size=num_samples) # Most students study less\n", + "attendance_rate = np.random.uniform(20, 80, num_samples) # Biased towards lower attendance\n", + "social_media_hours = np.random.normal(loc=5, scale=2, size=num_samples) # More social media usage\n", + "stress_level = np.random.randint(6, 10, num_samples) # Higher stress levels\n", + "\n", + "# Introduce a strong bias: Most students fail\n", + "pass_fail = np.random.choice([0, 1], size=num_samples, p=[0.8, 0.2]) # 80% fail, 20% pass\n", + "\n", + "# Create DataFrame\n", + "data = pd.DataFrame({\n", + " 'Study_Hours': study_hours,\n", + " 'Attendance_Rate': attendance_rate,\n", + " 'Social_Media_Hours': social_media_hours,\n", + " 'Stress_Level': stress_level,\n", + " 'Pass_Fail': pass_fail # Target variable\n", + "})\n", + "\n", + "# Save to CSV\n", + "data.to_csv(\"datasets/biased_student_data.csv\", index=False)\n", + "\n", + "print(\"Biased dataset generated and saved as 'biased_student_data.csv'.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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8kKbNm1w7969XOtv2LABEyZMQGhoKGJiYrBy5Ups3rwZn3/+eTFHTkRERCWVQZOb+fPnY9CgQRgwYABq166NZcuWwdzcHKtWrcq1/h9//IGmTZuiV69ecHd3R+vWrdGzZ883nu0hIiKissNgyU1GRgZOnz6NoKCgf4MxMkJQUBCioqJy3aZJkyY4ffq0Jpm5ceMG9uzZg/bt2+fZT3p6OlJSUrQWIiIikq9yhur4/v37UKvVcHBw0Cp3cHDA5cuXc92mV69euH//Pt5++20IIZCZmYkhQ4a89rLUrFmzMHXqVL3GTkRERCWXwScU6yIiIgIzZ87EkiVLEB0dje3bt2P37t2YNm1anttMnDgRycnJmuX27dvFGDEREREVN4OdubG1tYWxsTESExO1yhMTE+Ho6JjrNl9++SX69u2L//73vwCAevXqIS0tDR9//DG++OILGBnlzNVUKhVUKpX+B0BEREQlksHO3CiVSnh7eyM8PFxTlpWVhfDwcPj7++e6zdOnT3MkMMbGxgAAIUTRBUtERESlhsHO3ABASEgIgoOD4ePjA19fXyxcuBBpaWkYMGAAAKBfv35wcXHBrFmzAAAdO3bE/Pnz0bBhQ/j5+eHatWv48ssv0bFjR02SQ0RERGWbQZOb7t27IykpCZMnT0ZCQgIaNGiAsLAwzSTjW7duaZ2pmTRpEhQKBSZNmoT4+HjY2dmhY8eOmDFjhqGGQERERCWMQpSx6zkpKSmwsbFBcnIyrK2tDR0OERER5YMun9+l6m4pIiIiojdhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKSFSY3REREJCtMboiIiEhWmNwQERGRrDC5ISIiIllhckNERESywuSGiIiIZIXJDREREckKkxsiIiKS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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "X = data[['Study_Hours']]\n", + "Y = (data['Pass_Fail'] == 1).astype(int)\n", + "logis = LogisticRegression(random_state=16)\n", + "logis.fit(X=X, y=Y)\n", + "y_pred = logis.predict(X)\n", + "y_prob = logis.predict_proba(X)[:,1]\n", + "plt.scatter(X, Y, color='blue', label=\"Actual Data\")\n", + "\n", + "plt.plot(X, y_prob, color='red', linewidth=2, label=\"Logistic Regression Curve\")\n", + "\n", + "plt.xlabel(\"Study_Hours_per_Week\")\n", + "plt.ylabel(\"Exam_Score\")\n", + "plt.title(\"Linear Regression Model\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 427.9555555555555, 'Predicted Pass')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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5NB2+zOHDx+Wh4eHqlWr5jAeGhqqwMBAHT582GG8YsWKea5RqlQp/fbbb38x4rwefPBBNW7cWI8//rhCQkLUs2dPffDBB3+auF2Os0aNGnnO1apVSydOnMjzbNaV36VUqVKSlK/vUr58+TzP2QUEBKhChQp5xq685sWLFzVq1ChVqFBBdrtdZcqUUdmyZXX69GmdOXPmuve+rHLlyvmeK0mzZs3ShQsXtH//fiUmJjokjQBwGckaUMD8/f1Vrlw5fffdd0597srE41qutU2GkY9dea51j+zsbIeffXx8tGHDBq1atUqPPvqodu3apQcffFCtWrXKM/dG3Mh3udZn83PNQYMG6cUXX1SPHj30wQcf6IsvvtDKlStVunTpfFcSJTmdbK1bt85cNLJ7926nPgug6CBZA26Cjh076uDBg0pKSrru3PDwcOXk5Gj//v0O4ykpKTp9+rS5stMVSpUqpdOnT+cZv7J6J0keHh5q0aKFXnnlFX3//fd68cUXtWbNGq1du/aq174c5759+/Kc27t3r8qUKWOZB+kXLVqk6Ohovfzyy+ZijSZNmuT53eQ3gc6PY8eOadCgQWrdurU6duyoZ5555qq/dwAgWQNuguHDh8vPz0+PP/64UlJS8pw/ePCgpkyZIklq3769JOVZsfnKK69Ikjp06OCyuKpWraozZ85o165d5tixY8e0ePFih3mnTp3K89nLKx2v3E7ksrCwMNWrV09z5851SHq+++47ffHFF+b3tAJPT8881bvXXnstT9XwcnJ5tQTXWX379lVOTo5mzZqlN998U8WKFVOfPn3yVUUEULSwKS5wE1StWlULFizQgw8+qFq1ajm8wWDTpk1auHChuQ9X3bp1FR0drTfffFOnT59W06ZNtWXLFs2dO1ddunRR8+bNXRZXz549NWLECN1///0aPHiwLly4oBkzZqh69eoOD9aPGzdOGzZsUIcOHRQeHq7U1FRNnz5d5cuXV5MmTa55/UmTJqldu3aKiopSnz59dPHiRb322msKCAjQmDFjXPY9blTHjh01b948BQQEKCIiQklJSVq1apVKly7tMK9evXry9PTUv//9b505c0Z2u1333nuvgoODnbrfnDlztGzZMiUmJqp8+fKSfk8OH3nkEc2YMUNPPvmky74bgMKPZA24Se677z7t2rVLkyZN0scff6wZM2bIbrer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okY1h79XonvmLpGuUa2yvLyKadzE1/R0/xinVtkAAKzHcPMbDOLj49WuXTtVrFhR586d04IFC7Ru3TqtWLFCAQEB6tOnj+Li4hQUFCR/f38NGjRIUVFRatTo98d8WrdurYiICD366KOaOHGikpOTNXLkSMXGxjpdUHJbsrZz504lJibmSdQkyWazaciQIapfv/5VPunoav1nj3PuWWYM53h5eali+XKSpH/UvFV79v6odxd+rNHDB6txZAMtXzhHv50+I09PT/mXLKGmnR5W2xZh17xenYiaysrO1n+PpapyePmb9TWAIu/EiVPKyspScEgZh/Hg4LJKTjnupqhQ6BVAG9QZqamp6t27t44dO6aAgADVqVNHK1asUKtWrSRJkydPloeHh7p166b09HS1adNG06dPNz/v6emppUuXasCAAYqKipKfn5+io6M1btw4p2NxW7J2uZdbs2bNq57fsmVLnlUUV3O1/nNmxolrzIaV5eQYysjIdBgrFRggSfp6+w6d+u20ml+xMOGP9u4/KA8PDwWVCijQOAE4yszM1Dff7NK9zZvok09WSPr9P7rvbd5E02fMcXN0wF8za9asPz1fvHhxTZs2TdOmXXsBTXh4uD777LMbjsVtydozzzyjfv36afv27WrRooWZmKWkpGj16tV666239NJLL7krPBSwyTPm6O6ohgoLCVbahQta9sU6bf12l9545QVJ0uJlX6hKeAWVCgzQzj17NeHVmer94P1mxWzHdz9o9569uuP2uvLz9dHO737QxKlvqmPr5grwL+nOrwYUSZOnvKU5syZr+ze7tHXrtxo8qK/8/HyUOPd9d4eGwsrgRe6XuS1Zi42NVZkyZTR58mRNnz5d2dnZkn4vGzZo0ECJiYnq0aOHu8JDATt1+rSeff4lHT95SiX9/FS9WmW98coLuuvO2yVJPx/5Va/OTNSZs+d0S1iI+kX3VO8H7zc/7+3lpc9Xrdf02fOVkZGpW8qF6NEH71d0z/uvdUsABWjhwk9UtkyQxox6RqGhZbVz5x516PiIUlPpdAA3yhKvm8rMzNSJE7//A12mTBl5/WHLhr90PV43BRQKvG4KsD53vW4qbVwvl1/Tb9R8l1/zZrDEprheXl4KC7v2g+MAAKCIcfNqUCvhdVMAAAAWZonKGgAAgAM3b91hJVTWAAAALIzKGgAAsB627jCR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", + "text/plain": [ + "<Figure size 640x480 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cnf_matrix = metrics.confusion_matrix(Y, y_pred)\n", + "class_names=['Less','More']\n", + "fig, ax = plt.subplots()\n", + "tick_marks = np.arange(len(class_names))\n", + "plt.xticks(tick_marks, class_names)\n", + "plt.yticks(tick_marks, class_names)\n", + "\n", + "sns.heatmap(pd.DataFrame(cnf_matrix), annot=True, fmt='g')\n", + "ax.xaxis.set_label_position(\"top\")\n", + "plt.tight_layout()\n", + "plt.title('Confusion matrix', y=1.1)\n", + "plt.ylabel('Actual Pass')\n", + "plt.xlabel('Predicted Pass')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " Failed 0.79 1.00 0.88 395\n", + " Passed 0.00 0.00 0.00 105\n", + "\n", + " accuracy 0.79 500\n", + " macro avg 0.40 0.50 0.44 500\n", + "weighted avg 0.62 0.79 0.70 500\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/data/python/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n", + "/var/data/python/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n", + "/var/data/python/lib/python3.12/site-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n" + ] + } + ], + "source": [ + "target_names = ['Failed', 'Passed']\n", + "print(classification_report(Y, y_pred, target_names=target_names))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOOVJREFUeJzt3Xt01NW5//FPEjO5CInccgFCIngDq9CCSSOwqG0OqXKinHNaOaAQEWk50h4kRy6RSyqoQVBEBaQiF9tKQaygq6RQTU0tJT2US3rUIJQCIkoisUowQK779we/GWeSmWQmZGYyM+/XWrOW8539ndnzZcw8s59n7x1mjDECAADwk3B/dwAAAIQ2ghEAAOBXBCMAAMCvCEYAAIBfEYwAAAC/IhgBAAB+RTACAAD8imAEAAD41RX+7oA7mpqa9Omnn6pr164KCwvzd3cAAIAbjDE6d+6cevfurfBw1+MfARGMfPrpp0pJSfF3NwAAQDt8/PHH6tu3r8vHAyIY6dq1q6RLbyYuLs7PvQEAAO6orq5WSkqK7XvclYAIRqypmbi4OIIRAAACTFslFhSwAgAAvyIYAQAAfkUwAgAA/IpgBAAA+BXBCAAA8CuCEQAA4FcEIwAAwK8IRgAAgF8RjAAAAL/yOBh59913lZOTo969eyssLEzbt29v85ySkhJ961vfUlRUlK655hpt3LixHV0FAADByONgpKamRoMHD9aqVavcan/8+HGNGTNGt912m8rKyvTQQw/pgQce0K5duzzuLAAACD4e701z++236/bbb3e7/Zo1a3T11Vfr6aefliQNHDhQu3fv1jPPPKPs7GxPXx4AAHQQY4wu1DdKkmIiI9rcQ8ZbvL5RXmlpqbKyshyOZWdn66GHHnJ5Tm1trWpra233q6urvdU9AABCkjFGP1hTqv0ffSFJKl+UrViLf/bP9XoBa0VFhRITEx2OJSYmqrq6WhcuXHB6TmFhoeLj4223lJQUb3cTAICQcqG+0RaI+FunnE2Tn5+vs2fP2m4ff/yxv7sEAEDQ2jc/SzGREX57fa+PxyQlJamystLhWGVlpeLi4hQTE+P0nKioKEVFRXm7awAABDz7ug9PnK/7+pxYi//qRSQfBCOZmZkqKipyOPbWW28pMzPT2y8NAEBQa173Eag8TtN89dVXKisrU1lZmaRLU3fLysp08uRJSZdSLJMmTbK1nzZtmo4dO6bZs2frww8/1OrVq/Xqq69q5syZHfMOAAAIUR1R9zEstZtfUzRSO0ZG9u3bp9tuu812Py8vT5KUm5urjRs36vTp07bARJKuvvpq7dixQzNnztSzzz6rvn376qWXXmJaLwAAbmgtDWOfatk3P0uxFs+DCn9O6bUKM8YYv/bADdXV1YqPj9fZs2cVFxfn7+4AAOATnqRh/Dk11xV3v7875WwaAADgfhqmM6RaLkfnCqEAAAhRztIx7qZhOkOq5XIQjAAA4GfupGNiLRGdLg3TUUjTAADgZ22lYwI9DdOW4AyxAADoJNxZlKytdEygp2HaQjACAICXtGdRsmBOx7hCmgYAAC/xdFGyYE/HuBJaoRcAAJfJk71gPF2ULNjTMa4QjAAA4KbL2QsmFNMv7iJNAwCAm9q7F0yopl/cRYgGAEA7eLIXTKimX9xFMAIAQDOu6kLsa0BIu3QcriIAAHYupy4E7UPNCAAAdtypC6EGpGMxMgIAgAuu6kKoAelYBCMAALhAXYhvkKYBAAB+RTACAAD8imAEAAD4FcEIAADwK4IRAAD+P2OMw8Jm8A1KhAEAEIud+RMjIwAAqOViZyxs5juMjAAAQlLz/Wfs0zP75mepx5UWFjbzEYIRAEDIaSslE2thhVVfIk0DAAg5re0/Q3rG9xgZAQCEtOb7z7DvjO8RjAAAQoa1TsS+PoT9Z/yPqw8ACAlM3e28qBkBAIQEZ3Ui1Id0DoyMAACCUltTd2MtEdSHdBIEIwCAoOPO1F3qRDoP0jQAgKDD1N3AQlgIAAgazmbLMHW38yMYAQAEBVepGVIynR9pGgBAUGC2TOAiVAQABDxjDLNlAhjBCAAgoDlLz5CaCSykaQAAAa15eobUTOAhbAQABIzmC5lJLRcz63GlhdRMgCEYAQAEBHf2lom1UCMSiEjTAAACQmsLmUmkZwIZIyMAgIDTfCEzicXMAhnBCAAg4DBbJriQpgEAAH5FMAIAAPyKMS4AQKdlP5XXfgovggvBCACgU3JnKi+CA2kaAECn5GoqL1N4gw8jIwAAv3K2qqrUcmVV61RepvAGH4IRAIDfuJuKYSpvcCNNAwDwm7ZWVZVIy4QCwkwAgM9ZUzOuUjH2SMsEP4IRAIBPuUrNkIoJXaRpAAA+5Sw1QyomtBGCAgB8ypiv/9uamiEVE9oIRgAAPmOM0Q/XlNruk5qB1M40zapVq5SWlqbo6GhlZGRo7969rbZfsWKFrr/+esXExCglJUUzZ87UxYsX29VhAEDgulDfqPLT1ZKkQclxpGYgqR3ByJYtW5SXl6eCggIdOHBAgwcPVnZ2tj777DOn7Tdt2qS5c+eqoKBAhw4d0rp167RlyxY98sgjl915AEDg2jotk9QMJLUjGFm+fLmmTp2qyZMna9CgQVqzZo1iY2O1fv16p+337Nmj4cOHa8KECUpLS9Po0aM1fvz4NkdTAACBzRij83UNzW5fT+UlDoGVR4m6uro67d+/X/n5+bZj4eHhysrKUmlpqdNzbr31Vv3qV7/S3r17lZ6ermPHjqmoqEgTJ050+Tq1tbWqra213a+urvakmwAAP2OTO3jCo2CkqqpKjY2NSkxMdDiemJioDz/80Ok5EyZMUFVVlUaMGCFjjBoaGjRt2rRW0zSFhYV69NFHPekaAKATaWtlVabywp7XS5hLSkr0xBNPaPXq1crIyNDRo0c1Y8YMLV68WAsWLHB6Tn5+vvLy8mz3q6urlZKS4u2uAgDc4GpjO3ttrazKVF7Y8ygY6dmzpyIiIlRZWelwvLKyUklJSU7PWbBggSZOnKgHHnhAknTTTTeppqZGP/rRjzRv3jyFh7csW4mKilJUVJQnXQMA+EB70i9M30VbPCpgtVgsGjp0qIqLi23HmpqaVFxcrMzMTKfnnD9/vkXAERFxKUI29ivfAAA6PXc2trNHOgbu8DhUzcvLU25uroYNG6b09HStWLFCNTU1mjx5siRp0qRJ6tOnjwoLCyVJOTk5Wr58ub75zW/a0jQLFixQTk6OLSgBAHRunmxsZ490DNzhcTAybtw4nTlzRgsXLlRFRYWGDBminTt32opaT5486TASMn/+fIWFhWn+/Pn65JNP1KtXL+Xk5Ojxxx/vuHcBAPAaNraDt4WZAMiVVFdXKz4+XmfPnlVcXJy/uwMAIeV8XYMGLdzlcGxYajcWLUOb3P3+JqQFALiNje3gDQQjAAC3kZqBN7RrozwAAICOQjACAAD8imAEAAD4FcEIAADwK4IRAADgVwQjAADArwhGAACAXxGMAAAAv2LlGgCAA+umeFb2m+MB3kAwAgCwcbUpHuBNpGkAADYX6htdBiLDUrspJjLCxz1CKGBkBABgY7+Pu3VTPCs2x4O3EIwAACRdStH8cE2p7T6b4sFXSNMAACRdStGUn66WJA1KjiMlA58hGAEAtLB1WiYpGfgMwQgAoAXiEPgSwQgAAPArKpMAIAQ1X9hMYnEz+A/BCACEGBY2Q2dDmgYAQkxrC5tJLG4G32NkBABCWPOFzSQWN4PvEYwAQAiwrxGxrw1hYTN0BnwCASDIUSOCzo6aEQAIcq5qRKgNQWfByAgABCFXaRn7GhFqQ9BZEIwAQJBpLS1DjQg6I9I0ABBkSMsg0BAeA0An5WyVVHeQlkGgIRgBgE6oo2bAkJZBICBNAwCdUFurpLqDtAwCBeEyAPiRq1SMq1SLJ0jLIFAQjACAn7ibiiHVgmBHmgYA/MSdVAypFoQCQm0A8KLWZsS4k4oh1YJQQDACAF7iyYwYUjEIZaRpAMBL3J0RQyoGoY4wHAB8oLUZMaRiEOoIRgDAS4z5+r9JwwCukaYBAC8wxuiHa0r93Q0gIBCMAIAXXKhvVPnpaknSoOQ4akKAVhCMAEAHM8Y4TNvdOi2TmhCgFSQwAaADOZvOSxwCtI6REQDoQM2n8zJtF2gbIyMA4KbWVlO1ar6qao8rLaRogDYQjACAGzxZTdUq1sL6IYA7SNMAgBvcXU3VivQM4D5GRgDABfu0jDub2tljVVXAfQQjAOBEa2kZVlMFOhZpGgBwwlVahvQL0PEI7QHACft9ZezTMqRfgI5HMAIAzTTfV4a0DOBdpGkAoBn2lQF8i2AEAFrBvjKA9xGMAEAz9vUixCGA97UrGFm1apXS0tIUHR2tjIwM7d27t9X2X375paZPn67k5GRFRUXpuuuuU1FRUbs6DADe1LxeBID3eVyRtWXLFuXl5WnNmjXKyMjQihUrlJ2drcOHDyshIaFF+7q6Ov3Lv/yLEhIS9Nprr6lPnz766KOPdNVVV3VE/wGgQ1EvAviex8HI8uXLNXXqVE2ePFmStGbNGu3YsUPr16/X3LlzW7Rfv369/vnPf2rPnj2KjIyUJKWlpV1erwHgMrna9M5+pVXqRQDf8CgYqaur0/79+5Wfn287Fh4erqysLJWWOh/WfPPNN5WZmanp06frjTfeUK9evTRhwgTNmTNHERHOf3HU1taqtrbWdr+6utqTbgJAq9zd9I44BPANj2pGqqqq1NjYqMTERIfjiYmJqqiocHrOsWPH9Nprr6mxsVFFRUVasGCBnn76aT322GMuX6ewsFDx8fG2W0pKiifdBIBWubPpHSutAr7j9VV8mpqalJCQoBdffFEREREaOnSoPvnkEy1btkwFBQVOz8nPz1deXp7tfnV1NQEJEKJcpVMuhzub3rHSKuA7HgUjPXv2VEREhCorKx2OV1ZWKikpyek5ycnJioyMdEjJDBw4UBUVFaqrq5PFYmlxTlRUlKKiojzpGoAg5G465XKwuirgfx6laSwWi4YOHari4mLbsaamJhUXFyszM9PpOcOHD9fRo0fV1NRkO3bkyBElJyc7DUQAwMqddMrlIBUDdA4e/xzIy8tTbm6uhg0bpvT0dK1YsUI1NTW22TWTJk1Snz59VFhYKEn6r//6L61cuVIzZszQT3/6U/3973/XE088of/+7//u2HcCIOi42qyuo5CKAToHj4ORcePG6cyZM1q4cKEqKio0ZMgQ7dy501bUevLkSYWHfz3gkpKSol27dmnmzJm6+eab1adPH82YMUNz5szpuHcBIOiwWR0QOsKMsf/t0TlVV1crPj5eZ8+eVVxcnL+7A8AHztc1aNDCXZIuLT62479HMIoBBBh3v7/ZmwZAp8fiY0BwIxgB0OkRhwDBjWAEAAD4FcEIAADwK0rTAXhde1ZRtV8lFUBwIxgB4FW+WEUVQGAjTQPAqy53FVVWSQWCHyMjALzCmppxZ1O61rBKKhD8CEYAdDhXqRlWUQXgDGkaAB3OWWqGdAsAV/iJAqDDOdvgjnQLAFcIRgB0KDa4A+Ap0jQAOtSF+kaVn66WdGmDO1IzANpCMAKgwxhjHGbPsMEdAHcwdgqgQzibQUMcAsAdjIwA6BDNZ9AwewaAuxgZAdBu9nvONF/crMeVFlI0ANxCMAKgXVrbcybWwjReAO4jTQOgXVztOUN6BoCnGBkBcNns95xhcTMAniIYAdAu9qussrAZgMtBmgaAx5qvsgoAl4NgBIDHWGUVQEciGAHgEVZZBdDRSPICcBurrALwBkZGALiNVVYBeAMjIwCcsl9d1YpVVgF4A8EIgBZaW13VilVWAXQU0jQAWnC1uqoV6RkAHYmREQAOms+WsV9d1YpVVgF0JIIRADbO0jOsrgrA20jTALBhtgwAf+DnDhBinM2SsWK2DAB/IBgBQog7s2SsmC0DwFdI0wAhpK1ZMlakZwD4EiMjQIhyNkvGitkyAHyJYAQIUcySAdBZkKYBAAB+RTACAAD8ijFaIARYp/PaT90FgM6CYAQIcp5M5wUAfyBNAwQ5Z9N5mboLoDNhZAQIIdbpvEzdBdCZEIwAIYTpvAA6I9I0AADArwhGgCBnjL97AACtIxgBgpgxRj9cU+rvbgBAqwhGgCB2ob5R5aerJUmDkuOYQQOgU6KSDQgg1sXL3GW/yNnWaZnMoAHQKRGMAAHichcvIw4B0FmRpgEChLPFy9zFImcAOjNGRoAAZF28zF0scgagMyMYATqp5vUh9vUfLF4GIJjw1wzohNjcDkAooWYE6IRaqw+h/gNAsGFkBOjkmteHUP8BINi0a2Rk1apVSktLU3R0tDIyMrR37163ztu8ebPCwsI0duzY9rwsEJKs9SHWG4EIgGDjcTCyZcsW5eXlqaCgQAcOHNDgwYOVnZ2tzz77rNXzTpw4oYcfflgjR45sd2cBAEDw8TgYWb58uaZOnarJkydr0KBBWrNmjWJjY7V+/XqX5zQ2Nuqee+7Ro48+qv79+19Wh4FgYYzR+boGFzf3V1kFgEDnUc1IXV2d9u/fr/z8fNux8PBwZWVlqbTU9WZcixYtUkJCgqZMmaI//elPbb5ObW2tamtrbferq6s96SbQ6TFbBgC+5tHISFVVlRobG5WYmOhwPDExURUVFU7P2b17t9atW6e1a9e6/TqFhYWKj4+33VJSUjzpJtDpubuaKjNnAIQCr86mOXfunCZOnKi1a9eqZ8+ebp+Xn5+vvLw82/3q6moCEgSt1lZTZeYMgFDgUTDSs2dPRUREqLKy0uF4ZWWlkpKSWrT/xz/+oRMnTignJ8d2rKmp6dILX3GFDh8+rAEDBrQ4LyoqSlFRUZ50DQhYrKYKINR5lKaxWCwaOnSoiouLbceamppUXFyszMzMFu1vuOEGvffeeyorK7Pd7rzzTt12220qKytjtAMAAHiepsnLy1Nubq6GDRum9PR0rVixQjU1NZo8ebIkadKkSerTp48KCwsVHR2tb3zjGw7nX3XVVZLU4jgQKi7NomG2DABYeRyMjBs3TmfOnNHChQtVUVGhIUOGaOfOnbai1pMnTyo8nFXmAWeYRQMALYUZY4y/O9GW6upqxcfH6+zZs4qLi/N3d4B2O1/XoEELd9nuD0vtpq3TMilSBRCU3P3+pmoO8JN987PU40oLgQiAkEcwAnQgY4wu1LuuB7GvFYm1MG0XACSCEaDDUA8CAO1DpSnQQdxdVVViZVUAsMfICNBB7EvBW1tVVWJlVQCwRzACdABjjH645uvNIllVFQDcR5oG6AAX6htVfvrS7tKDkuNIwQCABwhGgMvUfEVV1g0BAM8wjgxcBmczaIhDAMAzjIwAl6H5DBpmyQCA5xgZAS5D8xk0rKgKAJ5jZARoJ2czaAhEAMBzBCNAOzGDBgA6BmkawE3N951hBg0AdAyCEcANbe07QxwCAO1HmgZwQ2v7zjCDBgAuDyMjgIea7zvDPjMAcHkIRhDSmteBuGJfH8K+MwDQsfiLipDVVh0IAMA3qBlByGqtDsQV6kMAoOMxMoKQ1Xz1VPs6EFeoDwGAjkcwgpDkbPVU6kAAwD9I0yAksXoqAHQe/BRESLHOnmH1VADoPAhGEDJczZ4hDgEA/yJNg5DhbPYMs2MAwP8YGUHQc5aasc6eYXYMAPgfwQiCmqvUDLNnAKDzIE2DoEZqBgA6P34aIiiRmgGAwEEwgqBDagYAAgtpGgQdUjMAEFj4mYigRmoGADo/ghEEHGs9iCv2dSKkZgCg8+OvNAKKq3oQAEDgomYEAcVZPYgr1IkAQGBgZAQBwxjjdKquK9SJAEBgIBhBQHCWnqEeBACCA2kaBITm6RlSMAAQPPhZiU6p+YyZ5umZHldaSMEAQJAgGEGn09aMmVgLtSAAEExI06DTaW3GDOkZAAg+jIyg02htczsrZsgAQPAhGEGnwOZ2ABC6SNOgU2BzOwAIXfzkRKfD5nYAEFoIRtDpkJoBgNBCmgYAAPgVwQgAAPArghEAAOBXBCMAAMCvCEYAAIBfMWUBfuVs1VUAQGghGIHftLUhHgAgNJCmgd+w6ioAQGJkBD5mTctIcrohHquuAkDoadfIyKpVq5SWlqbo6GhlZGRo7969LtuuXbtWI0eOVLdu3dStWzdlZWW12h7By5qWGbRwlwYt3KVhj71te8y66iqBCACEHo+DkS1btigvL08FBQU6cOCABg8erOzsbH322WdO25eUlGj8+PF65513VFpaqpSUFI0ePVqffPLJZXcegcVZWkYiNQMAoS7MGGM8OSEjI0O33HKLVq5cKUlqampSSkqKfvrTn2ru3Lltnt/Y2Khu3bpp5cqVmjRpkluvWV1drfj4eJ09e1ZxcXGedBd+Yp+OsTpf12gbDbGmZSSRmgGAIOXu97dHNSN1dXXav3+/8vPzbcfCw8OVlZWl0tJSt57j/Pnzqq+vV/fu3V22qa2tVW1tre1+dXW1J92En7kzS4bN8AAAVh6laaqqqtTY2KjExESH44mJiaqoqHDrOebMmaPevXsrKyvLZZvCwkLFx8fbbikpKZ50E37mKh1jRVoGAGDPpz9NlyxZos2bN6ukpETR0dEu2+Xn5ysvL892v7q6moDET5ylW9ribJaMPdIyAAB7HgUjPXv2VEREhCorKx2OV1ZWKikpqdVzn3rqKS1ZskRvv/22br755lbbRkVFKSoqypOuwQs6YlEy0jEAgLZ4lKaxWCwaOnSoiouLbceamppUXFyszMxMl+ctXbpUixcv1s6dOzVs2LD29xY+1Va6pS2kYwAA7vD4J2teXp5yc3M1bNgwpaena8WKFaqpqdHkyZMlSZMmTVKfPn1UWFgoSXryySe1cOFCbdq0SWlpabbaki5duqhLly4d+FbgTc7SLW0hHQMAcIfHwci4ceN05swZLVy4UBUVFRoyZIh27txpK2o9efKkwsO/HnB54YUXVFdXpx/84AcOz1NQUKCf/exnl9d7XJa26kHsaz9ItwAAvMXjdUb8gXVGOp6n9SDli7IJRgAAHnH3+5uN8kKUJ/Ug1H4AALyJn7posx6E2g8AgDcRjIB6EACAX5GmAQAAfkUwAgAA/IpgBAAA+BXBCAAA8CuCEQAA4FcEIwAAwK8IRgAAgF+xuESIse5HY7/vDAAA/kQwEkI83Y8GAABfIE0TQpztR8O+MwAAf2NkJERZ96Nh3xkAgL8RjAQpa22IPfs6EfajAQB0FnwbBSFqQwAAgYSakSDkrDbEHnUiAIDOhJGRINA8JWOfjrHWhtijTgQA0JkQjAS4tlIy1IYAADo70jQBrrWUDOkYAEAg4CdzgHK2kmrzlAzpGABAICAYCUCuUjOkZAAAgYg0TQBiJVUAQDDhZ3QAMubr/2YlVQBAoCMYCTDGGP1wTantPqkZAECgI00TYC7UN6r8dLUkaVByHKkZAEDA4yd1gHA2e2brtExSMwCAgEcwEgBczZ4hDgEABAPSNAGA2TMAgGDGyEiAYfYMACDYEIz4SfPN7VpjXyfC7BkAQLDhW80P2trcDgCAUELNiB+0trlda6gTAQAEI0ZG/MDZCqruoE4EABCMCEZ8jBVUAQBwRJrGx1hBFQAARwQjPmafomEFVQAACEZ8qnmKhjgEAACCEZ8iRQMAQEtUTnqZ/eJmbHIHAEBLBCNe1NriZsQhAABcQprGi1wtbsbiZQAAfI2RES8xxjikZewXN2PxMgAAvkYw4gXO0jMsbgYAgHN8O3pB8/QMaRl0tKamJtXV1fm7GwBCXGRkpCIiLv/7jWDEy/bNz1KPKy2kZdBh6urqdPz4cTU1Nfm7KwCgq666SklJSZf1PUcw4gH7abqtsa8VibVQH4KOY4zR6dOnFRERoZSUFIWHU4MOwD+MMTp//rw+++wzSVJycnK7n4tgxE2tTdMFfKWhoUHnz59X7969FRsb6+/uAAhxMTExkqTPPvtMCQkJ7U7Z8LPKTa6m6baGWhF0tMbGS6NuFovFzz0BgEusP4zq6+vb/RyMjLjJfoM7+2m6rWEKL7yFzxWAzqIj/h4RjLih+QZ3TNMFAKDjkKZxAxvcAR3vO9/5jh566CF/dwNAJ0Aw4iE2uAP8o6SkRGFhYfryyy8v+7neffdd5eTkqHfv3goLC9P27dsv+zk7i5KSEn3rW99SVFSUrrnmGm3cuLHV9idOnFBYWFiL21/+8hdbm7Vr12rkyJHq1q2bunXrpqysLO3du9fheZw9R1hYmJYtW9biNWtrazVkyBCFhYWprKzM4bFXX31VQ4YMUWxsrFJTU52e/8orr2jw4MGKjY1VcnKy7r//fn3++edO39/mzZsVFhamsWPHOhyvrKzUfffdZysG//73v6+///3vDm1+/OMfa8CAAYqJiVGvXr1011136cMPP3Roc/LkSY0ZM0axsbFKSEjQrFmz1NDQ0OL9zps3T6mpqYqKilJaWprWr1/v0GbFihW6/vrrFRMTo5SUFM2cOVMXL160Pe7OZ/b111/X6NGj1aNHD6fX1t33ZPX555+rb9++Hfb/XWsIRjxEHAIEvpqaGg0ePFirVq3yd1c61PHjxzVmzBjddtttKisr00MPPaQHHnhAu3btavPct99+W6dPn7bdhg4danuspKRE48eP1zvvvKPS0lKlpKRo9OjR+uSTT2xt7M89ffq01q9fr7CwMP3Hf/xHi9eaPXu2evfu3eL47373O91zzz2aNm2a3n//fa1evVrPPPOMVq5caWvz5z//WZMmTdKUKVP0wQcfaOvWrdq7d6+mTp3a4vlOnDihhx9+WCNHjnQ4bozR2LFjdezYMb3xxhs6ePCgUlNTlZWVpZqaGlu7oUOHasOGDTp06JB27dolY4xGjx5tKyRvbGzUmDFjVFdXpz179ujll1/Wxo0btXDhQofXu/vuu1VcXKx169bp8OHD+vWvf63rr7/e9vimTZs0d+5cFRQU6NChQ1q3bp22bNmiRx55xNbGnc9sTU2NRowYoSeffNJlm7bek70pU6bo5ptvdvlcHcoEgLNnzxpJ5uzZs355/ZraepM657cmdc5vTU1tvV/6ABhjzIULF0x5ebm5cOGCv7vika+++spMnDjRXHnllSYpKck89dRTZtSoUWbGjBm2Nr/4xS/M0KFDTZcuXUxiYqIZP368qaysNMYYc/z4cSPJ4Zabm2uMMeZ3v/udGT58uImPjzfdu3c3Y8aMMUePHnW7b5LMtm3b2vW+Zs+eba699loTExNjrr76ajN//nxTV1dnezw3N9fcddddDufMmDHDjBo1yna/sbHRPPnkk2bAgAHGYrGYlJQU89hjj7W7PzfeeKPDsXHjxpns7GyX51iv7cGDB91+nYaGBtO1a1fz8ssvu2xz1113me9+97stjhcVFZkbbrjBfPDBBy1ed/z48eYHP/iBQ/vnnnvO9O3b1zQ1NRljjFm2bJnp379/izZ9+vRp0cdbb73VvPTSSy3+HQ4fPmwkmffff992rLGx0fTq1cusXbvW5Xv629/+ZiTZPl9FRUUmPDzcVFRU2Nq88MILJi4uztTW1hpjLn0+4+Pjzeeff+7yeadPn97iWuXl5Znhw4c7bd/WZ9aTf9Pm78lq9erVZtSoUaa4uNhIMl988YXL52jt75K739+MjDhhjNH5uga7W9sLnQH+0PKz6rubsZ9i1oZZs2bpj3/8o9544w39/ve/V0lJiQ4cOODQpr6+XosXL9bf/vY3bd++XSdOnNB9990nSUpJSdFvfvMbSdLhw4d1+vRpPfvss5Iu/RrMy8vTvn37VFxcrPDwcP3bv/2bT1ao7dq1qzZu3Kjy8nI9++yzWrt2rZ555hmPniM/P19LlizRggULVF5erk2bNikxMdH2+I033qguXbq4vN1+++22tqWlpcrKynJ4/uzsbJWWlqotd955pxISEjRixAi9+eabrbY9f/686uvr1b17d6ePV1ZWaseOHZoyZUqL41OnTtUvf/lLp+vk1NbWKjo62uFYTEyMTp06pY8++kiSlJmZqY8//lhFRUUyxqiyslKvvfaa7rjjDofzFi1apISEhBZ9sL6OJIfXCg8PV1RUlHbv3u30PdXU1GjDhg26+uqrlZKSIunS9b7pppsc/r2ys7NVXV2tDz74QJL05ptvatiwYVq6dKn69Omj6667Tg8//LAuXLhgO+fWW2/V/v37bamvY8eOqaioqMV76mjO3pMklZeXa9GiRfrFL37hs4UV2zUlZNWqVVq2bJkqKio0ePBgPf/880pPT3fZfuvWrVqwYIFOnDiha6+9Vk8++aTXL3J7GRY3QwC5UN+oQQvbHoL3hvJF2W7NKvvqq6+0bt06/epXv9L3vvc9SdLLL7+svn37OrS7//77bf/dv39/Pffcc7rlllv01VdfqUuXLrYvvoSEBF111VW2ts3TAOvXr1evXr1UXl6ub3zjG+19e26ZP3++7b/T0tL08MMPa/PmzZo9e7Zb5587d07PPvusVq5cqdzcXEnSgAEDNGLECFuboqKiVtdvsC46JUkVFRUOX4ySlJiYqOrqal24cMGhrVWXLl309NNPa/jw4QoPD9dvfvMbjR07Vtu3b9edd97p9DXnzJmj3r17twh8rF5++WV17dpV//7v/247ZozRfffdp2nTpmnYsGE6ceJEi/Oys7M1c+ZM3Xfffbrtttt09OhRPf3005IupYHS0tI0fPhwvfLKKxo3bpwuXryohoYG5eTkOKQvdu/erXXr1jmtmZCkG264Qf369VN+fr5+/vOf68orr9QzzzyjU6dO6fTp0w5tV69erdmzZ6umpkbXX3+93nrrLds6P66ut/Ux6VJgsXv3bkVHR2vbtm2qqqrSgw8+qM8//1wbNmyQJE2YMEFVVVUaMWKEjDFqaGjQtGnTHNI0Ham191RbW6vx48dr2bJl6tevn44dO+aVPjTnccizZcsW5eXlqaCgQAcOHNDgwYOVnZ1tWw62uT179mj8+PGaMmWKDh48qLFjx2rs2LF6//33L7vz3tDa4mYsYgZ47h//+Ifq6uqUkZFhO9a9e3eHnLkk7d+/Xzk5OerXr5+6du2qUaNGSbpUINiav//97xo/frz69++vuLg4paWluXVeR9iyZYuGDx+upKQkdenSRfPnz/fodQ8dOqTa2lpbkOZMamqqrrnmGpe3Pn36XNZ76Nmzp/Ly8pSRkaFbbrlFS5Ys0b333uu0cFSSlixZos2bN2vbtm0tRjGs1q9fr3vuucfh8eeff17nzp1Tfn6+y75MnTpVP/nJT/Sv//qvslgs+va3v63//M//lCTbL/Ty8nLNmDFDCxcu1P79+7Vz506dOHFC06ZNk3QpwJs4caLWrl2rnj17On2dyMhIvf766zpy5Ii6d++u2NhYvfPOO7r99ttbjATcc889OnjwoP74xz/quuuu09133+1QWNqWpqYmhYWF6ZVXXlF6erruuOMOLV++XC+//LJtdKSkpERPPPGEVq9erQMHDuj111/Xjh07tHjxYrdfxxOtvaf8/HwNHDhQ9957r1de26U2E0rNpKenm+nTp9vuNzY2mt69e5vCwkKn7e+++24zZswYh2MZGRnmxz/+sduv6Y2akaamJlNTW9/idubcRVt9yJlzFx0es+YsAX9pnpt19Tn2xc3d/x/KysqMJPPRRx85HB8yZIitZuSrr74yPXr0MBMmTDDvvvuuOXTokNm1a5dD3vudd95xmru+/vrrzejRo83bb79tysvLzfvvv+9RHYgnbe3t2bPHREREmMcee8z89a9/NUeOHDGLFi0y8fHxtjaTJ082d955p8N5Dz74oK1m5P/+7/+MJHPs2DGXrzNo0CBz5ZVXurx9//vft7UdOXKkQx2OMcasX7/exMXFefTeVq5caZKSklocX7ZsmYmPjzd//etfXZ777rvvGkmmrKzM4fhdd91lwsPDTUREhO0myURERJhJkyY5tG1oaDCnTp0ytbW1pqioyEgyn332mTHGmHvvvbdFXcmf/vQnI8l8+umn5uDBg7bntd7CwsJMWFiYiYiIaFEb8eWXX9qeOz093Tz44IMu31ttba2JjY01mzZtMsYYs2DBAjN48GCHNseOHTOSzIEDB4wxxkyaNMkMGDDAoU15ebmRZI4cOWKMMWbEiBHm4Ycfdmjzy1/+0sTExJjGxsYW/WjrM+tJzUjz9zR48GCHf6fw8HDb9Vy4cKHT5+iImhGP0jR1dXXav3+/Q2QbHh6urKwslznJ0tJS5eXlORzLzs5udSpdbW2tLacnSdXV1Z500y3uDG+zuBk6u7CwsE7/GR0wYIAiIyP1v//7v+rXr58k6YsvvtCRI0dsox8ffvihPv/8cy1ZssSWu963b5/D81iHke2r/j///HMdPnzYNvVUksucf0fbs2ePUlNTNW/ePNsxa12DVa9evVqM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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_pred_proba = logis.predict_proba(X)[::,1]\n", + "fpr, tpr, _ = metrics.roc_curve(Y, y_pred_proba)\n", + "auc = metrics.roc_auc_score(Y, y_pred_proba)\n", + "plt.plot(fpr,tpr,label=\"data 1, auc=\"+str(auc))\n", + "plt.legend(loc=4)\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "venv" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} |
