{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Multi-class Classification\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": "In this lab, we will learn the different strategies of Multi-class classification and implement the same on a real-world dataset.\n" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **Objectives**\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": "After completing this lab we will be able to:\n" }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. Understand the use of one-hot encoding for categorical variables.\n", "2. Implement logistic regression for multi-class classification using **One-vs-All (OvA)** and **One-vs-One (OvO)** strategies.\n", "3. Evaluate model performance using appropriate metrics.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import Necessary Libraries\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, to ensure the availability of the required libraries, execute the cell below.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:37:40.612955Z", "start_time": "2025-11-13T14:37:36.732569Z" } }, "source": [ "!pip install numpy==2.2.0\n!pip install pandas==2.2.3\n!pip install scikit-learn==1.6.0\n!pip install matplotlib==3.9.3\n!pip install seaborn==0.13.2" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: numpy==2.2.0 in ./.venv/lib/python3.12/site-packages (2.2.0)\r\n", "\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m25.3\u001B[0m\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n", "Requirement already satisfied: pandas==2.2.3 in ./.venv/lib/python3.12/site-packages (2.2.3)\r\n", "Requirement already satisfied: numpy>=1.26.0 in ./.venv/lib/python3.12/site-packages (from pandas==2.2.3) (2.2.0)\r\n", "Requirement already satisfied: python-dateutil>=2.8.2 in ./.venv/lib/python3.12/site-packages (from pandas==2.2.3) (2.9.0.post0)\r\n", "Requirement already satisfied: pytz>=2020.1 in ./.venv/lib/python3.12/site-packages (from pandas==2.2.3) (2025.2)\r\n", "Requirement already satisfied: tzdata>=2022.7 in ./.venv/lib/python3.12/site-packages (from pandas==2.2.3) (2025.2)\r\n", "Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.12/site-packages (from python-dateutil>=2.8.2->pandas==2.2.3) (1.17.0)\r\n", "\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m25.3\u001B[0m\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n", "Requirement already satisfied: scikit-learn==1.6.0 in ./.venv/lib/python3.12/site-packages (1.6.0)\r\n", "Requirement already satisfied: numpy>=1.19.5 in ./.venv/lib/python3.12/site-packages (from scikit-learn==1.6.0) (2.2.0)\r\n", "Requirement already satisfied: scipy>=1.6.0 in ./.venv/lib/python3.12/site-packages (from scikit-learn==1.6.0) (1.16.3)\r\n", "Requirement already satisfied: joblib>=1.2.0 in ./.venv/lib/python3.12/site-packages (from scikit-learn==1.6.0) (1.5.2)\r\n", "Requirement already satisfied: threadpoolctl>=3.1.0 in ./.venv/lib/python3.12/site-packages (from scikit-learn==1.6.0) (3.6.0)\r\n", "\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m25.3\u001B[0m\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n", "Requirement already satisfied: matplotlib==3.9.3 in ./.venv/lib/python3.12/site-packages (3.9.3)\r\n", "Requirement already satisfied: contourpy>=1.0.1 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (1.3.3)\r\n", "Requirement already satisfied: cycler>=0.10 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (0.12.1)\r\n", "Requirement already satisfied: fonttools>=4.22.0 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (4.60.1)\r\n", "Requirement already satisfied: kiwisolver>=1.3.1 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (1.4.9)\r\n", "Requirement already satisfied: numpy>=1.23 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (2.2.0)\r\n", "Requirement already satisfied: packaging>=20.0 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (25.0)\r\n", "Requirement already satisfied: pillow>=8 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (12.0.0)\r\n", "Requirement already satisfied: pyparsing>=2.3.1 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (3.2.5)\r\n", "Requirement already satisfied: python-dateutil>=2.7 in ./.venv/lib/python3.12/site-packages (from matplotlib==3.9.3) (2.9.0.post0)\r\n", "Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib==3.9.3) (1.17.0)\r\n", "\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m25.3\u001B[0m\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n", "Requirement already satisfied: seaborn==0.13.2 in ./.venv/lib/python3.12/site-packages (0.13.2)\r\n", "Requirement already satisfied: numpy!=1.24.0,>=1.20 in ./.venv/lib/python3.12/site-packages (from seaborn==0.13.2) (2.2.0)\r\n", "Requirement already satisfied: pandas>=1.2 in ./.venv/lib/python3.12/site-packages (from seaborn==0.13.2) (2.2.3)\r\n", "Requirement already satisfied: matplotlib!=3.6.1,>=3.4 in ./.venv/lib/python3.12/site-packages (from seaborn==0.13.2) (3.9.3)\r\n", "Requirement already satisfied: contourpy>=1.0.1 in ./.venv/lib/python3.12/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (1.3.3)\r\n", "Requirement already satisfied: cycler>=0.10 in ./.venv/lib/python3.12/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (0.12.1)\r\n", "Requirement already satisfied: fonttools>=4.22.0 in ./.venv/lib/python3.12/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (4.60.1)\r\n", "Requirement already satisfied: kiwisolver>=1.3.1 in ./.venv/lib/python3.12/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (1.4.9)\r\n", "Requirement already satisfied: packaging>=20.0 in ./.venv/lib/python3.12/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (25.0)\r\n", "Requirement already satisfied: pillow>=8 in ./.venv/lib/python3.12/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (12.0.0)\r\n", "Requirement already satisfied: pyparsing>=2.3.1 in ./.venv/lib/python3.12/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (3.2.5)\r\n", "Requirement already satisfied: python-dateutil>=2.7 in ./.venv/lib/python3.12/site-packages (from matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (2.9.0.post0)\r\n", "Requirement already satisfied: pytz>=2020.1 in ./.venv/lib/python3.12/site-packages (from pandas>=1.2->seaborn==0.13.2) (2025.2)\r\n", "Requirement already satisfied: tzdata>=2022.7 in ./.venv/lib/python3.12/site-packages (from pandas>=1.2->seaborn==0.13.2) (2025.2)\r\n", "Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib!=3.6.1,>=3.4->seaborn==0.13.2) (1.17.0)\r\n", "\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m25.3\u001B[0m\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n" ] } ], "execution_count": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, import the necessary libraries for data processing, model training, and evaluation.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:37:44.299435Z", "start_time": "2025-11-13T14:37:44.296968Z" } }, "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.preprocessing import OneHotEncoder, StandardScaler\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.multiclass import OneVsOneClassifier, OneVsRestClassifier\n", "from sklearn.metrics import accuracy_score\n", "\n", "import warnings\n", "warnings.filterwarnings('ignore')" ], "outputs": [], "execution_count": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## About the dataset\n", "The data set being used for this lab is the \"Obesity Risk Prediction\" data set publically available on UCI Library under the CCA 4.0 license. The data set has 17 attributes in total along with 2,111 samples. \n", "\n", "The attributes of the dataset are descibed below." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Variable NameTypeDescription
GenderCategorical
AgeContinuous
HeightContinuous
WeightContinuous
family_history_with_overweightBinaryHas a family member suffered or suffers from overweight?
FAVCBinaryDo you eat high caloric food frequently?
FCVCIntegerDo you usually eat vegetables in your meals?
NCPContinuousHow many main meals do you have daily?
CAECCategoricalDo you eat any food between meals?
SMOKEBinaryDo you smoke?
CH2OContinuousHow much water do you drink daily?
SCCBinaryDo you monitor the calories you eat daily?
FAFContinuousHow often do you have physical activity?
TUEIntegerHow much time do you use technological devices such as cell phone, videogames, television, computer and others?
CALCCategoricalHow often do you drink alcohol?
MTRANSCategoricalWhich transportation do you usually use?
NObeyesdadCategoricalObesity level
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load the dataset\n", "\n", "Load the data set by executing the code cell below.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:37:49.394162Z", "start_time": "2025-11-13T14:37:49.381623Z" } }, "source": [ "file_path = \"data/Obesity_level_prediction_dataset.csv\"\n", "data = pd.read_csv(file_path)\n", "data.head()" ], "outputs": [ { "data": { "text/plain": [ " Gender Age Height Weight family_history_with_overweight FAVC FCVC \\\n", "0 Female 21.0 1.62 64.0 yes no 2.0 \n", "1 Female 21.0 1.52 56.0 yes no 3.0 \n", "2 Male 23.0 1.80 77.0 yes no 2.0 \n", "3 Male 27.0 1.80 87.0 no no 3.0 \n", "4 Male 22.0 1.78 89.8 no no 2.0 \n", "\n", " NCP CAEC SMOKE CH2O SCC FAF TUE CALC \\\n", "0 3.0 Sometimes no 2.0 no 0.0 1.0 no \n", "1 3.0 Sometimes yes 3.0 yes 3.0 0.0 Sometimes \n", "2 3.0 Sometimes no 2.0 no 2.0 1.0 Frequently \n", "3 3.0 Sometimes no 2.0 no 2.0 0.0 Frequently \n", "4 1.0 Sometimes no 2.0 no 0.0 0.0 Sometimes \n", "\n", " MTRANS NObeyesdad \n", "0 Public_Transportation Normal_Weight \n", "1 Public_Transportation Normal_Weight \n", "2 Public_Transportation Normal_Weight \n", "3 Walking Overweight_Level_I \n", "4 Public_Transportation Overweight_Level_II " ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
GenderAgeHeightWeightfamily_history_with_overweightFAVCFCVCNCPCAECSMOKECH2OSCCFAFTUECALCMTRANSNObeyesdad
0Female21.01.6264.0yesno2.03.0Sometimesno2.0no0.01.0noPublic_TransportationNormal_Weight
1Female21.01.5256.0yesno3.03.0Sometimesyes3.0yes3.00.0SometimesPublic_TransportationNormal_Weight
2Male23.01.8077.0yesno2.03.0Sometimesno2.0no2.01.0FrequentlyPublic_TransportationNormal_Weight
3Male27.01.8087.0nono3.03.0Sometimesno2.0no2.00.0FrequentlyWalkingOverweight_Level_I
4Male22.01.7889.8nono2.01.0Sometimesno2.0no0.00.0SometimesPublic_TransportationOverweight_Level_II
\n", "
" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exploratory Data Analysis\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visualize the distribution of the target variable to understand the class balance.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:37:53.233966Z", "start_time": "2025-11-13T14:37:53.155556Z" } }, "source": [ "# Distribution of target variable\nsns.countplot(y='NObeyesdad', data=data)\nplt.title('Distribution of Obesity Levels')\nplt.show()" ], "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "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kZTkczdEHsInwlbx4gWzexfCBm1BW3Bu8O8k2t4zEhOTbN++wwTQCET4RNgaMmuxrd6+J7t3AwAQYpVKF7Wh3ZpZbGwM4TMCET4RtjbF/2WrtxE+AQCIJDl/UAgAAAByDMInAAAAQobwCQAAgJAhfAIAACBkCJ8AAAAIGcInAAAAQobwCQAAgJAhfAIAACBkCJ8AAAAIGcInAAAAQobwCQAAgJAhfAIAACBkCJ8AAAAImagNn9WrV7f777//pPvffvtta9GihYWD0aNH2y233JLu85YvX+6OZ/v27cnuv/rqq6127dp27Ngx/30nTpywOnXq2IIFC9Ldrrb53Xffpfu8rVu3uufqa1rmzZtnu3fvTndbAAAgskVt+JQPPvjAvvnmG8vpzj//fCtQoIALoZ4dO3bYtm3brGDBgrZ06VL//b/++qsdP37cLrzwwnS3u2jRIqtfv36W90/70a9fPzty5EiWtwUAAHK2qA6f5cuXt8GDB7swlpPlzp3b6tWrlyx8qmJZq1Ytu/jii5NVL5ctW2Z/+9vfrFixYulut1SpUpY3b94s75/P58vyNgAAQGSI6vCpapwqhJMnT07zOX/++afdc889LsQ1atTIhg4d6g+r6qK/4YYbrG/fvtawYUN77733XDe5ttezZ0/XvX399dfbpk2bbNCgQa6K2KpVK1uyZIl/+wsXLrROnTq57nFVI++77z47dOjQaR+LfnfFihX+nxU4tc+6ffvtt/77f/75Z3efFwpfeukla9q0qfv9u+66K1nXfWC3+9GjR23gwIHuOJs1a2ZvvfWWq7gGdrWrK79ly5ZWt25dt639+/e7+6+88kr/V7UZAACIXlEdPsuUKWN33323jR8/3rZs2XLS4wqZ3bt3d93Fr732mo0cOdI+//xze+655/zPUZd21apVbdasWS7EiQJd165dXdA6cOCAC6BxcXE2e/Zsq1atmguwsnnzZhdsu3Xr5sZEavuLFy922zpdCo+rVq2ypKSkk8KnQunhw4f9++uFz+nTp9v7779v//73v+3NN9+0kiVL2m233ebGhaakfdbvKli/8MILNmnSJEtMTEz2nLlz59qIESNs2rRpbl8mTpzo7ldQ9b62adPmtI8NAABEjqgOn6JKZYUKFeypp5466bGvvvrKVUaHDx/uqoBNmjSxxx57zN544w1/dTImJsb69Olj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1apVLpTVrl071ccbNmxoa9ascWHok08+8d+/bNky27dvn1155ZW2a9cuu/POO13Yev/9961Xr14ubCqAeRRS+/XrZxMmTHDBUoHP8/3337vg9eeff7qfv/76axc0ZeDAgXbgwAFXfR07dqytWLHCBg8efNJ+amyq9qFIkSIuJCvgjhkzJtlztm/fbhs2bHDhTtuYMmWKffnlly7kDRgwwM4++2wXfMuWLZulNj1Ve1SpUsUFzcC2VDDVPuh19UFA+63xt3PnznXtf+utt9r+/fuztE8AACC6hU349EKNQltqvPs7derkQuHBgwf9gUkhslChQm5s6CWXXGI333yzVahQwTp27Gh///vfberUqf7tKNwqwKoSqGC5evVqFyoV1BRiVa386aef3HO/+eYbV2ndvHmzLViwwIYPH+6qhfpdVT4VyvS7gb799lsXYIcNG2ZVq1Z11UbtT6A8efLY0KFDrVKlStamTRsXArUf6r4vXLiwq/yqGz9lBfh0pdceGsrw8ccf+5+vttT+iIY+KLiqElyxYkUX2MuXL2/vvfdelvYJAABEt7AZ81m0aFF/97sqf6nNgpcLLrjABbMvvvjCH57UHS7r16+3zz77zFXvPCdOnHAhz6MA5VEgU5e+KoFHjhxxv6eg9eOPP1rjxo3t999/d+FNP2uyk7r3A+m+TZs2JbtPXdN6PYVhj8asaiKRp2TJklagQAH/zwqcmuUebOm1h4LmCy+8YDt27HD3KwC3bt3a3y2vsD1ixAj/7x47dsx1zQMAAOT48KmKpCp9K1euTDV86n5VHVUdVGhSlU7hce/evXb55Zf7u7xVabzrrruS/W7u3P87zHz58iV77NJLL7UlS5a4YKXxnApm6lZXBVP7pIprYmKiC4iBY009ZcqUsZ9//tn/s44h5aShlD+nVtE8ExON0muPc845xx2jqro6fo0/9SZO6Zg1BEBjYwMFhmoAAIAc2+1eokQJa9mypQt+Cj6B1I09e/Zs69q1q/tZFU91vSuAqgs9f/787n4FR1UiFUq928KFC914x7SoW13hU13tCl/e2FJtW49521X3ekxMjH+7mmz03HPPnVSxrFatmqsOesMCvPGsGaXXCJaMtIeC/Oeff+4CqNo18Hc19jXwd7UElMbYAgAA5Pjw6U3q0dhPzXhXV7gm5mhCjCa6XHzxxdatWzf3vJo1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btzYXblJV3CqXr16hhbgz8jzMuL48eM2a9asDD33ySefdIv9B1q6dKnbl4cffjjZ/e+++65dfPHFlpSUdMptvv3229aiRYsMvb7+NvobpeXgwYP2zjvvZGhbAAAg8oV9+AyFl19+2c477zybN2+eXXPNNTZ8+HDr1q2bW9u0S5cutmjRonS3oaCakedlhBbzHz9+fIaee+GFF9qqVauSBUoF4dKlS7uvKUO2np/eVanatGljs2fPtmB49dVXbc6cOUHZFgAAyPkIn2Z24MABq1Onjp1zzjlWqFAh97MqhLqaU968ea1UqVLpNmRGn5cRPp8vw89VmFR1cf369f77FDq7d+/uLoO6ZcuWZOFTx5Wes846y0qUKGGhPhYAABD5ckz4VFewundHjRpljRo1cqHr6aef9oeb7du322233eYqkE2aNLEhQ4bYiRMnUu2611Wa1C2tr3psyZIl9tJLL7n7vK5zhTc9lrI7fdOmTXb77be717n88stt2rRp7v6Uz/vjjz/srrvusrp167ou7DFjxlhiYmK6x6LtPPLII7Zt2zb/Pp6KLnN67rnn2ooVK/xd9j/99JNdeeWVVqNGDfv222/d/UeOHLE1a9b4L32a3v4FdruvXLnSunbt6gL6DTfcYC+++GKyrna1s7r/GzRoYJdccolNmTLFvx1tV+0brCEJAAAgZ8sx4dMby7hhwwZ74403bNCgQS74LV682D2msFmgQAE3vlBB8qOPPsrQuEmFUgVJBVd1m3td57o/5VjTY8eOuecVLFjQbfuxxx6zF154wT777LNkz1OI/Oc//2klS5a0uXPnumD5/vvvJ+tKT+tYtC8DBgyws88+2+1L2bJl0z0Ghdfly5e77/W1SJEiVqlSJRdsvfCpcJo/f36rWbNmhvbPoypwr1697IILLnBt265dOzdMIeXfJU+ePO7x3r172zPPPGPr1q1z3ffeB4JgDUkAAAA5W44Kn6rMKWRWrlzZOnbs6Cp7XsVPlcLChQtbuXLlXAVOAal58+bpbrNYsWIuOCm4qtvc6zovWrSoeyyQAtSePXts2LBhVq1aNVcdfPTRR08aQ6nAp0qst68KgQ899JC/SnqqY1H3vY4jV65cbl/09XTCp17b61rXV1UdU473zMj+ef7zn/+4ttFx6rk333yzXX311SdVX1Wt1bjZHj16uPD722+/ue57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mj6fz6655posbVMh7sSJE+77V155xZYuXeru85QoUSKLew0AAHBmRWz4HDJkiJ177rk2adIky5Url7tPP9erV89VQN944w3Lnz//GXv9UqVK+b9X8AyGYsWK+b8vUKCA5cmTJ9nrAAAAhLuI7HaPj4+3Tz/91O644w5/8PSUK1fOOnfubLNmzfLfN2LECGvQoIE1a9bMXnvttWTPnzlzpuuar1+/vus6/u233/yPffPNN9axY0erXbu2XXnlle65KbuhVZmcO3euu2k748aNs/bt2yd7DVUxu3XrlqVjPnr0qDuGjz/+2H+fqqSNGjVy+6n9uPfee+2RRx6xunXr2tVXX20LFy70P/f48eM2dOhQ93zdHnjgAdu3b1+W9gkAACAqwueqVatctVGhMDUNGza01atXu8C1bds2FyjffPNNu+++++zZZ5/1j11UgB0zZowbN6rwqN+79dZbbf/+/ZaYmGj9+vWz1q1bu/Gc99xzjz355JP2+++/J3ut2267zXW36zZ79mxXdV2zZo1t2LDB/xz9vu7PirPOOstatmxpH330kf++xYsXW+7cue3iiy92P3/yySeuXTTW9brrrrO7777bv78K4CtXrrSJEyfatGnT7ODBg+6YAAAAgikiw6fCoRQpUiTVx7379bx8+fLZM888Y9WqVbNrr73WVSW9Cqa67O+880674oorrGLFii5sli9f3t577z07cOCAqwzGxcXZOeecYx06dLApU6ac1A1esGBBFwx105jM8847z01+mj9/vntc4feXX35xITarFGA/++wzO3bsmPtZr6HtetVfjUEdPHiwValSxXr37u2quXPmzLEjR47Y9OnTXXjWvqlq+9xzz9mSJUuSVXoBAACyKiLDpzfRR93vac2C956ncaDFixf3P3b++efbunXr3Pf6Onz4cBfSvJsqphs3bnTjL2+88UZ79NFHXThVqCtcuLD/tdMLiV74VNVTlcmSJUtm+bgvvfRSy5s3r3311Veuy33BggXWpk0b/+O1atVyjwf+rGPcsmWLe74maHnH2bx5c0tKSnLHCgAAECwROeFI3e2q9qkb+eyzzz7pcd2v6p6CWGxs8vytwKWJPKKu9QEDBliTJk2SPadQoULu6xNPPGE33XSTC3m6qet+7NixLridigKhuvc3bdrkusm7du0ahKM218WusZzapo5B+6lxoIGPB9Lx6fj1VV5//XU3kSlQMEIxAABARFc+1b2t8Y8Kgl6wClyCSWMvvcCnqp+6nT3Lly93yzNJpUqV7M8//7QKFSr4b+PHj7dly5bZrl27XDe17uvTp4/rvm7cuLEbJ5pSTExMsp9Lly7tqp36HVVSW7VqFbRj17CBL7/80u2HutwDX1td6ArXKUO4qr8K6xpG4B2nguvTTz/t1igFAAAIlogMnzJw4EA3plMz3n/44Qfbvn27m3CjCUMKft7sco2PfOihh2zt2rVurKeqht27d3eP9ezZ06ZOnWrvvPOObd682XXBq5tcYybVva7tDRs2zD32/fffuyCpbvuUtKSTxnbu2LHDf1+7du3s1VdfdV3lGemqzyhNitLraYJUyklMCto6hvXr17tZ95qYdf3117ug2aVLF1fJ1WQrTULq37+/q8xqPCsAAECwRGS3u2hReS2npOqnlg3as2ePq/BpXKPCpdfdXrNmTfdcVUI19lNhUmMhve5xjRsdNWqU+1q1alUX2jT5SLRtPV+TjTSxSEFOIS4lLcfUt29f9zwtcK9qpKqdCnuBYzKDQdtWxVOVT+84PFpiSe3QqVMndwwvv/yyaxN5+OGH3VAAzYDX+M+LLrrIPZ5yqSoAAICsiPEFawV0nBZN5FEI/Prrr11wDab777/fdZ0rSHq0zqdmr6dcxzSc9Ro735Zu+O/kMAAAcpoa5UvYjH7tbO/eQ5aQ8L9hb9lBo/Di4gpbfPwBO1PJz3uNqK18hiutn6lLb2pykrrFgxk8NRZVXelaPP6DDz4I2nYBAACChfCZDbQ8k9b71PhLjyb2aJLUqeha7qeiJZZ0tSRdyShYYzU1AcsbA5saXTHqww8/DMprAQCAyEe3e5jQrPytW7ee8jnqSg81XQVKKwSkRcs3aeH9M4FudwBATka3e+qofIYJTezJjnCZHq2FGo77BQAAcqaIXWoJAAAA4YfwCQAAgJAhfAIAACBkCJ8AAAAIGcInAAAAQobwCQAAgJAhfAIAACBkCJ8AAAAIGcInAAAAQoYrHCFsVYgrYkeOJ2T3bgAAkCmVShel5VLBtd0BAADOkMTEJNu377AlJfmytY1jYszi4gpbfPwB8/nO7Gukh8onwtbevYeyexfCQvHiBWkL2oJzg38nvGfk0PdQhc7sDp7hhvCJsJWUlGRJSRbV9CnS++R8pj6p5hS0Be3BucG/E943IgMTjgAAABAyhE8AAACEDN3uCOtuVq+rNVp5xx/t7SC0Be3BucG/E943wvs9NKPbZrY7AAAAQoZudwAAAIQM4RMAAAAhQ/gEAABAyBA+AQAAEDKETwAAAIQM4RMAAAAhQ/gEAABAyBA+AQAAEDKETwAAAIQM4RNh5dixYzZgwAC78MILrWnTpvbKK69YtPjkk0+sevXqyW533323e+yXX36xLl26WN26de26666zlStXWiQ6fvy4tWvXzr777jv/fVu2bLEePXpYvXr1rE2bNrZo0aJkv7N48WL3O2qbW2+91T0/kttj6NChJ50n06dP9z/+wQcfWMuWLV179O3b1/bs2WM52Y4dO9y/g4svvtiaNWtmTz/9tHufiMZz41RtEW3nhWzatMluv/12q1+/vl1++eU2adIk/2PRdm5sOkVbhOW54QPCyODBg33t27f3rVy50vfxxx/76tev75s3b54vGowdO9Z35513+nbu3Om/7d+/33fo0CHfpZde6nvmmWd8v//+u2/IkCG+Sy65xN0fSY4ePerr27ev729/+5vv22+/dfclJSW58+H+++93xz5+/Hhf3bp1fdu2bXOP62u9evV8kydP9q1Zs8Z3zz33+Nq1a+d+LxLbQ3r06OGbMGFCsvPk8OHD7rGff/7ZV6dOHd/cuXN9v/76q+/mm2/29e7d25dT6e/YtWtXX69evdzf9/vvv/ddddVV7t9CtJ0bp2qLaDsvJDEx0deqVSv399+wYYPv888/9zVo0MD33nvvRd25kXiKtgjXc4PwibChMFW7du1k/6N96aWX3D+GaKA3jn//+98n3f/WW2/5WrRo4X9j1Ff9T2fOnDm+SLF27Vpfhw4d3P8wAsPW4sWL3f8kAoN29+7dfaNGjXLfjxw5Mtn5oTdUfWAJPIciqT2kWbNmvq+++irV33vwwQd9Dz30kP/n7du3+6pXr+7bvHmzLydScNDx79q1y3/f+++/72vatGnUnRunaotoOy9kx44dLjQeOHDAf58+rD3++ONRd27sOEVbhOu5Qbc7wsbq1astISHBdRt4GjZsaD///LMlJSVZpFu3bp1VrFjxpPt1/GqHmJgY97O+NmjQwJYtW2aRYsmSJdaoUSN78803Tzr2888/3woUKOC/T23hHbse1xANT/78+e2CCy7I8W2TVnscPHjQdb2mdp6k1h5ly5a1cuXKuftzolKlSrnuw7i4uJPaIdrOjVO1RbSdF1K6dGkbOXKkFSpUSEU0+/HHH+377793QxKi7dwofYq2CNdzI/cZ3TpwGnbt2mXFixe3vHnz+u/TG63GNO3bt89KlCgRse2pN4wNGza4cUkTJkywxMREa926tRvfpXapWrVqsueXLFnS1q5da5GiW7duqd6vY9cba8pj//PPPzP0eKS1hz6g6MPH+PHj7csvv7RixYpZz5497dprr3WP79y5M6Lao0iRIm5so0cfQjVWrXHjxlF3bpyqLaLtvEipRYsWtn37drviiivs6quvtmHDhkXVuXGqttD8gHA8NwifCBtHjhxJFjzF+1kTLyKZ3iy849cn2K1bt7pB4kePHk2zXSK9TSS9Y4+2tlm/fr37H0nlypXt5ptvdtWNQYMGuYrHVVdd5c6XSG6P4cOHu8l3s2fPtldffTWqz43Atli1alVUnxejRo2y+Ph4e+KJJ9wkrGh+3xiVoi1U0Q3Hc4PwibCRL1++k0547+ezzjrLIln58uXdjOaiRYu6N4qaNWu6ysaDDz7ouk5Sa5dIbxPvnFDVO61jT+ucUZUoEnXq1MlVNFS9kBo1atjGjRvtjTfecP8jSas91K0YCWFr6tSp9sILL9jf/va3qD43UrZFtWrVova8kNq1a7uv6iV74IEH3IogCpjReG7UTtEWP/30U1ieG4z5RNgoU6aM7d2714379Kh7RG8YkfCmkB69OXjjOqVKlSruDURjvfRJNpB+TtlVEqnnxKmOPa3H1WaRSOeH9z8RjyoaGtMVye0xZMgQmzJligtd6kqM5nMjtbaIxvNC+79gwYJk92l40okTJ9J9z4y09og/RVtozGc4nhuET4QNVfty586dbNC3Bk7rk1xsbGSfql999ZWbYBL4af3XX391bxoaKL906VI3LlT0VZ9mtSZbpNMxqktRXUOB54R37Pqqnz1qP3VFRmrbvPjii27twpQT9fQ/k9Ta448//nC3nNweY8aMsZkzZ9qIESOsbdu2UX1upNUW0XheaGjSP//5T3+IEo1v1NwAvWdG07mx9RRt8dprr4XnuXFG59IDp2nQoEG+tm3burXHPvnkE7dW2UcffRTx7aglMrQcxn333edbt26dW6dNS6i8/PLL7rHGjRu79T21BI++at3PSFvn0xO4tFBCQoKvTZs2vn79+rn1+LRWnZZQ8dbr27Jli1ueS/d76/VpeaKcul5feu2hfxfnn3++b9KkSb5Nmzb5ZsyY4atVq5bvp59+co/r6wUXXOCbNWuWf80+rR2bU2l5oZo1a/peeOGFZGsU6hZt58ap2iLazgvR379z586+2267zb0v6j1T6x+/+uqrUXduJJyiLcL13CB8IqxovbX+/fu7NwqFrylTpviihd4EtRiwjl3hcvTo0f43Q72BdOrUyb1hXn/99b5Vq1b5IlXKdS03btzou+mmm9wbpj6YfP3118merzdaLbCshZK1ll9OXrswI+2hD2X6H6XOhdatW5/04UzrvzZv3tydR1rrb8+ePb6cSuFAx5/aLdrOjfTaIprOC8+ff/7pjkVFCr1njhs3zv+eGU3nRnptEY7nRoz+c2ZrqwAAAMB/RfZAOgAAAIQVwicAAABChvAJAACAkCF8AgAAIGQInwAAAAgZwicAAABChvAJAACAkCF8AgDC3pYtW+yLL77I7t0AEASETwBA2BswYIAtX748u3cDQBAQPgEAABAyhE8AwGnZtGmT3X777Va/fn27/PLLbdq0ae7+devWufsbNGhgzZo1szFjxlhSUpJ7bPTo0XbLLbck206LFi3s7bffdt/rsXHjxrnfr1Onjl199dX21VdfuccefvhhW7Jkidteym0AyHkInwCADDt27JjddtttVrBgQZs1a5Y99thj9sILL9i7775r3bp1s9KlS9tbb71ljz/+uE2fPt0fTDNi/Pjx1rZtW/vggw+sRo0aNmjQIBdeBw4c6IKuXlchFkDOlju7dwAAkHMsWrTI9uzZY8OGDbNChQpZtWrV7NFHH7V9+/ZZ/vz5bciQIZY7d26rUqWK7dq1y1566SXr0aNHhrbdvHlz69y5s/u+T58+1rFjR7eNMmXKWJ48eaxAgQJWrFixM3yEAM40Kp8AgAzbsGGDVapUyQVPz3XXXWfr16+3Cy64wAVPj6qVCo9//fVXhrZdsWJF//fe9hMSEvjrABGG8AkAyLDAcBkoX758J93njfdMTEy0mJiYkx5PGSxV3UzJ5/Px1wEiDN3uAIAMU3VSE46OHDniutnl2Weftddff93i4uLsxIkT/hC5dOlSK1GihOsq132HDh3yb0ffq/seQPSh8gkAyLCmTZu6kKmJRprdvnDhQps5c6aNHDnSjh8/7r9/wYIFbnLQjTfe6KqetWvXttWrV9u8efNc172eFxub8f8Fabznxo0bbffu3fy1gByOyicAIOP/08id28aOHWuDBw+2a6+91gXR/v37W8uWLa1cuXL21FNPWadOnVzFs3v37nbnnXe632vSpImbeOSFzp49e9rOnTsz/LpdunRxC8336tXL5s6dy18MyMFifAyoAQAAQIjQ7Q4AAICQIXwCAAAgZAifAAAACBnCJwAAAEKG8AkAAICQIXwCAAAgZAifAAAACBnCJwAAAEKG8AkAAICQIXwCAAAgZAifAAAACBnCJwAAACxU/g9VEAHEccCgawAAAABJRU5ErkJggg==" }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This shows that the dataset is fairly balanced and does not require any special attention in terms of biased training.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Request 1\n", "Check for null values, and display a summary of the dataset (use `.info()` and `.describe()` methods).\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:37:59.265213Z", "start_time": "2025-11-13T14:37:59.250068Z" } }, "source": [ "# Checking for null values\n", "print(data.isnull().sum())\n", "\n", "# Dataset summary\n", "print(data.info())\n", "print(data.describe())" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Gender 0\n", "Age 0\n", "Height 0\n", "Weight 0\n", "family_history_with_overweight 0\n", "FAVC 0\n", "FCVC 0\n", "NCP 0\n", "CAEC 0\n", "SMOKE 0\n", "CH2O 0\n", "SCC 0\n", "FAF 0\n", "TUE 0\n", "CALC 0\n", "MTRANS 0\n", "NObeyesdad 0\n", "dtype: int64\n", "\n", "RangeIndex: 2111 entries, 0 to 2110\n", "Data columns (total 17 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Gender 2111 non-null object \n", " 1 Age 2111 non-null float64\n", " 2 Height 2111 non-null float64\n", " 3 Weight 2111 non-null float64\n", " 4 family_history_with_overweight 2111 non-null object \n", " 5 FAVC 2111 non-null object \n", " 6 FCVC 2111 non-null float64\n", " 7 NCP 2111 non-null float64\n", " 8 CAEC 2111 non-null object \n", " 9 SMOKE 2111 non-null object \n", " 10 CH2O 2111 non-null float64\n", " 11 SCC 2111 non-null object \n", " 12 FAF 2111 non-null float64\n", " 13 TUE 2111 non-null float64\n", " 14 CALC 2111 non-null object \n", " 15 MTRANS 2111 non-null object \n", " 16 NObeyesdad 2111 non-null object \n", "dtypes: float64(8), object(9)\n", "memory usage: 280.5+ KB\n", "None\n", " Age Height Weight FCVC NCP \\\n", "count 2111.000000 2111.000000 2111.000000 2111.000000 2111.000000 \n", "mean 24.312600 1.701677 86.586058 2.419043 2.685628 \n", "std 6.345968 0.093305 26.191172 0.533927 0.778039 \n", "min 14.000000 1.450000 39.000000 1.000000 1.000000 \n", "25% 19.947192 1.630000 65.473343 2.000000 2.658738 \n", "50% 22.777890 1.700499 83.000000 2.385502 3.000000 \n", "75% 26.000000 1.768464 107.430682 3.000000 3.000000 \n", "max 61.000000 1.980000 173.000000 3.000000 4.000000 \n", "\n", " CH2O FAF TUE \n", "count 2111.000000 2111.000000 2111.000000 \n", "mean 2.008011 1.010298 0.657866 \n", "std 0.612953 0.850592 0.608927 \n", "min 1.000000 0.000000 0.000000 \n", "25% 1.584812 0.124505 0.000000 \n", "50% 2.000000 1.000000 0.625350 \n", "75% 2.477420 1.666678 1.000000 \n", "max 3.000000 3.000000 2.000000 \n" ] } ], "execution_count": 34 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Expected Output:\n", "\n", "* Counts of null values for each column (likely zero for this dataset).\n", "* Dataset info including column names, data types, and memory usage.\n", "* Descriptive statistics for numerical columns.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preprocessing the data\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Feature scaling\n", "Scale the numerical features to standardize their ranges for better model performance.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:05.399638Z", "start_time": "2025-11-13T14:38:05.393290Z" } }, "source": [ "# Standardizing continuous numerical features\ncontinuous_columns = data.select_dtypes(include=['float64']).columns.tolist()\n\nscaler = StandardScaler()\nscaled_features = scaler.fit_transform(data[continuous_columns])\n\n# Converting to a DataFrame\nscaled_df = pd.DataFrame(scaled_features, columns=scaler.get_feature_names_out(continuous_columns))\n\n# Combining with the original dataset\nscaled_data = pd.concat([data.drop(columns=continuous_columns), scaled_df], axis=1)" ], "outputs": [], "execution_count": 35 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Standardization of data is important to better define the decision boundaries between classes by making sure that the feature variations are in similar scales. The data is now ready to be used for training and testing.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### One-hot encoding\n", "Convert categorical variables into numerical format using one-hot encoding.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:09.399978Z", "start_time": "2025-11-13T14:38:09.388839Z" } }, "source": [ "# Identifying categorical columns\ncategorical_columns = scaled_data.select_dtypes(include=['object']).columns.tolist()\ncategorical_columns.remove('NObeyesdad') # Exclude target column\n\n# Applying one-hot encoding\nencoder = OneHotEncoder(sparse_output=False, drop='first')\nencoded_features = encoder.fit_transform(scaled_data[categorical_columns])\n\n# Converting to a DataFrame\nencoded_df = pd.DataFrame(encoded_features, columns=encoder.get_feature_names_out(categorical_columns))\n\n# Combining with the original dataset\nprepped_data = pd.concat([scaled_data.drop(columns=categorical_columns), encoded_df], axis=1)" ], "outputs": [], "execution_count": 36 }, { "cell_type": "markdown", "metadata": {}, "source": "We will observe that all the categorical variables have now been modified to one-hot encoded features. This increases the overall number of fields to 24. \n" }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Encode the target variable\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:14.179071Z", "start_time": "2025-11-13T14:38:14.168179Z" } }, "source": [ "# Encoding the target variable\nprepped_data['NObeyesdad'] = prepped_data['NObeyesdad'].astype('category').cat.codes\nprepped_data.head()" ], "outputs": [ { "data": { "text/plain": [ " NObeyesdad Age Height Weight FCVC NCP CH2O \\\n", "0 1 -0.522124 -0.875589 -0.862558 -0.785019 0.404153 -0.013073 \n", "1 1 -0.522124 -1.947599 -1.168077 1.088342 0.404153 1.618759 \n", "2 1 -0.206889 1.054029 -0.366090 -0.785019 0.404153 -0.013073 \n", "3 5 0.423582 1.054029 0.015808 1.088342 0.404153 -0.013073 \n", "4 6 -0.364507 0.839627 0.122740 -0.785019 -2.167023 -0.013073 \n", "\n", " FAF TUE Gender_Male ... CAEC_no SMOKE_yes SCC_yes \\\n", "0 -1.188039 0.561997 0.0 ... 0.0 0.0 0.0 \n", "1 2.339750 -1.080625 0.0 ... 0.0 1.0 1.0 \n", "2 1.163820 0.561997 1.0 ... 0.0 0.0 0.0 \n", "3 1.163820 -1.080625 1.0 ... 0.0 0.0 0.0 \n", "4 -1.188039 -1.080625 1.0 ... 0.0 0.0 0.0 \n", "\n", " CALC_Frequently CALC_Sometimes CALC_no MTRANS_Bike MTRANS_Motorbike \\\n", "0 0.0 0.0 1.0 0.0 0.0 \n", "1 0.0 1.0 0.0 0.0 0.0 \n", "2 1.0 0.0 0.0 0.0 0.0 \n", "3 1.0 0.0 0.0 0.0 0.0 \n", "4 0.0 1.0 0.0 0.0 0.0 \n", "\n", " MTRANS_Public_Transportation MTRANS_Walking \n", "0 1.0 0.0 \n", "1 1.0 0.0 \n", "2 1.0 0.0 \n", "3 0.0 1.0 \n", "4 1.0 0.0 \n", "\n", "[5 rows x 24 columns]" ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NObeyesdadAgeHeightWeightFCVCNCPCH2OFAFTUEGender_Male...CAEC_noSMOKE_yesSCC_yesCALC_FrequentlyCALC_SometimesCALC_noMTRANS_BikeMTRANS_MotorbikeMTRANS_Public_TransportationMTRANS_Walking
01-0.522124-0.875589-0.862558-0.7850190.404153-0.013073-1.1880390.5619970.0...0.00.00.00.00.01.00.00.01.00.0
11-0.522124-1.947599-1.1680771.0883420.4041531.6187592.339750-1.0806250.0...0.01.01.00.01.00.00.00.01.00.0
21-0.2068891.054029-0.366090-0.7850190.404153-0.0130731.1638200.5619971.0...0.00.00.01.00.00.00.00.01.00.0
350.4235821.0540290.0158081.0883420.404153-0.0130731.163820-1.0806251.0...0.00.00.01.00.00.00.00.00.01.0
46-0.3645070.8396270.122740-0.785019-2.167023-0.013073-1.188039-1.0806251.0...0.00.00.00.01.00.00.00.01.00.0
\n", "

5 rows × 24 columns

\n", "
" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Separate the input and target data\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:18.135880Z", "start_time": "2025-11-13T14:38:18.132397Z" } }, "source": [ "# Preparing final dataset\nX = prepped_data.drop('NObeyesdad', axis=1)\ny = prepped_data['NObeyesdad']" ], "outputs": [], "execution_count": 38 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model training and evaluation \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Splitting the data set\n", "Split the data into training and testing subsets.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:22.069860Z", "start_time": "2025-11-13T14:38:22.062484Z" } }, "source": [ "# Splitting data\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)" ], "outputs": [], "execution_count": 39 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Logistic Regression with One-vs-All\n", "In the One-vs-All approach:\n", "\n", "* The algorithm trains a single binary classifier for each class.\n", "* Each classifier learns to distinguish a single class from all the others combined.\n", "* If there are k classes, k classifiers are trained.\n", "* During prediction, the algorithm evaluates all classifiers on each input, and selects the class with the highest confidence score as the predicted class.\n", "\n", "#### Advantages:\n", "* Simpler and more efficient in terms of the number of classifiers (k)\n", "* Easier to implement for algorithms that naturally provide confidence scores (e.g., logistic regression, SVM).\n", "\n", "#### Disadvantages:\n", "* Classifiers may struggle with class imbalance since each binary classifier must distinguish between one class and the rest.\n", "* Requires the classifier to perform well even with highly imbalanced datasets, as the \"all\" group typically contains more samples than the \"one\" class.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Train a logistic regression model using the One-vs-All strategy and evaluate its performance.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:27.677127Z", "start_time": "2025-11-13T14:38:27.637666Z" } }, "source": [ "# Training logistic regression model using One-vs-All (default)\n", "model_ova = LogisticRegression(multi_class='ovr', max_iter=1000)\n", "# model_ova = OneVsRestClassifier(LogisticRegression(max_iter=1000))\n", "model_ova.fit(X_train, y_train)" ], "outputs": [ { "data": { "text/plain": [ "LogisticRegression(max_iter=1000, multi_class='ovr')" ], "text/html": [ "
LogisticRegression(max_iter=1000, multi_class='ovr')
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.
" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 40 }, { "cell_type": "markdown", "metadata": {}, "source": "We can now evaluate the accuracy of the trained model as a measure of its performance on unseen testing data.\n" }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:31.549685Z", "start_time": "2025-11-13T14:38:31.542599Z" } }, "source": [ "# Predictions\ny_pred_ova = model_ova.predict(X_test)\n\n# Evaluation metrics for OvA\nprint(\"One-vs-All (OvA) Strategy\")\nprint(f\"Accuracy: {np.round(100*accuracy_score(y_test, y_pred_ova),2)}%\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "One-vs-All (OvA) Strategy\n", "Accuracy: 76.12%\n" ] } ], "execution_count": 41 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Logistic Regression with OvO\n", "\n", "In the One-vs-One approach:\n", "* The algorithm trains a binary classifier for every pair of classes in the dataset.\n", "* If there are k classes, this results in $k(k-1)/2$ classifiers.\n", "* Each classifier is trained to distinguish between two specific classes, ignoring the rest.\n", "* During prediction, all classifiers are used, and a \"voting\" mechanism decides the final class by selecting the class that wins the majority of pairwise comparisons.\n", "\n", "#### Advantages:\n", "* Suitable for algorithms that are computationally expensive to train on many samples because each binary classifier deals with a smaller dataset (only samples from two classes).\n", "* Can be more accurate in some cases since classifiers focus on distinguishing between two specific classes at a time.\n", "\n", "#### Disadvantages:\n", "* Computationally expensive for datasets with a large number of classes due to the large number of classifiers required.\n", "* May lead to ambiguous predictions if voting results in a tie.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Train a logistic regression model using the One-vs-One (OvO) strategy and evaluate its performance.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:39.109903Z", "start_time": "2025-11-13T14:38:39.068992Z" } }, "source": [ "# Training logistic regression model using One-vs-One\n", "model_ovo = OneVsOneClassifier(LogisticRegression(max_iter=1000))\n", "model_ovo.fit(X_train, y_train)" ], "outputs": [ { "data": { "text/plain": [ "OneVsOneClassifier(estimator=LogisticRegression(max_iter=1000))" ], "text/html": [ "
OneVsOneClassifier(estimator=LogisticRegression(max_iter=1000))
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.
" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 42 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Evaluate the accuracy of the trained model as a measure of its performance on unseen testing data.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:44.357144Z", "start_time": "2025-11-13T14:38:44.349104Z" } }, "source": [ "# Predictions\ny_pred_ovo = model_ovo.predict(X_test)\n\n# Evaluation metrics for OvO\nprint(\"One-vs-One (OvO) Strategy\")\nprint(f\"Accuracy: {np.round(100*accuracy_score(y_test, y_pred_ovo),2)}%\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "One-vs-One (OvO) Strategy\n", "Accuracy: 92.2%\n" ] } ], "execution_count": 43 }, { "cell_type": "markdown", "metadata": {}, "source": "### Requests\n" }, { "cell_type": "markdown", "metadata": {}, "source": "R1. Experiment with different test sizes in the train_test_split method (e.g., 0.1, 0.3) and observe the impact on model performance.\n" }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:50.873748Z", "start_time": "2025-11-13T14:38:50.819256Z" } }, "source": [ "for test_size in [0.1, 0.3]:\n", " X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=42, stratify=y)\n", " model_ova.fit(X_train, y_train)\n", " y_pred = model_ova.predict(X_test)\n", " print(f\"Test Size: {test_size}\")\n", " print(\"Accuracy:\", accuracy_score(y_test, y_pred))" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test Size: 0.1\n", "Accuracy: 0.7594339622641509\n", "Test Size: 0.3\n", "Accuracy: 0.749211356466877\n" ] } ], "execution_count": 44 }, { "cell_type": "markdown", "metadata": {}, "source": "R2. Plot a bar chart of feature importance using the coefficients from the One vs All logistic regression model. Also try for the One vs One model.\n" }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:38:56.021635Z", "start_time": "2025-11-13T14:38:55.944855Z" } }, "source": [ "# Feature importance\n", "feature_importance = np.mean(np.abs(model_ova.coef_), axis=0)\n", "plt.barh(X.columns, feature_importance)\n", "plt.title(\"Feature Importance\")\n", "plt.xlabel(\"Importance\")\n", "plt.show()" ], "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAusAAAHFCAYAAABLt7fmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAACglElEQVR4nO2dCZiV8/vGvzPZWlUzCqGVSloVlbShBRGhEj9LSSiVJVuESiH5ZakslV0qpUL23Q/ZiiK0WqKa0aZVM/O/Po//e5w5c2bO0pmZc+bcn+t6m7O8512+553p/j7v/TxPSk5OTo4TQgghhBBCxB2pxX0AQgghhBBCiOBIrAshhBBCCBGnSKwLIYQQQggRp0isCyGEEEIIEadIrAshhBBCCBGnSKwLIYQQQggRp0isCyGEEEIIEadIrAshhBBCCBGnSKwLIYRIStQTUOMlRCIgsS6EEKJYufHGG13dunXzXV577bWY7m/37t3urrvucvPnz3fFyYMPPmjnF+/Ey3gJkazsU9wHIIQQQhx00EHuoYceCjoQNWrUiOkArV+/3j355JNuzJgxGniNlxBxj8S6EEKIYme//fZzTZo0Ke7DEEKIuEM2GCGEEAnDW2+95c4++2zXsGFDd8IJJ7hRo0a57du351nn/PPPd02bNnXHHHOM69Kli3v22WftvV9//dWddNJJ9vimm25yHTt2tMcXXnihLf589tlnZlPhJ8yePdsdffTRbubMmbbv4447zi1fvjzs4woF2+fzX3zxhevRo4c97ty5s3vnnXfcypUr3UUXXeQaN27sTjnlFPfKK6/k+hzHuXjxYnfWWWe5Ro0auW7duuWxD23dutXuJpx88sm27dNPP93NmjUr1zqMB5YX9sV2Lr744qDjBYwD58wki3XPPPNMt2DBglzHxXhxXD179rR9dujQwU2ZMiXXPv/66y83cuRId+KJJ9q2OPf33nsv1zrs67TTTrPvs3379mYhysrKimh8hUhUJNaFEELEBXv27Mmz+CeB4pm+6qqrXK1atdzDDz/sBg4c6ObNm+euvPJK33qIPNZp0KCBmzhxoom6ww8/3N15550mGqtUqeKz21xxxRX5Wm/yA4E4depUN3r0aBOvtWvXDuu4IhmDa6+91vXq1ctNmjTJlS5d2l133XVuwIABJlInT55s53DDDTe4P/74I9dnL7/8chPW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H3fFFVe4IUOG5HrvxhtvdG+//bZ77bXXXFpaWp7jfuqpp9zxxx9vzz/++GP34IMPuu+//97ts88+rmnTpra9Y445JuQYLFiwwA0bNsx99dVXbt9997XX/v77bzunSpUquXfeece37h9//OHatWvnXnrpJVe/fv18tzl79mz30EMP2We9c/zhhx8KXK+oGDZrsVu6dotLZupUKecm9GrqUlNTJNaFEEKUCCTWSzAIVMTiBRdckOv1t956y8Q2ILI/+ugj33vnnHOOu/TSS92pp57q24bHzTff7Hs9OzvbLV++3I0YMcLdcMMNJrD9eeWVV9wRRxzh5s2b5wYPHuzbn8eWLVvc3Xff7e655558j3/JkiXuyiuvNMHNurt27XLPPPOMCWS2e9hhhxV4/s2bN3e7d+92y5Ytcw0bNrTXvv32W1e6dGkT57/88os7/PDD7fWvv/7aHXjggb5Jzt7COLVv394VJSsztiW9WBdCCCFKGnK4lmAQq4GR3b/++suE6dFHH23PS5Uq5Q466CDfwvPy5cv7nlesWNH3Wf/Xq1at6k444QR39dVXW4R569atvvWIXr/++usWVf/999/dwoUL8xxbtWrV3Ny5c4O+5zF//nzbR58+fVz16tXdUUcd5e644w7b/6uvvhry/FmPz33zzTe+1zjWVq1aWfScxx6LFi2yuwT4vmPBAQcc4CpXrhyTbQkhhBAieZFYL8Fgb0EMI9A93nvvPRPxZcvGxt+833772U9/kYt1BfHO/hs3bmzWkkCwopxyyikmvhH3wWCbWEwyMzN9rxGhnzp1qjvvvPPCOj7OlQi9BwKdfbN8+umnvtcXL15sr8GXX37pevfubcfepEkTd9lll7n169eH3NeYMWMsmr527VqzwWAd8vbJ4+eee86deOKJts3rr7/eov4e3Ck4+eSTbZ/XXnutu+aaa8z+I4QQQojkRmK9BEMkmgj4Bx984HvtzTffNFEYC37++Wf36KOPmgD1F/9YYJo1a2a2EgQ73vTt27fn+fwtt9xiwnbatGlBt48l588//3QdOnSwKD3eefZJVN4/4h9KrHuRdcQxdxU8se5F1nl96dKl9hqTjMsvv9wi+i+//LKbMmWK7zwLgnPgTgHrB+YIAGKfuw2PP/64ifA33njDN4n54osvzGLUr18/E/nYdMK5cyAKBudVOEsk62rRuMXi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t99+s8gtj0mm6927tzWCwad72WWXWZId0GAGOwLl51q0aOFOOOEEa/xCF8kOHTpYZ0mvu6O3bT7jz++//271s+ks6UGTmKOPPtqtWbMmrGP+6aefXK9evVzDhg1d9+7dzdYA2EPq1q1rP73mOp07d7b1KLnn1efmHDjnm266yd144432Gq3j6YRJtBUbEHYgzx5BVPfKK6+0UnxEt3kPrzMdLD1ef/11q/UdqggPjXqeeeYZ33N80BdccIHv+QsvvGDj738uHOPChQttvxy7B+dDC3u+K2qHY2MKF74XmvVQDhG7yOeff26vP//88/a9+cMxderUyR7j76auOefPct1117lNmzblGn9KJXJ99O/f375XJoOwbt06e//FF1/0bZvvcebMmfaY7qB8T5wPyZycswfnzffg8cQTT9j3xPfF8fC+/7WW3zUS7LvPD5ovsf033njD99rff/9t503t9FDHTPMljoH3vGtKCCGEECIisY5VhUYtiPWnn37aXX755SbCaYs+ZcoU9/PPP7tHH33Utz7+XfzTfI6Okrfffrt76qmnTMAjfujS+N133xVo7yCKj7j14HH9+vXztJ0v6Jipkz1v3jx34IEHuhEjRuRZhwnAsGHD7HyYTPTo0cNdc801JiwRfd4533LLLe7PP/90559/vqtSpYoJR7aHoOa8PPCHU9Obut0050HIffrpp773abaD+A1VLQS7kSfoEH7UFacLJ4+9EoGBOQMcY9OmTd2ll16aS7BSb5wW9hwnkx86bIYDopba4IwNk63WrVubsEZMM7nh55IlS3zrI1Y5N2B/vMe+2C9NigYPHpxr+1999ZUJcsaXiDjNgoDzZnx4H/gs5875ImypT37FFVfY98qkholisAkc72PdYvtMJJgkeJONUNdI4HdfENRpZzLkf63+73//c/vss49N2kIdM9cf1zW/SzRH4neD5kxCePDnIt6WeD2uRFg0dho3XXPF/3uYEie/qzG1wWBVwXJB6/X99tvPIshEexFV+HmJqH7zzTe+9YkcDx8+3LzoPXv2NPFK0h/RchbEHImQRFTzA5FPZBTx7AldXgsXIs+IKC9S6m3HHwQnAhhhhr0HoUtUd//99/d1mOScWRCdvIaARYjVrl3bbdiwwSLECHNIT0+3/XpwJ4FJAOKbZEVEGJOdULD+tddea+OIwD7iiCNsssAEhyjwZ599ZoLPH44RvzZjjvhF5ALNdoiMA2Ia8RgOHCfjRsQZiI4jdpmgcGwtW7Y0gU4TH6L1HBPCk/NkHYQ4Ywn33HOPRZrp4Fm27D/JfBdddJGdFzARQKQzXuyDrqGeWGeyU7NmTfuO7rvvPmssROdSr/so6xPpD4yAP/fcc7YPbwJx99135/Hy53eNMH7+330ouC6HDh3qdu3aZdcO37nXxZTJbEHHTASfRGCuP36X6ICaLAnBInGTXyEtLfTvhtDY6ZqLD/T7mrjjFlXpRjzSCDiENLaB5cuXmwjzT8IkAdVLGkW8gL8AIRpZUCk8QOwQaWQf7BPx5m+fCYV/UiCCCyEVCBFNbClMPBCEiKZzzz3XRHkgWGDojIlQ9yCSjWDfsuWfxL5APz9RdiYt3Fl47733LCqPuA0FViFELzYNhB3PvVreCMDU1FTbDkIvFJ4gLmgcgsH5Bnb8xPLE655A5W4KApc7CtzxQJz/+OOPNgHC2uEPdqHVq1fbGAaOFZMT7w4FEXYaC2E3YoKClcS7i8C+mbQRKfdgX3w+EK5J7gR4EDnnO470GgkH7jIxif3www9tQoD1iE6m4Rwzdy6YvPI+1+KZZ56pPAThgxrwWVn5VyIqDogG8R9YZqaaImnsdM3FO/p9jd9x8/ZRKGKdaDR2EUQXEVGihgjRxYsX/7thP0H770FF1iiGaH6rVq3MXoDIxdNLdDVcwmnXzjFRI5u7AghOvMVEZFkQ8v54kw5/PL96VlZW0HWIEPMegpvz8KK8oUD4IdCJNiNeEXCIdR6zPcRhuOOJsI+GYOfLvr1zPuWUU8w2woTC3wLjjQVjGFjlh0mc51333z7ng90Ea8gff/xh9pE6deqYnQqxzoTH2zZ3FLxov//kL9j3H5gbEPg8nGskHLjesQbxHXN3o1y5cr7Ja6hjZkLB2CHw33nnHbsbwN0bJo1C/HPdxu9xxeuxxTsaO42brrnEICcO/s5FpeIQtEQpEbkIC0Ql/vRQSZPRQGT63XffNftIJBaYcCHqiT0Cmwg2hldeecX88kRIAyEqiyXF840DYpJJRX5VSBDdiFrGDJ95JOfg+dbxq+PfZ+HuAqUaY1XjviA4X/8JGPDci04TieY4iBrj0fbOjWg1IhhRTrSdBfE6ZswYyxEIBndOEOf4tYne83muK74Pko157B0T3nNvuyxEpD/44IM822R7/gnK2ILCTU6OBmwuHAeCm7tC3mSqoGMmkk/iK9cJd3ewHjH59fe/CyGEECJ5iUqsI0zXrl1rEU9EOlYIIquhbC3RgJ8Y6wSiFQEUaypUqGDe4YkTJ9q5cIcAa4nnpScyjLce4YkY4xxvu+02E/lEQklExPdcUJSbCYeXoHvkkUdGJNYRfgjdqlWr2jFhjSFKn59Y53gZr/xEcSTgw8d7TnLpqlWr3Lhx48zvTjUTDwQ6HutatWr5RDzHS1QY6w8+dmxSeNkRygV5sYmukwzrRaQR6FTqIcqOmPWOidewzJDUjBWLpUaNGnm2hwed9bg2+b5IFt2+fXvYdyT8v/twYDKFfYpz8J+UFXTM3F1gAkYknX2RSMvdk4JyOYQQQgiRPERlg+GWPYLx6quvNuFDwiPVLhCusRbsCD+sJERFY9mIyT+iy3EjRPEYsw882J6fGCHOewhgSuoR+cVHj6WBiDp3FvAcFwSJlSRVUrovEogMczyIQCDajEce8ZhfbXpEMqKUCif+FWGigePNyMiwiir48rEFTZ061RJrPUgI5Y5K4LmROMkdC64R7kRQopFJXUG2EyYgJGN658tPtu0/MSHqTrIq58ZP/PgknbL9QBDMTBCw6hDBJtEZn3y4TZMCv/tQ8LvAhJIJln9eQqhjvv/++92dd95pkyDsNGyDBO5IqZVe1u3Y/Y8FSZSMpkhCCCFESk5heFdiDImKiFB88okIEw2vzGUidMIsKXA3hvHG1gTUu6eCDdV7mEAVBlTJwebCJEWIvWVPVrbbvGl73HUw5eZUenp5l5GhBFONna65eEe/r/E7bt4+CiWyXlRQsg+LABaGwrDAFDbMg/AeY8MgIi6hXrRgUyKn4I477rA7G9hQuFNDpDvWkFeAP54kZSZlxVU1RERXGjFexw6RHm9CXQghRNES12J97ty5Jn6wCHi1uYFygiQ05gfijMYzxQ22CEpNYv2gGZQ/RHYLsgyRWHnooYcW2rHhM8fekh/48xn3RIboNudA4iY2GCZM2JiCVbkpCCZcBXUxxa5DpSIsQiQpq0a6iBWpqSm2xCulSkVXaUpo7ALRxFSIBLfBBEIJQxIt8wOfNxHUeIZkVq8EYjDwVgcrfxkrqAu/cePGfN9n/AojRyAR2bZtm3n384MSjCQACyGEKBzLl6wc0aOxiw7ZYPYSaq4nOsVtiaEKDkthQuUVkkrp5kn1ICqlcEeBTraRVMUJFyrP0B2UZkixhLs6LB07drRKQVTICUxopQwjtdTPOussN3bs2JDbpFINVW4Yi1gxbNZit3TtP825hBAikZKpJ/RqaneRZPsSIsFsMCKxo9Hnn3++CXYsJPXq1bNI/rPPPmsJw5SDLO4JSzRQSYZqL4FiHX98pE2/Ys3KjG0S60IIIUQJQ4ZDUShQcYVa7y+++KI76aSTzNZDOUMaI1HqkzrjiQi13xHr/uAk47XCSFwVQgghRHIjsS5iDl58GgOR2BnMakOt8euvv94e0wDo7LPPtg6yJLX6d+4kIo+4HzJkiCVwtmvXziLy/iUxqYlP4mjnzp2toZA/dD4dMGCAfRYLC7XSs7L+qUM+e/Zsi/CTrEyC6Lx588I6t/bt21s3UioU+VeCoaOvf2MmBDx1+9kvkxTq9hdUq3369Om2LueCRSbWVh4hhBBCJCYS6yLm0KXzzz//tCh0fjkHJGXSaImGUoj1+fPnWyMnBDoC3gPbTIMGDawcYqdOnazB0datW+09HtP1Ew/58OHDrcKNv1geOHCgJckycUD0sw8EtAdlHWk8NWPGDF8TrFAw+UDc+0fX33zzTeu06w+TiieffNIaaOHZZ1JAUyTKOwbCthDyt956qx0r28d7v3nz5rCOSQghSgq4CfNbQr2vRWOXEuProCiuuXCQZ13EHK/KDNFmD0ptIlg9KEt5yimnuNatW7sLLrjAXqOZ0Pfff28i1xP6devWtcRNGDx4sNVK/+mnnyxBdcGCBfYcMQ90/fTKTVKjn6TWmTNnutTUVFerVi3rsnvTTTf5jgOP+RVXXGETh0jA1oMA946L8qJ0OmVi4UEjJiYIrVq18nVDxRrEsXvH60E5SSYtdIMF7iSQsEq0nyi7EEIkS8+DUKSlhW4gIzR2sSQerjmJdRFzPOsL5SE9sHd4FhaaRD3//PMWFX/33XftPY+///7b1axZ0/fc31rileOkE+mqVavM0kLiqgdeeA9sKps2bbIotb89Z+fOnb7JBFH3SIW6J9bvvvtuu3vAQg13/30DnVIXL17s7rvvPjsWJiHcSQhWrpP3qcc/fvx432tsc/Xq1REfmxBCJCo0J8vKCl7SmAgkoikzU11zI0VjF7/j5u0jFBLrIuYQIa9YsaLZTPCiA2UbeR28+u2Ibnzq+MpzXZR+9eWpvhJIfq0B9ttvP99jtk00feLEiXnWK1/+n1+MSJsjedD0CPvMe++9ZzX/Ay0wQET/rrvucueee67Zd4jqY20JBpOOm2++2ReF94j3XgFCCBFrQoki3k+87jDxgcYuccdNnnURcxDbPXr0MDsLSaCBrFu3zn4SQV+zZo2JeG/BUoK3PBQIcYS8f1Lpd99953vMtrHBVK5c2bdtEkPp2hqLEotE1xHrHG8wsc6dA+w2iPDu3bu7SpUqWXWcYBMNjvWPP/7INQ5460lcFUIIIURyI7EuCgWa/Rx00EFWcQV/Nx1bv/nmG0uiRDBjT6EO+5IlS9z9999vlg9EOlYQ/OyhIOp85plnupEjR5rdhIZI/tVWSBilXCRVZ6isQtIq+ybCX6pUqZiI9Q8//NDOK7DmOiDOP/nkE7PrcI5Dhw41i8/u3bvzrEvVHCY22IRIzsUSgx+/du3ae32cQgghhEhsZIMRhQKi+OmnnzYRihWFCDo2FWwxVEXxotFEkEnOnDJliqtatapVgznjjDPC2gfiG7GO2CWZlWRMvOSAIJ80aZK9f95557kyZcq4Ll26mB0lFlCOEW8+1pVg4p+IOgsTCmw/Xbt2tTHBux7Iqaee6jIyMmwSw08sNhy7v18/HGqll3U7dv9TmlIIIRKpg6kQIn9ScvIzAAshhBBCFAF7srLd5k3bXXZ2cEmCezE9vbzLyFCCaaRo7OJ33Lx9hEKRdSFKUCUFEV25OI2dxq0o0TWXF0R6fkJdiGRHYl0I56wxE/7y/HjsscfybfKUTJS0/1C9XGPKxekeo8ZN15wQIh6RWBfCOUtOJQE0P/DTl4SGIoV9q1oIIYQQsUViXYj/76gaLiTBzpkzJ9/36VyK+H/nnXfyvNexY0c3cOBAi+TPnj3bOqoG47jjjrME3UgYNmuxW7r230ZUhZEENqFXU5eamiKxLoQQQhQREutCRMgtt9zirr32Wnv86quvuqlTp7pZs2b53g8m0vPj4IMPzvXZgppBhWJlxrZCFetCCCGEKHok1oWIEDqgel1Q+UnpRmrKRyO0Az8rhBBCCOGPmiIJIYQQQggRpyiyLoSIuopKSTmPknI+RYXGTWOnay5x0O9r/I5buNuWWBeiGFm7dq1r2rRpntfvuOOOsDu5lsSqM0VNWlrophRC46ZrrvjR76rGLhmvOYl1IWL9S7XPPi47Ozvoe7zO+x5VqlQJWvUlLS0tbr8XGghRl7wkQFSDP8SZmeqKqHHTNRfP6HdVY1cSrzlvH6GQWBcixlSoUMFt3bo16Hu8zvu+X8B99nHVq1dPuO+gpDUQ4nxK2jkVBRo3jZ2uucRBv6+JO25KMBUixtStW9f99ddfbvny5bleX7Fihb1ev359jbkQQgghwkKRdSFizCGHHOJOOukkd91111nTo2rVqrnVq1e7e++915166qm5uqFmZWW5DRs25NlGSkqKS09P13cjhBBCJDkS60IUAuPGjXPjx493w4YNc5mZmSa8u3bt6oYMGZJrvT/++MO1adMmaP317777LqJ91kov63bsznKF2cFUCCGEEEVLSk5OcTtxhBCJwp6sbLd503aXnV0y/myQ3JOeXt5lZCjBVOOmay6e0e+qxq4kXnPePkKhyLoQJQSqtBQ2iPSSItSFEEKIREBiXQgRNqmpKbYUBpoICCGEEHmRWBdiL+jYsaP77bff8rzerFkz9/zzz9vjCy+80H377bfuo48+cuXKlctTOSYY3bp1M997MjUrKmkWGyGEECIWSKwLsZfcfPPNVuXFn3333dd+rlu3zn399dfW/Oj11193PXr0yPP5Bx98ME8X0wMOOCDi4xg2a7FbunaLS0RIXp3Qq6lF7SXWhRBCiH+RWBdiLylfvrw76KCDgr736quvuqOOOsoi7S+99FJQsX7ggQfm+/lIWJmxLWHFuhBCCCGCo6ZIQhQiL7/8smvRooXr0KGD+/zzz92vv/6q8RZCCCFE2EisC1FI/Pzzz27JkiUm1I877jjzqxNdF0IIIYQIF9lghNhLRowY4UaOHJnrtY8//tii6hUrVrTIOk2O2rdv7+bOnesGDhyYa93LLrvM3veoVKmSe+edd5L2e6HubFHvqyj3WRLQuGnsdM0lDvp9jd9xC3fbEutC7CVXX32169SpU67XSpcu7V555RUT6J4QZ5358+e7L774wjVv3ty37qhRo1zjxo19z1NTk/eGV3FVtElLC92UQmjcdM0VP/pd1dgl4zUnsS7EXpKWluaqV6+e67Vly5a55cuXu5UrV5pA9wcrjL9Yr1q1ap7PJ3Njp6ys7CLbH1EN/hBnZqqDqcZN11w8o99VjV1JvOa8fYRCYl2IQoAqMBUqVHBPP/10rkj55MmT3YIFC9zw4cOjKs+YDBTWH8VQ+yyO/SY6GjeNna65xEG/r4k7bsl7v12IQgQLDI2N6tWrZ6UbveXiiy92f/31l3vrrbc0/kIIIYQIicS6EDFm0aJFVqLxnHPOyfNeo0aNXIMGDdycOXM07kIIIYQIiWwwQuwFwaq2NGnSxP3www/5fmb27Nm+xwWtFym10su6HbuzXKJ2MBVCCCFEXiTWhSgh3HPOvxVlEpE9WdkuO1vGcSGEEMIfiXUhSghbtuxwiQTCPMcva4fnEutCCCFEbiTWhSghVKhQ2iVaJH3zpu0S6EIIIUQBSKwL4cfmzZvdpEmT3BtvvOEyMzPdoYce6nr27On+85//WAnGCy+80B133HFu0KBBucbts88+s3U8D/qWLVvc3Xff7d59912XnZ1tzZFuvvlmK+fosXr1avfAAw9Yt9Ndu3a5WrVqufPPPz9oYmo4DJu12C1duyVhPOoTejV1qakpEutCCCFEAUisC/H/bNy40YR5lSpV3OjRo91hhx3mvv32Wzdy5Ej3yy+/uFtvvTXssRoxYoT7+eef3aOPPupSUlLc7bffbrXVEefw/fffm7g/8cQT3WOPPeYqVqxogv/ee+9133zzjbvzzjsj/l5WZmxLGLEuhBBCiPCQWBfi/7nvvvvcfvvt56ZMmeL2339/e+3www+35kVXXnmlu+CCC8Iaq+3bt7vXX3/dPf/88+6YY46x14iq9+nTxyLobPvGG2907dq1c+PGjfN97ogjjrC67Oedd57r2LGjReOFEEIIkdyozroQzrndu3dbIyMEtSfUPTp06OCeeOIJV61atfB+qVJTrVNp/fr1c72elZXltm3bZpHzZcuWuQEDBuT5bMOGDU3Ez5gxQ9+LEEIIIRRZFwKwrBARRywHgo2lZcuWYQ8Ukfi2bdvmeu2pp55ydevWdZUrV3avvfaaK1OmjKtdu3bQzzdr1szWTxZSUop/38V5DImIxk1jp2sucdDva/yOW7jblg1GiP9PCIXy5cuHHI9HHnnETZ06NU/UPD+eeeYZt2DBAvf444/7kljZD5OAYBx44IFu06ZNSfG9VKpU1sUDaWmhv3ehcdM1V/zod1Vjl4zXnMS6EM5ZgqcnpEPRq1cvqwrjz+LFi93111+fZ91nn33WjRo1yt10002uTZs2PjH+559/WpUYLDOBrF+/3nc8JZ2NG7e5rKzsYts/8yX+EGdmbnV+Jd+Fxk3XXJyh31WNXUm85rx9hEJiXYj/T+4k2r106VLXqFGjPGNyxRVX+AQ6Yrt69eq53v/jjz/yfIZE1XvuuccNGzbMXXTRRb7XGzdu7P7++2/3448/WkJpIEuWLAlqxympxINI5hji4TgSDY2bxk7XXOKg39fEHTclmArBrHWffdypp55qkXCSTf155513bKGkY7jMmTPHhDoR9b59++Z6r0GDBlYlxivj6A/Jp++//74799xz9b0IIYQQQmJdCA8aHf31118mrhcuXGhJpzNnzrQyi9REr1OnTliDhd+cOulnnXWWO+2009yGDRt8i+dtHzNmjPvqq6/ctddea7Xcf/31VxP4VIhBqFO6UQghhBBCNhgh/p+DDjrIaqM/+OCD7rrrrjPRjT3m6quvdr179w57nOhISmUZxDeLP2+//bY1WzrqqKNsIvDQQw+ZxYZJAh1Mhw4dGnVUvVZ6Wbdjd/6JrvHWwVQIIYQQoUnJySluJ44QIhnZk5XtNm/a7rKzi+9PEMk96enlXUaGEkw1brrm4hn9rmrsSuI15+0jFIqsC1GCKqskEoj04hTqQgghRCIgsS6EKBZSU1NsyQ+JeSGEEEJiXYgSQ7w0GCpJNhkhhBCiuFFkXYgIqFu3rjv99NPdfffdl+v12bNnW7IoJR49aLA0adIk98Ybb7jMzEx36KGHup49e1plGa8ZErXbqTzjUapUKXfwwQe7M88801155ZVu3333DfvYhs1a7Jau/acTa6JDAuqEXk0t8i6xLoQQIpmRWBciQl5++WV3zjnnuFatWuW7zsaNG02YU5t99OjRVgGGEo0jR450v/zyi7v11lt961566aW2AF1NacxESUeE+8CBA8M+rpUZ20qMWBdCCCHEP0isCxEh1apVszrqc+fOdfvtt1/QdYi88x5dTPfff3977fDDD3cHHHCARcwvuOACV7NmTXu9TJkyVjbSo2rVqq5bt27uzTffjEisCyGEEKLkoQ6mQkTIkCFD3Lp160yIB4MOqK+88orr06ePT6h7dOjQwT3xxBMm+EN1VI3EAiOEEEKIkoki60JECJFvGiXdf//95l8nYu4PnU9pitSwYcM8n01JSXEtW7bMd9t0OP3yyy/d/PnzfdaYZIc6tIW97cLcR0lE46ax0zWXOOj3NX7HLdxtS6wLEQUkhpJUih998uTJud7bsuUf33j58qEbHcAjjzzipk6dao937dplXnUmAX379k3676aoKtykpYX3XQmNm6654kW/qxq7ZLzmJNaFiAIE9e233+7OP/9899Zbb+V6r2LFir5qMOHQq1cvE/+A9SU9PT1fL3wyNnrKysou1KgGf4gzM9XBVONWNOia07gVNbrm4nfcvH2EQmJdiChp1qyZ69Gjh0XX+/Xr53v9iCOOsKg6VV0aNWqU53NXXHGFifPWrVvb8wMPPNBVr15d30M+FNYfycB9FMV+ShoaN42drrnEQb+viTtuSjAVYi+47rrrzJ/un2xKcuipp57qnn32WUs29Yc67CyUdBRCCCGECIXEuhB7QaVKlUyw//bbb7leHzRokPvrr7/Md07TI5JOZ86c6W688UZrilSnTh2NuxBCCCFCIhuMEHsJDZJefPFFt379et9r1E1//vnn3YMPPmhiftOmTWaPoYpM7969C2XMa6WXdTt2Z7mS0sFUCCGEEM6l5OQUtxNHCCHysicr223etN1lZxfenyiSe9LTy7uMDCWYatyKBl1zGreiRtdc/I6bt49QKLIuRAmqnFKSQKQXplAXQgghEgGJdSFEXJKammJLUVCqVPD0HU0YhBBCFDcS60KUEIqqgVAyjV1RWHGEEEKIgpBYF8KPjh075qns4tVUJ2EUXnrpJSvLuHz5cle2bFl3wgknuCFDhrhDDjnEffLJJ+7iiy92r7/+uqtRo0ae7XTu3NkSUi+77DJ7zjYefvhh99lnn7kdO3a4unXrWh32du3aRfy9DJu12C1d+0/3VBGbJNcJvZpadF9iXQghRHEhsS5EADfffLPVSfeHzqIwZswYE+tUeDnuuOOsysuECRPcBRdcYKUZeY1KMG+88Ybr379/rm189913bs2aNe7000+351999ZWVduzWrZt77LHHTPjzuSuvvNKNGzfOde3aNaLvZmXGNol1IYQQooShOutCBED3UQS3/1KxYkX3xRdfuCeffNIi4eeee651HW3cuLE937Nnj71XqlQp16VLFxPdgSxYsMAde+yxFoGnCNNNN91kk4I777zTNWjQwCLxCHy6m95zzz0uK6tklGEUQgghRPQosi5EmBBRb9SokWvevHmu10uXLu0mTZrk0tPT7TmR8meeecb9/vvvJsw9XnvtNXfppZf6ouqrV692EydOzLMfBDvR99RUzaWFEEKI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Dz9Y2cdbb73VlS5d2pUqVUrfjRBCCJHkKLIuxF6K9W7durn99tsvz3u9e/c2Yf7WW2+5+++/31188cWuXLlyrk+fPvaciDuCfNKkSW7kyJHuvPPOc2XKlHFdunSxJNNIqZVe1u3YrZKPdDAVQgghSgopOf4GWiFEzEGst2rVypUt+091km+++cadf/75Vs4RwS5iz56sbLd503aXnZ0TMrknPb28y8hQgmkkaNyiR2OncStqdM3F77h5+wiFIutCFDI0OXr33Xdd//793bZt29y9995rtdhjLdSpfiL+AZEeSqgLIYQQiYDEuhCFzLhx48zm0r17d7PLINRvvvnmmO+Hko/ZBVcqFEIIIUSCIbEuRCFDoumTTz6pcRZCCCFExKgajBBCCCGEEHGKxLoQQgghhBBxisS6EEIIIYQQcYrEuhBCCCGEEHGKxLoQQgghhBBxisS6EEIIIYQQcYrEuhBCCCGEEHGKxLoQQgghhBBxisS6EEIIIYQQcYrEuhBCCCGEEHGKxLoQQgghhBBxisS6EEIIIYQQcco+xX0AQojYkJLyzyIiGzP/n0LjVtjomtO4FTW65uJ33MLddkpOTk5O4R2GEEIIIYQQIlpkgxFCCCGEECJOkVgXQgghhBAiTpFYF0IIIYQQIk6RWBdCCCGEECJOkVgXQgghhBAiTpFYF0IIIYQQIk6RWBdCCCGEECJOkVgXQgghhBAiTpFYF0IIIYQQIk6RWBciAdi1a5e7+eabXfPmzV2bNm3c1KlT8133u+++c+eee65r3Lix69Gjh1uyZIlLZiIZuyuuuMLVrVs31/Luu++6ZGb37t3u9NNPd5999lm+6+iai37sdM39y7p169zVV1/tjjvuOHfiiSe6MWPG2O+vrrnYjp2uuX9Zs2aN69u3r2vatKlr3769e/zxx108/p3bp8j2JISImnvuucf+MDz55JNu7dq17oYbbnCHHnqo69KlS671tm/f7vr37++6devmxo4d655//nl3+eWXuzfffNOVKVMmKb+BcMcOVqxY4e69917XqlUr32sHHnigS1b4z/7aa691P/30U77r6JqLfuxA19w/5OTkmNisUKGCe/bZZ93mzZttkp2ammq/s7rmYjN2uub+JTs72/6/bNiwoZszZ44J92uuucZVrVrV/g+Nq79zOUKIuGbbtm05DRs2zPn00099rz388MM5F1xwQZ51Z86cmdOxY8ec7Oxse87PU045JefFF1/MSUYiGbtdu3bl1K9fP2flypVFfJTxyU8//ZRzxhln5HTr1i3nqKOOyjWG/uiai37sdM39y/Lly22sNmzY4Htt/vz5OW3atNE1F8Ox0zX3L+vWrcsZPHhwztatW32vXXXVVTkjRozIibe/c7LBCBHnLFu2zO3Zs8du03kce+yxbvHixRYZ8IfXeC8lJcWe87NZs2Zu0aJFLhmJZOxWrlxp43X44YcXw5HGHwsXLnTHH3+8e+GFFwpcT9dc9GOna+5fDjroILMgpKen5xqjv/76S9dcDMdO19y/VKlSxf33v/915cqVs7sTX375pfv888/NShRvf+dkgxEiztmwYYOrVKmS22+//Xyv8UeZ2+ybNm1ylStXzrVunTp1cn0+LS0t5K34kkokY8d/YvzRHjZsmImtgw8+2A0aNMi1a9fOJSPnn39+WOvpmot+7HTN/QsWDrzWHkymn3nmGdeyZUtdczEcO11zwenYsaPZJDt06OA6d+4cd3/nFFkXIs7ZsWNHLrEJ3nMS2MJZN3C9ZCGSseM/sZ07d1oSKlEqRDqJWN9++22RHnOioWsuenTN5Q+5IyT0DR06VNdcDMdO11xwHnjgATd58mT3/fffW3JuvP2dU2RdiDhn//33z/MHwXt+wAEHhLVu4HrJQiRjd+WVV7oLL7zQl1Bar149t3TpUjdjxgxLQBKRjXGyXnORoGsuf7FJQvj999/vjjrqqDzv65qLfux0zQXH+xvPXdfrrrvO7rD6i/PivuYUWRciziEzfePGjea99r8lxx8Jbn8GrpuRkZHrNZ7jzUtGIhk7KicEVn6pVauWlUQTBY+xrrno0DWXl5EjR7pp06aZ6AxmR9A1t3djp2vuX/i79dZbb/m94szq8vfff+fx+xf33zmJdSHinPr167t99tknVyILiTBEAvjD6w/1X7/++mtLlgF+fvXVV/Z6MhLJ2N14443upptuypOgimAX+aNrLnp0zeXmoYcectOnT3fjx493p512mq65Qhg7XXP/8uuvv7qBAwfmCshQ5pdcJv98pnj4OyexLkScU7p0ade9e3d3++23u2+++cYiATT2+c9//uOLFOO1BmqHb9myxY0ePdotX77cfuK169q1q0tGIhk7Eozmz5/vXnrpJau3y39+CPsLLrig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" }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 45 }, { "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:39:01.830609Z", "start_time": "2025-11-13T14:39:01.755673Z" } }, "cell_type": "code", "source": [ "# For One vs One model\n", "# Collect all coefficients from each underlying binary classifier\n", "coefs = np.array([est.coef_[0] for est in model_ovo.estimators_])\n", "\n", "# Now take the mean across all those classifiers\n", "feature_importance = np.mean(np.abs(coefs), axis=0)\n", "\n", "# Plot feature importance\n", "plt.barh(X.columns, feature_importance)\n", "plt.title(\"Feature Importance (One-vs-One)\")\n", "plt.xlabel(\"Importance\")\n", "plt.show()" ], "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "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74sQQgghyg+JdSEqCDVrVkvp/tbl5duypSsl2IUQQohyRGK9gtK4cWP/+eabb9oOO+xQ4L0nnnjCrrnmGuvfv78dc8wxdvDBBxe5n3322cceeeQR69Spk/3666+R9RkZGbb11lvbXnvtZVdffbVtv/32BT730Ucf2X/+8x8755xzbODAgQXeu+yyy+z111+3l156ybKysgqd98MPP2z77ruvv37//fftjjvusG+++cY23XRTa9Wqle9vjz32SDgG06ZNs8GDB9vnn39um222ma/7+++//Zpq1qxpb7zxRmTb33//3Q488EB77rnnrGnTpkXuc9KkSXbnnXf6Z4Nr/Pbbb4vdrqwYPHGGzVrwZ0r21aj2Vja6ZyvLzMyQWBdCCCHKEYn1CgwCFbF4yimnFFj/2muvudgGRPZ7770Xee/444+3M8880w4//PDIPgKuuOKKyPr8/HybM2eODR061C699FIX2NG88MILtvPOO9uUKVPsggsuiBwv4M8//7Sbb77ZRowYUeT5z5w5084991wX3Gy7Zs0ae/TRR10gs98dd9yx2Otv06aNrV271mbPnm3Nmzf3dV999ZVVqVLFxfnPP/9sO+20k6//4osvbJtttolMcjYWxumggw6ysmRezoqUiXUhhBBCpAdKMK3AIFZjI7t//fWXC9Pdd9/dX2+yySa27bbbRhZeV69ePfK6Ro0akc9Gr69Tp47tv//+dv7553uEefny5ZHtiF6//PLLHlX/7bff7OOPPy50bnXr1rXJkyfHfS9g6tSpfoyTTz7Z6tWrZ7vttptde+21fvwXX3wx4fWzHZ/78ssvI+s413bt2nn0nN8Dpk+f7k8J8H2ngi233NJq1aqVkn0JIYQQovIisV6Bwd6CGEagB7z11lsu4qtVS42/efPNN/ef0SIX6wrineO3bNnSrSWxYEU59NBDXXwj7uPBPrGY5ObmRtYRoR8/frydeOKJSZ0f10qEPgCBzrFZPvzww8j6GTNm+Dr47LPPrFevXn7ue+65p5111lm2aNGihMcaPny4R9MXLFjgNhisQ8Ex+f3xxx+3Aw44wPc5aNAgj/oH8KTgkEMO8WNefPHFdtFFF7n9RwghhBCVG4n1CgyRaCLg77zzTmTdq6++6qIwFfz000927733ugCNFv9YYFq3bu22EgQ73vSVK1cW+vyVV17pwvaBBx6I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rqtllVw6umcry8zMkFgXQgghSgmJ9QrOrbfe6hHpcePGRZrv7LTTTrblllvaueeea6eccopXH/n77789mn3ppZfalVde6WUK991335QfpziWL19ur732mpdVbNq0qa9D9NOF9Oqrr/bzSjZCXxogzONVl0kX5uWsKFOxLoQQQojSR02RKjA08iFafvLJJxfqktmxY0ev5123bl1//f7777tYxuZBKcGSWDtKcpziIJLPEltGsXPnzi7gg0g/dhui7HQO3WuvvWzQoEG+LrDydOrUySZOnGj777+/7b333nbffffZJ598Yocddpi1atXKBg8eHOkOSjGku+66y9q3b29t2rTxko0LFiyIRPmZtNx5553eqRQbTOPGjf0n8Pu0adOsa9euPmYXXXSRP0XA9sPrk046yWu4B1A7nSZLvHf88cf7vgN4gtCzZ09/jzrwHFMIIYQQQmK9AkMDn5UrV1rz5s0LvYfwbdu2bcQHjthu3bq1bbPNNi7YX3rpJf9sqo9THFtttZUdc8wxXnMcYT18+HB7++23PaLdoEGDiFjv37+/Nz26++677YEHHrC5c+dGPPWwaNEij9A/8sgjLr5HjRplN954o/vt+f3FF1903zk8+uijNnXqVH8y8NRTT1lWVpadeeaZ/qSBSD7intfUQI/H7bff7vu955573KtP7XWWJ5980hYvXuwThUCM89SCfABsRvjwzzrrLPvxxx/9fSYQPE14/vnn3UZ0//33+7ULIYQQonIjG0wF5s8//7FEVK9efA3P1atXu3il0U8QyR45cqSLz+7du6fsOMlw/fXXu2h95plnPCLPkp2d7QL2oIMOctFLRJrJRGCroZEQEWsSQQGhjTDmfRJUEf9E/ffcc09/n/0H2yKKhw4dGrH84I8nyv7uu+96hH6zzTazqlWreiIpya/xuo8SDQ/2yzGJtAfjyPkC9qATTzzRunXr5q+JvhPtp+ESE41ff/3VJ0k8gcA+xCQkSGINAyVIbwjdNVXEaytPNK4a27Che1bjWlok+/dFYr0Cg8CEwCJSFG+++ab7whGLQMLkbrvt5laYZMR6ssdJBjzpWE5YsJC88847LlyZSGAjQWRvvfXWBfzvDRs29CcCvBdMGBC8gGceom04rMO6wzX//vvv3qk02gvP5OWHH35I6nyD4wT7jXccIPqPZYbofQCTCiYGcPbZZ3vUn/eZlBx99NFp7Y8v7yo0ZUlW1sZPQoXGtSzRPatxDRO6XxMjsV6BobIL4nXWrFnWokWLQu9jyUAUY4GBLl26RN7D0z1nzhz77bffvApKKo6Dx7w48Jt//vnnvj3UqVPHTjjhBDv00EO9GgvvFWWnycvL8yVg000L3trxElOD7SkVGZv8ivhPBiw6iY4THAvbS+zkJ5hMUJqSiDz2nTfeeMNOO+00r6TD9YehGVNe3j85ABUt4sEfkdxcdTDVuIYD3bMa1zCh+9UiY5AIedYrMAhW7CGPPfZYJMIbgCBkoQwh0WvEIpH0YHn44Yd9u8mTJ6fkOJRhTASR+TFjxrjXOxpsKIhizhVRje0msLEAkwosKomqzcRChB6POsfjaQILExNsNfPnz7dUwrmRmBoch4UoOmO/Zs0at/8wETnjjDPca49lhuo8YWH9+oq5VORr07iW/zjong3Pov8LNK7rS3EMEiGxXsEZMGCAC9nevXu715tk0AkTJrhPGt80iZpEffkd60uwUFucqiRUYQkIbCnRS2AXSXScRo0aJTxXKsdgaUGwIvARt59++qldfPHFLnap7ML7HTp0cE/6l19+6Qu/8x7nXVLwnFPTneNxLUOGDPEIPgmtwUSB9TR52hg4DomtTIIYm8CPX79+fa+gwzGJpDMJoT4917377rtv1DGFEEIIEX5kg6ng4HsmiZFqJpdccok3HMK2ggecqiVE1BG/8fzRvE81lenTp/trSirGllXkfTzfiY6TDCRzImCpsIJwJeKNHeWQQw7x14HF5Oabb/ZINAKYiDte+8svv3yDxofJRVDHncnGHnvs4cmggQ0GGwqNkfr06VNkRZhkILmVRFf2wU/Ghgo0TDLgtttu8+RWSjrypIJqONSnLwkNsqvZqrX/WoHKoimSEEIIIUqXjPUUmhZCiA1gXV6+LVu6skJ2MMVLmJ1d3XJy5FnXuIYD3bMa1zCh+9UiY5AIRdaFqCCQ6FnWINIrolAXQggh0gWJdVEm4PnGzlIcX3zxhb6NckKiWwghhEhPJNZFmUAtdqrMiPSsd16R7SxCCCFEmJFYr2RQHnHs2LHenZRoNx0+e/To4RVbomuEU/OcddQ8HzhwYIF9UOEFbrrppo0+TnE0btw47nq6gNJhNUyQGvL44497J9Vkx7CkDJ44w2Yt+KebbEkTRUf3bGWZmRkS60IIIUSaIbFeiViyZIkLZmqe33DDDd7OnjKBVFr5+eef7aqrropsS6MkKpZMmTLFLrjgAssoQc/1khwnEVRPadWqVdxGQmHik08+8WovgVgvDeblrNggsS6EEEKI9EVivRJBqUAa71CakNresNNOO7n4pUzgKaec4vXM//77b2/IQ/3yK6+80uum77vvvik/TjJQQjFeWcmwoaJLQgghhNgQ1BSpkkBnUaLlRHYDAR3djIj65nXr1vXX77//vi1fvtzrl7ds2bJEXvOSHGdj6dSpk3cbbd++vXXv3t0F8XfffWennnqqtWjRwrp06eJdVaN58skn7aCDDrK99trLRo0a5dtOmjTJ3+P36FrqNGXCisNPoHPqoEGDrHXr1n5MnhSsXr06YhvifLC60EyKuupsy3jweew/wP7YNoDPsz/sQgFMlpgcffDBBykZJyGEEEKEF4n1SgJdM1euXGnNmzcv9B4Wl7Zt23o0HBDbCEii2gj2l156yT+b6uOkgqlTp3oEH+/3mjVr7KyzznIhjn2HJwNjxoyJTDbefvttt+XgwaeBE91bS1KBhqcMTGL4LPvF2oO1JWDRokX+ROL+++930Y8A59jbb799ZBLw3nvvFbD18LSBKjl8LoDGUzRGootsWYPbScu/Y6AxKZ37QeNaev/ONLYa1zD9H6771ZJCNphKAlFhqF69+OL7RHpff/117zwKnTt39mROhCfR61QdJ1kQ33QpDahZs6a98cYbkddHHXVUJBF1woQJlpWVFUmIrV+/vv3666/28MMP+7nzPsmpwXXQCZUoe7KTkNdee80tQcG1EVlnX0H3VCLiQ4YMsV133dXPiQg7gv7EE0+MdESNZ+k54ogjvAsskw2eRjA5ooNp9HWnezWZikxWVmruZaFxLSt0z2pcw4Tu18RIrFei0olBlZbiePPNN23FihUeUYd69erZbrvt5hHiZMR6ssdJluuvv96tOAGxlWSiLTXz5s2z2bNnF4hc5+XlRUQv7/fq1SvyXq1atfz6kmHu3LmWn59vHTp0KLCedT/++GPkdfT+ttpqK1u3bl3Cfe+///7+tOHdd9+1Aw880CcFd999t5VHU6W8vPwyP266QtSHPyK5uepgqnENB7pnNa5hQverRcYgERLrlQQquxARnjVrlvu5Y6FEI55tLDCA3ztakM6ZM8d+++03t3Sk4jj77bdfUuddp06dYgV1tC8eYdyuXTu7+uqr426L5SQ20bM4Sw5CP/p3ruuZZ56Je44zZsyIu79kEkuxvDDeWGE222wzF/nYkMqDJE630sGYaFw0rmFC96zGNUzofk2MPOuVBATh4Ycf7gmXJD1Gg62EhUjzO++8Y3379vVIerBgI4HJkyen5DiUdCwNqDAzf/58LxWJwGeZPn26PfLII/5+o0aN3JYSgLf+hx9+iLxGaPNUIYAyk9H7xq+O7z7YN5ahESNGFLrOeCQqfYk9h7FnfLDAlKRUphBCCCEqLhLrlYgBAwbYX3/9Zb1793bvNT5sfNw06KFaCQmXRJD5HetLsJDoiP/62Wefjexr4cKFLi6jl0D4JjoOork0wL+OgCayjm0lSCjFxw5nnHGGTZs2zZ566il/n+04z4A99tjD3//yyy99uf322yPvNWzY0Mfgkksu8fd4coBXHcG/9dZbJzy3KlWq+M+ZM2e6Nz0WkmLZhjHGwy6EEEIIAbLBVCJIbqSSCZVJEJ1Lly512wrJpHi5iajjyY6XBMn7/fr180h1ULGEJRreJ1Ey0XFKC+wj9913n914443ur8c/TwnJs88+299v2rSpR8KpA0/1GN6js2oAYp7Sj9SBx9pC9Zfgs8Bn8dCffvrp/gQB8U5CaTKQcIo3vWfPnl4yMhYi6UTUiawzadgQGmRXs1Vr/7XulKSDqRBCCCHSk4z16tYiKjHURu/fv78de+yx5X0qdvHFF7u9JqjEU5asy8u3ZUtXWn6+TOsBOJGys6tbTo4STFOJxrX00NhqXMOE7leLjEEiFFkXopzhaQW2GkpmPv/88xtVzWVDQaRLqAshhBDph8S6KHNyc3O9EVBxlKRZUdihZOP48ePdQkRybHmQmZnhS1FIzAshhBDlg2wwoswhifWXX34pdptk65+LsqEy2mT0iFbjGjZ0z2pcw4TuV5MNRqQvNClKhRinYyjNgygvSXWa7Oxsr1dONRqSTYMa8ZRupD46zYsoT0nDJ3zqQQOnAPZDyUlqylerVs0TQumGmqi2fLoweOIMm7Xgnw6yqYQE1NE9W3nkvTKJdSGEECIdkA1GhJaRI0d6RRoqtOy0005eF51SjYjyoAPoBRdc4H5wqtI0b97cFixYYDfffLP16dPHhXnQVGn48OEu1tmOUpVUsBk9erRXhqHsJCI/3ZmXs6JUxLoQQgghyg/VWRehhZrkiHG6luL15uc111xjb775pi1atMimTJnivz/44IPeqAlBv++++9q9997r0fOgydOnn35qDz30kN111112wgkneNS/ZcuW/pquqLwnhBBCCFEeSKyL0EJt8g8//NCtLgGtWrWyF154wWrWrOli/tBDD/Ua79Fgl0GAd+7c2V8TUW/RooW1adOmwHY0KRo7dqzXY08EEwMmAoj7gJdfftkOOuggozoqXU55AsA2LEH9+QC6xHbs2NGj/5SRZAIhhBBCCCGxLkIL3VDxo1MrfejQoS6O6WBKh9TNNtvMZs+e7eI3HkTOA896cdvtvvvuVrt27YTngg+eYzN5CKAbateuXX1SQSMkupfStAlhTudUngrA119/7Q2XuAY+w6QBr3z0JCSdEoIq01IZr1njWv7jo3s2/Rb9X6BxzSjFMUiEPOsitJx33nlubXn88cft6aeftieffNITQ+k8etxxx9ny5cutevXEzQbYLkhI3VA4LpHxl156ydq3b2+rVq2yt99+2ycT/P7oo496kiudTAFxToT922+/tV9//dUFPd1UsfMg1NkXYj0zM33m0zVrVrPKSFZW4ntIaFzTCd2zGtcwofs1MRLrItQcddRRvixZssTee+89F8WIdUQxkfNly5Yl3Afb/fnnxidmHnnkkTZkyBD3zb/11lsekd9jjz3su+++88o1PXv2LLA9YvyHH36wDh062G677WbdunXzSD5Rerzzm26aXv88abqUl5d+0f7SgogHf0Ryc9XBVOMaDnTPalzDhO5Xi4xBItJLDQiRJFhX8Jpfdtll/hqPOmKX0o140bGjNGvWzCvBxANbSlZWlp122mm+HRaVeOBtz8nJsYsvvjjhOSG6qSH/ySefuCUHCwywDngCULVq1QKf4RzwxlNx5uOPP/aE2EmTJtkTTzzhP+vUqZNW98T6Sli5kWuujNdd2mhcNbZhQ/esxrW8SJ9n7EKUAATwAw884H7vaDbffHPbcsstvdQiEffXXnvNSzpGQ012yjYGkWtE/pdffmmfffZZge1WrFjhYj0Q24ng2CS0vvrqq/b+++/bEUcc4eux6lBbnoRSKs2wYLuhXCTdXOnWes8991jbtm3t8ssvdyvNmjVrCp2PEEIIISofEusilBANp9LKueeea1OnTvWOqNOnT/ckTSqvEF2nXCM104mek7iJaMdH3rt3b2vYsKEdf/zxkQoy2E7Y18SJE+2nn37yKPdZZ53lnnF+lsQKwz62224723XXXX0dwpz9Y4/56KOPvGzk4MGDvR48HnUmF5SJJLrOdVDNZuXKlRF/uxBCCCEqLxnrqSsnRAghcZPmR0SiaXaExYTkTiwrJGsCEWrqqj///PP222+/ednGQw45xJNTt9lmmwL+caq0kASKqN96660jHUxLYkUhCs85UKnmnHPOKXCuNGNi0oB/fe+993Z/O1F3oOb7mDFj/Do49/PPPz8SmU+XDqZ41tetq1ye9ezs6paTI8+6xjUc6J7VuIYJ3a8WGYOEYyWxLkTqoCQjIp/JQSDEKwLr8vJt2dKVlp9feeb2+kOicQ0bumc1rmFC96slLdaVYCpECuABFUmlr7zyittqykOoE/kuLRDplUmoCyGEEOmCxLoQSYBt5n//+1+R71977bU2evRoTySl62mYkTAXQggh0geJdSGSgMRVfOdFQQlGqs9UhKZFldHyIoQQQqQrEuuizCCxkoRQ6qNTPpFkT+qiDxgwwCumnHrqqV6FhUTM7t27F/js3LlzI9Vd6Aoa8NVXX9mdd97pZQ5JEqWCCtVeSCINuOOOO3y/0Z+jYkzfvn29KRH1z0kqJSk0HnXr1rU33njD0p1UJJgGyaSZmRkS60IIIUQaILEuyoyRI0e6leT66693TzcC+YYbbvAShoh42GyzzVwYx4p16qVnkIkRxbvvvuvlFk888US78MILbYsttvCmQlSDoRJLv3794p4Hop7SiXQWpd461VeCWux0QY0Fa0sYmJezolSqwQghhBCi/JBYF2XGs88+azfeeKO1a9fOX1NjnNrjJ598si1atMjXtWnTxgUzkW+aDEWL9T333DPympKMdC8988wzXagH7LLLLr5fSi5Sh71JkyaFzoMJAscg0s720Wy77balcu1CCCGEEBuCmiKJMoPI+IcffuiR7QAqp9AEqGbNmpHXRMjZLgDLDNH3fffdN7KO6DsdQfv06VPoODREoukRNdNjoZY56+kY2rRp05Rd2+rVq61169ZeDSba9sM5f/DBB/6azqZYeVq2bOkNmbDmBMyePdt69uzp7x1wwAFu7RFCCCGEUGRdlBl4wm+//XaPkh944IG23377eQOhRo0aRbahYygRccR4hw4dfB3bI2A33fTf23XmzJlWv359q149fn1ShDN+9mjoEErFFhoO7bXXXim9NrqQ4pOnfCOTBcDywznjs0eMX3rppV41pkWLFt5Jlc6oU6ZMsXr16rkth3O65ZZbbP78+X6OzZs393EqL2JcR5WO4Por+zikGo2rxjZs6J7VuJYWyf59kVgXZVr+EK86CZ1PP/20Pfnkk1atWjW78sor7bjjjotsd/DBB9uwYcPcIgOvv/66+9K///77yDbLli3zLqNFQXfSJUuWRF7zWYQyghifeq9evaxWrVqFPkdkP5azzz67SP97NHQcxZKDRYenA3RWPeyww9zzPm7cOL+Gbt26RSYun3zyiT3xxBNu5/n111/9uklmZYweeOABt/OEvbJMRSArK3HDCqFxTSd0z2pcw4Tu18RIrIsyhfKGLAhpfOOPPvqoi3WquATQARSLy6xZs1y4Tp8+3Su6RIt1xHhOTk6Rx8EDH1hrgOOR2Nq1a1e3ojAZuO222wp9jko1sXCsZOC88dmT+EpEnCcCQeIs1WymTZtmTz31VAGbDE8WggnBqFGj/H2eLBx99NHl6p+nwVJe3r92pcoa8eCPSG7ucluvKpYa1xCge1bjGiZ0v1pkDBIhsS7KBGwgCGGiyICQJspM6UZsI9Ee9SpVqrhFBisMVhdsJETgo8Hb/eCDD7oIjxblAQj9aI87tpgTTjjBf7/66qs9yo9wDywrAVhSNhQsL1wPVhiq2lCOkuNCXl6e215iq9xgnwHKSHI+CHyu+7TTTvMJRXDO5YEE6r/joLEonftL41o6aGw1rmFC92tilGAqygTEKtaOr7/+usB6ItEI1lhLCpYQyjBigTn00EML7Q8/O5FnEkZjwX5CJDvaWhPtd8dbjqjGZvPHH39YKmEC8s4777jgxgITlJuk6swvv/zik4FgIYrOtthmiPozFmeccYZXqcEyg+gXQgghROVGYl2UCc2aNXN7B3XRp06d6sIVewudQSnTGBvh7tixo3377bduleH3WBD4w4cP96RRhC7bUiv94Ycftssvv9wTNIur9jJkyBA/LtHraBYvXhx3ia5gUxx44nkyQJlKPOwBp59+ur344ot+fj/99JM/FWDhyQH+9s8//9zPZd68eZ4Y++mnn9ruu++e1DGFEEIIUXGRDUaUGf/973/dw01ZwgULFljVqlXds41vHctINFlZWV41hYh4vERQoF47CZp33XWX20aIUCPQqagS3cE0HrVr17ZBgwa5JQb7SeBLDzzksVC9Zbvttkt4jUTSiagTWd9jjz0i66kRP2LECPfe83PnnXe2W2+91fbee29/H//8dddd5yUduWb2wcSmJDTIrmar1ubZxnYwFUIIIUT6kLF+vVyDQqQSOqhicyG6H0bW5eXbsqUrLT+/cmdV4mDKzq5uOTlKMNW4hgPdsxrXMKH71SJjkAhF1oVIEdh6SGzFZ//888+XSwWXVIBIr+xCXQghhEgXJNaFSAKSPYNKNkV51alQM378eK+1Xp410pNFolwIIYRIfyTWReigIdLYsWPtlVdesdzcXNthhx2sR48e3miIDqgBH330ka8755xzbODAgQX2gXcc73w8jjnmGLvpppsir0n+pIkTzY1wje26667ukY9OACXhtU6dOjZgwAALSyMj2V2EEEKI9EdiXYQK6qojzEkQveGGGzyCTfUUKqlQDeaqq66KbPvCCy94IueUKVPsggsuiJRRjO5WimiPJah9HkTUL7nkEjvzzDNt8ODBnvyJcOd3qrkQUU8XBk+cYbMW/Jl0Iunonq0sMzNDlhchhBAijZFYF6GCCirUIx83bpyXPAS6nCKwqZ5yyimneE1zuoMitC+99FLvkPrxxx8XaJIENC4qrkvoX3/95dViiMxHV2ahNCTVbKg68+STT1q6MC9nRdJiXQghhBDhQGJdhAbqohMtJ6odCPUAarET6a5bt66/fv/992358uXeXIlION1TY8V6Iii/iGDHShMLk4DVq1cntR+87pSGXLhwoTd6qlGjhvvag26mlJy8/fbbPSkVi0/btm29/vz2229fovMVQgghRMVDTZFEaKCZ0MqVK6158+aF3sPigsgl6g6I+tatW7tIRrDT1ZTPloTZs2dbgwYNCtWAB+w3jRo1Snpfjz32mDeGQpDTAAoxzmQC+P3VV1+1m2++2SP169at80h+so2YNhbcQVrij4HGp3TuDY1r6f2b09hqXMP0/7nuV0sKRdZFaPjzz38sHtWrF1+TlIg35RODOueI45EjR3pCahDNBrqE4luP5b777rM2bdq4mI4n1DeExo0b21lnneW/45+nk+n3339vDRs2tMmTJ/sxmWwA50q3V54OHHDAAZZOSamVkaysxDVwhcY1ndA9q3ENE7pfEyOxLkID9hHAKlIcWE1WrFjhEXWg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zjrLk+yABjPYESg/t/fee9v+++/vjV/oItmxY0fvLBl0dwz2zWei+e2337x+Np0lA2gSs/vuu9uPP/6Y1Dl///331rNnT2vevLl1797dbQ2APaRx48b+M2iu06VLF9+OkntBfW6ugWu+/PLL7bLLLvN1tI6nEybRVmxA2IECewRR3XPPPddL8RHd5j28znSwDHj55Ze91neiIjw06nn00Ucjr/FBn3LKKZHXTz31lI9/9LVwjh9//LEfl3MP4HpoYc93Re1wbEzJwvdCsx7KIWIX+eSTT3z9E0884d9bNJxT586d/Xf83dQ15/pZLrnkElu6dGmB8adUIvdH3759/XtlMggLFy7095955pnIvvkeJ0yY4L/THZTvieshmZNrDuC6+R4CHnzwQf+e+L44H96PvteKukfiffdFQfMl9v/KK69E1v39999+3dROT3TONF/iHHgvuKeEEEIIIUok1rGq0KgFsf7II4/Y2Wef7SKctujjxo2zn376ye69997I9vh38U/zOTpKXnPNNfbwww+7gEf80KXx66+/LtbeQRQfcRvA702bNi3Udr64c6ZO9pQpU2ybbbaxoUOHFtqGCcDgwYP9ephMHHfccXbRRRe5sET0Bdd85ZVX2h9//GEnnXSS1a5d24Uj+0NQc10B+MOp6U3dbprzIOQ+/PDDyPs020H8JqoWgt0oEHQIP+qK04WT34MSgbE5A5xjq1at7MwzzywgWKk3Tgt7zpPJDx02kwFRS21wxobJ1n777efCGjHN5IafM2fOjGyPWOXagOPxHsfiuDQpuuCCCwrs//PPP3dBzvgSEadZEHDdjA/vA5/l2rlehC31yc855xz/XpnUMFGMN4Hjfaxb7J+JBJOEYLKR6B6J/e6LgzrtTIai79X//e9/tummm/qkLdE5c/9xX/NvieZI/NugOZMoCP9kynopr+NW9EXjqrEt73tQ92z5j6n+L7DIGKTMBoNVBcsFrdc333xzjyAT7UVU4eclovrll19GtidyPGTIEPei9+jRw8UrSX9Ey1kQcyRCElEtCkQ+kVHEcyB0WZcsRJ4RUUGkNNhPNAhOBDDCDHsPQpeo7hZbbBHpMMk1syA6WYeARYg1bNjQFi9e7BFihDlkZ2f7cQN4ksAkAPFNsiIijMlOItj+4osv9nFEYO+8884+WWCCQxT4o48+csEXDeeIX5sx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nM/bhUhzsMDQ2KhJkyZeujFYTj/9dPvrr7/stddeK+9TFEIIIUQIkFgXIsVMnz7dSzQef/zxhd5r0aKFNWvWzJ599lmNuxBCCCESIhuMEBtBvKote+65p3377bdFfmbSpEmR34vbrqQ0yK5mq9bmWXl0MBVCCCFE6SCxLkQFYcTx/1aUKWvW5eVbfr6M3UIIIUSqkVgXooLw55+rUrYvhPf6EmRVsr3EuhBCCJF6JNaFqCBsvXWVlEbKly1dKQEuhBBClDMS60JEsWzZMhs7dqy98sorlpubazvssIP16NHD/vOf/3gJxlNPPdX22WcfGzBgQIFx++ijj3ybwIP+559/2s0332xvvvmm5efne3OkK664wss5Bvzwww92++23e7fTNWvWWIMGDeykk06Km5iaDIMnzrBZC/5MiQd9dM9WlpmZIbEuhBBClDMS60L8P0uWLHFhXrt2bbvhhhtsxx13tK+++sqGDRtmP//8s1111VVJj9XQoUPtp59+snvvvdcyMjLsmmuu8drqiHP45ptvXNwfcMABdt9991mNGjVc8N9yyy325Zdf2nXXXVfi72VezoqUiHUhhBBCpA8S60L8P7feeqttvvnmNm7cONtiiy183U477eTNi84991w75ZRTkhqrlStX2ssvv2xPPPGE7bHHHr6OqPrJJ5/sEXT2fdlll9mBBx5oI0eOjHxu55139rrsJ554onXq1Mmj8UIIIYSo3KjOuhBmtnbtWm9khKAOhHpAx44d7cEHH7S6desm948qM9M7lTZt2rTA+ry8PFuxYoVHzmfPnm39+vUr9NnmzZu7iH/66af1vQghhBBCkXUhAMsKEXHEcizYWNq2bZv0QBGJ79ChQ4F1Dz/8sDVu3Nhq1aplL730klWtWtUaNmwY9/OtW7f27dOBjAyrtATXXpnHoDTQuGpsw4buWY1raZHs3xfZYIT4/4RQqF69esLxuOeee2z8+PGFouZF8eijj9q0adPs/vvvjySxchwmAfHYZpttbOnSpeX+vdSsWa28TyEtyMpKfE8IjWs6oXtW4xomdL8mRmJdCDNP8AyEdCJ69uzpVWGimTFjhg0aNKjQto899phdf/31dvnll1v79u0jYvyPP/7wKjFYZmJZtGhR5HzKkyVLVlheXr5VVphL8UckN3e5laDkvNC4lhu6ZzWuYUL3q0XGIBES60L8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/91333n0vEWLFtalSxdvXBRtg4mOrL/33nveQIlt+/TpY8OGDStQZ/2vv/6yCy+80Fq2bGkHHXSQ11YP9vPss8/6QhMlIYQQQgiJdVHp2HzzzV0o040UPvzwQ+8oSoR877339ih7YIHZddddvfMozYuIyGOfufTSS93L/txzzxXa988//2znnHOO21h4n4lBtLCHV1991Zo1a+Y+eba74oorbPny5W6n4TXLxIkTy2g0hBBCCJHOSKyLSgnR8kCsI8733Xdf/x1/erRY5zWRbxJSBw4caPXr1/eod79+/bzTaCwTJkzwiDpdThs0aGAXXHCBTwxiO6EScd9pp518O5ohzZs3zycL2G9YatWqVSbjIIQQQojkkkFLY0kGedZFpRXrQWQccY5VBRDnVGpBQCPWiZLjW589e7aL7IC8vDzbZJNNCu3322+/9Wh6NHvuuafbaQIQ6QHYbmDNmjWlcJVCCCGE2Fhq1kxdbtqGILEuKiUI70WLFtlXX33lP1u3bu3rsb0goD/55BObM2eOi/fPPvvM2rVrZ1dffXXC/SLgY5NEY1/HE/lqJCyEEEKkb9PBvLz8lO+XyHpWVuIOprLBiEpJ1apVrWnTpvbUU095JBxfOmRkZLhvfdKkSW55wY6yyy67eLLpjjvuaPXq1fOFqHu8uuqI/SBxNSD2dXFwfCGEEEKkF+vXl86SDBLrotKCKH/hhRcK1VHn9euvv+7vw1FHHeXlHImsz507195++2274YYb3Mcey4knnuhC/t5773WBf/fdd9unn36atAhn0vDrr7/awoULU3SVQgghhAgzssGISgvVXcaPHx9JLo0W66tWrYqI+K222sruu+8+u/HGG6179+5Wo0YNO/nkk+3ss88utM+6deva7bffbjfffLP/3H///e3ggw/2UpHJcPTRR9t5553nEwSq1JQk0t4gu5qtWpuX9PZCCCGEKL4pUjqQsV5mWSFSBvXY161bZ7vvvntkXd++fd1qE90ZVQghhBDpz7q8fFu2dGWpdDAlHpedndizrsi6ECnkp59+siuvvNJGjRrlnvf//e9/9sEHH9hFF11UJgkwIvUVADSuqUfjWnpobDWuYSIM92t+/vpSEeolQWJdiBRyyCGH2Pfff++CPTc315NTb7vtNmvSpInGWYTuD0RpEDi7qKyQbHKV0NiWJ7pnNa7ljWwwQghRyR69lifBY9+cnOUS6xrbUKB7VuNaWsgGI0SS0JG0f//+duyxxxZYT/nGO++80954441iP5/sdnDHHXfYxx9/HLfsI/z111/22muveSJrSRk8cYbNWvBniT8n0jOpaXTPVpaZmVHhxLoQQoiSIRuMEBvJ4YcfbgcddFBKxvHBBx/0jqobItbn5ayQWBdCCCEqGBLrQmwkW265pS+pQMWZhBBCCBGNmiIJkQS//fab9evXz1q2bOm2GWwveXl5ERsM6wJmzpzpzZFatGhhPXv2tNGjR9upp54aef/vv/+2a6+91lq3bm377befPfDAA5H9sF9sMo0bN9b3IoQQQghF1oVIJtqNp52KLs8++6wtXrzYu5nSsIgGRtEsX77c+vTpY127drWbbrrJSzcOHz7chXnAF1984UL+ueeec58773fo0MHtNFSS4X287UJACfpihep6Ktp1pQMaW41rmND9akn/PygbjBBmNnToUBs2bFiBsaC50bbbbuudRBcsWGATJkywzMxMa9CggV166aV2+eWXFxLrL774olWtWtWGDBlim2yyiW/7+eefu8APqFOnjn8WsX/66afbXXfdZd9++601bNjQP0u3U44rBDWIKypZWYkbgQiNbTqhe1bjWl5IrAthZueff7517ty5wFi88sor9sQTT9jcuXNt6dKlttdee0Xey8/Pt9WrV9uSJUsKfAbR3axZMxfqAXvuuae9+uqrkdc77rijC/WA6tWr25o1a/Q9iELQLIR65BUJbn1ET26uSjdqbMOB7lmNa2nfW4mQWBfCIyZZVq9evULrggg7EfIxY8YUGiuEdjSI9Ngk0djX0UK+qG2E+PfeqLjXVVGvrbzR2Gpcw4Tu18QowVSIBNCFFBtMrVq1XNCz/PLLL3b77bcXiJDDrrvuat98841H3gNmzZqV9BjH7k8IIYQQlRuJdSES0L59e6tbt64NGjTIbS6ffvqpXXXVVValSpVCUfIjjjjCGxuRNDp//nx7+umn3ceeLOxz0aJFPhkQQgghhJANRogEIMjHjh3rCaiUZCQJ9LDDDvMk01iqVatmd999t5dmxO/evHlz69atmwvwZDj00EPtySefdNFPpZjAipMMDbKr2aq1/5STFOHvYCqEEEJAxnqZZYVIGT///LMtXLjQ2rRpE1mHcF+1apWXchQiWdbl5duypSstP79iGbtxemVnV7ecHCWYamzDge5ZjWtp31uJUGRdiBSCBeaMM86wW265xaPq+NUnT55so0aNKpPKISL1pRPLa1wR6RVNqAshhCg5EutCpJCmTZt6wyTEOV1Pd9hhB6+pftBBB2mcQyZQg1xfSieqaokQQojyQmJdiBRzwgkn+FLWVIQGOhXV+iGEEEJsKBLrQqSISZMmeRT9+uuvLxexPnjiDJu14E8Lc1Ll6J6tLDMzQ2JdCCGE+H8k1oVIES+88ILtvPPO7lEvD7E+L2dFqMW6EEIIIQqjOutCpIDc3Fz74IMP7LzzzvM67FSFEUIIIYTYWCTWhUgBL730klWvXt2OOuooq127tkfXA1avXm1XXnml7bXXXnbAAQfYhAkTbPfdd480PiIRtV+/ftayZUvr1KmT3XnnnZaXp3rpQgghhJANRoiUWWCo+JKZmemC+7nnnvMoe0ZGhnvYv/jiCxs3bpytW7fOhXsgxmlz0L9/f2vSpIk9++yztnjxYq8mw+f4fGUlqMSSDueQDudSkdC4amzDhu5ZjWtpkezfF3nWhdhIiIx//vnnXl8dOnfu7N1LP/vsMy/liHC/7777bM899/T3hwwZYn369PHfP/zwQ1uwYIFH2xH6DRo08M6oJKpWVrGeblVtsrISN6wQGtd0QvesxjVM6H5NjMS6ECmIqm+xxRbWvn17f73PPvvYNtts45Fy1v/999/eICmgVatWkd/nzp1rS5cudYtMQH5+vltnlixZYjVr1qx03w9NiKhtng4RD/6I5Oaq06bGNRzontW4hgndrxYZg0RIrAuRArGOuI4W3Nhc8LEff/zxhbbH+hKALYZo+pgxYwpthwe+spJOTYg4l3Q6n4qCxlVjGzZ0z2pcywuJdSE2gvnz59vXX3/t1pZ99903sn7OnDl24YUX2o8//mibbbaZzZw509q2bevv8XvALrvs4jaYWrVqRcT5+++/7zXbR4wYoe9GCCGEqOSoGowQGxlVr1GjhvXo0cN22223yHL44Ydbo0aNbOrUqXbsscfaDTfcYDNmzLDp06f770ASKdaZunXr2qBBg+zbb7/1so9XXXWVValSxTbZZBN9N0IIIUQlR5F1ITZSrHfr1s0233zzQu/16tXLhflrr71mt912m51++um21VZb2cknn+yvibgjyMeOHWvDhg2zE0880apWrWqHHXaYJ5mWlAbZ1WzV2rxQdzAVQgghREEy1kcbaIUQKQex3q5dO6tW7Z8qJ19++aWddNJJXs4RwS7+ZV1evi1butLy89enReJPdnZ1y8lRgqnGNRzontW4hgndrxYZg0Qosi5EKUOTozfffNP69u1rK1assFtuucVrsadaqFNFJewg0tNBqAshhBDpgsS6EKXMyJEj3ebSvXt3t8sg1K+44oqUH4eSj/nlX/FQCCGEEClEYl2IUoZE04ceekjjLIQQQogSo2owQgghhBBCpCkS60IIIYQQQqQpEutCCCGEEEKkKRLrQgghhBBCpCkS60IIIYQQQqQpEutCCCGEEEKkKRLrQgghhBBCpCkS60IIIYQQQqQpEutCCCGEEEKkKRLrQgghhBBCpCkS60IIIYQQQqQpEutCCCGEEEKkKZuW9wkIIVJDRsY/i0jdeEb/FBrXdEf3rMY1TOh+taT/vmSsX79+fWl/IUIIIYQQQoiSIxuMEEIIIYQQaYrEuhBCCCGEEGmKxLoQQgghhBBpisS6EEIIIYQQaYrEuhBCCCGEEGmKxLoQQgghhBBpisS6EEIIIYQQaYrEuhBCCCGEEGmKxLoQQgghhBBpisS6ECFmzZo1dsUVV1ibNm2sffv2Nn78+PI+pQrF2rVr7cgjj7SPPvqovE+lQrBw4UI7//zzbZ999rEDDjjAhg8f7vew2Dh+/PFH6927t7Vq1coOOuggu//++zWkKaZv37522WWXaVxTxKuvvmqNGzcusPB/g4jPpkWsF0KEgBEjRtjMmTPtoYcesgULFtill15qO+ywgx122GHlfWqhBxF58cUX2/fff1/ep1IhWL9+vf8x3nrrre2xxx6zZcuW+UQzMzPT71uxYeTn57uQbN68uT377LMu3C+66CKrU6eOdevWTcOaAl544QV7++237ZhjjtF4pog5c+ZYx44dbdiwYZF1W2yxhca3CCTWhQgpK1eutAkTJth9991nzZo18wVhiRCSWN/4PyQIdQSmSA3z5s2z6dOn2/vvv2/Z2dm+DvF+8803S6xvBDk5Oda0aVO75pprbKuttrL69etbu3bt7LPPPpNYTwFLly71oAiTIZE65s6da7vttpttu+22GtYkkA1GiJAye/ZsW7dunT/6Dthrr71sxowZHm0TG87HH39s++67rz311FMaxhTBH2XsGYFQD/jrr780xhtB7dq17b///a8LdSaXiPRPPvnErUZi42EyefTRR1ujRo00nCkW60wsRXIosi5ESFm8eLHVrFnTNt9888g6hBD2DaJBtWrVKtfzCzMnnXRSeZ9ChQP7Cz71ACaUjz76qLVt27Zcz6si0alTJ7fDYS/o0qVLeZ9O6Pnggw/s008/talTp/qTC5EamFTOnz/f3nvvPbvnnnssLy/PnwbzpC3675n4F0XWhQgpq1atKvQfW/CaxEgh0plbbrnFvv76a7vwwgvL+1QqDLfffrvdfffd9s0333jyrthwCHoMHTrUrr76attyyy01lCmECWXw94unQuSsMCHCbiTio8i6ECGFZJxYUR681h8Xke5CnaTo2267zX2rIjUEvmqE5iWXXGKDBw9WpHIDufPOO22PPfYo8DRIpIa6det6ha1tttnGMjIyPOeCJ22DBg2yyy+/3DbZZBMNdQwS60KEFKo9LFmyxH3rm266acQag1DHciBEOkL1hyeeeMIFu6waqUkwJXH3kEMOiazDX/333397PoDscBteAYaxDXKCgkDIyy+/bF988UUKvrnKTY0aNQq8btiwoU8yqRKle7YwssEIEVKIRiDS+UMdQHIZ0TXK4QmRjtHKJ5980kaNGmVHHHFEeZ9OheCXX36x/v37ew37AMq5IngkejacRx55xK0Zzz33nC/kA7Dwu9g43n33XU/gxwoTgHULAa97Nj76iy5ESKlSpYp1797dE5++/PJLe+2117wp0n/+85/yPjUh4lZ/GDNmjJ111lletYinQMEiNhwm55RtpWY9JUepB85Ti379+mlYN9KqUa9evchSrVo1X/hdbBw8rcDGOWTIEC/pyj2LX71Pnz4a2iKQDUaIEIO/D7F+2mmneem2AQMGWOfOncv7tIQoxOuvv+5VH8aOHetLNN9++61GbAPB38skCHtRjx49fBJ/6qmnatIu0hb+Vo0bN85uvPFGO+6443wS1LNnT4n1YshYr64fQgghhBBCpCWywQghhBBCCJGmSKwLIYQQQgiRpkisCyGEEEIIkaZIrAshhBBCCJGmSKwLIYQQQgiRpkisCyGEEEIIkaZIrAshhBBCCJGmSKwLIYQQRUCDoTvuuKPcxyc3N9emTZtW3qchhCgHJNaFEEKINGfkyJHell0IUfmQWBdCCCHSHDUbF6LyIrEuhBBCJGDSpEluiRk7dqztvffetv/++9tzzz1nL730knXs2NHatGljt9xyS2T7Tp062YMPPmjdunWzPffc0/r27WuLFy+OvD937lzr3bu3tW7d2g444AC78847LT8/39/DdnPuuefaySefbPvss48f99lnn/WF/cKcOXP8861atbLmzZvbSSed5PuEjz76yLd7/PHHfd8cf9CgQbZ27drI8SdPnmyHHXaYtWzZ0nr27Glff/115L0nn3zSP8++Ofa3336r+0OIckRiXQghhEiCL774wn7++WebOHGiHXHEEXbNNdfYww8/7AL+sssus/vvv7+A6EV09+nTx5566ilbtWqVDRgwwNf/8ccfLq5r165tEyZMsKFDh9qjjz7q+wp4/fXX7cgjj7SHHnrI99+1a1dfODaivl+/fla3bl0X3YjrvLy8ApOFRYsW2csvv+znxHm88sorPrmAd99916688ko77bTTbMqUKbbHHnvY2Wef7WL+jTfe8InDVVdd5ZODvfbay/7zn//YsmXLdI8IUU5IrAshhBBJWlGGDBli9erVsx49ekQEeJMmTez444+3rKwsmzdvXmT74447zo4++mhr3Lix3XjjjS72v/vuO3v++eetSpUqNmzYMGvYsKEdcsghdsEFF7iwDsjOzrZevXpZ06ZNbauttrItt9zSl1q1atnq1as9Gs4EYeedd7ZmzZrZMccc49H2gL///tvPlWMTXWf56quv/D0mD0wE2D/XMnjwYH+NIOccEO48Lahfv74NHDjQJwWIeiFE+bBpOR1XCCGECBWI8apVq/rvW2yxhf/ccccdI+8jpqOtJlhcAnbaaSerUaOGW1VYENibbvrvn2AsJ9hk/vzzT3+NQC4KzgGhTaR85syZPkEgoo/AjwYhHoDgX7dunf8+f/58F/sBm2++uV166aX+O+dGhH7UqFGR99esWWM//PBDCUdLCJEqJNaFEEKIZP5gRonrgIyMjKS3x6qSmZkZEfrRBH51toF42wSsWLHCI/k1a9Z0bzlRcQT7+PHjC2yHCI+XpBrvOqLP8YorrrB27doVWI/YF0KUD7LBCCGEEKXA7NmzI7//+OOPtnz5crel7LLLLjZr1iy3qgRgkcHiQvQ9HtGTgo8//tg96Xjc8cTvt99+tmDBgqQrxhBxjz43BDqi/7PPPvNz+/33332bYLn77rtt+vTpGzgKQoiNRWJdCCGEKAUQ0ySKIoyJVlNBBh84FWKwy1x99dVuO3nttdc8CRRrS1GRejzuv/76qy1cuNAF/cqVK/1zv/zyiyepPvbYYwUsOMVBhRc86CSQMokYPny4C32sOWeccYYntWKx+emnn9wSQzMmvPVCiPJBNhghhBCiFCDpE+83Ue8DDzzQrr322oilhETOG264wbp37+4RdSqzkNhZFCSqnnfeeXbUUUfZhx9+6L+zP/zkROsR/lR4QcwngtKTVKC566673CdPNRii53juDz/8cMvJybHbb7/dfzZq1Mir0TDJEEKUDxnr1WlBCCGESCnYSvr372/HHnusRlYIsVHIBiOEEEIIIUSaIrEuhBBCCCFEmiIbjBBCCCGEEGmKIutCCCGEEEKkKRLrQgghhBBCpCkS60IIIYQQQqQpEutCCCGEEEKkKRLrQgghhBBCpCkS60IIIYQQQqQpEutCCCGEEEKkKRLrQgghhBBCpCkS60IIIYQQQlh68n9P6H6uqpN7OwAAAABJRU5ErkJggg==" }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 46 }, { "cell_type": "markdown", "metadata": {}, "source": [ "R3. Write a function `obesity_risk_pipeline` to automate the entire pipeline:
\n", "
    \n", "
  1. Loading and preprocessing the data
  2. \n", "
  3. Training the model
  4. \n", "
  5. Evaluating the model
  6. \n", "
\n", "\n", "The function should accept the file path and test set size as the input arguments.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-11-13T14:39:11.840308Z", "start_time": "2025-11-13T14:39:11.798873Z" } }, "source": [ "def obesity_risk_pipeline(data_path, test_size=0.2):\n", " # Load data\n", " data = pd.read_csv(data_path)\n", "\n", " # Standardizing continuous numerical features\n", " continuous_columns = data.select_dtypes(include=['float64']).columns.tolist()\n", " scaler = StandardScaler()\n", " scaled_features = scaler.fit_transform(data[continuous_columns])\n", " \n", " # Converting to a DataFrame\n", " scaled_df = pd.DataFrame(scaled_features, columns=scaler.get_feature_names_out(continuous_columns))\n", " \n", " # Combining with the original dataset\n", " scaled_data = pd.concat([data.drop(columns=continuous_columns), scaled_df], axis=1)\n", "\n", " # Identifying categorical columns\n", " categorical_columns = scaled_data.select_dtypes(include=['object']).columns.tolist()\n", " categorical_columns.remove('NObeyesdad') # Exclude target column\n", " \n", " # Applying one-hot encoding\n", " encoder = OneHotEncoder(sparse_output=False, drop='first')\n", " encoded_features = encoder.fit_transform(scaled_data[categorical_columns])\n", " \n", " # Converting to a DataFrame\n", " encoded_df = pd.DataFrame(encoded_features, columns=encoder.get_feature_names_out(categorical_columns))\n", " \n", " # Combining with the original dataset\n", " prepped_data = pd.concat([scaled_data.drop(columns=categorical_columns), encoded_df], axis=1)\n", " \n", " # Encoding the target variable\n", " prepped_data['NObeyesdad'] = prepped_data['NObeyesdad'].astype('category').cat.codes\n", "\n", " # Preparing final dataset\n", " X = prepped_data.drop('NObeyesdad', axis=1)\n", " y = prepped_data['NObeyesdad']\n", " \n", " # Splitting data\n", " X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=42, stratify=y)\n", " \n", " # Training and evaluation\n", " model = LogisticRegression(multi_class='multinomial', max_iter=1000)\n", " model.fit(X_train, y_train)\n", " y_pred = model.predict(X_test)\n", " print(\"Accuracy:\", accuracy_score(y_test, y_pred))\n", "\n", "# Call the pipeline function with file_path\n", "obesity_risk_pipeline(file_path, test_size=0.2)" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.8794326241134752\n" ] } ], "execution_count": 47 } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.12.8", "mimetype": "text/x-python", "codemirror_mode": { "name": "ipython", "version": 3 }, "pygments_lexer": "ipython3", "nbconvert_exporter": "python", "file_extension": ".py" }, "prev_pub_hash": "4632a00f0c09a76a36943a95ddfa711705237acf664a9bcc1a68c994c67d9f9f" }, "nbformat": 4, "nbformat_minor": 4 }