{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "m23ypqC8r6Xk"
},
"source": [
"## Logistic Regression:\n",
"\n",
"### **Business Problem Definition:**\n",
"The business problem revolves around **predicting the likelihood of order cancellations** for a product fulfillment company based on historical order data. This prediction helps the company:\n",
"\n",
"- `Proactively address potential cancellations,`\n",
"- `Optimize operations, and`\n",
"- `Improve customer satisfaction.`\n",
"\n",
"By identifying high-risk orders early, the business `can take preventive actions`, such as offering incentives or expedited shipping, to reduce the likelihood of cancellations.\n",
"\n",
"This is a `binary classification` problem where the target variable is the `Order_Cancelled` column.\n",
"\n",
"The model needs to classify whether an order will be cancelled based on features like the delivery time, order value, region, and other order-related attributes.\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Jw4-U7HQXeFa"
},
"source": [
"## Dataset Description:\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "MLcEsAn-0qtm"
},
"source": [
"Explanation of Attributes/Target Variable:\n",
"\n",
"\\\n",
"Each row represents an `order placed by the customer` while columms represent the varied specifics of that order.\n",
"\n",
"\\\n",
"\n",
"- `Days_to_Delivery` (numeric): \n",
" The number of days it takes for the order to be delivered, generated based on a normal distribution with a mean of 5 days and a standard deviation of 2 days.\n",
"\n",
"- `Num_Items_Ordered` (numeric): \n",
" The total number of items in the order, represented as an integer between 1 and 20, reflecting the quantity of products ordered.\n",
"\n",
"- `Order_Value` (numeric): \n",
" The total value of the order in USD. It is generated from a normal distribution centered around $500, with a standard deviation of $100.\n",
"\n",
"- `Discount_Rate` (numeric): \n",
" The discount rate applied to the order, represented as a value between 0 and 0.5, indicating various discounts offered during sales.\n",
"\n",
"- `Num_Previous_Orders` (numeric): \n",
" The number of previous orders placed by the customer. It is an integer between 0 and 10.\n",
"\n",
"- `Delivery_Time_Variation` (numeric): \n",
" The variation between the estimated and actual delivery time, measured in days, with values ranging from 0 to 3 days.\n",
"\n",
"- `Region` (categorical): \n",
" The geographic region of the customer. Possible values:\n",
" - North America\n",
" - EMEA (Europe, Middle East, Africa)\n",
" - APAC (Asia-Pacific)\n",
" - LATAM (Latin America)\n",
"\n",
"- `Product_Category` (categorical)\n",
" The category of the product ordered. Possible values:\n",
" - Cloud\n",
" - On-premise\n",
" - SaaS (Software as a Service)\n",
" - Hardware\n",
"\n",
"- `Order_Priority` (categorical): \n",
" The urgency level of the order. Possible values:\n",
" - Low\n",
" - Medium\n",
" - High\n",
"\n",
"- `Payment_Method` (categorical): \n",
" The method used for payment in the order. Possible values include:\n",
" - Credit Card\n",
" - Bank Transfer\n",
" - PayPal\n",
" - Bitcoin\n",
"\n",
"- `Correlated_Order_Value` (numeric): \n",
" Represents an alternative estimation of the total order value, calculated by factoring in **historical customer spending behavior** and **product pricing trends**.It incorporates additional business insights such as customer loyalty and purchasing history.\n",
"\n",
"\n",
"- `Order_Cancelled (Target):` This is the target column indicating whether the order was cancelled or not. Values are \"Cancelled\" or \"Not-Cancelled\".\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OzrRK5hmMpq1"
},
"source": [
"### Comprehensive Data Science Project Workflow: From Business Understanding to Model Monitoring:\n",
"\n",
"1. `Business Understanding` (Define project goals and objectives.)\n",
"\n",
"2. `Data Requirement` (Identify necessary data for analysis)\n",
"\n",
"3. `Data Collection` (Data gathering from different sources with varied tools and technologies)\n",
"\n",
"4. `Data Preparation` (EDA/Data Preparation/Data Cleaning/Data Munging)\n",
"\n",
"5. `Data Modeling` ( Clean Data + Algorithms = Model)\n",
"\n",
"6. `Model Evaluation` (Test Model perf)\n",
"\n",
"7. `Model Tuning`(Optimize model hyperparameters)\n",
"\n",
"8. `Model Deployment`(Deploy model for real-time use)\n",
"\n",
"9. `Monitoring`(Track model performance over time)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "wESk_sbeMvmu"
},
"source": [
"### EDA/ Data Preparation/Data Cleaning Steps:\n",
"\n",
"1. `Removing Duplicate data`\n",
"2. `Missing Value Treatment`\n",
"3. `Outlier Treatment`\n",
"4. `Categorical to Numerical Conversion`\n",
"5. `Numerical to Categorical Conversion`\n",
"6. `Feature Scaling`\n",
"7. `Feature Transformation`\n",
"8. `Feature selection`\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-1Tl3l3pMzFp"
},
"source": [
"1. Import Necessary Libraries"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"collapsed": true,
"id": "BZ1UmMexcFEh",
"jupyter": {
"outputs_hidden": true
},
"outputId": "80c1f9b1-9f3f-45b9-ce42-312c1107ef1d"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting statsmodels\n",
" Downloading statsmodels-0.14.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.2 kB)\n",
"Requirement already satisfied: numpy<3,>=1.22.3 in /usr/local/lib/python3.10/dist-packages (from statsmodels) (1.26.4)\n",
"Requirement already satisfied: scipy!=1.9.2,>=1.8 in /usr/local/lib/python3.10/dist-packages (from statsmodels) (1.13.1)\n",
"Requirement already satisfied: pandas!=2.1.0,>=1.4 in /usr/local/lib/python3.10/dist-packages (from statsmodels) (2.1.4)\n",
"Collecting patsy>=0.5.6 (from statsmodels)\n",
" Downloading patsy-0.5.6-py2.py3-none-any.whl.metadata (3.5 kB)\n",
"Requirement already satisfied: packaging>=21.3 in /usr/local/lib/python3.10/dist-packages (from statsmodels) (24.1)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas!=2.1.0,>=1.4->statsmodels) (2.9.0.post0)\n",
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas!=2.1.0,>=1.4->statsmodels) (2024.2)\n",
"Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas!=2.1.0,>=1.4->statsmodels) (2024.1)\n",
"Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from patsy>=0.5.6->statsmodels) (1.16.0)\n",
"Downloading statsmodels-0.14.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.8/10.8 MB\u001b[0m \u001b[31m89.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading patsy-0.5.6-py2.py3-none-any.whl (233 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m233.9/233.9 kB\u001b[0m \u001b[31m14.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hInstalling collected packages: patsy, statsmodels\n",
"Successfully installed patsy-0.5.6 statsmodels-0.14.3\n"
]
}
],
"source": [
"# %pip install statsmodels"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "_CcitolYMyph"
},
"outputs": [],
"source": [
"# Importing all necessary Libaries: Data Science Packages\n",
"\n",
"import numpy as np # numpy used for mathematical operation on array\n",
"import pandas as pd # pandas used for data manipulation on dataframe\n",
"import seaborn as sns # seaborn used for data visualization\n",
"import matplotlib.pyplot as plt # matplotlib used for data visualization\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"id": "tjP2FYHmM1_B"
},
"outputs": [],
"source": [
"# Read the data with pandas\n",
"\n",
"df = pd.read_csv(\"order_mgmt_binary_classification.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 226
},
"id": "O-bgGSmiM2B6",
"outputId": "bf28022a-3881-4b83-ad1f-ecae22b9e45f"
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Days_to_Delivery \n",
" Num_Items_Ordered \n",
" Order_Value \n",
" Discount_Rate \n",
" Num_Previous_Orders \n",
" Delivery_Time_Variation \n",
" Region \n",
" Product_Category \n",
" Order_Priority \n",
" Payment_Method \n",
" Correlated_Order_Value \n",
" Order_Cancelled \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 5.993428 \n",
" 6 \n",
" 716.505607 \n",
" 0.098621 \n",
" 5 \n",
" 1.129165 \n",
" EMEA \n",
" On-premise \n",
" Low \n",
" Bitcoin \n",
" 677.114236 \n",
" Not-Cancelled \n",
" \n",
" \n",
" 1 \n",
" 4.723471 \n",
" 11 \n",
" 619.054859 \n",
" 0.106769 \n",
" 7 \n",
" 0.889863 \n",
" APAC \n",
" Cloud \n",
" Medium \n",
" Bitcoin \n",
" 591.127949 \n",
" Not-Cancelled \n",
" \n",
" \n",
" 2 \n",
" 6.295377 \n",
" 3 \n",
" 521.257403 \n",
" 0.338047 \n",
" 0 \n",
" 2.668340 \n",
" LATAM \n",
" On-premise \n",
" Medium \n",
" Bank Transfer \n",
" 502.195055 \n",
" Not-Cancelled \n",
" \n",
" \n",
" 3 \n",
" 8.046060 \n",
" 8 \n",
" 602.698626 \n",
" 0.202501 \n",
" 4 \n",
" 2.998095 \n",
" LATAM \n",
" On-premise \n",
" High \n",
" PayPal \n",
" 566.850797 \n",
" Not-Cancelled \n",
" \n",
" \n",
" 4 \n",
" 4.531693 \n",
" 3 \n",
" 610.590042 \n",
" 0.465772 \n",
" 2 \n",
" 2.011061 \n",
" APAC \n",
" Hardware \n",
" High \n",
" Bank Transfer \n",
" 581.693494 \n",
" Not-Cancelled \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Days_to_Delivery Num_Items_Ordered Order_Value Discount_Rate \\\n",
"0 5.993428 6 716.505607 0.098621 \n",
"1 4.723471 11 619.054859 0.106769 \n",
"2 6.295377 3 521.257403 0.338047 \n",
"3 8.046060 8 602.698626 0.202501 \n",
"4 4.531693 3 610.590042 0.465772 \n",
"\n",
" Num_Previous_Orders Delivery_Time_Variation Region Product_Category \\\n",
"0 5 1.129165 EMEA On-premise \n",
"1 7 0.889863 APAC Cloud \n",
"2 0 2.668340 LATAM On-premise \n",
"3 4 2.998095 LATAM On-premise \n",
"4 2 2.011061 APAC Hardware \n",
"\n",
" Order_Priority Payment_Method Correlated_Order_Value Order_Cancelled \n",
"0 Low Bitcoin 677.114236 Not-Cancelled \n",
"1 Medium Bitcoin 591.127949 Not-Cancelled \n",
"2 Medium Bank Transfer 502.195055 Not-Cancelled \n",
"3 High PayPal 566.850797 Not-Cancelled \n",
"4 High Bank Transfer 581.693494 Not-Cancelled "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Reading first 5 Rows of the data\n",
"\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 226
},
"id": "HiLVof1DM2Ew",
"outputId": "fa6f4568-ccd0-41fe-8e31-bac8049bd864"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Days_to_Delivery \n",
" Num_Items_Ordered \n",
" Order_Value \n",
" Discount_Rate \n",
" Num_Previous_Orders \n",
" Delivery_Time_Variation \n",
" Region \n",
" Product_Category \n",
" Order_Priority \n",
" Payment_Method \n",
" Correlated_Order_Value \n",
" Order_Cancelled \n",
" \n",
" \n",
" \n",
" \n",
" 3995 \n",
" 5.471104 \n",
" 17 \n",
" 432.846658 \n",
" 0.041176 \n",
" 6 \n",
" 0.124429 \n",
" LATAM \n",
" On-premise \n",
" Medium \n",
" Bitcoin \n",
" 410.113830 \n",
" Cancelled \n",
" \n",
" \n",
" 3996 \n",
" 0.689275 \n",
" 10 \n",
" 321.994624 \n",
" 0.180283 \n",
" 7 \n",
" 1.824347 \n",
" EMEA \n",
" Cloud \n",
" Low \n",
" Credit Card \n",
" 303.608794 \n",
" Cancelled \n",
" \n",
" \n",
" 3997 \n",
" 5.855895 \n",
" 6 \n",
" 416.044214 \n",
" 0.249029 \n",
" 2 \n",
" 0.954662 \n",
" EMEA \n",
" On-premise \n",
" Medium \n",
" PayPal \n",
" 402.431913 \n",
" Cancelled \n",
" \n",
" \n",
" 3998 \n",
" 5.337336 \n",
" 11 \n",
" 489.287493 \n",
" 0.215548 \n",
" 5 \n",
" 0.560760 \n",
" LATAM \n",
" SaaS \n",
" Low \n",
" PayPal \n",
" 466.154060 \n",
" Cancelled \n",
" \n",
" \n",
" 3999 \n",
" 4.185158 \n",
" 14 \n",
" 559.004143 \n",
" 0.140213 \n",
" 0 \n",
" 2.450295 \n",
" EMEA \n",
" Cloud \n",
" Medium \n",
" Bitcoin \n",
" 532.405465 \n",
" Cancelled \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Days_to_Delivery Num_Items_Ordered Order_Value Discount_Rate \\\n",
"3995 5.471104 17 432.846658 0.041176 \n",
"3996 0.689275 10 321.994624 0.180283 \n",
"3997 5.855895 6 416.044214 0.249029 \n",
"3998 5.337336 11 489.287493 0.215548 \n",
"3999 4.185158 14 559.004143 0.140213 \n",
"\n",
" Num_Previous_Orders Delivery_Time_Variation Region Product_Category \\\n",
"3995 6 0.124429 LATAM On-premise \n",
"3996 7 1.824347 EMEA Cloud \n",
"3997 2 0.954662 EMEA On-premise \n",
"3998 5 0.560760 LATAM SaaS \n",
"3999 0 2.450295 EMEA Cloud \n",
"\n",
" Order_Priority Payment_Method Correlated_Order_Value Order_Cancelled \n",
"3995 Medium Bitcoin 410.113830 Cancelled \n",
"3996 Low Credit Card 303.608794 Cancelled \n",
"3997 Medium PayPal 402.431913 Cancelled \n",
"3998 Low PayPal 466.154060 Cancelled \n",
"3999 Medium Bitcoin 532.405465 Cancelled "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Reading last 5 Rows of the data\n",
"\n",
"df.tail()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "CeeludwGM2Hp",
"outputId": "680afd73-d9d9-49ab-ec11-48c3a5e70bd0"
},
"outputs": [
{
"data": {
"text/plain": [
"(4000, 12)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking the shape of the data\n",
"\n",
"df.shape"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "zeI-xGVtM2J-",
"outputId": "2124dda5-8b7f-44d7-f32b-92428fe1dd59"
},
"outputs": [
{
"data": {
"text/plain": [
"4000"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking the shape of the data\n",
"\n",
"df.shape[0]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ruMfNGlGLg74",
"outputId": "71c745fd-3fca-47bb-e94e-087c03a19479"
},
"outputs": [
{
"data": {
"text/plain": [
"12"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking the shape of the data\n",
"\n",
"df.shape[1]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "I5gImKt3NN9t",
"outputId": "7cc7f093-73a2-49cb-ec5f-74f89365ad5b"
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Days_to_Delivery', 'Num_Items_Ordered', 'Order_Value', 'Discount_Rate',\n",
" 'Num_Previous_Orders', 'Delivery_Time_Variation', 'Region',\n",
" 'Product_Category', 'Order_Priority', 'Payment_Method',\n",
" 'Correlated_Order_Value', 'Order_Cancelled'],\n",
" dtype='object')"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Reading the name of the columns\n",
"\n",
"df.columns"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 460
},
"id": "BQISHgDLNOAh",
"outputId": "cbd91402-f6fa-485c-ad0f-283bc009cbce"
},
"outputs": [
{
"data": {
"text/plain": [
"Days_to_Delivery float64\n",
"Num_Items_Ordered int64\n",
"Order_Value float64\n",
"Discount_Rate float64\n",
"Num_Previous_Orders int64\n",
"Delivery_Time_Variation float64\n",
"Region object\n",
"Product_Category object\n",
"Order_Priority object\n",
"Payment_Method object\n",
"Correlated_Order_Value float64\n",
"Order_Cancelled object\n",
"dtype: object"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# View datatypes of allcolumns of dataset\n",
"\n",
"df.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "eBJAd-ZJNODY",
"outputId": "1734aa11-77b4-42c7-e2c4-175dc024baa7"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"RangeIndex: 4000 entries, 0 to 3999\n",
"Data columns (total 12 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 Days_to_Delivery 4000 non-null float64\n",
" 1 Num_Items_Ordered 4000 non-null int64 \n",
" 2 Order_Value 4000 non-null float64\n",
" 3 Discount_Rate 4000 non-null float64\n",
" 4 Num_Previous_Orders 4000 non-null int64 \n",
" 5 Delivery_Time_Variation 4000 non-null float64\n",
" 6 Region 4000 non-null object \n",
" 7 Product_Category 4000 non-null object \n",
" 8 Order_Priority 4000 non-null object \n",
" 9 Payment_Method 4000 non-null object \n",
" 10 Correlated_Order_Value 4000 non-null float64\n",
" 11 Order_Cancelled 4000 non-null object \n",
"dtypes: float64(5), int64(2), object(5)\n",
"memory usage: 375.1+ KB\n"
]
}
],
"source": [
"# View info of Columns of the dataset such as number of entries, name of columns and data type\n",
"\n",
"df.info()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 425
},
"id": "rYTOY_8QNwD_",
"outputId": "4babd1fe-d66e-4cda-ef08-8bbb07fe153e"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" 0 \n",
" \n",
" \n",
" \n",
" \n",
" Days_to_Delivery \n",
" float64 \n",
" \n",
" \n",
" Num_Items_Ordered \n",
" int64 \n",
" \n",
" \n",
" Order_Value \n",
" float64 \n",
" \n",
" \n",
" Discount_Rate \n",
" float64 \n",
" \n",
" \n",
" Num_Previous_Orders \n",
" int64 \n",
" \n",
" \n",
" Delivery_Time_Variation \n",
" float64 \n",
" \n",
" \n",
" Region \n",
" object \n",
" \n",
" \n",
" Product_Category \n",
" object \n",
" \n",
" \n",
" Order_Priority \n",
" object \n",
" \n",
" \n",
" Payment_Method \n",
" object \n",
" \n",
" \n",
" Correlated_Order_Value \n",
" float64 \n",
" \n",
" \n",
" Order_Cancelled \n",
" object \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 0\n",
"Days_to_Delivery float64\n",
"Num_Items_Ordered int64\n",
"Order_Value float64\n",
"Discount_Rate float64\n",
"Num_Previous_Orders int64\n",
"Delivery_Time_Variation float64\n",
"Region object\n",
"Product_Category object\n",
"Order_Priority object\n",
"Payment_Method object\n",
"Correlated_Order_Value float64\n",
"Order_Cancelled object"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Creating the Data Dictionary with first column being datatype.\n",
"\n",
"Data_dict = pd.DataFrame(df.dtypes)\n",
"Data_dict"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 425
},
"id": "AFEIru6ONOF_",
"outputId": "d3011442-0ae7-4184-82d5-e4ebc1bf80e7"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" 0 \n",
" UniqueVal \n",
" \n",
" \n",
" \n",
" \n",
" Days_to_Delivery \n",
" float64 \n",
" 4000 \n",
" \n",
" \n",
" Num_Items_Ordered \n",
" int64 \n",
" 19 \n",
" \n",
" \n",
" Order_Value \n",
" float64 \n",
" 4000 \n",
" \n",
" \n",
" Discount_Rate \n",
" float64 \n",
" 4000 \n",
" \n",
" \n",
" Num_Previous_Orders \n",
" int64 \n",
" 10 \n",
" \n",
" \n",
" Delivery_Time_Variation \n",
" float64 \n",
" 4000 \n",
" \n",
" \n",
" Region \n",
" object \n",
" 4 \n",
" \n",
" \n",
" Product_Category \n",
" object \n",
" 4 \n",
" \n",
" \n",
" Order_Priority \n",
" object \n",
" 3 \n",
" \n",
" \n",
" Payment_Method \n",
" object \n",
" 4 \n",
" \n",
" \n",
" Correlated_Order_Value \n",
" float64 \n",
" 4000 \n",
" \n",
" \n",
" Order_Cancelled \n",
" object \n",
" 2 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 0 UniqueVal\n",
"Days_to_Delivery float64 4000\n",
"Num_Items_Ordered int64 19\n",
"Order_Value float64 4000\n",
"Discount_Rate float64 4000\n",
"Num_Previous_Orders int64 10\n",
"Delivery_Time_Variation float64 4000\n",
"Region object 4\n",
"Product_Category object 4\n",
"Order_Priority object 3\n",
"Payment_Method object 4\n",
"Correlated_Order_Value float64 4000\n",
"Order_Cancelled object 2"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Identifying unique values . For this we used nunique() which returns unique elements in the object.\n",
"\n",
"Data_dict['UniqueVal'] = df.nunique()\n",
"Data_dict"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "vqLry_YsN2DX"
},
"source": [
"# **Discriptive Statistics**"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 300
},
"id": "7IZ56wrSNOJH",
"outputId": "8b7ca19f-d1d6-4cbf-9ec7-42844febaa89"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Days_to_Delivery \n",
" Num_Items_Ordered \n",
" Order_Value \n",
" Discount_Rate \n",
" Num_Previous_Orders \n",
" Delivery_Time_Variation \n",
" Correlated_Order_Value \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" \n",
" \n",
" mean \n",
" 5.042184 \n",
" 10.116250 \n",
" 501.181391 \n",
" 0.245425 \n",
" 4.534500 \n",
" 1.497161 \n",
" 476.032221 \n",
" \n",
" \n",
" std \n",
" 1.969642 \n",
" 5.401438 \n",
" 100.872740 \n",
" 0.142842 \n",
" 2.877826 \n",
" 0.869979 \n",
" 95.924241 \n",
" \n",
" \n",
" min \n",
" -1.482535 \n",
" 1.000000 \n",
" 166.510729 \n",
" 0.000063 \n",
" 0.000000 \n",
" 0.003067 \n",
" 150.331593 \n",
" \n",
" \n",
" 25% \n",
" 3.707940 \n",
" 5.000000 \n",
" 433.520531 \n",
" 0.122622 \n",
" 2.000000 \n",
" 0.757221 \n",
" 411.936377 \n",
" \n",
" \n",
" 50% \n",
" 5.025536 \n",
" 10.000000 \n",
" 501.165442 \n",
" 0.243107 \n",
" 5.000000 \n",
" 1.509437 \n",
" 475.467864 \n",
" \n",
" \n",
" 75% \n",
" 6.309499 \n",
" 15.000000 \n",
" 569.059613 \n",
" 0.366216 \n",
" 7.000000 \n",
" 2.238121 \n",
" 540.587883 \n",
" \n",
" \n",
" max \n",
" 13.295790 \n",
" 19.000000 \n",
" 860.283214 \n",
" 0.499804 \n",
" 9.000000 \n",
" 2.999922 \n",
" 819.532127 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Days_to_Delivery Num_Items_Ordered Order_Value Discount_Rate \\\n",
"count 4000.000000 4000.000000 4000.000000 4000.000000 \n",
"mean 5.042184 10.116250 501.181391 0.245425 \n",
"std 1.969642 5.401438 100.872740 0.142842 \n",
"min -1.482535 1.000000 166.510729 0.000063 \n",
"25% 3.707940 5.000000 433.520531 0.122622 \n",
"50% 5.025536 10.000000 501.165442 0.243107 \n",
"75% 6.309499 15.000000 569.059613 0.366216 \n",
"max 13.295790 19.000000 860.283214 0.499804 \n",
"\n",
" Num_Previous_Orders Delivery_Time_Variation Correlated_Order_Value \n",
"count 4000.000000 4000.000000 4000.000000 \n",
"mean 4.534500 1.497161 476.032221 \n",
"std 2.877826 0.869979 95.924241 \n",
"min 0.000000 0.003067 150.331593 \n",
"25% 2.000000 0.757221 411.936377 \n",
"50% 5.000000 1.509437 475.467864 \n",
"75% 7.000000 2.238121 540.587883 \n",
"max 9.000000 2.999922 819.532127 "
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# view the descriptive statistics of the dataset\n",
"\n",
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 300
},
"id": "L9xbDtWNNOLu",
"outputId": "966985b4-6ec4-44e0-bdbc-756b14d08b6e"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Days_to_Delivery \n",
" Num_Items_Ordered \n",
" Order_Value \n",
" Discount_Rate \n",
" Num_Previous_Orders \n",
" Delivery_Time_Variation \n",
" Correlated_Order_Value \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" 4000.000000 \n",
" \n",
" \n",
" mean \n",
" 5.042184 \n",
" 10.116250 \n",
" 501.181391 \n",
" 0.245425 \n",
" 4.534500 \n",
" 1.497161 \n",
" 476.032221 \n",
" \n",
" \n",
" std \n",
" 1.969642 \n",
" 5.401438 \n",
" 100.872740 \n",
" 0.142842 \n",
" 2.877826 \n",
" 0.869979 \n",
" 95.924241 \n",
" \n",
" \n",
" min \n",
" -1.482535 \n",
" 1.000000 \n",
" 166.510729 \n",
" 0.000063 \n",
" 0.000000 \n",
" 0.003067 \n",
" 150.331593 \n",
" \n",
" \n",
" 25% \n",
" 3.707940 \n",
" 5.000000 \n",
" 433.520531 \n",
" 0.122622 \n",
" 2.000000 \n",
" 0.757221 \n",
" 411.936377 \n",
" \n",
" \n",
" 50% \n",
" 5.025536 \n",
" 10.000000 \n",
" 501.165442 \n",
" 0.243107 \n",
" 5.000000 \n",
" 1.509437 \n",
" 475.467864 \n",
" \n",
" \n",
" 75% \n",
" 6.309499 \n",
" 15.000000 \n",
" 569.059613 \n",
" 0.366216 \n",
" 7.000000 \n",
" 2.238121 \n",
" 540.587883 \n",
" \n",
" \n",
" max \n",
" 13.295790 \n",
" 19.000000 \n",
" 860.283214 \n",
" 0.499804 \n",
" 9.000000 \n",
" 2.999922 \n",
" 819.532127 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Days_to_Delivery Num_Items_Ordered Order_Value Discount_Rate \\\n",
"count 4000.000000 4000.000000 4000.000000 4000.000000 \n",
"mean 5.042184 10.116250 501.181391 0.245425 \n",
"std 1.969642 5.401438 100.872740 0.142842 \n",
"min -1.482535 1.000000 166.510729 0.000063 \n",
"25% 3.707940 5.000000 433.520531 0.122622 \n",
"50% 5.025536 10.000000 501.165442 0.243107 \n",
"75% 6.309499 15.000000 569.059613 0.366216 \n",
"max 13.295790 19.000000 860.283214 0.499804 \n",
"\n",
" Num_Previous_Orders Delivery_Time_Variation Correlated_Order_Value \n",
"count 4000.000000 4000.000000 4000.000000 \n",
"mean 4.534500 1.497161 476.032221 \n",
"std 2.877826 0.869979 95.924241 \n",
"min 0.000000 0.003067 150.331593 \n",
"25% 2.000000 0.757221 411.936377 \n",
"50% 5.000000 1.509437 475.467864 \n",
"75% 7.000000 2.238121 540.587883 \n",
"max 9.000000 2.999922 819.532127 "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get discriptive statistics on \"number\" datatypes\n",
"\n",
"df.describe(include = ['number'])"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 175
},
"id": "agAPiTi2N7Xt",
"outputId": "193b47cc-2de4-481e-cacf-80adc0136f5b"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Region \n",
" Product_Category \n",
" Order_Priority \n",
" Payment_Method \n",
" Order_Cancelled \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 4000 \n",
" 4000 \n",
" 4000 \n",
" 4000 \n",
" 4000 \n",
" \n",
" \n",
" unique \n",
" 4 \n",
" 4 \n",
" 3 \n",
" 4 \n",
" 2 \n",
" \n",
" \n",
" top \n",
" EMEA \n",
" SaaS \n",
" Low \n",
" Bank Transfer \n",
" Not-Cancelled \n",
" \n",
" \n",
" freq \n",
" 1022 \n",
" 1046 \n",
" 1356 \n",
" 1029 \n",
" 2614 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Region Product_Category Order_Priority Payment_Method Order_Cancelled\n",
"count 4000 4000 4000 4000 4000\n",
"unique 4 4 3 4 2\n",
"top EMEA SaaS Low Bank Transfer Not-Cancelled\n",
"freq 1022 1046 1356 1029 2614"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get discriptive statistics on \"objects\" datatypes\n",
"\n",
"df.describe(include = ['object'])"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 333
},
"id": "eS24nbz9s2Jo",
"outputId": "e48861f4-0722-4ecd-d0fa-53ca02518b89"
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAdgAAAE6CAYAAAC1VUMQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7c0lEQVR4nO3deVxU9f4/8NfIMizCyCJbImoKgqAZlqKZu6gXzaupVxTx5pJ7pJahqWilNyv1Xs21hNyutmjZzYshLuUXUURxRdwgNUFccBBDQHj//uhyfo0DCMgJkdfz8ZhHnM95n898Dsz08pzzmTkaEREQERFRlapT3QMgIiJ6GjFgiYiIVMCAJSIiUgEDloiISAUMWCIiIhUwYImIiFTAgCUiIlIBA5aIiEgFDFgiIiIVMGCp2p04cQJ///vf0bhxY1hYWKBu3bp4/vnnsWjRIty+fbu6hwcA2Lx5M5YuXVru+s6dO0Oj0SgPS0tLtGrVCkuXLkVRUZFSN3LkSDRq1KhSY1qxYgWioqIqtW1Z8vPzMW7cOLi6usLExATPPfdcmfUigs2bN6Nr166ws7ODVqtFkyZNMHHiRFy5cuWxx5OWlgaNRqPKvj7KrVu3EB4eDh8fH1hbW0On06F58+YICQnBiRMnlLq4uDhERETgzp07lX6unTt3IiIi4vEHTU8MBixVq7Vr18Lf3x8JCQl46623EB0dje3bt2PQoEFYtWoVRo0aVd1DBFDxgAWAJk2a4ODBgzh48CC2bt2KZ555Bm+++SbCw8OrZExqBezKlSuxevVqzJo1CwcOHMCGDRtKrS0qKsLQoUMxbNgwuLi4ICoqCrt27UJYWBh27NiBli1b4v/+7/+qfIx/hpycHLRr1w5RUVEYPXo0duzYgU2bNmHs2LFITU1FUlKSUhsXF4d58+Y9dsDOmzfv8QdOTw4hqiZxcXFiYmIivXr1kvv37xutz8vLk++++64aRmbsL3/5i3h4eJS7vlOnTtKiRQuDtvz8fGnSpIlYWVlJfn6+iIiEhoZWqN8/atGihXTq1KlS25Zl9OjRYmlpWa7aBQsWCAD5xz/+YbQuIyNDPDw8xNnZWbKyssrs5969e6WuS01NFQASGRlZrjE9ym+//SZFRUWPrFu3bp0AkD179pS4vrCwUPn5o48+EgCSmppa6XFNnDhR+L/kpwv/mlRtgoKCxNTUVC5fvlyu+sLCQvnwww/Fy8tLzM3NpX79+hISEiJXrlwxqPPw8JDQ0FCj7Tt16mQQSHv37hUAsnnzZpk5c6a4urqKjY2NdOvWTc6ePWuwHQCjR1lKClgRkUGDBgkA+fXXX0Wk5IDNzc2Vd955Rxo1aiRmZmbi5uYmEyZMMAgpDw8Po/E8KqjL029J+1lasOXl5YmdnZ14e3uXGlibN28WAPLxxx8b/W72798vAQEBYmlpKUOGDBERkV9//VUGDRokdevWFVtbWxk8eLAcPHiwxHEkJCRI3759xc7OTrRarTz33HOydetWg5rIyEgBILt27ZK///3v4ujoKAAkNze3zN+VyP8PzeTk5DLr5s6dW+Lvbe/evSIismXLFunRo4e4uLiIhYWFNG/eXGbMmCE5OTlKH6GhoSX2kZqaWuY/MADI3LlzleXMzEwZM2aMNGjQQMzNzcXR0VHat28vMTExj9xfqnqmah4dE5WmsLAQe/bsgb+/P9zd3cu1zfjx47FmzRpMmjQJQUFBSEtLw+zZs7Fv3z4cPXoUjo6OlRrLzJkz0aFDB3z22WfIzs7GjBkz0LdvXyQnJ8PExAQrVqzA2LFjcfHiRWzfvr1Sz1Hs4sWLMDU1hZ2dXYnrRQT9+/dHbGwswsPD0bFjR5w4cQJz585VTjdrtVps374dr776KnQ6HVasWAEA0Gq1pT5vefs9ePAg3nvvPezduxd79uwBADz77LMl9pmYmIisrCyMHTsWGo2mxJq+ffuiTp06iImJwbRp05T29PR0DB8+HG+//TYWLFiAOnXqIDc3F927d8e1a9ewcOFCeHp64ocffsCQIUOM+t27dy969eqFtm3bYtWqVdDpdNiyZQuGDBmC3377DSNHjjSof+211/CXv/wFGzZswL1792BmZlbq76pYQEAAAGDEiBGYOXMmOnbsCAcHB6O60aNH4/bt21i2bBm2bdsGV1dXAICPjw8A4Pz58+jTpw/CwsJgbW2Ns2fP4sMPP8Thw4eV3/Hs2bNx7949fP311zh48KDSt6urK9LT0x851mIhISE4evQoPvjgA3h6euLOnTs4evQobt26Ve4+qApVd8JT7ZSRkSEA5G9/+1u56pOTkwWATJgwwaD90KFDAkBmzpyptFX0CLZPnz4GdV9++aUAkIMHDyptlT1FXFBQIAUFBXLt2jV55513BIAMGjRIqXv4CDY6OloAyKJFiwz627p1qwCQNWvWKG0VOUVckX5DQ0PF2tr6kX1u2bJFAMiqVavKrHN2dhZvb29lufiMQGxsrEHdypUrBYDRZYExY8YYHcE1b95cWrduLQUFBQa1QUFB4urqqpy+LT6CHTFixCP3pyTz588Xc3Nz5YiycePGMm7cODl+/LhBXXlPERcVFUlBQYHs379fABj0U9op4oocwdatW1fCwsIqtI+kHk5yohph7969AGB0ZPLiiy/C29sbsbGxle67X79+BsstW7YEAPzyyy+V7hMATp8+DTMzM5iZmcHNzQ2ffPIJhg0bhrVr15a6TfERzcP7OWjQIFhbW1d6P9XqtzxExOgI187ODl27djVo27t3L2xsbIz+HsHBwQbLFy5cwNmzZzFs2DAAwIMHD5RHnz59kJ6ejpSUFINtBg4cWKmxz549G5cvX8a6devw+uuvo27duli1ahX8/f3x73//u1x9XLp0CcHBwXBxcYGJiQnMzMzQqVMnAEBycnKlxlWaF198EVFRUXj//fcRHx+PgoKCKu2fKoYBS9XC0dERVlZWSE1NLVd98Smu4tNvf+Tm5vZYp8AePu1XfKo1Nze30n0Cv59aTUhIwJEjR3Dq1CncuXMHGzduhE6nK3WbW7duwdTUFPXr1zdo12g0cHFxqfR+qtFvw4YNAaDMv+G9e/dw8+ZNo8sAJf0db926BWdnZ6N2FxcXg+Xr168DAKZPn678A6b4MWHCBADAzZs3H/l85eXs7Iy///3vWLVqFU6cOIH9+/fD3Nwcb7zxxiO3zcnJQceOHXHo0CG8//772LdvHxISErBt2zYAj/8ae9jWrVsRGhqKzz77DAEBAbC3t8eIESOQkZFRpc9D5cNrsFQtTExM0K1bN/z3v//F1atX0aBBgzLri0MwPT3dqPbatWsG118tLCyQl5dn1MfNmzcrfZ22MiwsLNCmTZsKbePg4IAHDx7gxo0bBmEoIsjIyMALL7xQqbGo0a+/vz/s7OywY8cOLFy4sMTrsDt27EBRURF69Ohh0F5SrYODAw4fPmzU/nA4FP8Nw8PDMWDAgBLH5uXl9cjnq6yXX34ZPXv2xLfffovMzEw4OTmVWrtnzx5cu3YN+/btU45aAVTo4zwWFhYAYPSaLukfRY6Ojli6dCmWLl2Ky5cvY8eOHXjnnXeQmZmJ6Ojocj8nVQ0ewVK1CQ8Ph4hgzJgxyM/PN1pfUFCA77//HgCU04kbN240qElISEBycjK6deumtDVq1MjgSwAA4Ny5c0anDStCq9VW+dFGSYr34+H9/Oabb3Dv3j2D/azImCrSb3mZm5vjrbfeQnJyMj766COj9ZmZmQgPD4ezszNGjx79yP66dOmCu3fvYseOHQbtmzdvNlj28vJCs2bNcPz4cbRp06bEh42NTYX352HXr183+FKQYoWFhTh//jysrKxQr149AKWf9SgO9ocnoK1evdqo39L6cHZ2hoWFhdFr+rvvvitz/A0bNsSkSZPQo0cPHD16tMxaUgePYKnaBAQEYOXKlZgwYQL8/f0xfvx4tGjRAgUFBTh27BjWrFkDX19f9O3bF15eXhg7diyWLVuGOnXqoHfv3sosYnd3d7z55ptKvyEhIRg+fDgmTJiAgQMH4pdffsGiRYuMTo9WhJ+fH7Zt24aVK1fC398fderUqfDRaXn06NEDgYGBmDFjBrKzs9GhQwdltm/r1q0REhJiMKYtW7Zg69ataNKkCSwsLODn5/fY/VbEjBkzcPz4ceW/Q4YMgU6nw4kTJ/DRRx/h7t27+M9//lPmafFiI0aMwJIlSzBixAh88MEHaNasGXbu3Ildu3YZ1a5evRq9e/dGYGAgRo4ciWeeeQa3b99GcnIyjh49iq+++qpS+/NHGzZswOrVqxEcHIwXXngBOp0OV69exWeffYbTp09jzpw5MDc3BwDl9/7Pf/4ToaGhMDMzg5eXF9q3bw87OzuMGzcOc+fOhZmZGTZt2oTjx48bPV9xHx9++CF69+4NExMTtGzZEubm5hg+fDjWrVuHZ599Fq1atcLhw4eN/uGh1+vRpUsXBAcHo3nz5rCxsUFCQgKio6NLPdInlVXvHCsikaSkJAkNDZWGDRuKubm5WFtbS+vWrWXOnDmSmZmp1BV/DtbT01PMzMzE0dFRhg8fbvQ52KKiIlm0aJE0adJELCwspE2bNrJnz55SZxF/9dVXBtuXNGvz9u3b8uqrr0q9evVEo9FU+nOwDyvtc7AzZswQDw8PMTMzE1dXVxk/frzRlzWkpaVJz549xcbGptyfgy1Pv+WdRVysqKhINm3aJJ07d5Z69eqJubm5NG7cWMaPHy+//PKLUX1Zv5urV6/KwIEDpW7dumJjYyMDBw6UuLi4EmfRHj9+XAYPHixOTk5iZmYmLi4u0rVrV4NZzcWziBMSEsq9P8XOnDkj06ZNkzZt2kj9+vXF1NRU7OzspFOnTrJhwwaj+vDwcHFzc5M6deoYfA42Li5OAgICxMrKSurXry+jR4+Wo0ePGu1TXl6ejB49WurXr6+8xopnJev1ehk9erQ4OzuLtbW19O3bV9LS0gxmEd+/f1/GjRsnLVu2FFtbW7G0tBQvLy+ZO3dumV/kQerRiIhUV7gTERE9rXgNloiISAW8BktEtc6DBw/KXF+nTh3UqcPjD3o8fAURUa2SlpZm9PnZhx/z58+v7mHSU4BHsERUq7i5uSEhIeGRNUSPi5OciIiIVMBTxERERCrgKeJyKioqwrVr12BjY1OlX7tGREQ1h4jg7t27cHNze+REOAZsOV27dq3c9y0lIqKn25UrVx75HeoM2HIq/m7TK1euwNbWtppHQ0RE1SE7Oxvu7u7l+r5rBmw5FZ8WtrW1ZcASEdVy5blUyElOREREKmDAEhERqYABS0REpAIGLBERkQoYsERERCpgwBIREamAAUtERKQCBiwREZEK+EUTVGn+b62v7iH8KRI/GlHdQyCiGohHsERERCpgwBIREamAAUtERKQCBiwREZEKqjVgFy5ciBdeeAE2NjZwcnJC//79kZKSYlAzcuRIaDQag0e7du0MavLy8jB58mQ4OjrC2toa/fr1w9WrVw1qsrKyEBISAp1OB51Oh5CQENy5c0ftXSQiolqqWgN2//79mDhxIuLj4xETE4MHDx6gZ8+euHfvnkFdr169kJ6erjx27txpsD4sLAzbt2/Hli1bcODAAeTk5CAoKAiFhYVKTXBwMJKSkhAdHY3o6GgkJSUhJCTkT9lPIiKqfar1YzrR0dEGy5GRkXByckJiYiJefvllpV2r1cLFxaXEPvR6PT7//HNs2LAB3bt3BwBs3LgR7u7u2L17NwIDA5GcnIzo6GjEx8ejbdu2AIC1a9ciICAAKSkp8PLyUmkPiYiotnqirsHq9XoAgL29vUH7vn374OTkBE9PT4wZMwaZmZnKusTERBQUFKBnz55Km5ubG3x9fREXFwcAOHjwIHQ6nRKuANCuXTvodDql5mF5eXnIzs42eBAREZXXExOwIoKpU6fipZdegq+vr9Leu3dvbNq0CXv27MEnn3yChIQEdO3aFXl5eQCAjIwMmJubw87OzqA/Z2dnZGRkKDVOTk5Gz+nk5KTUPGzhwoXK9VqdTgd3d/eq2lUiIqoFnphvcpo0aRJOnDiBAwcOGLQPGTJE+dnX1xdt2rSBh4cHfvjhBwwYMKDU/kQEGo1GWf7jz6XV/FF4eDimTp2qLGdnZzNkiYio3J6II9jJkydjx44d2Lt3Lxo0aFBmraurKzw8PHD+/HkAgIuLC/Lz85GVlWVQl5mZCWdnZ6Xm+vXrRn3duHFDqXmYVquFra2twYOIiKi8qjVgRQSTJk3Ctm3bsGfPHjRu3PiR29y6dQtXrlyBq6srAMDf3x9mZmaIiYlRatLT03Hq1Cm0b98eABAQEAC9Xo/Dhw8rNYcOHYJer1dqiIiIqlK1niKeOHEiNm/ejO+++w42NjbK9VCdTgdLS0vk5OQgIiICAwcOhKurK9LS0jBz5kw4Ojrir3/9q1I7atQoTJs2DQ4ODrC3t8f06dPh5+enzCr29vZGr169MGbMGKxevRoAMHbsWAQFBXEGMRERqaJaA3blypUAgM6dOxu0R0ZGYuTIkTAxMcHJkyexfv163LlzB66urujSpQu2bt0KGxsbpX7JkiUwNTXF4MGDkZubi27duiEqKgomJiZKzaZNmzBlyhRltnG/fv2wfPly9XeSiIhqJY2ISHUPoibIzs6GTqeDXq/n9dj/4e3qiKi2qUgWPBGTnIiIiJ42DFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUgEDloiISAUMWCIiIhUwYImIiFTAgCUiIlIBA5aIiEgFDFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUgEDloiISAUMWCIiIhUwYImIiFTAgCUiIlIBA5aIiEgFDFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUkG1BuzChQvxwgsvwMbGBk5OTujfvz9SUlIMakQEERERcHNzg6WlJTp37ozTp08b1OTl5WHy5MlwdHSEtbU1+vXrh6tXrxrUZGVlISQkBDqdDjqdDiEhIbhz547au0hERLVUtQbs/v37MXHiRMTHxyMmJgYPHjxAz549ce/ePaVm0aJFWLx4MZYvX46EhAS4uLigR48euHv3rlITFhaG7du3Y8uWLThw4ABycnIQFBSEwsJCpSY4OBhJSUmIjo5GdHQ0kpKSEBIS8qfuLxER1R4aEZHqHkSxGzduwMnJCfv378fLL78MEYGbmxvCwsIwY8YMAL8frTo7O+PDDz/E66+/Dr1ej/r162PDhg0YMmQIAODatWtwd3fHzp07ERgYiOTkZPj4+CA+Ph5t27YFAMTHxyMgIABnz56Fl5eX0Vjy8vKQl5enLGdnZ8Pd3R16vR62trZ/wm/jyef/1vrqHsKfIvGjEdU9BCJ6QmRnZ0On05UrC56oa7B6vR4AYG9vDwBITU1FRkYGevbsqdRotVp06tQJcXFxAIDExEQUFBQY1Li5ucHX11epOXjwIHQ6nRKuANCuXTvodDql5mELFy5UTifrdDq4u7tX7c4SEdFT7YkJWBHB1KlT8dJLL8HX1xcAkJGRAQBwdnY2qHV2dlbWZWRkwNzcHHZ2dmXWODk5GT2nk5OTUvOw8PBw6PV65XHlypXH20EiIqpVTKt7AMUmTZqEEydO4MCBA0brNBqNwbKIGLU97OGakurL6ker1UKr1ZZn6EREREaeiCPYyZMnY8eOHdi7dy8aNGigtLu4uACA0VFmZmamclTr4uKC/Px8ZGVllVlz/fp1o+e9ceOG0dExERFRVajWgBURTJo0Cdu2bcOePXvQuHFjg/WNGzeGi4sLYmJilLb8/Hzs378f7du3BwD4+/vDzMzMoCY9PR2nTp1SagICAqDX63H48GGl5tChQ9Dr9UoNERFRVarWU8QTJ07E5s2b8d1338HGxkY5UtXpdLC0tIRGo0FYWBgWLFiAZs2aoVmzZliwYAGsrKwQHBys1I4aNQrTpk2Dg4MD7O3tMX36dPj5+aF79+4AAG9vb/Tq1QtjxozB6tWrAQBjx45FUFBQiTOIiYiIHle1BuzKlSsBAJ07dzZoj4yMxMiRIwEAb7/9NnJzczFhwgRkZWWhbdu2+PHHH2FjY6PUL1myBKamphg8eDByc3PRrVs3REVFwcTERKnZtGkTpkyZosw27tevH5YvX67uDhIRUa31RH0O9klWkc8+1Rb8HCwR1TY19nOwRERETwsGLBERkQoYsERERCpgwBIREamAAUtERKQCBiwREZEKGLBEREQqYMASERGpgAFLRESkAgYsERGRChiwREREKmDAEhERqYABS0REpAIGLBERkQoYsERERCpgwBIREamAAUtERKQCBiwREZEKGLBEREQqYMASERGpgAFLRESkAgYsERGRChiwREREKmDAEhERqYABS0REpAIGLBERkQoYsERERCqoVMA2adIEt27dMmq/c+cOmjRp8tiDIiIiqukqFbBpaWkoLCw0as/Ly8Ovv/762IMiIiKq6UwrUrxjxw7l5127dkGn0ynLhYWFiI2NRaNGjapscERERDVVhQK2f//+AACNRoPQ0FCDdWZmZmjUqBE++eSTKhscERFRTVWhU8RFRUUoKipCw4YNkZmZqSwXFRUhLy8PKSkpCAoKKnd/P/30E/r27Qs3NzdoNBp8++23ButHjhwJjUZj8GjXrp1BTV5eHiZPngxHR0dYW1ujX79+uHr1qkFNVlYWQkJCoNPpoNPpEBISgjt37lRk14mIiCqkUtdgU1NT4ejo+NhPfu/ePbRq1QrLly8vtaZXr15IT09XHjt37jRYHxYWhu3bt2PLli04cOAAcnJyEBQUZHCNODg4GElJSYiOjkZ0dDSSkpIQEhLy2OMnIiIqTYVOEf9RbGwsYmNjlSPZP1q3bl25+ujduzd69+5dZo1Wq4WLi0uJ6/R6PT7//HNs2LAB3bt3BwBs3LgR7u7u2L17NwIDA5GcnIzo6GjEx8ejbdu2AIC1a9ciICAAKSkp8PLyKrHvvLw85OXlKcvZ2dnl2iciIiKgkkew8+bNQ8+ePREbG4ubN28iKyvL4FGV9u3bBycnJ3h6emLMmDHIzMxU1iUmJqKgoAA9e/ZU2tzc3ODr64u4uDgAwMGDB6HT6ZRwBYB27dpBp9MpNSVZuHChckpZp9PB3d29SveLiIiebpU6gl21ahWioqJUP83au3dvDBo0CB4eHkhNTcXs2bPRtWtXJCYmQqvVIiMjA+bm5rCzszPYztnZGRkZGQCAjIwMODk5GfXt5OSk1JQkPDwcU6dOVZazs7MZskREVG6VCtj8/Hy0b9++qsdiZMiQIcrPvr6+aNOmDTw8PPDDDz9gwIABpW4nItBoNMryH38ureZhWq0WWq22kiMnIqLarlKniEePHo3NmzdX9VgeydXVFR4eHjh//jwAwMXFBfn5+UanpTMzM+Hs7KzUXL9+3aivGzduKDVERERVrVJHsPfv38eaNWuwe/dutGzZEmZmZgbrFy9eXCWDe9itW7dw5coVuLq6AgD8/f1hZmaGmJgYDB48GACQnp6OU6dOYdGiRQCAgIAA6PV6HD58GC+++CIA4NChQ9Dr9X/KUTgREdVOlQrYEydO4LnnngMAnDp1ymBdWaddH5aTk4MLFy4oy6mpqUhKSoK9vT3s7e0RERGBgQMHwtXVFWlpaZg5cyYcHR3x17/+FQCg0+kwatQoTJs2DQ4ODrC3t8f06dPh5+enzCr29vZGr169MGbMGKxevRoAMHbsWAQFBZU6g5iIiOhxVSpg9+7dWyVPfuTIEXTp0kVZLp5UFBoaipUrV+LkyZNYv3497ty5A1dXV3Tp0gVbt26FjY2Nss2SJUtgamqKwYMHIzc3F926dUNUVBRMTEyUmk2bNmHKlCnKbON+/fqV+dlbIiKix6UREanuQdQE2dnZ0Ol00Ov1sLW1re7hPBH831pf3UP4UyR+NKK6h0BET4iKZEGljmC7dOlS5qngPXv2VKZbIiKip0alArb4+muxgoICJCUl4dSpU0Y3ASAiIqqNKhWwS5YsKbE9IiICOTk5jzUgIqKagpdJqCyV+hxsaYYPH17u7yEmIiJ6mlVpwB48eBAWFhZV2SUREVGNVKlTxA9/TaGIID09HUeOHMHs2bOrZGBEREQ1WaUCVqfTGSzXqVMHXl5emD9/vsGdbYiIiGqrSgVsZGRkVY+DiIjoqVLpG64Dv9+PNTk5GRqNBj4+PmjdunVVjYuIiKhGq1TAZmZm4m9/+xv27duHevXqQUSg1+vRpUsXbNmyBfXr16/qcRIREdUolZpFPHnyZGRnZ+P06dO4ffs2srKycOrUKWRnZ2PKlClVPUYiIqIap1JHsNHR0di9eze8vb2VNh8fH3z66aec5ERERIRKHsEWFRUZ3QMWAMzMzFBUVPTYgyIiIqrpKhWwXbt2xRtvvIFr164pbb/++ivefPNNdOvWrcoGR0REVFNVKmCXL1+Ou3fvolGjRnj22WfRtGlTNG7cGHfv3sWyZcuqeoxEREQ1TqWuwbq7u+Po0aOIiYnB2bNnISLw8fFB9+7dq3p8RERENVKFjmD37NkDHx8fZGdnAwB69OiByZMnY8qUKXjhhRfQokUL/Pzzz6oMlIiIqCapUMAuXboUY8aMKfEu7jqdDq+//joWL15cZYMjIiKqqSoUsMePH0evXr1KXd+zZ08kJiY+9qCIiIhqugoF7PXr10v8eE4xU1NT3Lhx47EHRUREVNNVKGCfeeYZnDx5stT1J06cgKur62MPioiIqKarUMD26dMHc+bMwf37943W5ebmYu7cuQgKCqqywREREdVUFfqYzrvvvott27bB09MTkyZNgpeXFzQaDZKTk/Hpp5+isLAQs2bNUmusRERENUaFAtbZ2RlxcXEYP348wsPDISIAAI1Gg8DAQKxYsQLOzs6qDJSIiKgmqfAXTXh4eGDnzp3IysrChQsXICJo1qwZ7Ozs1BgfERFRjVTpG67b2dnhhRdeqMqxEBERPTUq9V3EREREVDYGLBERkQoYsERERCpgwBIREamAAUtERKSCag3Yn376CX379oWbmxs0Gg2+/fZbg/UigoiICLi5ucHS0hKdO3fG6dOnDWry8vIwefJkODo6wtraGv369cPVq1cNarKyshASEgKdTgedToeQkBDcuXNH5b0jIqLarFoD9t69e2jVqhWWL19e4vpFixZh8eLFWL58ORISEuDi4oIePXrg7t27Sk1YWBi2b9+OLVu24MCBA8jJyUFQUBAKCwuVmuDgYCQlJSE6OhrR0dFISkpCSEiI6vtHRES1V6U/B1sVevfujd69e5e4TkSwdOlSzJo1CwMGDAAAfPHFF3B2dsbmzZvx+uuvQ6/X4/PPP8eGDRvQvXt3AMDGjRvh7u6O3bt3IzAwEMnJyYiOjkZ8fDzatm0LAFi7di0CAgKQkpICLy+vP2dniYioVnlir8GmpqYiIyMDPXv2VNq0Wi06deqEuLg4AEBiYiIKCgoMatzc3ODr66vUHDx4EDqdTglXAGjXrh10Op1SU5K8vDxkZ2cbPIiIiMrriQ3YjIwMADD6bmNnZ2dlXUZGBszNzY2+pvHhGicnJ6P+nZyclJqSLFy4ULlmq9Pp4O7u/lj7Q0REtcsTG7DFNBqNwbKIGLU97OGakuof1U94eDj0er3yuHLlSgVHTkREtdkTG7AuLi4AYHSUmZmZqRzVuri4ID8/H1lZWWXWXL9+3aj/GzdulHnnH61WC1tbW4MHERFReT2xAdu4cWO4uLggJiZGacvPz8f+/fvRvn17AIC/vz/MzMwMatLT03Hq1CmlJiAgAHq9HocPH1ZqDh06BL1er9QQERFVtWqdRZyTk4MLFy4oy6mpqUhKSoK9vT0aNmyIsLAwLFiwAM2aNUOzZs2wYMECWFlZITg4GACg0+kwatQoTJs2DQ4ODrC3t8f06dPh5+enzCr29vZGr169MGbMGKxevRoAMHbsWAQFBXEGMRERqaZaA/bIkSPo0qWLsjx16lQAQGhoKKKiovD2228jNzcXEyZMQFZWFtq2bYsff/wRNjY2yjZLliyBqakpBg8ejNzcXHTr1g1RUVEwMTFRajZt2oQpU6Yos4379etX6mdviYiIqoJGRKS6B1ETZGdnQ6fTQa/X83rs//i/tb66h/CnSPxoRHUPgZ5QfA/UPhXJgif2GiwREVFNxoAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUgEDloiISAUMWCIiIhUwYImIiFTAgCUiIlIBA5aIiEgFDFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUgEDloiISAUMWCIiIhUwYImIiFTAgCUiIlIBA5aIiEgFDFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUgEDloiISAVPdMBGRERAo9EYPFxcXJT1IoKIiAi4ubnB0tISnTt3xunTpw36yMvLw+TJk+Ho6Ahra2v069cPV69e/bN3hYiIapknOmABoEWLFkhPT1ceJ0+eVNYtWrQIixcvxvLly5GQkAAXFxf06NEDd+/eVWrCwsKwfft2bNmyBQcOHEBOTg6CgoJQWFhYHbtDRES1hGl1D+BRTE1NDY5ai4kIli5dilmzZmHAgAEAgC+++ALOzs7YvHkzXn/9dej1enz++efYsGEDunfvDgDYuHEj3N3dsXv3bgQGBv6p+0JERLXHE38Ee/78ebi5uaFx48b429/+hkuXLgEAUlNTkZGRgZ49eyq1Wq0WnTp1QlxcHAAgMTERBQUFBjVubm7w9fVVakqTl5eH7OxsgwcREVF5PdEB27ZtW6xfvx67du3C2rVrkZGRgfbt2+PWrVvIyMgAADg7Oxts4+zsrKzLyMiAubk57OzsSq0pzcKFC6HT6ZSHu7t7Fe4ZERE97Z7ogO3duzcGDhwIPz8/dO/eHT/88AOA308FF9NoNAbbiIhR28PKUxMeHg69Xq88rly5Usm9ICKi2uiJDtiHWVtbw8/PD+fPn1euyz58JJqZmakc1bq4uCA/Px9ZWVml1pRGq9XC1tbW4EFERFReNSpg8/LykJycDFdXVzRu3BguLi6IiYlR1ufn52P//v1o3749AMDf3x9mZmYGNenp6Th16pRSQ0REpIYnehbx9OnT0bdvXzRs2BCZmZl4//33kZ2djdDQUGg0GoSFhWHBggVo1qwZmjVrhgULFsDKygrBwcEAAJ1Oh1GjRmHatGlwcHCAvb09pk+frpxyJiIiUssTHbBXr17F0KFDcfPmTdSvXx/t2rVDfHw8PDw8AABvv/02cnNzMWHCBGRlZaFt27b48ccfYWNjo/SxZMkSmJqaYvDgwcjNzUW3bt0QFRUFExOT6totIiKqBTQiItU9iJogOzsbOp0Oer2e12P/x/+t9dU9hD9F4kcjqnsI9ITie6D2qUgW1KhrsERERDUFA5aIiEgFDFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUgEDloiISAUMWCIiIhUwYImIiFTAgCUiIlIBA5aIiEgFDFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUgEDloiISAUMWCIiIhUwYImIiFTAgCUiIlIBA5aIiEgFDFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFdSqgF2xYgUaN24MCwsL+Pv74+eff67uIRER0VOq1gTs1q1bERYWhlmzZuHYsWPo2LEjevfujcuXL1f30IiI6ClUawJ28eLFGDVqFEaPHg1vb28sXboU7u7uWLlyZXUPjYiInkKm1T2AP0N+fj4SExPxzjvvGLT37NkTcXFxJW6Tl5eHvLw8ZVmv1wMAsrOz1RtoDVOYl1vdQ/hT8G9OpeF7oPYp/l2IyCNra0XA3rx5E4WFhXB2djZod3Z2RkZGRonbLFy4EPPmzTNqd3d3V2WM9OTSLRtX3UMgqlZ8Dxi7e/cudDpdmTW1ImCLaTQag2URMWorFh4ejqlTpyrLRUVFuH37NhwcHErdhtSVnZ0Nd3d3XLlyBba2ttU9HKI/Hd8D1U9EcPfuXbi5uT2ytlYErKOjI0xMTIyOVjMzM42OaotptVpotVqDtnr16qk1RKoAW1tb/s+FajW+B6rXo45ci9WKSU7m5ubw9/dHTEyMQXtMTAzat29fTaMiIqKnWa04ggWAqVOnIiQkBG3atEFAQADWrFmDy5cvY9w4XlsgIqKqV2sCdsiQIbh16xbmz5+P9PR0+Pr6YufOnfDw8KjuoVE5abVazJ071+jUPVFtwfdAzaKR8sw1JiIiogqpFddgiYiI/mwMWCIiIhUwYImIiFTAgCX6n3379kGj0eDOnTsAgKioqCr57LNGo8G333772P0QVURERASee+45ZXnkyJHo37//Y/X58HuEysaArWVGjhwJjUaDf/zjHwbt3377bYW+oapRo0ZYunRpuWrz8/OxaNEitGrVClZWVnB0dESHDh0QGRmJgoKCigyf6ImQkZGByZMno0mTJtBqtXB3d0ffvn0RGxtb3UOjJ0it+ZgO/X8WFhb48MMP8frrr8POzk7V58rPz0dgYCCOHz+O9957Dx06dICtrS3i4+Px8ccfo3Xr1gb/yiZ60qWlpaFDhw6oV68eFi1ahJYtW6KgoAC7du3CxIkTcfbs2eoeIj0heARbC3Xv3h0uLi5YuHBhqTXffPMNWrRoAa1Wi0aNGuGTTz5R1nXu3Bm//PIL3nzzTWg0mjKPfJcuXYqffvoJsbGxmDhxIp577jk0adIEwcHBOHToEJo1awYAiI6OxksvvYR69erBwcEBQUFBuHjxotJPWloaNBoNtm3bhi5dusDKygqtWrXCwYMHDZ7v//7v/9CpUydYWVnBzs4OgYGByMrKAvD7d4guWrQITZo0gaWlJVq1aoWvv/66Qr+777//Hv7+/rCwsECTJk0wb948PHjwQFl//vx5vPzyy7CwsICPj4/Rt4dRzTdhwgRoNBocPnwYr776Kjw9PdGiRQtMnToV8fHxAH6/Paafnx+sra3h7u6OCRMmICcnR+mj+PLDrl274O3tjbp166JXr15IT083eK5169Yp70NXV1dMmjRJWafX6zF27Fg4OTnB1tYWXbt2xfHjx8u9H+V5P+zcuROenp6wtLREly5dkJaWVonfWC0mVKuEhobKK6+8Itu2bRMLCwu5cuWKiIhs375dil8OR44ckTp16sj8+fMlJSVFIiMjxdLSUiIjI0VE5NatW9KgQQOZP3++pKenS3p6eqnP17JlS+nZs+cjx/X111/LN998I+fOnZNjx45J3759xc/PTwoLC0VEJDU1VQBI8+bN5T//+Y+kpKTIq6++Kh4eHlJQUCAiIseOHROtVivjx4+XpKQkOXXqlCxbtkxu3LghIiIzZ86U5s2bS3R0tFy8eFEiIyNFq9XKvn37RERk7969AkCysrJERCQyMlJ0Op0yxujoaLG1tZWoqCi5ePGi/Pjjj9KoUSOJiIgQEZHCwkLx9fWVzp07y7Fjx2T//v3SunVrASDbt28v3x+Inmi3bt0SjUYjCxYsKLNuyZIlsmfPHrl06ZLExsaKl5eXjB8/XlkfGRkpZmZm0r17d0lISJDExETx9vaW4OBgpWbFihViYWEhS5culZSUFDl8+LAsWbJERESKioqkQ4cO0rdvX0lISJBz587JtGnTxMHBQW7duiUiInPnzpVWrVop/RW/94s96v1w+fJl0Wq18sYbb8jZs2dl48aN4uzsbPAeobIxYGuZP77J2rVrJ6+99pqIGAZscHCw9OjRw2C7t956S3x8fJRlDw8P5c1eFktLS5kyZUqFx5mZmSkA5OTJkyLy/wP2s88+U2pOnz4tACQ5OVlERIYOHSodOnQosb+cnByxsLCQuLg4g/ZRo0bJ0KFDReTRAduxY0ej/7Fu2LBBXF1dRURk165dYmJiovyjRUTkv//9LwP2KXLo0CEBINu2bavQdl9++aU4ODgoy5GRkQJALly4oLR9+umn4uzsrCy7ubnJrFmzSuwvNjZWbG1t5f79+wbtzz77rKxevVpEyg7Y8rwfwsPDxdvbW4qKipT1M2bMYMBWAK/B1mIffvghunbtimnTphm0Jycn45VXXjFo69ChA5YuXYrCwkKYmJiU2F/dunWVn4cPH45Vq1aVeUvAP7p48SJmz56N+Ph43Lx5E0VFRQCAy5cvw9fXV6lr2bKl8rOrqyuA3++K1Lx5cyQlJWHQoEEl9n/mzBncv38fPXr0MGjPz89H69atHzk+AEhMTERCQgI++OADpa2wsBD379/Hb7/9huTkZDRs2BANGjRQ1gcEBJSrb6oZ5H9ffPeo1/TevXuxYMECnDlzBtnZ2Xjw4AHu37+Pe/fuwdraGgBgZWWFZ599VtnG1dUVmZmZAH5/TV+7dg3dunUrsf/ExETk5OTAwcHBoD03N9fg0kppyvN+SE5ORrt27Qz2la/nimHA1mIvv/wyAgMDMXPmTIwcOVJpLykUpRzfqJmUlKT8XHwrLU9PTyQnJz9y2759+8Ld3R1r166Fm5sbioqK4Ovri/z8fIM6MzMz5efiMRaHsaWlZan9F9f88MMPeOaZZwzWlfd7XYuKijBv3jwMGDDAaJ2FhUWJvyPeO/jp0qxZM2g0GiQnJ5f6kZdffvkFffr0wbhx4/Dee+/B3t4eBw4cwKhRowxmzf/xtQz8/lopfg2V9VoGfn8turq6Yt++fUbryvPRsvK8H8rznqeyMWBruX/84x947rnn4OnpqbT5+PjgwIEDBnVxcXHw9PRUjl7Nzc1RWFhoUNO0aVOj/oODgzFz5kwcO3bM6EjxwYMHyMvLw/3795GcnIzVq1ejY8eOAGD0/OXRsmVLxMbGYt68eUbrfHx8oNVqcfnyZXTq1KnCfQPA888/j5SUlBL3s/g5Ll++jGvXrik3Y354EhbVbPb29ggMDMSnn36KKVOmKEejxe7cuYMjR47gwYMH+OSTT1Cnzu/zSL/88ssKPY+NjQ0aNWqE2NhYdOnSxWj9888/j4yMDJiamqJRo0YV3o/yvB98fHyMPr9dPImLyoeziGs5Pz8/DBs2DMuWLVPapk2bhtjYWLz33ns4d+4cvvjiCyxfvhzTp09Xaho1aoSffvoJv/76K27evFlq/2FhYejQoQO6deuGTz/9FMePH8elS5fw5Zdfom3btjh//jzs7Ozg4OCANWvW4MKFC9izZw+mTp1a4X0JDw9HQkICJkyYgBMnTuDs2bNYuXIlbt68CRsbG0yfPh1vvvkmvvjiC1y8eBHHjh3Dp59+ii+++KJc/c+ZMwfr169HREQETp8+jeTkZGzduhXvvvsugN9nZ3t5eWHEiBE4fvw4fv75Z8yaNavC+0FPthUrVqCwsBAvvvgivvnmG5w/fx7Jycn417/+hYCAADz77LN48OABli1bhkuXLmHDhg1YtWpVhZ8nIiICn3zyCf71r3/h/PnzOHr0qPI+7d69OwICAtC/f3/s2rULaWlpiIuLw7vvvosjR448su/yvB/GjRuHixcvYurUqUhJScHmzZsRFRVV4f2o1arx+i9Vg4dnEoqIpKWliVarlT++HL7++mvx8fERMzMzadiwoXz00UcG2xw8eFBatmxptF1J7t+/LwsXLhQ/Pz+xsLAQe3t76dChg0RFRSkzgGNiYsTb21u0Wq20bNlS9u3bZzA5qHiS07Fjx5R+s7KyBIDs3btXadu3b5+0b99etFqt1KtXTwIDA5UJGUVFRfLPf/5TvLy8xMzMTOrXry+BgYGyf/9+EXn0JCeR32cSt2/fXiwtLcXW1lZefPFFWbNmjbI+JSVFXnrpJTE3NxdPT0+Jjo7mJKen0LVr12TixIni4eEh5ubm8swzz0i/fv2U1+LixYvF1dVVLC0tJTAwUNavX//I19YfJxoWW7VqlfJ6dXV1lcmTJyvrsrOzZfLkyeLm5iZmZmbi7u4uw4YNk8uXL4vIo2cRP+r9ICLy/fffS9OmTUWr1UrHjh1l3bp1nORUAbxdHRERkQp4ipiIiEgFDFgiIiIVMGCJiIhUwIAlIiJSAQOWiIhIBQxYIiIiFTBgiYiIVMCAJSIiUgEDlugpVHxDbyKqPgxYoifAlStXMGrUKLi5ucHc3BweHh544403cOvWreoempFLly5h6NChcHNzg4WFBRo0aIBXXnkF586dAwCkpaVBo9EY3F2pvDQajdEXzBPVVAxYomp26dIltGnTBufOncO///1vXLhwAatWrUJsbCwCAgJw+/btUrd9+HZ+VemPt1b74/P16NED2dnZ2LZtG1JSUrB161b4+vpCr9erNhaiGqm6vwyZqLbr1auXNGjQQH777TeD9vT0dLGyspJx48YpbR4eHvLee+9JaGio2NrayogRI0Tk9y+Pd3d3F0tLS+nfv798/PHHRl8mv2PHDnn++edFq9VK48aNJSIiQrnZgogIAFm5cqX069dPrKysZM6cOUZjPXbsmACQtLS0UvcHgMGjU6dOIiJy+PBh6d69uzg4OIitra28/PLLkpiYaLBvf9zOw8NDREq+QcUbb7yh9Csi8tVXX4mvr69yM4lu3bpJTk5OqWMk+jPwCJaoGt2+fRu7du3ChAkTjG6y7eLigmHDhmHr1q0GN7/+6KOP4Ovri8TERMyePRuHDh3Ca6+9hgkTJiApKQldunTB+++/b9DXrl27MHz4cEyZMgVnzpzB6tWrERUVhQ8++MCgbu7cuXjllVdw8uRJvPbaa0bjrV+/PurUqYOvv/7a6H7AxQ4fPgwA2L17N9LT07Ft2zYAwN27dxEaGoqff/4Z8fHxaNasGfr06YO7d+8CABISEgAAkZGRSE9PV5YfJT09HUOHDsVrr72G5ORk7Nu3DwMGDOANw6n6VXfCE9Vm8fHxZd7ObvHixQJArl+/LiK/H+X179/foGbo0KHSq1cvg7YhQ4YYHMF27NhRFixYYFCzYcMGcXV1VZYBSFhY2CPHvHz5crGyshIbGxvp0qWLzJ8/Xy5evKisL+nWgiV58OCB2NjYyPfff28whod/F486gk1MTHzkUTVRdeARLNETTP53FKbRaJS2Nm3aGNQkJycjICDAoO3h5cTERMyfPx9169ZVHmPGjEF6ejp+++23UvsuycSJE5GRkYGNGzciICAAX331FVq0aIGYmJgyt8vMzMS4cePg6ekJnU4HnU6HnJwcXL58+ZHPWZZWrVqhW7du8PPzw6BBg7B27VpkZWU9Vp9EVYEBS1SNmjZtCo1GgzNnzpS4/uzZs7Czs4Ojo6PSZm1tbVAj5TgVWlRUhHnz5iEpKUl5nDx5EufPn4eFhUWpfZfGxsYG/fr1wwcffIDjx4+jY8eORqelHzZy5EgkJiZi6dKliIuLQ1JSEhwcHB45UatOnTpG+/jHCVgmJiaIiYnBf//7X/j4+GDZsmXw8vJCampqufaFSC0MWKJq5ODggB49emDFihXIzc01WJeRkYFNmzZhyJAhBkewD/Px8UF8fLxB28PLzz//PFJSUtC0aVOjR506j/e/AY1Gg+bNm+PevXsAAHNzcwAwukb7888/Y8qUKejTpw9atGgBrVaLmzdvGtSYmZkZbVe/fn2kp6cbtD38ESCNRoMOHTpg3rx5OHbsGMzNzbF9+/bH2i+ix8WAJapmy5cvR15eHgIDA/HTTz/hypUriI6ORo8ePfDMM88YTUR62JQpUxAdHY1Fixbh3LlzWL58OaKjow1q5syZg/Xr1yMiIgKnT59GcnIytm7dinfffbdCY01KSsIrr7yCr7/+GmfOnMGFCxfw+eefY926dXjllVcAAE5OTrC0tER0dDSuX7+ufHynadOm2LBhA5KTk3Ho0CEMGzbMaGJXo0aNEBsbi4yMDOU0b9euXXHkyBGsX78e58+fx9y5c3Hq1Cllm0OHDmHBggU4cuQILl++jG3btuHGjRvw9vau0L4RVblqvgZMRCKSlpYmI0eOFBcXFzEzMxN3d3eZPHmy3Lx506DOw8NDlixZYrT9559/Lg0aNBBLS0vp27dviR/TiY6Olvbt24ulpaXY2trKiy++KGvWrFHWo4zJVsVu3LghU6ZMEV9fX6lbt67Y2NiIn5+ffPzxx1JYWKjUrV27Vtzd3aVOnTrKZKSjR49KmzZtRKvVSrNmzeSrr74y2p8dO3ZI06ZNxdTUVPmYjojInDlzxNnZWXQ6nbz55psyadIkpd8zZ85IYGCg1K9fX7RarXh6esqyZcvK3A+iP4NGhHPZiYiIqhpPERMREamAAUtERKQCBiwREZEKGLBEREQqYMASERGpgAFLRESkAgYsERGRChiwREREKmDAEhERqYABS0REpAIGLBERkQr+H1IYmLo1o79xAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Drawing a count plot for the target column 'Order_Status'\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"\n",
"plt.figure(figsize=(5,3))\n",
"sns.countplot(x='Order_Cancelled', data=df, width=0.3) # Default width is 0.8, 0.3 is 70% shorter\n",
"plt.title('Count Plot of Order_Status')\n",
"plt.xlabel('Order Status')\n",
"plt.ylabel('Count')\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "_t9iG84UtK2J",
"outputId": "aab70c7b-bafe-4b0d-dc90-323cc16b9781"
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAY2CAYAAAAHIJWkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde5yWdZ0//tfIwHAQRg4y4xQqtuQJKsKWwL4LykFJpL5WVChaklG42iQeYu0wtgkrrsp3ITVcV0gkbNso3b6RWEbLqokYKWa6FRomI1bjAIqAcP/+8Of9dRhAQE738Hw+Htcj78/1vq7785lD14d53Z/rKisUCoUAAAAAAACUgEP2dwcAAAAAAAB2lmADAAAAAAAoGYINAAAAAACgZAg2AAAAAACAkiHYAAAAAAAASoZgAwAAAAAAKBmCDQAAAAAAoGQINgAAAAAAgJIh2AAAAAAAAEqGYAP2skcffTSf/vSn07Nnz7Rt2zaHHnpo3vve92bq1Kn561//ur+7lySZO3dupk2bttP1gwcPTllZWXFr165d3v3ud2fatGnZsmVLse5Tn/pUjj766N3q04033phZs2bt1rE7snHjxnzuc5/LEUcckVatWuU973nPdms/9alPNRlnmzZt8o53vCOXXnpp1qxZs8f7trWysrLU1dXt9fcBaOlci4/erT4diNfiioqKHHvssfna176WV155ZY/3bWs///nPU1ZWlp///Od75fwvv/xy6urq3tL516xZk6uvvjonnXRSOnXqlIqKihx99NE5//zz88gjj+zy+Z577rnU1dVl2bJlu90nAF5jDnL0bvXpQJiDJEmhUMjcuXNz6qmnpnPnzqmoqMgxxxyTCy+8MCtXrnzL/Xn66adTVla2V8b6Zt74PSwrK0tlZWUGDx6cH/3oRzt1/N6aI9XV1aWsrKxJ2976eaD0le/vDkBLdsstt2TChAk59thjc9lll+WEE07Ipk2b8vDDD+fmm2/OAw88kPnz5+/vbmbu3LlZvnx5amtrd/qYY445JnfccUeSZPXq1bn55pvzxS9+MatWrco111zzlvt04403plu3bvnUpz71ls/1RjfddFO+9a1vZfr06enXr18OPfTQHda3a9cuP/vZz5IkL774Yr73ve/luuuuy6OPPpp77rlnj/Ztaw888EDe/va379X3AGjpXIt334F4LW5oaMh3vvOdfP3rX89vf/vb3HnnnXu0b/vayy+/nKuuuirJa38o2lW///3vM3z48KxevTqf+9znctVVV+XQQw/N008/ne9+97vp169fXnzxxVRWVu70OZ977rlcddVVOfroo9/0Dz4AbJ85yO47EOYgW7ZsyZgxY3LnnXfmk5/8ZGbNmpXKyso8+uijufbaazN37tz853/+Z04++eQ92sd96aMf/WgmTpyYLVu25A9/+EO+8Y1v5Mwzz8zdd9+dM844Y4fHvve9780DDzyQE044YY/26TOf+UxOP/30Jm176+eB0ifYgL3kgQceyOc///kMGzYsP/jBD1JRUVHcN2zYsEycODELFizYjz18a9q1a5f3v//9xdcjRozIcccdlxkzZuQb3/hGWrduvR97t33Lly9Pu3bt8vd///c7VX/IIYc0Gefpp5+eP/zhD1m4cGFWrFiRnj177q2uNnlfAHada3HLvBaPGDGi+If766+/Pm9729u2edz69evTrl27PdLnA9HmzZvzv//3/86f//znPPDAA+ndu3dx36BBg3Leeeflxz/+8QH7c7AnvPzyy2nfvv3+7gZAM+YgB+a1Z1fmINdcc03uvPPO/NM//VOuuOKKYvvgwYPz8Y9/PP37989HPvKR/Pa3v81hhx223fPsy2vV+vXr07Zt22YrHranqqqq+H0cOHBgBgwYkL/5m7/JtGnTthtsbNq0KWVlZenUqdMe/ZvF61+nt7/97T7gyU5zKyrYSyZPnpyysrLMnDmzySTmdW3atMmoUaOKr7ds2ZKpU6fmuOOOS0VFRbp3755zzz03zz77bJPjjj766G2m1IMHD27ySb/XlwV+5zvfyZVXXpmampp06tQpQ4cOzZNPPtnkuB/96Ed55plnmixD3FWtW7dOv3798vLLL+eFF17Ybt0rr7ySSZMmpWfPnmnTpk3e9ra35cILL8yLL77YZIyPP/54Fi1aVOzPmy1h3ZnzlpWV5V//9V+zfv364nl3ZznjSSedlCR5/vnnm7TfeeedGTBgQDp06JBDDz00p512Wn71q181O/6WW27JO9/5zlRUVOSEE07I3Llzt7lMd1u3olq+fHk+9KEPpXPnzmnbtm3e8573ZPbs2U1qdvZ7D9DSuRZvW0u4Fr/+D+lnnnmm2N+RI0fm+9//fvr27Zu2bdsWV0LszLUzSX7729/m9NNPT/v27dOtW7d87nOfy9q1a5vV7ez3P3lttefEiRNzzDHHFH+mPvjBD+a3v/1tnn766Rx++OFJkquuuqr49djZTyP+4Ac/yGOPPZZJkyY1CTXeaMSIEcU/pvzud7/Lpz/96fTq1Svt27fP2972tpx55pl57LHHivU///nP8773vS9J8ulPf7rYpzfORx5++OGMGjUqXbp0Sdu2bdO3b99897vfbfbeixcvzoABA9K2bdu87W1vy1e+8pX867/+a8rKyvL0008X63b2927w4MHp3bt3fvGLX2TgwIFp3759zj///IwbNy5dunTJyy+/3KwPp556ak488cSd+noC7EnmINtWKnOQjRs35tprr83xxx+fyy+/vNn+qqqqTJkyJc8//3xuvfXWYvv2rlXJaysiR48enY4dO6aysjIf//jHU19fv83335lr7axZs1JWVpZ77rkn559/fg4//PC0b98+GzZs2OHXakfe8Y535PDDDy/Or17/Obr99tszceLEvO1tb0tFRUV+97vfbfdWVHfddVcGDBiQ9u3bp2PHjhk2bFgeeOCBJjWv327qkUceyUc/+tF07tw573jHO5rse932fh7WrVuXww47LOPHj282jqeffjqtWrXKtddeu9tfC0qDYAP2gs2bN+dnP/tZ+vXrlx49euzUMZ///OdzxRVXZNiwYbnrrrvyj//4j1mwYEEGDhyYP//5z7vdl3/4h3/IM888k3/913/NzJkz8z//8z8588wzs3nz5iSvLek7+eSTU11dnQceeKC47Y7f//73KS8vT+fOnbe5v1Ao5MMf/nD++Z//OWPHjs2PfvSjXHLJJZk9e3ZOPfXU4gV4/vz5OeaYY9K3b99if3a0RHdnz/vAAw/kgx/8YNq1a1c875str9yWFStWpLy8PMccc0yxbfLkyfnkJz+ZE044Id/97ndz++23Z+3atflf/+t/5Te/+U2xbubMmfnsZz+bd73rXfn+97+fL3/5y7nqqqt26r6UTz75ZAYOHJjHH388//Iv/5Lvf//7OeGEE/KpT30qU6dObVb/Zt97gJbMtbhlX4t/97vfJUkxGEiSRx55JJdddlkuvvjiLFiwIB/5yEd2+tr5/PPPZ9CgQVm+fHluvPHG3H777Vm3bt1OryrZlrVr1+YDH/hAvvWtb+XTn/507r777tx888155zvfmVWrVuWII44oflp33Lhxxa/HV77ylZ06/+u3xPzwhz+8U/XPPfdcunbtmn/6p3/KggUL8s1vfjPl5eXp379/8Y9c733ve3PbbbclSb785S8X+/SZz3wmSXLffffl5JNPzosvvpibb745P/zhD/Oe97wnH//4x5v8cejRRx/NsGHD8vLLL2f27Nm5+eab88gjj+Tqq69u1q9d+b1btWpVzjnnnIwZMyb/9//+30yYMCFf+MIX0tDQkLlz5zap/c1vfpP77rsvF1544U59fQD2FHOQ0p+DLF26NA0NDRk1atR2g54zzzwzhxxySBYuXNikfVvXqvXr12fo0KG55557MmXKlPz7v/97qqur8/GPf7zZeXf2Wvu6888/P61bt87tt9+e733ve29ptUxDQ0P+8pe/NJlfJcmkSZPyxz/+MTfffHPuvvvudO/efZvHz507Nx/60IfSqVOnfOc738mtt96ahoaGDB48OIsXL25Wf9ZZZ+Vv/uZv8u///u+5+eabt3nO7f08HHrooTn//PNzxx13pLGxsckxN954Y9q0aVMMlWjBCsAeV19fX0hS+MQnPrFT9U888UQhSWHChAlN2n/5y18WkhT+4R/+odh21FFHFc4777xm5xg0aFBh0KBBxdf33XdfIUnhgx/8YJO67373u4UkhQceeKDYdsYZZxSOOuqonerr6+914oknFjZt2lTYtGlT4bnnnit86UtfKiQpfOxjHyvWnXfeeU3Ou2DBgkKSwtSpU5uc78477ywkKcycObPYduKJJzYZz47synnPO++8QocOHXbqvK/Xvj7OP//5z4WbbrqpcMghhzT5nvzxj38slJeXFy666KImx69du7ZQXV1dGD16dKFQKBQ2b95cqK6uLvTv379J3TPPPFNo3bp1s+9BksLXvva14utPfOIThYqKisIf//jHJnUjRowotG/fvvDiiy8WCoVd+94DtFSuxa9padfiF154ofB//s//KZSVlRXe9773FeuOOuqoQqtWrQpPPvlkk+N39tp5xRVXFMrKygrLli1rUjds2LBCksJ9993X5L125vv/9a9/vZCksHDhwu2O74UXXmh2vd9Zp59+eiFJ4ZVXXtnlYwuFQuHVV18tbNy4sdCrV6/CF7/4xWL7kiVLCkkKt912W7NjjjvuuELfvn0LmzZtatI+cuTIwhFHHFHYvHlzoVAoFD72sY8VOnTo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eXl5fv/73+ekk07a5pa8NgGprq7Od7/73Sbn/OMf/5j777//Td97yJAh+dnPflb8Y8zrvv3tb6d9+/Z5//vfv4dGCdAyuBY31xKuxbtiZ6+dp5xySh5//PH8+te/blK39QOpk53//o8YMSJPPfVU8RYZ2/JWPjn7oQ99KH369MmUKVOyfPnybdb85Cc/Kd72oaysrPh+r/vRj36UP/3pTzvVp2OPPTa9evXKr3/96+3Odzp27JgkGTRoUH72s581+VTpli1b8u///u9Nzrkrv3dv5jOf+UzatGmTs88+O08++aRbUAD7lTlIc6U0B2nTpk0uu+yyPPHEE7n22mub7V+9enUmTZqUqqqqfOYzn3nT851yyilZu3Zt7rrrribtW88zduVae6A59thj87a3vS1z584t3hYqeW1ly3/8x39kwIABb7qqZ3ve7Ofh4osvzo9+9KPi9+RjH/vYbr0PpceKDdhLBgwYkJtuuikTJkxIv3798vnPfz4nnnhiNm3alF/96leZOXNmevfunTPPPDPHHntsPvvZz2b69Ok55JBDMmLEiDz99NP5yle+kh49euSLX/xi8bxjx47NOeeckwkTJuQjH/lInnnmmUydOrXZsstd0adPn3z/+9/PTTfdlH79+u30JyN31bBhw3LaaafliiuuyJo1a3LyySfn0Ucfzde+9rX07ds3Y8eObdKnefPm5c4778wxxxyTtm3bpk+fPm/5vHvCoEGD8sEPfjC33XZbvvSlL6Vnz575+te/niuvvDJ/+MMfcvrpp6dz5855/vnn89BDD6VDhw656qqrcsghh+Sqq67K+PHj89GPfjTnn39+XnzxxVx11VU54ogjmtyHclu+9rWv5T//8z9zyimn5Ktf/Wq6dOmSO+64Iz/60Y8yderUVFZW7tFxApQ61+LmWsq1eGft7LWztrY2//Zv/5Yzzjgj3/jGN1JVVZU77rgjv/3tb5udc2e//7W1tbnzzjvzoQ99KF/60pfyt3/7t1m/fn0WLVqUkSNH5pRTTknHjh1z1FFH5Yc//GGGDBmSLl26pFu3bjn66KPfdGytWrXK/PnzM3z48AwYMCCf//znc8opp6RDhw555pln8r3vfS933313GhoakiQjR47MrFmzctxxx+Vd73pXli5dmmuvvbbZp4Pf8Y53pF27drnjjjty/PHH59BDD01NTU1qamryrW99KyNGjMhpp52WT33qU3nb296Wv/71r3niiSfyyCOPFIOLK6+8MnfffXeGDBmSK6+8Mu3atcvNN9+cl156Kcn/u03nrvzevZnDDjss5557bm666aYcddRROfPMM3f6WIA9zRykuVKbg1xxxRX59a9/Xfzfj3/846msrMyjjz6aa6+9NmvXrs1//ud/7tS/w88999zccMMNOffcc3P11VenV69e+b//9//mJz/5SbPanb3WHmgOOeSQTJ06NWeffXZGjhyZ8ePHZ8OGDbn22mvz4osv5p/+6Z92+9xv9vNwzjnnZNKkSfnFL36RL3/5y2nTps2eGBKlYP88sxwOHsuWLSucd955hSOPPLLQpk2bQocOHQp9+/YtfPWrXy2sXr26WLd58+bCNddcU3jnO99ZaN26daFbt26Fc845p7By5com59uyZUth6tSphWOOOabQtm3bwkknnVT42c9+Vhg0aFBh0KBBxbr77ruvkKTw7//+702OX7FiRSFJ4bbbbiu2/fWvfy189KMfLRx22GGFsrKywpv9X8OgQYMKJ5544puO/bzzziscddRRTdrWr19fuOKKKwpHHXVUoXXr1oUjjjii8PnPf77Q0NDQpO7pp58uDB8+vNCxY8dCkmbn2drOnve8884rdOjQ4U37/ma1jz32WOGQQw4pfPrTny62/eAHPyiccsophU6dOhUqKioKRx11VOGjH/1o4d57721y7MyZMwt/8zd/U2jTpk3hne98Z+Hf/u3fCh/60IcKffv2bVKXpPC1r32t2fueeeaZhcrKykKbNm0K7373u5t8LwuFXfveAxwMXIuPatLWUq7Fb3TUUUcVzjjjjG3u25lrZ6FQKPzmN78pDBs2rNC2bdtCly5dCuPGjSv88Ic/LCQp3HfffcW6nf3+FwqFQkNDQ+ELX/hC4cgjjyy0bt260L1798IZZ5xR+O1vf1usuffeewt9+/YtVFRUFJIUzjvvvJ350hS9+OKLhX/8x38svPe97y0ceuihhdatWxeOPPLIwjnnnFP47//+7yZ9GTduXKF79+6F9u3bFz7wgQ8U/uu//mub/f7Od75TOO644wqtW7duNh/59a9/XRg9enShe/fuhdatWxeqq6sLp556auHmm29uco7/+q//KvTv379QUVFRqK6uLlx22WWFa665ppCk8OKLLxbrdvb3bmd+5n/+858XkhT+6Z/+aZe+hgB7iznIUU3aSmkOUii89vW+4447CoMHDy4cdthhhTZt2hR69uxZ+PznP1945plnmtXv6Gvz7LPPFj7ykY8UDj300ELHjh0LH/nIRwr333//Nv+NvjPX2ttuu62QpLBkyZKdHs8bJSlceOGFO6zZ3s/RG/e9cY5UKLz2d5H+/fsX2rZtW+jQoUNhyJAhTeYjhUKh8LWvfa2QpPDCCy80O+/r+95oZ34ePvWpTxXKy8sLzz777A7HRMtSVii8YX0QAPvciy++mHe+85358Ic/nJkzZ+7v7gAA7BXDhw/P008/naeeemqvnH/ixIm56aabsnLlymYPzAUAWqaNGzfm6KOPzgc+8IFmt/6mZXMrKoB9qL6+PldffXVOOeWUdO3aNc8880xuuOGGrF27Nl/4whf2d/cAAPaISy65JH379k2PHj3y17/+NXfccUcWLlyYW2+9dY+/14MPPpinnnoqN954Y8aPHy/UAICDwAsvvJAnn3wyt912W55//vl86Utf2t9dYh8TbADsQxUVFXn66aczYcKE/PWvfy0+uPTmm2/OiSeeuL+7BwAcAF599dUd7j/kkEPe9Nlc+9vmzZvz1a9+NfX19SkrK8sJJ5yQ22+/Peecc84ef6/XH0g6cuTIfOMb39jj5weAUtES5hA760c/+lE+/elP54gjjsiNN96Y9773vfu7S+xjbkUFAABwgHj66afTs2fPHdZ87WtfS11d3b7pEABQEswhONgINgAAAA4QGzduzKOPPrrDmpqamtTU1OyjHgEApcAcgoONYAMAAAAAACgZLeOmagAAAAAAwEHBw8N30pYtW/Lcc8+lY8eOKSsr29/dAYB9olAoZO3atampqWkxD5nbl8wfADhYmUPsPvMHAA5WuzJ/EGzspOeeey49evTY390AgP1i5cqVefvb376/u1FyzB8AONiZQ+w68wcADnY7M38QbOykjh07Jnnti9qpU6f93BsA2DfWrFmTHj16FK+D7BrzBwAOVuYQu8/8AYCD1a7MHwQbO+n15Z+dOnUysQDgoOM2CLvH/AGAg505xK4zfwDgYLcz8wc3ugQAAAAAAEqGYAMAAAAAACgZgg0AAAAAAKBkCDYAAAAAAICSIdgAAAAAWrxf/OIXOfPMM1NTU5OysrL84Ac/2G7t+PHjU1ZWlmnTpjVp37BhQy666KJ069YtHTp0yKhRo/Lss882qWloaMjYsWNTWVmZysrKjB07Ni+++OKeHxAAHMQEGwAAAECL99JLL+Xd7353ZsyYscO6H/zgB/nlL3+ZmpqaZvtqa2szf/78zJs3L4sXL866desycuTIbN68uVgzZsyYLFu2LAsWLMiCBQuybNmyjB07do+PBwAOZuX7uwMAAAAAe9uIESMyYsSIHdb86U9/yt///d/nJz/5Sc4444wm+xobG3Prrbfm9ttvz9ChQ5Mkc+bMSY8ePXLvvffmtNNOyxNPPJEFCxbkwQcfTP/+/ZMkt9xySwYMGJAnn3wyxx577N4ZHAAcZKzYAAAAAA56W7ZsydixY3PZZZflxBNPbLZ/6dKl2bRpU4YPH15sq6mpSe/evXP//fcnSR544IFUVlYWQ40kef/735/KyspizdY2bNiQNWvWNNkAgB0TbAAAAAAHvWuuuSbl5eW5+OKLt7m/vr4+bdq0SefOnZu0V1VVpb6+vljTvXv3Zsd27969WLO1KVOmFJ/HUVlZmR49erzFkQBAyyfYAAAAAA5qS5cuzf/5P/8ns2bNSllZ2S4dWygUmhyzreO3rnmjSZMmpbGxsbitXLly1zoPAAchwQYAAABwUPuv//qvrF69OkceeWTKy8tTXl6eZ555JhMnTszRRx+dJKmurs7GjRvT0NDQ5NjVq1enqqqqWPP88883O/8LL7xQrNlaRUVFOnXq1GQDAHZMsAEAAAAc1MaOHZtHH300y5YtK241NTW57LLL8pOf/CRJ0q9fv7Ru3ToLFy4sHrdq1aosX748AwcOTJIMGDAgjY2Neeihh4o1v/zlL9PY2FisAQDeuvL93QEAAACAvW3dunX53e9+V3y9YsWKLFu2LF26dMmRRx6Zrl27Nqlv3bp1qqurc+yxxyZJKisrM27cuEycODFdu3ZNly5dcumll6ZPnz4ZOnRokuT444/P6aefngsuuCDf+ta3kiSf/exnM3LkyOJ5AIC3TrABAAAAtHgPP/xwTjnllOLrSy65JEly3nnnZdasWTt1jhtuuCHl5eUZPXp01q9fnyFDhmTWrFlp1apVseaOO+7IxRdfnOHDhydJRo0alRkzZuy5gQAAKSsUCoX93YlSsGbNmlRWVqaxsdH9LgE4aLj+vTW+fgAcrFwDd5+vHQAHq125BnrGBgAAAAAAUDIEGwAAAAAAQMkQbAAAAAAAACVDsAEAAAAAAJQMwQYAAAAAAFAyBBsAAAAAAEDJEGwAAAAAAAAlQ7ABAAAAAACUDMEGAAAAAABQMgQbAAAAAABAyRBsAAAAAAAAJUOwAQAAAAAAlAzBBgAAAAAAUDLK93cHSPpd9u393YUDxtJrz93fXQAAAFo4/wb7f/wbjDfyu7Fv+L0DeOsEGwAAAADAXiEw2zcEZhxs3IoKAAAAAAAoGYINAAAAAACgZAg2AAAAAACAkiHYAAAAAAAASoZgAwAAAAAAKBmCDQAAAAAAoGQINgAAAAAAgJJRvj/f/Be/+EWuvfbaLF26NKtWrcr8+fPz4Q9/uLi/UCjkqquuysyZM9PQ0JD+/fvnm9/8Zk488cRizYYNG3LppZfmO9/5TtavX58hQ4bkxhtvzNvf/vZiTUNDQy6++OLcddddSZJRo0Zl+vTpOeyww/bVUIEDVL/Lvr2/u3BAWXrtufu7CwAAAACwQ/t1xcZLL72Ud7/73ZkxY8Y290+dOjXXX399ZsyYkSVLlqS6ujrDhg3L2rVrizW1tbWZP39+5s2bl8WLF2fdunUZOXJkNm/eXKwZM2ZMli1blgULFmTBggVZtmxZxo4du9fHBwAAAAAA7Fn7dcXGiBEjMmLEiG3uKxQKmTZtWq688sqcddZZSZLZs2enqqoqc+fOzfjx49PY2Jhbb701t99+e4YOHZokmTNnTnr06JF77703p512Wp544oksWLAgDz74YPr3758kueWWWzJgwIA8+eSTOfbYY/fNYAEAAAAAgLfsgH3GxooVK1JfX5/hw4cX2yoqKjJo0KDcf//9SZKlS5dm06ZNTWpqamrSu3fvYs0DDzyQysrKYqiRJO9///tTWVlZrNmWDRs2ZM2aNU02AAAAAABg/zpgg436+vokSVVVVZP2qqqq4r76+vq0adMmnTt33mFN9+7dm52/e/fuxZptmTJlSiorK4tbjx493tJ4AAAAAACAt+6ADTZeV1ZW1uR1oVBo1ra1rWu2Vf9m55k0aVIaGxuL28qVK3ex5wAAAAAAwJ52wAYb1dXVSdJsVcXq1auLqziqq6uzcePGNDQ07LDm+eefb3b+F154odlqkDeqqKhIp06dmmwAAAAAAMD+dcAGGz179kx1dXUWLlxYbNu4cWMWLVqUgQMHJkn69euX1q1bN6lZtWpVli9fXqwZMGBAGhsb89BDDxVrfvnLX6axsbFYAwAAAAAAlIby/fnm69aty+9+97vi6xUrVmTZsmXp0qVLjjzyyNTW1mby5Mnp1atXevXqlcmTJ6d9+/YZM2ZMkqSysjLjxo3LxIkT07Vr13Tp0iWXXnpp+vTpk6FDhyZJjj/++Jx++um54IIL8q1vfStJ8tnPfjYjR47Mscceu+8HDQAAAAAA7Lb9Gmw8/PDDOeWUU4qvL7nkkiTJeeedl1mzZuXyyy/P+vXrM2HChDQ0NKR///6555570rFjx+IxN9xwQ8rLyzN69OisX78+Q4YMyaxZs9KqVatizR133JGLL744w4cPT5KMGjUqM2bM2EejpKXrd9m393cXDihLrz13f3cBAAAAAGjB9muwMXjw4BQKhe3uLysrS11dXerq6rZb07Zt20yfPj3Tp0/fbk2XLl0yZ86ct9JVAAAAAADgALBfgw0AAHafVYP/jxWDAAAAB48D9uHhAAAAAAAAWxNsAAAAAAAAJUOwAQCUlF/84hc588wzU1NTk7KysvzgBz9osr9QKKSuri41NTVp165dBg8enMcff7xJzYYNG3LRRRelW7du6dChQ0aNGpVnn322SU1DQ0PGjh2bysrKVFZWZuzYsXnxxRf38ugAAACANyPYAABKyksvvZR3v/vdmTFjxjb3T506Nddff31mzJiRJUuWpLq6OsOGDcvatWuLNbW1tZk/f37mzZuXxYsXZ926dRk5cmQ2b95crBkzZkyWLVuWBQsWZMGCBVm2bFnGjh2718cHAAAA7JiHhwMAJWXEiBEZMWLENvcVCoVMmzYtV155Zc4666wkyezZs1NVVZW5c+dm/PjxaWxszK233prbb789Q4cOTZLMmTMnPXr0yL333pvTTjstTzzxRBYsWJAHH3ww/fv3T5LccsstGTBgQJ588skce+yx+2awAAAAQDNWbAAALcaKFStSX1+f4cOHF9sqKioyaNCg3H///UmSpUuXZtOmTU1qampq0rt372LNAw88kMrKymKokSTvf//7U1lZWazZlg0bNmTNmjVNNgAAAGDPsmIDgJLW77Jv7+8uHDCWXnvu/u7CfldfX58kqaqqatJeVVWVZ555pljTpk2bdO7cuVnN68fX19ene/fuzc7fvXv3Ys22TJkyJVddddVbGgMAAACwY1ZsAAAtTllZWZPX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rLRq1Wp/DAsAWqQDesXG+973vsyfPz/f+c530rt37/zjP/5jpk2blrPPPrtYc/nll6e2tjYTJkzISSedlD/96U/bnFR8+MMfzujRo3PyySenffv2ufvuu00qAKAF+9Of/pRzzjknXbt2Tfv27fOe97wnS5cuLe4vFAqpq6tLTU1N2rVrl8GDB+fxxx9vco4NGzbkoosuSrdu3dKhQ4eMGjUqzz777L4eCgCwD3Ts2DHTpk3LM888k/Xr1+f3v/99vvGNb6RNmzbFmrKystTV1WXVqlV55ZVXsmjRovTu3bvJedq2bZvp06fnL3/5S15++eXcfffd6dGjx74eDgC0aAd0sJEkI0eOzGOPPZZXXnklTzzxRC644IIm+00qAICtNTQ05OSTT07r1q3z4x//OL/5zW9y3XXX5bDDDivWTJ06Nddff31mzJiRJUuWpLq6OsOGDcvatWuLNbW1tZk/f37mzZuXxYsXZ926dRk5cmQ2b968H0YFAAAAJAf4ragAAHbHNddckx49euS2224rth199NHF/y4UCpk2bVquvPLKnHXWWUmS2bNnp6qqKnPnzs348ePT2NiYW2+9Nbfffnvx9pVz5sxJjx49cu+99+a0007bp2MCAAAAXnPAr9gAANhVd911V0466aR87GMfS/fu3dO3b9/ccsstxf0rVqxIfX19hg8fXmyrqKjIoEGDcv/99ydJli5dmk2bNjWpqampSe/evYs1W9uwYUPWrFnTZAMAAAD2LMEGANDi/OEPf8hNN92UXr165Sc/+Uk+97nP5eKLL863v/3tJEl9fX2SpKqqqslxVVVVxX319fVp06ZNOnfuvN2arU2ZMiWVlZXFza0vAQAAYM8TbAAALc6WLVvy3ve+N5MnT07fvn0zfvz4XHDBBbnpppua1JWVlTV5XSgUmrVtbUc1kyZNSmNjY3FbuXLlWxsIAAAA0IxgAwBocY444oiccMIJTdqOP/74/PGPf0ySVFdXJ0mzlRerV68uruKorq7Oxo0b09DQsN2arVVUVKRTp05NNgAAAGDPEmwAAC3OySefnCeffLJJ21NPPZWjjjoqSdKzZ89UV1dn4cKFxf0bN27MokWLMnDgwCRJv3790rp16yY1q1atyvLly4s1AAAAwL5Xvr87AACwp33xi1/MwIEDM3ny5IwePToPPfRQZs6cmZkzZyZ57RZU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Zfny5cUaAOCtK9/fHQAAAADY3774xS9m4MCBmTx5ckaPHp2HHnooM2fOzMyZM5O8dguq2traTJ48Ob169UqvXr0yefLktG/fPmPGjEmSVFZWZty4cZk4cWK6du2aLl265NJLL02fPn0ydOjQ/Tk8AGhRBBsAAADAQe9973tf5s+fn0mTJuXrX/96evbsmWnTpuXss88u1lx++eVZv359JkyYkIaGhvTv3z/33HNPOnbsWKy54YYbUl5entGjR2f9+vUZMmRIZs2alVatWu2PYQFAiyTYAAAAAEgycuTIjBw5crv7y8rKUldXl7q6uu3WtG3bNtOnT8/06dP3Qg8BgMQzNgAAAAAAgBIi2AAAAAAAAEqGYAMAAAAAACgZgg0AAAAAAKBkCDYAAAAAAICSIdgAAAAAAABKhmADAAAAAAAoGYINAAAAAACgZAg2AAAAAACAkiHYAAAAAAAASoZgAwAAAAAAKBmCDQAAAAAAoGQINgAAAAAAgJIh2AAAAAAAAEqGYAMAAAAAACgZgg0AAAAAAKBkCDYAAAAAAICSIdgAAAAAAABKhmADAAAAAAAoGYINAAAAAACgZJRUsDFlypSUlZWltra22FYoFFJXV5eampq0a9cugwcPzuOPP97kuA0bNuSiiy5Kt27d0qFDh4waNSrPPvvsPu49AAAAAADwVpVMsLFkyZLMnDkz73rXu5q0T506Nddff31mzJiRJUuWpLq6OsOGDcvatWuLNbW1tZk/f37mzZuXxYsXZ926dRk5cmQ2b968r4cBAAAAAAC8BSURbKxbty5nn312brnllnTu3LnYXigUMm3atFx55ZU566yz0rt378yePTsvv/xy5s6dmyRpbGzMrbfemuuuuy5Dhw5N3759M2fOnDz22GO5995799eQAAAAAACA3VASwcaFF16YM844I0OHDm3SvmLFitTX12f48OHFtoqKigwaNCj3339/kmTp0qXZtGlTk5qampr07t27WAMAAAAAAJSG8v3dgTczb968PPLII1myZEmzffX19UmSqqqqJu1VVVV55plnijVt2rRpstLj9ZrXj9+WDRs2ZMOGDcXXa9as2e0xAAAAAAAAe8YBvWJj5cqV+cIXvpA5c+akbdu2260rKytr8rpQKDRr29qb1UyZMiWVlZXFrUePHrvWeQAAAAAAYI87oIONpUuXZvXq1enX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9ql/q9OvXz+8fPlSeURERHx/4ERERKkEExtERERERERERP/vjz/+wMaNG7Fv3z7kzJlTKbeysgKAJD0voqKilF4cVlZWiI2NxfPnzz9b51NGRkYwNzfXeBAREdG/Y2KDiIiIiIiIiFI9EUGnTp2wbt067N27F3Z2dhrL7ezsYGVlhV27dillsbGxOHDgAEqVKgUAKFKkCAwMDDTqREZG4tKlS0odIiIi+u/SaDsAIiIiIiIiIiJt69ixI1asWIG///4b6dKlU3pmWFhYIG3atFCpVOjatStGjx4NR0dHODo6YvTo0TAxMUHjxo2Vui1btkSPHj2QMWNGZMiQAT179kSBAgVQsWJFbe4eERFRisLEBhERERERERGlenPmzAEAeHp6apQHBwejefPmAIDevXvj/fv36NChA54/f47ixYtj586dSJcunVJ/ypQpSJMmDRo0aID379+jQoUKCAkJgb6+/q/aFSIiohSPiQ0iIiIiIiIiSvVE5It1VCoVhg4diqFDh362jrGxMWbMmIEZM2b8wOiIiIjoY5xjg4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzmBig4iIiIiIiIiIiIiIdAYTG0REREREREREREREpDOY2CAiIiIiIiIiIiIiIp3BxAYREREREREREREREekMJjaIiIiIiIiIiIiIiEhnMLFBREREREREREREREQ6g4kNIiIiIiIiIiIiIiLSGUxsEBERERERERERERGRzkhViY3Zs2fDzs4OxsbGKFKkCA4ePKjtkIiIiOg3x/YDERERfQ+2IYiIiH6eVJPYWL16Nbp27YoBAwbg7NmzKFu2LCpXroy7d+9qOzQiIiL6TbH9QERERN+DbQgiIqKfK9UkNiZPnoyWLVuiVatWcHFxwdSpU2FtbY05c+ZoOzQiIiL6TbH9QERERN+DbQgiIqKfK422A/gVYmNjcfr0afTt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ZWBig4h+Ok9PT+TLlw+jR4/G0KFDMWbMGEybNg1hYWG4ePEigoODlTk4GjduDLVajTZt2uDKlSvYsWMHJk6cCABJemUk6tGjB/bs2YMRI0YgLCwMixcvxsyZM9GzZ89fto9ERERERERERET0azCxQUS/RPfu3TF//nz4+vpiwYIFCAkJQYECBeDh4YGQkBClx4a5uTk2bdqEc+fOwdXVFQMGDMDgwYMBQGPejY8VLlwYf/75J1atWoX8+fNj8ODBGD58uMbE4URERERERERERJQyqORLg9cTEWnZ8uXL0aJFC7x8+RJp06bVdjhERERERERERESkRZw8nIh+O0uWLIG9vT1y5MiB8+fPo0+fPmjQoAGTGkRERERERERERMTEBhH9fh4+fIjBgwfj4cOHyJYtG+rXr49Ro0ZpOywiIiIiIiIiIiL6DXAoKiIiIiIiIiIiIiIi0hmcPJyIiIiIiIiIiIiIiHQGExtERERERERERERERKQzmNggIiIiIiIiIiIiIiKdwcQGERERERERERERERHpDCY2iIiIiIiIiIiIiIhIZzCxQUREREREREREREREOoOJDSIiIiIiIiIiIiIi0hlMbBARERERERERERERkc5gYoOIiIiIiIiIiIiIiHQGExtERERERERERERERKQzmNggIiIiIiIiIiIiIiKdwcQGERERERERERERERHpDCY2iIiIiIiIiIiIiIhIZzCxQUREREREREREREREOoOJDSIiIiIiIiIiIiIi0hlMbJBOunDhAlq0aAE7OzsYGxvDzMwMhQsXxvjx4/Hs2TNthwcAWLFiBaZOnfrV9T09PaFSqZRH2rRpUahQIUydOhVqtVqp17x5c9ja2n5XTLNnz0ZISMh3rftvYmNj0a5dO2TLlg36+vpwdXX9bN3mzZtr7KeRkRGcnZ0xZMgQREdH//DYflcPHjzA0KFDce7cuW9eNzw8XHn/hg4dmmydwMBApc732Lp162e3rVKp0KlTp+/a7rcICQmBSqVCeHj4T38tIkp92Jaw/a6Yfoe2BACICFasWIHy5cvD0tISRkZGsLe3R8eOHREREfGf40n8rf0Z+/o1Xr16hVGjRsHd3R3m5uYwMjKCra0tAgMDcebMGa3E9D32798PlUqF/fv3K2VDhw797vbJ5/yXzzQRERER6SYmNkjnzJ8/H0WKFMHJkyfR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SbwaN1wugrvRYDQQTUR+AYNLVFRck4hLVBQ3FNGoKFGMW3I1gjKiXhhAcNj694eH/jpBTcTBofB5zulz7KpPN5+ibaamX11VP/lJvWWPP/54aeeddy7/nW299dalu+++e6nHPvHEE6Wtt966VFlZWaquri6ddtpppSuvvLLenwvQkOxLdK63rEj7EqXSx3/fN954Y6l79+6l1VdfvdSiRYtSly5dSscff3zpn//851LjP+/vZurUqaUDDzywtOqqq5batGlTOvDAA0sTJkxY6vUolUqlv/71r6XevXuX2rdvX2revHmpurq6tPPOO5cuv/zy8pjP2r/4ImbOnFm64IILSt///vdLq666aql58+alb37zm6XDDz+89MQTT5THzZgxo3TUUUeV2rdvX2rVqlVp++23Lz3++ONf6v+7UqlUuvfee0s77rhjqXXr1qVWrVqVNthgg9JFF130hf8ulvy5jzzySHnZkv2sf/Wf7J+USqXS73//+1LXrl1LLVq0KH3ve98rXXPNNZ+7jwgAwMqpolT6jGOMAQpkiy22SEVFRZ555pnGngoAAAAAsBw5FRVQWLNmzcrkyZPz5z//ORMnTszo0aMbe0oAAAAAwHImbACF9dxzz2WnnXbKmmuumZ///OfZb7/9GntKX0qpVMqiRYs+d0zTpk3L16YAAIrj064T9klNmjRJkyZNvqLZAABAsdlzBgqre/fuKZVKef/99zNw4MDGns6XNm7cuDRv3vxzb9ddd11jTxMA+ILefPPNf/sz/he/+EVjTxMAAArDNTYAVhCzZ8/Oq6+++rljunTpkjXXXPMrmhEA0BDmz5+fF1544XPHdOzYMR07dvyKZgQAAMUmbAAAAAAAAIXhVFQAAAAAAEBhuHj4f2jx4sV555130qZNGxfuBeBro1QqZfbs2enYsaOL2i4D+w8AfF3ZhwAAlidh4z/0zjvvpFOnTo09DQBoFFOmTMk666zT2NMoHPsPAHzd2YcAAJYHYeM/1KZNmyQf75StttpqjTwbAPhqzJo1K506dSr/HOSLsf8AwNeVfQgAYHkSNv5DS04fsdpqq/lgAoCvHadRWjb2HwD4urMPAQAsD050CQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFIawAQAAAAAAFEazxp4AFN3mp13f2FNYoUz89Y8bewoAfEl+tvFZ/JwHAABWBI7YAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACkPYAAAAAAAACqNRw8Zjjz2WvffeOx07dkxFRUXuuOOOeutLpVIGDhyYjh07pmXLlunevXteeumlemPq6upy0kknpV27dmndunX22WefTJ06td6YGTNmpE+fPqmqqkpVVVX69OmTmTNnLuetAwAAAAAAGlqjho0PP/wwm2yySYYPH/6p6y+++OIMGTIkw4cPzzPPPJPq6ursuuuumT17dnlMv379Mnr06Nxyyy0ZP3585syZk169emXRokXlMYceemgmTZqUMWPGZMyYMZk0aVL69Omz3LcPAAAAAABoWM0a8w/fY489sscee3zqulKplKFDh+acc87JAQcckCS57rrr0qFDh9x000059thjU1tbm6uvvjo33HBDevTokSQZNWpUOnXqlAcffDC77bZbXn755YwZMyZPPfVUttpqqyTJVVddlW222Savvvpq1l133a9mYwEAAAAAgC9thb3GxhtvvJGampr07NmzvKyysjI77rhjJkyYkCSZOHFiFixYUG9Mx44d061bt/KYJ598MlVVVeWokSRbb711qqqqymM+TV1dXWbNmlXvBgAAAAAANK4VNmzU1NQkSTp06FBveYcOHcrrampq0qJFi6yxxhqfO6Z9+/ZLPX/79u3LYz7N4MGDy9fkqKqqSqdOnb7U9gAAAAAAAF/eChs2lqioqKh3v1QqLbXsX/3rmE8b/++e56yzzkptbW35NmXKlC84cwAAAAAAoKE16jU2Pk91dXWSj4+4WHvttcvLp0+fXj6Ko7q6OvPnz8+MGTPqHbUxffr0bLvttuUx77777lLP/9577y11NMgnVVZWprKyskG25d/Z/LTrv5I/pwgm/vrHjT0FAAAAAABWYCvsERtdunRJdXV1xo4dW142f/78jBs3rhwtNt988zRv3rzemGnTpmXy5MnlMdtss01qa2vz9NNPl8f85S9/SW1tbXkMAAAAAABQDI16xMacOXPy97//vXz/jTfeyKRJk9K2bdt885vfTL9+/TJo0KB07do1Xbt2zaBBg9KqVasceuihSZKqqqocddRRGTBgQNZcc820bds2p556ajbaaKP06NEjSbL++utn9913z9FHH50rrrgiSXLMMcekV69eWXfddb/6jQZWKI6Yqs9RUwAAAACs6Br1iI1nn302m222WTbbbLMkSf/+/bPZZpvlvPPOS5Kcfvrp6devX/r27Zstttgib7/9dh544IG0adOm/ByXXnpp9ttvv/Tu3TvbbbddWrVqlbvvvjtNmzYtj7nxxhuz0UYbpWfPnunZs2c23njj3HDDDV/txgIADWLw4MHZcsst06ZNm7Rv3z777bdfXn311XpjjjjiiFRUVNS7bb311vXG1NXV5aSTTkq7du3SunXr7LPPPpk6dWq9MTNmzEifPn1SVVWVqqqq9OnTJzNnzlzemwgAAAB8jkY9YqN79+4plUqfub6ioiIDBw7MwIEDP3PMKquskmHDhmXYsGGfOaZt27YZNWrUl5kqALCCGDduXE444YRsueWWWbhwYc4555z07Nkzf/vb39K6devyuN133z3XXntt+X6LFi3qPU+/fv1y991355Zbbsmaa66ZAQMGpFevXpk4cWL5CxKHHnpopk6dmjFjxiT5+KjPPn365O677/4KthQAAAD4NCvsxcMBAD7NksiwxLXXXpv27dtn4sSJ2WGHHcrLKysrU11d/anPUVtbm6uvvjo33HBD+fSVo0aNSqdOnfLggw9mt912y8svv5wxY8bkqaeeylZbbZUkueqqq7LNNtvk1VdfdUpLAAAAaCQr7MXDAQD+E7W1tUk+PkLzkx599NG0b98+3/ve93L00Udn+vTp5XUTJ07MggUL0rNnz/Kyjh07plu3bpkwYUKS5Mknn0xVVVU5aiTJ1ltvnaqqqvIYAAAA4KvniA0AoLBKpVL69++f7bffPt26dSsv32OPPfKjH/0onTt3zhtvvJFzzz03O++8cyZOnJjKysrU1NSkRYsWWWONNeo9X4cOHVJTU5MkqampSfv27Zf6M9u3b18e86/q6upSV1dXvj9r1qyG2EwAAADgE4QNAKCwTjzxxLzwwgsZP358veUHHXRQ+b+7deuWLbbYIp07d84999yTAw444DOfr1QqpaKionz/k//9WWM+afDgwTn//PO/6GYAAAAAX4CwAUChbX7a9Y09hRXGxF//uLGn8JU66aSTctddd+Wxxx7LOuus87lj11577XTu3Dmvv/56kqS6ujrz58/PjBkz6h21MX369Gy77bblMe++++5Sz/Xee++lQ4cOn/rnnHXWWenfv3/5/qxZs9KpU6cvvG0AAADAZ3ONDQCgUEqlUk488cTcfvvtefjhh9OlS5d/+5gPPvggU6ZMydprr50k2XzzzdO8efOMHTu2PGbatGmZPHlyOWxss802qa2tzdNPP10e85e//CW1tbXlMf+qsrIyq622Wr0bAAAA0LAcsQEAFMoJJ5yQm266KXfeeWfatGlTvt5FVVVVWrZsmTlz5mTgwIE58MADs/baa+fNN9/M2WefnXbt2mX//fcvjz3qqKMyYMCArLnmmmnbtm1OPfXUbLTRRunRo0eSZP3118/uu++eo48+OldccUWS5JhjjkmvXr2y7rrrNs7GAwAAAMIGAFAsI0aMSJJ079693vJrr702RxxxRJo2bZoXX3wx119/fWbOnJm11147O+20U2699da0adOmPP7SSy9Ns2bN0rt378ybNy+77LJLRo4cmaZNm5bH3HjjjTn55JPTs2fPJMk+++yT4cOHL/+NBAAAAD6TsAEAFEqpVPrc9S1btsz999//b59nlVVWybBhwzJs2LDPHNO2bduMGjXqC88RAAAAWH5cYwMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACgMYQMAAAAAACiMFTpsLFy4MD/72c/SpUuXtGzZMt/+9rfzi1/8IosXLy6PKZVKGThwYDp27JiWLVume/fueemll+o9T11dXU466aS0a9curVu3zj777JOpU6d+1ZsDAAAAAAB8SSt02Ljoooty+eWXZ/jw4Xn55Zdz8cUX59e//nWGDRtWHnPxxRdnyJAhGT58eJ555plUV1dn1113zezZs8tj+vXrl9GjR+eWW27J+PHjM2fOnPTq1SuLFi1qjM0CAAAAAACWUbPGnsDnefLJJ7Pvvvtmr732SpJ861vfys0335xnn302ycdHawwdOjTnnHNODjjggCTJddddlw4dOuSmm27Ksccem9ra2lx99dW54YYb0qNHjyTJqFGj0qlTpzz44IPZbbfdGmfjAAAAAACAL2yFPmJj++23z0MPPZTXXnstSfLXv/4148ePz5577pkkeeONN1JTU5OePXuWH1NZWZkdd9wxEyZMSJJMnDgxCxYsqDemY8eO6datW3kMAAAAAABQDCv0ERtnnHFGamtrs95666Vp06ZZtGhRfvnLX+aQQw5JktTU1CRJOnToUO9xHTp0yD//+c/ymBYtWmSNNdZYasySx3+aurq61NXVle/PmjWrQbYJAAAAAABYdiv0ERu33nprRo0alZtuuinPPfdcrrvuuvzmN7/JddddV29cRUVFvfulUmmpZf/q340ZPHhwqqqqyrdOnTot+4YAAAAAAAANYoUOG6eddlrOPPPMHHzwwdloo43Sp0+fnHLKKRk8eHCSpLq6OkmWOvJi+vTp5aM4qqurM3/+/MyYMeMzx3yas846K7W1teXblClTGnLTAAAAAACAZbBCh425c+emSZP6U2zatGkWL16cJOnSpUuqq6szduzY8vr58+dn3Lhx2XbbbZMkm2++eZo3b15vzLRp0zJ58uTymE9TWVmZ1VZbrd4NAAAAAABoXCt02Nh7773zy1/+Mvfcc0/efPPNjB49OkOGDMn++++f5ONTUPXr1y+DBg3K6NGjM3ny5BxxxBFp1apVDj300CRJVVVVjjrqqAwYMCAPPfRQnn/++Rx++OHZaKON0qNHj8bcPABgGQwePDhbbrll2rRpk/bt22e//fbLq6++Wm9MqVTKwIED07Fjx7Rs2TLdu3fPSy+9VG9MXV1dTjrppLRr1y6tW7fOPvvsk6lTp9YbM2PGjPTp06d8aso+ffpk5syZy3sTAQAAgM+xQoeNYcOG5Yc//GH69u2b9ddfP6eeemqOPfbYXHDBBeUxp59+evr165e+fftmiy22yNtvv50HHnggbdq0KY+59NJLs99++6V3797Zbrvt0qpVq9x9991p2rRpY2wWAPAljBs3LieccEKeeuqpjB07NgsXLkzPnj3z4YcflsdcfPHFGTJkSIYPH55nnnkm1dXV2XXXXTN79uzymH79+mX06NG55ZZbMn78+MyZMye9evXKokWLymMOPfTQTJo0KWPGjMmYMWMyadKk9OnT5yvdXgAAAKC+ilKpVGrsSRTBrFmzUlVVldra2gY/LdXmp13foM9XZBN//ePGnsIX5vWrr2ivodevvqK9fonX8JOWx+u3PH/+NZT33nsv7du3z7hx47LDDjukVCqlY8eO6devX84444wkHx+d0aFDh1x00UU59thjU1tbm7XWWis33HBDDjrooCTJO++8k06dOuXee+/NbrvtlpdffjkbbLBBnnrqqWy11VZJkqeeeirbbLNNXnnllay77rr/dm5F+Pv7NN5XfJYi/pwAGkdRfwYCAMWwQh+xAQDw79TW1iZJ2rZtmyR54403UlNTk549e5bHVFZWZscdd8yECROSJBMnTsyCBQvqjenYsWO6detWHvPkk0+mqqqqHDWSZOutt05VVVV5DAAAAPDVa9bYEwAAWFalUin9+/fP9ttvn27duiVJampqkiQdOnSoN7ZDhw755z//WR7TokWLrLHGGkuNWfL4mpqatG/ffqk/s3379uUx/6quri51dXXl+7NmzVrGLQMAAAA+iyM2AIDCOvHEE/PCCy/k5ptvXmpdRUVFvfulUmmpZf/qX8d82vjPe57BgweXLzReVVWVTp06/SebAQAAAHwBwgYAUEgnnXRS7rrrrjzyyCNZZ511ysurq6uTZKmjKqZPn14+iqO6ujrz58/PjBkzPnfMu+++u9Sf+9577y11NMgSZ511Vmpra8u3KVOmLPsGAgAAAJ9K2AAACqVUKuXEE0/M7bffnocffjhdunSpt75Lly6prq7O2LFjy8vmz5+fcePGZdttt02SbL755mnevHm9MdOmTcvkyZPLY7bZZpvU1tbm6aefLo/5y1/+ktra2vKYf1VZWZnVVlut3g0AAABoWK6xAQAUygknnJCbbropd955Z9q0aVM+MqOqqiotW7ZMRUVF+vXrl0GDBqVr167p2rVrBg0alFatWuXQQw8tjz3qqKMyYMCArLnmmmnbtm1OPfXUbLTRRunRo0eSZP3118/uu++eo48+OldccUWS5JhjjkmvXr2y7rrrNs7GAwAAAMIGAFAsI0aMSJJ079693vJrr702RxxxRJLk9NNPz7x589K3b9/MmDEjW221VR544IG0adOmPP7SSy9Ns2bN0rt378ybNy+77LJLRo4cmaZNm5bH3HjjjTn55JPTs2fPJMk+++yT4cOHL98NBAAAxq05pwAAeFBJREFUAD6XsAEAFEqpVPq3YyoqKjJw4MAMHDjwM8esssoqGTZsWIYNG/aZY9q2bZtRo0YtyzQBAACA5cQ1NgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMIQNgAAAAAAgMJY4cPG22+/ncMPPzxrrrlmWrVqlU033TQTJ04sry+VShk4cGA6duyYli1bpnv37nnppZfqPUddXV1OOumktGvXLq1bt84+++yTqVOnftWbAgAAAAAAfEkrdNiYMWNGtttuuzRv3jz33Xdf/va3v+WSSy7J6quvXh5z8cUXZ8iQIRk+fHieeeaZVFdXZ9ddd83s2bPLY/r165fRo0fnlltuyfjx4zNnzpz06tUrixYtaoStAgAAAAAAllWzxp7A57nooovSqVOnXHvtteVl3/rWt8r/XSqVMnTo0Jxzzjk54IADkiTXXXddOnTokJtuuinHHntsamtrc/XVV+eGG25Ijx49kiSjRo1Kp06d8uCDD2a33Xb7SrcJAAAAAABYdiv0ERt33XVXtthii/zoRz9K+/bts9lmm+Wqq64qr3/jjTdSU1OTnj17lpdVVlZmxx13zIQJE5IkEydOzIIFC+qN6dixY7p161YeAwAAAAAAFMMKHTb+93//NyNGjEjXrl1z//3357jjjsvJJ5+c66+/PklSU1OTJOnQoUO9x3Xo0KG8rqamJi1atMgaa6zxmWM+TV1dXWbNmlXvBgAAAAAANK4V+lRUixcvzhZbbJFBgwYlSTbbbLO89NJLGTFiRH784x+Xx1VUVNR7XKlUWmrZv/p3YwYPHpzzzz//S8weAAAAAABoaCv0ERtrr712Nthgg3rL1l9//bz11ltJkurq6iRZ6siL6dOnl4/iqK6uzvz58zNjxozPHPNpzjrrrNTW1pZvU6ZM+dLbAwB8eY899lj23nvvdOzYMRUVFbnjjjvqrT/iiCNSUVFR77b11lvXG1NXV5eTTjop7dq1S+vWrbPPPvtk6tSp9cbMmDEjffr0SVVVVaqqqtKnT5/MnDlzOW8dAAAA8O+s0GFju+22y6uvvlpv2WuvvZbOnTsnSbp06ZLq6uqMHTu2vH7+/PkZN25ctt122yTJ5ptvnubNm9cbM23atEyePLk85tNUVlZmtdVWq3cDABrfhx9+mE022STDhw//zDG77757pk2bVr7de++99db369cvo0ePzi233JLx48dnzpw56dWrVxYtWlQec+ihh2bSpEkZM2ZMxowZk0mTJqVPnz7LbbsAAACA/8wKfSqqU045Jdtuu20GDRqU3r175+mnn86VV16ZK6+8MsnHp6Dq169fBg0alK5du6Zr164ZNGhQWrVqlUMPPTRJUlVVlaOOOioDBgzImmuumbZt2+bUU0/NRhttlB49ejTm5gEAy2CPPfbIHnvs8bljKisry0d2/qva2tpcffXVueGGG8r7AqNGjUqnTp3y4IMPZrfddsvLL7+cMWPG5KmnnspWW22VJLnqqquyzTbb5NVXX826667bsBsFAAAA/MdW6CM2ttxyy4wePTo333xzunXrlgsuuCBDhw7NYYcdVh5z+umnp1+/funbt2+22GKLvP3223nggQfSpk2b8phLL700++23X3r37p3tttsurVq1yt13352mTZs2xmYBAMvZo48+mvbt2+d73/tejj766EyfPr28buLEiVmwYEF69uxZXtaxY8d069YtEyZMSJI8+eSTqaqqKkeNJNl6661TVVVVHgMAAAA0jhX6iI0k6dWrV3r16vWZ6ysqKjJw4MAMHDjwM8esssoqGTZsWIYNG7YcZggArEj22GOP/OhHP0rnzp3zxhtv5Nxzz83OO++ciRMnprKyMjU1NWnRokXWWGONeo/r0KFD+bpdNTU1ad++/VLP3b59+6Wu7fVJdXV1qaurK9+fNWtWA20VAAAAsMQKHzYAAL6Igw46qPzf3bp1yxZbbJHOnTvnnnvuyQEHHPCZjyuVSqmoqCjf/+R/f9aYfzV48OCcf/75yzhzAAAA4D+xQp+KCgDgy1p77bXTuXPnvP7660mS6urqzJ8/PzNmzKg3bvr06enQoUN5zLvvvrvUc7333nvlMZ/mrLPOSm1tbfk2ZcqUBtwSAAAAIBE2AICV3AcffJApU6Zk7bXXTpJsvvnmad68ecaOHVseM23atEyePDnbbrttkmSbbbZJbW1tnn766fKYv/zlL6mtrS2P+TSVlZVZbbXV6t0AAACAhuVUVABAocyZMyd///vfy/ffeOONTJo0KW3btk3btm0zcODAHHjggVl77bXz5ptv5uyzz067du2y//77J0mqqqpy1FFHZcCAAVlzzTXTtm3bnHrqqdloo43So0ePJMn666+f3XffPUcffXSuuOKKJMkxxxyTXr16Zd111/3qNxoAAAAoEzYAgEJ59tlns9NOO5Xv9+/fP0nyk5/8JCNGjMiLL76Y66+/PjNnzszaa6+dnXba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ABrACh02xo0blxNOOCFPPfVUxo4dm4ULF6Znz5758MMPy2MuvvjiDBkyJMOHD88zzzyT6urq7Lrrrpk9e3Z5TL9+/TJ69OjccsstGT9+fObMmZNevXpl0aJFjbFZAAAAAADAMlqhw8aYMWNyxBFHZMMNN8wmm2ySa6+9Nm+99VYmTpyY5OOjNYYOHZpzzjknBxxwQLp165brrrsuc+fOzU033ZQkqa2tzdVXX51LLrkkPXr0yGabbZZRo0blxRdfzIMPPtiYmwcALCcDBw5MRUVFvVt1dXV5vSM+AQAAoLhW6LDxr2pra5Mkbdu2TZK88cYbqampSc+ePctjKisrs+OOO2bChAlJkokTJ2bBggX1xnTs2DHdunUrjwEAVj4bbrhhpk2bVr69+OKL5XWO+AQAAIDiatbYE/hPlUql9O/fP9tvv326deuWJKmpqUmSdOjQod7YDh065J///Gd5TIsWLbLGGmssNWbJ4z9NXV1d6urqyvdnzZrVINsBAHw1mjVrVu8ojSX+9YjPJLnuuuvSoUOH3HTTTTn22GPLR3zecMMN6dGjR5Jk1KhR6dSpUx588MHstttuX+m2AAAAAP9PYY7YOPHEE/PCCy/k5ptvXmpdRUVFvfulUmmpZf/q340ZPHhwqqqqyrdOnTot28QBgEbx+uuvp2PHjunSpUsOPvjg/O///m8SR3wCAABA0RUibJx00km566678sgjj2SdddYpL1/yLcx/PfJi+vTp5aM4qqurM3/+/MyYMeMzx3yas846K7W1teXblClTGmpzAIDlbKuttsr111+f+++/P1dddVVqamqy7bbb5oMPPvjcIz6XrPsyR3zOmjWr3g0AAABoWCt02CiVSjnxxBNz++235+GHH06XLl3qre/SpUuqq6szduzY8rL58+dn3Lhx2XbbbZMkm2++eZo3b15vzLRp0zJ58uTymE9TWVmZ1VZbrd4NACiGPfbYIwceeGA22mij9OjRI/fcc0+Sj085tYQjPgEAAKCYVuiwccIJJ2TUqFG56aab0qZNm9TU1KSmpibz5s1L8vEHEv369cugQYMyevToTJ48OUcccURatWqVQw89NElSVVWVo446KgMGDMhDDz2U559/Pocffnj5gw4AYOXXunXrbLTRRnn99dcd8QkAAAAFt0KHjREjRqS2tjbdu3fP2muvXb7deuut5TGn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V2xev2JbmV+/r+u3LO0/sMTK/P6GIvAeLK6v6z4EALD8fS3CRpL0798/ffr0yRZbbJFtttkmV155Zd56660cd1wxD+cFAJY/+w8AAACw4vnahI2DDjooH3zwQX7xi19k2rRp6datW+6999507ty5sacGAKyg7D8AAADAiudrEzaSpG/fvunbt29jT2OFVFlZmZ///OdLnT6DYvD6FZvXr9i8fis/+w9fX97f0Li8BwEA+CwVpVKp1NiTAAAAAAAA+E80aewJAAAAAAAA/KeEDQAAAAAAoDCEDQAAAAAAoDCEDYACcVmkr48///nPjT0FAFgpzJs3L4n9KACAlYmwASyTJb8Yzpo1q5Fn8vUxf/78VFRUZPHixY09FZaz5557LieeeGJ+/OMfN/ZUgK/Y//3f/zX2FGClMnLkyHTu3Dnvv/9+KioqxA0AgJWEsAEsk4qKiowePTrHH3983nvvvcaezkrvjDPOyG677Za5c+emSZMm4sZKrmvXrjn11FPz0ksv5Sc/+UljTwf4igwdOjS77bZbXnnllcaeCqw0/uu//iudOnVK9+7dxQ0AgJWIsMGX4peCr58lr/lrr72Wc845Jz169Ejbtm0beVYrt0WLFuWb3/xm5s2bl5/85Cfixkpu0aJFadOmTU488cQcffTRee2113L88cc39rSAr8C+++6bf/zjH+nXr19effXVxp4OrBTWX3/93HbbbVl99dWz/fbb54MPPhA3AABWAsIGX8iSXwA+/PDDJB9/a/+Ty1n5VVRU5Nlnn82dd96ZbbbZJocffnhjT2ml17Rp0xx99NE5/vjj89Zbb+XHP/6xuLESa9Lk4x/NEyZMyCuvvJLZs2fniiuuyHHHHdfIMwOWp/nz56dLly6ZPHlyJk2alP/5n//JSy+91NjTgkJbvHhxKioqUltbm+OOOy6vvfZa9tprL0duAACsBIQNvpCKiorcc889Oeyww7Lbbrtl1KhReffdd/1i8DVz/vnn54wzzsjEiROzcOHCNG3a1Ou/HJVKpbRo0SKHHHJIjjvuuEyZMkXcWIlVVFTk3nvvzQ477JDq6uoMGDAghxxySB5++OH893//d2NPD1hOmjdvniRp1apVhg0blgceeCDnn3++01LBl9CkSZP86U9/yu67757nnnsuPXv2zJtvvpkddthB3AAAKDhhgy/kiSeeyIEHHpjvfOc7WbhwYS655JJccMEFmTJlil8MvkbuvvvuHH744ZkyZUquv/76zJ071+u/HCz5+1xyZFSLFi1y6KGH5thjjxU3VmILFy7MyJEjc+yxx+bMM8/Mf//3f+fKK69M37598/jjjzstFaykKioqcvvtt6dz5855+umns9NOO2XMmDE5+eSTnZYKltG7776b008/Pf3798+QIUNy77335o477kjLli3FDQCAghM2+I/985//zNixYzN48OBccskleeihh9KnT59MnDgxgwYNEjdWUktez2nTpuW9997L66+/niS57rrrsuOOO2b48OG5884789FHH3n9G9CSUyckyZQpU/L+++/nvffeS2VlpbixElryvnnzzTfTrFmz1NXV5Z133imvb926dY499thsuumm+f3vf59DDz20saYKLCdvv/12TjnllAwcODC//vWv89BDD2X8+PGZNGlSTjrpJEduwDKYN29e5s6dm//6r/9K8vERHFtuuWV++9vf5t13380BBxyQ9957r7zPBQBAcQgbfKrLLrssDz74YPn+K6+8koMPPjjXXXddVl111fLy/v37p3fv3nn++edz0UUX5c033/SLwUpi8eLFKZVKqaioyF133ZUDDjgg3bt3z957752f//zn5W+Wfuc738ngwYPrxQ2+nMWLF5evs3DhhRfmRz/6UbbaaqsceeSReeihh7LKKquU48bUqVNzxBFH5MMPPyw/huKpqKjI6NGjc+CBB+a5557LFltskRkzZuSFF14oR48l3y7dYIMNMmPGjHrhA1g5NG3aNBtuuGGSZNGiRdl4440zduzYTJgwIRdccEFeeOGFRp4hFMu3vvWttGvXLnfddVd5WdOmTbPFFltkww03zPjx47Pnnnv6cggAQAH5FIyl/OMf/8hjjz2Wb33rW+Vl6623XrbZZpvMmTMnDz/8cGbOnFled8opp+SQQw7Jgw8+mGHDhmXhwoVf/aRpMG+99VaSj7/RVlFRkfvvvz8HHXRQ+vTpkz/84Q85+uijc8EFF2TMmDFJkjvuuCNdu3bNqaeemnvuuacxp77SWBIozj333Pz2t7/N6aefnmHDhmXBggU56KCDct9999WLG88++2wGDRrUyLNmWSyJFu+9914uu+yyHHnkkfn+97+fgw8+OP/4xz8yePDg/PWvfy2Pf+utt7LXXnvl5ptvTseOHRtr2kAD+eRRji1btsysWbMyadKkJB//LFi0aFHWW2+9bLjhhrn55ptz/vnnZ8GCBY00W1ixLXk/1dXVZe7cueX7Bx10UJ588sn8/ve/L4+trKzMuuuumzvuuCO33367L4cAABRQRcl5Y/gUH374YVq3bp2nn34606dPT69evZIkZ511Vu69994ceOCBOfHEE9O2bdvyY0aMGJE99tijXhChWE477bRMnz49v/vd79KqVatUVFSkb9++adu2bS688MK89dZb2XnnndOjR49cfvnl5SMLSqVSDj/88FxwwQX59re/3dibsVJ4+OGHM2DAgFx22WXZdtttM2bMmPTu3TsbbrhhXn755dx6663ZbbfdMm/evDz88MPZfffd07Rp08aeNsvggQceyI033pja2toMHTq0/G/o888/n/333z+dOnVKZWVlVl999dx333157rnnsu666zbupIEvZckRkXPnzk2rVq0yZ86crLrqqhk0aFCGDRuWSy+9NAcffHB5/CmnnJI99tgjXbp0SdeuXRtx5rBiWvKeuueee3L99ddn0qRJ2X333bPLLrukZ8+eOfroo/Paa69lk002ye67756xY8fmrrvuypNPPplvfvObjT19AACWgbBBPUt+KSiVSpk5c2Z+/OMf57333st5552XPffcM0kyYMCAPProo9lnn31y8sknZ4011mjkWdMQ/vjHP+awww7LxIkT061btyxcuLB8HuLjjz8+vXv3zgYbbJC99torl19+eSoqKnL55Zfnu9/9bnr06NHY0y+8559/Pq+99lpatWqVzTbbLC1atMiQIUPyq1/9Kvfff39+/OMf5xe/+EW6d++efffdN9OnT8/vf//7HHDAAeXnWLRokbhRQA8++GB69uyZJHn88cez3XbblaPh3//+99xzzz15+umn06ZNm5x44onp1q1bI88Y+DKW7GuNGTMm11xzTd5999107Ngxp59+erp27Zozzjgjf/zjH3PiiSdmvfXWy4QJE3L99dfnlVdeyVprrdXY04cV1t13352DDjoo55xzTjp37pw777wzY8eOzXPPPZdWrVrluuuuy2233ZZZs2aldevWufbaa7PZZps19rQBAFhGwgZLWfILd/LxN4kvv/zy1NbWpn///tlrr72SJKeeemrGjx+fHXbYIWeffXZWX331RpwxDeGyyy7LbbfdlnHjxuX222/PrFmzcsQRR+Tss8/OlClT8vDDD2efffbJZZddliZNmmTevHnp27dvvvvd7+b0009Ps2bNXF9jGV177bU599xz07x580yZMqV8UfZ11103TZo0yYEHHpjvfe97GTx4cJJkv/32y+TJk/Pd7343Y8aMqfeepViWvHYTJkzIjjvumB/+8If5zW9+k2984xtLjV24cGGaNWvWCLMEGtpdd91V/gB27bXXzl133ZW77747NTU1+fDDD3PnnXfm4osvzuqrr54mTZrkhhtu8AEsfIrFixenoqIis2bNysEHH5xdd901/fv3z6xZs9K1a9cccsghufTSS+vtJ9XU1KR169Zp06ZNI84cAIAvy8lEKVvSuD55jYyePXvmpJNOSuvWrTNkyJDyNRR+85vfZNNNN80zzzzjmhoriU033TSPP/54DjrooPzwhz9MZWVlkmSDDTbI/fffn3XWWSdnnnlmmjRpkgULFuTCCy/MI488koMPPjjNmzf3wfoyuuqqq3Lcccdl8ODBGT9+fK655pq8/vrrueSSSzJ//vy8//77ef7557P22msnSWpra9OiRYv89re/zX333Zck/u4LZMm/s3PmzEltbW35tdt2221z33335Q9/+EMGDhyYadOmlR+z5IKmogYU25L38uzZszN8+PD88pe/zM9+9rPsvvvumTRpUo488si0b98+Xbp0Sb9+/fLyyy9nwoQJGT9+vKgBnzBy5MicccYZSf7fNeGaN2+eadOm5Qc/+EHeeuutbLDBBtl3330zdOjQVFRU5O67784LL7yQJKmurhY1AABWAj4lIcn/+9bwAw88kGuvvTYfffRR2rVrl0GDBmWnnXZK8+bNc/HFF2fIkCGpqKjInnvumcsvvzzTp09Pu3btGnv6fEmLFy/Odtttl+OPPz4jRozIXnvtlUMOOSRJcvjhh+edd97JlVdemSOOOCLV1dWpq6vLY489lrFjx+Y73/lOI8++uG677bYce+yxufrqq9OnT58kyY9//OM89thjmTBhQioqKtKuXbvsvPPOGT58eOrq6nLPPfekrq4uu+22WyoqKsqnLGLF98nzf//mN7/J9OnT07lz55x99tn5/ve/nx49euS+++7LHnvskaZNm+bcc8/NN77xDa8vFNhvfvObJB8f6brkvVxXV5fXX389Q4YMyfTp07PVVltlr732yhVXXJEkufHGG7PDDjukU6dOjTZvWBEtXrw4H330USZMmJDnnnsuF1xwQc4999wkycyZM9OiRYs888wzGTJkSPbYY49cfvnlSZKpU6fm9ttvz3777ZeNNtrIF0IAAFYSPi0hycff+L7rrruy9957Z4011shaa62VJ598Mt///vczfvz4bL/99unXr1+qqqpy3nnn5YEHHkiStG/fvpFnTkNo0qRJZs6cmbfeeitHHHFE7r333px55pmZMWNGkuT000/Pr371q+ywww6ZO3duNttsszzxxBO+Qfolvfrqq2nVqlXmzZtX7xv6VVVVWW211TJv3rwkyVFHHZXtttsuN910U9q2bZvHHnssTZs2FTUKZsk3Rg855JBsu+22GTFiRN57772ceuqpueuuuzJ37tzsuuuuuf/++3PllVfm4osvzqJFixp72sAymjNnTt59992ce+65+d3vfldeXllZmY022igPPfRQttxyy/Tq1SuXXXZZko9PkXP//ffn6aefbqxpwwrr/fffT6tWrXLhhRdmp512yj333JPzzz8/SdKxY8fsvvvuOfHEE7P++uvnqquuKu8jjRgxIk8//XQ222wzUQMAYCXiGhsk+fj0Nrvttlv23HPPnHfeeUk+/lbU3nvvnRdffDEvvPBCVl999dx///257rrrMnjw4HTu3LmRZ82XteQb5K+88kqaN2+eqqqqtGvXLrfccksOO+ywnHbaaTnzzDNdQ6WBffIi3+edd15GjhyZE044IWeccUbGjBmTvffeO3feeWf23HPPeo+bNWtW2rRpk4qKCtdbWMF92nVP/vd//ze9e/fO4Ycfnn79+mXOnDnZcMMNM3/+/LRp0yYXXnhhevXqlVatWuXRRx9Nhw4dsv766zfSFgBfxpLwPHXq1Fx99dW55JJLMnjw4JxwwglJkiOPPDIjR47Mvvvumz/+8Y/lnwlnnnlm/vznP+e+++5zxAZ8wm233Zaf/exnue2227Lppptm+vTp+dWvfpUJEyZkt912y/nnn59SqZRjjz02I0eOzHnnnZdFixblnXfeyc0335zHHnssm266aWNvBgAADcinYiT5+Loa//d//5cNNtggSbJgwYI0b948d9xxRzbeeOOcf/75ufTSS7Pbbrtlhx12SMuWLRt5xnxZSz54veOOO3LSSSfl7LPPzoEHHpgkOfjgg5Mkhx12WJLknHPOcS7iBrTkA6zFixfnF7/4RRYsWJArrrgiL730Uu64445cddVV2XPPPcvnY1/yjcPVVlut/DhRY8W15APN2bNnZ9asWWnatGmqq6vTrFmzHHbYYTniiCNSU1OT7bffPnvvvXeGDRuWjTfeOBdffHHmzJmTgw8+ON27d2/szQCW0eWXX54hQ4bkxRdfzDrrrJOf/vSnWbx4cc4666wsWrQoJ598cq655pq88cYbeeGFF3LeeedlrbXWyuTJk/PHP/4x48aNEzXgX7Rq1Srf/va307dv34wYMSKbbLJJzjzzzPzqV7/KmDFj0rRp05x33nm58sor881vfjP3339/Fi1alO9973uZMGFCunXr1tibAABAA3MOk6+pJQfqfPjhh0mSNddcM61atcq9996bJGnevHk5bnTr1i21tbXlx4oaK4cl5/o//PDDc+aZZ+aAAw4on1qsVCrl4IMPzvXXX5+hQ4fm7LPPLv+/QsMYPnx4fvCDHyRJBg8enD59+uSWW27Jrrvumn333TfJx0Hj00415fRTK64lUePll1/OT37ykxx++OG5/fbbU1dXl06dOuWAAw7I6quvnsGDB+f73/9+Bg8enIqKimyxxRaZPHlyRo0alYULFzb2ZgBfwuabb55FixZl5513Tl1dXb7xjW/kmGOOySmnnJKf/exnGTp0aJLkkUceye67756nn346I0eOzEcffZTx48dnk002adwNgBVQr169MmDAgKyxxho55phj8te//jXt27fPmWeeme222y5//vOfy6el+tnPfpY777wzTzzxRK688kpRAwBgJeXTsa+hJd/UHzt2bM4555w8+eSTSZLjjz8+zz33XH79618n+ThuJB9/AL7KKqtk8eLFceaylcfcuXNz2WWX5YQTTsgJJ5yQ1VZbLVOnTs1vf/vb/PGPf8yMGTNy2GGH5fLLL89NN90kbDSwTTfdNDNmzMhDDz2UJDn//PPzs5/9LM8++2yuuuqqTJ8+vZFnyBe1JGpMnjw5O+64Y9Zbb7387Gc/S9++fVNZWZmKioryKfzeeeeddOjQIa1atUqSrL766rnzzjtz/fXXl4/MAYppyy23zJ/+9Ke8//772WGHHZaKG+edd145blx22WW5++678+STT+baa6/1ASx8iiW/f+y66645+eST065duxxzzDGZNGlSOW5sv/32uffee/OLX/wiSdK2bdtUVFSkRYsWjTl1AACWI+cy+RqqqKjI7bffnsMPPzznnHNOOWDsu+++ef3113P99dfnueeeS/fu3TNx4sTcd999efrpp31LfCVTKpUyb968rLrqqnnllVdy5ZVX5q9//WsmTZqULl265C9/+UsGDx6cI444IgceeKBTUX0Jn3a9hS5duqR169Z5/PHHs8suuyT5+HobCxcuzOWXX57Zs2enf//+WWONNRpjyiyDJk2aZNq0aendu3cOPvjgDBo0qLzukxd6X3JB8Keeeiq/+93v8uqrr2bUqFEZMGBA1llnnUaZO9CwNt1009xyyy05+OCDs8MOO+Sxxx4rx43k43/vmzdvnhNOOCGrrLJKI88WVmyf3Ifabbfd0qRJkwwZMiTHHntsrrzyyvJpqX7961/nxhtvzCqrrJLTTz+9EWcMAMBXwcXDv4Zef/317LHHHunfv3/69u1bb927776bMWPGZMSIEVm0aFHatm2bX//619l4440babY0lE/7cH3AgAG5/vrr89FHH2X33XdPr169cvDBB+f444/P3Llzc8sttzTSbFdOtbW1qaqqKt8fOXJkTjnllDz++OP1vqX7P//zP5kyZUr+9Kc/LfWasWJa8v764x//mCFDhuT666/Pd7/73aXGLQkcc+bMSa9evTJ79uwsWrQoI0eOdFFTWAlNmjQpP/zhD7PmmmvmscceS2VlZd5+++1cffXVGThwYK688sr89Kc/bexpwgppyc/WSZMmZdq0aXnnnXfSu3fvtGnTJo8//ngGDx6cDz74oBw3ampqMnz48Pz0pz/Nt771rcaePgAAy5mw8TWy5JeDBx98MMcdd1zuv//+fOc730lS/9vES8ydOzdNmjTxTcKVwJLX/i9/+UvefPPNLFy4sHxh8IcffjiLFi3KrrvumkWLFqVp06Y5/vjj8+GHH+b3v/99mjdv7sP1BjBkyJA88sgj6dGjR04++eQsXrw4c+bMyf77758DDzwwJ5xwQurq6lJZWZnk/71mnxakWHGdddZZueOOO/Liiy8udYH3Ja/l7Nmzs3jx4qy66qqpra1Ns2bNnH4KCm7J+/ull17Km2++mYqKiqy33nr59re/nRdeeCE//OEPs8Yaa5TjxpQpU3LjjTdm//33z7rrrtvY04cV1p/+9KeccMIJ2XDDDfPaa6+Vj3w68sgj88ADD+T/+//+v8ycOTO//e1vs/nmm3/q7zQAAKyc7PWtpBYvXrzUf0+bNi1JMn/+/NTV1ZU/LP3kLwCPPvpoJkyYkCRp1aqVqLGSWHL6sV122SUDBw7M8ccfn1122SUfffRRdt555+y6665JkrfffjvnnHNObr755pxxxhlp0aKFD9UbyHe+85106dIlv/rVr7Ljjjtm8ODBadasWf7rv/4rI0aMyOLFi1NZWVk+TZGoUUwtWrTInDlzyv/ufvLf4iWv5S9/+ctcc801adq0adq2bStqwEpgyc/ZHj165Fe/+lUGDBiQww8/PCNHjszGG2+cW2+9NTNnzixfULxTp0457bTTRA34HM8++2xOOOGEDB48OA899FAeeuihPP3005k5c2aSpGfPnhkwYEAqKipyxhln1Pv9BgCAlZ+wsZJq0qRJXn311Vx55ZVp0qRJbrvtthx66KF57733svHGG6e2tjbDhw8vj13irrvuyj333JP58+c31tRpQEsOyProo49y3XXXZcSIERk3blzuv//+/POf/0yPHj1SW1ubJHnsscfSp0+fjB49Oo8++mg23HDDxpx6oX3yw+wl9t133wwdOjQvvvhitt5664wdOzbrrbdeSqVS/va3v+Wqq65KkjRt2rT8GL+cF8eS99qOO+6YDz/8MOedd16Sj/99XbBgQXncokWL8s4776R169aNMk9g+Xj22WdzzDHH5Nxzz83jjz+eoUOH5plnnsnUqVOTJJtttlluu+22vPrqq+nVq1eS+v/eA0t77bXXsskmm+S///u/8+qrr2aPPfbIUUcdlf79+ydJPvjgg+y888654IILcu2116aystK+EwDA14iLh6+kSqVS7r///vTr1y/PPvtsfv/73+faa6/NWmutlSS5/PLLc+SRR2bBggX56U9/miZNmuSGG27ItddemwkTJqRFixaNvAU0hIqKijz88MO5+OKLs8Yaa+QHP/hB2rdvn/bt2+euu+7Kvvvum169euXee+/NDjvskNNOOy0bbbRROnfu3NhTL6xPHgF12223ZcqUKZkzZ0769euXqqqqtGvXLhdddFEWLlyY3/3ud3nsscfSvHnz3H333Tn22GMbefYsqyUfpHz/+9/P9ttvn5tuuilt27bN6aefnubNmyf5+Gi5X/7yl3nyySfzi1/8ojGnCzSwv/71r9lqq63St2/fvPnmmznuuOPy05/+ND/72c+SJFOmTMkmm2ySRx55JK1atWrk2UIxvP7661lttdVSKpXSo0eP7LnnnhkxYkSS5M4778wrr7ySAQMGZKeddmrkmQIA0BhcY2Mlc+mll6Z37975xje+kSQ5+OCDc9ttt6VPnz657rrryqe2Wbx4ce65554cddRRWWWVVdKiRYu0aNEiN954YzbbbLNG3goa0oMPPpg+ffpk7ty5+dvf/pZvfOMb5Q/f//a3v+WHP/xh+fobq666amNPt9A+GTXOPPPM3HTTTfnud7+befPm5e23387tt9+eLbbYot5j5syZk2effTa77757br755uy///6NMXUawJJ/X6dMmZJDDjkkr7/+erbeeuscf/zxeeWVVzJp0qTcddddefjhh10oHFYyS47I++Uvf5ktttgivXr1yu9+97s0adIkDz30UCZOnJjjjz8+bdq0aeypwgppyc/QV155Ja1bt06nTp3y9NNPZ9ddd82CBQtyzDHHZOjQoeXxJ510UmpqanLNNdd4XwEAfE05FdVKpLa2NjfeeGPmzJlTXrbGGmtk7733zg033JDf/va39Q7P3nvvvTN58uSMHj06N954Yx599FFRYyXxyV65ww475KabbkqrVq1y4oknJvn49DilUikbbLBBbr311qyyyip5//33G2u6K40lUeOyyy7LyJEjc8cdd+Thhx/OaaedlqlTp+aAAw7I+PHj6z2mdevW2WGHHbLnnnvmpZdeaoxp8x/65CnGFi5cmKT+e62ioiKLFi1Kp06d8oc//CFHHXVU/v73v+eQQw7JiBEjsnDhwowfP17UgIJb8r5//fXXM3v27CTJOuusk1GjRmXDDTfMgQcemMsvv7z8M+EPf/hDXnjhBRc0hs+wJGqMHj06BxxwQIYPH56ZM2dm/fXXz/HHH5+qqqry9WimTJmSs88+OzfddFPOP/98UQMA4GvMERsrmYULF6ZZs2Z54okn8q1vfat85MZFF12Us846K0OHDs3JJ59cHv/GG2+kS5cujTVdGtiSXwxra2vL5xmurKzMggUL8thj/3979x2d8/3/f/x+ZW+jKkEkPjGKWom992joiT1iNkrVbinxtVf4oIOq0drzQwlVJWK3VkMJRUQEib2idhJJ3r8//HJ9pFS11CX5PG7n9Bx5rzxf6bnOdV2vx2v8SJs2bahVqxarVq3KcH1y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wkVERERERP5HafNwkb/Bw8ODYcOG0bBhQ95++20OHToEgKOjIwDh4eG8+eabWhJDRETkOXl7e/Ptt99SvHhx8uXLx4cffkh0dDSDBw/mzJkzfPrpp3Tu3BlHR0e2bNlC8+bNAdAYHRERERERkf89mrEh8gLSZ27s37+fZs2aMXjwYMaNG8e///1vdu/eTalSpSxdooiISKYSHR1Nv379SEtLY/z48ZQvXx6A3377je+//57o6Gg2btzInDlz8PX1tXC1IiIiIiIiYgkKNkReUHq4cfjwYZKSkjhy5Ai7du2ibNmyli5NREQkU4qJiaFPnz4ADBkyhJo1a2Y4n5KSgo2NjSVKExERERERkdeAlqISeUEeHh4MHTqUQoUKkZCQwN69exVqiIiIvIDChQvz5ZdfYjKZmDBhAnv27MlwXqGGiIiIiIjI/zbN2BB5Sa5du0ZaWhru7u6WLkVERCRLiImJ4eOPP+b69et8/vnnVKpUydIliYiIiIiIyGtAMzZEXpI333xToYaIiMhLVLhwYSZPnoynpyd58+a1dDkiIiIiIiLymtCMDRERERF5rSUnJ2NnZ2fpMkREREREROQ1oWBDREREREREREREREQyDS1FJSIiIiIiIiIiIiIimYaCDRERERERERERERERyTQUbIiIiIiIiIiIiIiISKahYENERERERERERERERDINBRsiIiIiIiIiIiIiIpJpKNgQEfkLatWqRf/+/V/6c0eNGkWZMmVe+nNFRERERERERESyGgUbIplYly5dMJlMmEwmbG1t8fHxYeDAgdy7d8/Spb2QHTt2YDKZ+O233577nvS/RY8ePZ4417NnT0wmE126dPlHaxARERFYsGAB2bNnt3QZrxWTycTatWsBOHv2LCaTicjIyBd65j812EJEREREJDNQsCGSyTVq1IhLly5x+vRpxo0bx4wZMxg4cKCly7KI/Pnz85///IcHDx6YjyUmJrJ8+XK8vLwsWJmIiMjr7dy5c3Tt2pW8efNiZ2eHt7c3/fr148aNG5Yu7ZlWr15NrVq1yJYtGy4uLpQqVYoxY8aQkJBg6dJEREREROQfpGBDJJOzt7fHw8OD/PnzExgYSPv27Vm7di1LliyhXLlyuLq64uHhQWBgIFevXgXAMAwKFSrElClTMjzr6NGjWFlZERsbCzwaXTh79myaNGmCk5MTxYoV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lWLOnDkkJCQ8ddbGi7bPz8+P1atXU6BAAWxsnvx6VqhQIWxtbdm3bx9eXl4A3Lx5k5MnT/7hAA0RERERkazOytIFiMjL9+abb7JgwQK+/fZbihcvzsSJE5kyZcpTr+3atSvJycnPvab1n2nYsCHr169n8+bNlC9fnkqVKvHZZ5/h7e393M/Ily8fo0ePJjg4GHd39wxrYD8vNzc33Nzc/vD82LFjGTFiBBMmTKBYsWI0bNiQ77//nn/9618vVIPJZGLt2rXkyJGDGjVqUK9ePXx8fFixYoX5mjZt2jBixAgGDx5M2bJliYuL48MPP/zLbRQREXkZpk+fTlJSEg0bNuTHH3/k3LlzhIWFUb9+ffLly5dhiaXf69u3L2FhYUyaNImTJ08yffr0DMtQwaNBD4sWLWLUqFEcO3aMqKgoVqxYwbBhw/52zRUrVmTQoEEMGDCAQYMGsXfvXuLi4ti6dSutWrVi4cKFwKNQIDQ0lMjISA4fPkxgYOBfXvqyXbt2eHh40LRpU3bv3s3p06dZvXo1e/fufSnt69WrFwkJCbRr146IiAhOnz5NeHg4QUFBpKam4uLiQteuXfnkk0/YunUrR48epUuXLlhZ6auciIiIiPwPs+DG5SLyGti1a5dhY2NjXL582dKliIiIiIWcPXvW6NKli+Hh4WHY2toa+fPnN/r06WNcv37dfI23t7fx+eefP3Hv3LlzDU9PT8PR0dF49913jSlTphjZsmXLcE1YWJhRpUoVw9HR0XBzczMqVKhgfP311+bzgLFmzZq/XPeKFSuMGjVqGK6uroazs7NRqlQpY8yYMcbNmzcNwzCMM2fOGLVr1zYcHR2N/PnzG9OnTzdq1qxp9OvX75ntKl26tDFy5MgMf58WLVoYbm5uhpOTk1GuXDnj559//lvtO3PmjAEYhw4dMp8/efKk0axZMyN79uyGo6OjUbRoUaN///5GWlqaYRiGcefOHaNDhw6Gk5OT4e7ubkyaNOmJdoiIiIiI/C8xGcZzLIwrIllOUlIS586do3v37uTJk4elS5dauiQRERERERERERGRP6X5yyL/o5YvX85bb73FrVu3mDRpkqXLeab4+HhcXFz+8L/4+HhLlygiIiIiIiIiIiKviGZsiMhrLyUl5Zkbff7RZpsiIiKSOfXo0YMlS5Y89VyHDh2YNWvWK65IREREREReJwo2RERERETktXL16lVu37791HNubm7kzp37FVckIiIiIiKvEwUbIiIiIiIiIiIiIiKSaWiPDRERERERERERERERyTQUbIiIiIiIiIiIiIiISKahYENERERERERERERERDINBRsiIiIiIiIiIiIiIpJpKNgQEREREREREREREZFMQ8GGiIiIiIiIiIiIiIhkGgo2REREREREREREREQk01CwISIiIiIiIiIiIiIimcb/A7y60knhyOwCAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Redefining the cleaned categorical columns for plotting\n",
"categorical_columns = df.select_dtypes(include=['object']).columns.tolist()\n",
"\n",
"# Calculate the number of rows needed for subplots\n",
"num_rows = int(np.ceil(len(categorical_columns) / 3)) # Calculate rows needed\n",
"\n",
"# Step 2: Draw count plots for each categorical column\n",
"plt.figure(figsize=(16, 8 * num_rows)) # Adjust figure height based on rows\n",
"for i, column in enumerate(categorical_columns, 1):\n",
" plt.subplot(num_rows, 3, i) # Use calculated num_rows\n",
" sns.countplot(x=df[column], width=0.6) # Reduce width by 40% (default is 0.8)\n",
" plt.title(f'Count Plot of {column}')\n",
" plt.xticks(rotation=45)\n",
"\n",
"plt.tight_layout()\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 226
},
"id": "tZy5sPVDYY3g",
"outputId": "2440bb5d-6e96-4879-d4d7-1cc2687a5cae"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Days_to_Delivery \n",
" Num_Items_Ordered \n",
" Order_Value \n",
" Discount_Rate \n",
" Num_Previous_Orders \n",
" Delivery_Time_Variation \n",
" Region \n",
" Product_Category \n",
" Order_Priority \n",
" Payment_Method \n",
" Correlated_Order_Value \n",
" Order_Cancelled \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 5.993428 \n",
" 6 \n",
" 716.505607 \n",
" 0.098621 \n",
" 5 \n",
" 1.129165 \n",
" EMEA \n",
" On-premise \n",
" Low \n",
" Bitcoin \n",
" 677.114236 \n",
" Not-Cancelled \n",
" \n",
" \n",
" 1 \n",
" 4.723471 \n",
" 11 \n",
" 619.054859 \n",
" 0.106769 \n",
" 7 \n",
" 0.889863 \n",
" APAC \n",
" Cloud \n",
" Medium \n",
" Bitcoin \n",
" 591.127949 \n",
" Not-Cancelled \n",
" \n",
" \n",
" 2 \n",
" 6.295377 \n",
" 3 \n",
" 521.257403 \n",
" 0.338047 \n",
" 0 \n",
" 2.668340 \n",
" LATAM \n",
" On-premise \n",
" Medium \n",
" Bank Transfer \n",
" 502.195055 \n",
" Not-Cancelled \n",
" \n",
" \n",
" 3 \n",
" 8.046060 \n",
" 8 \n",
" 602.698626 \n",
" 0.202501 \n",
" 4 \n",
" 2.998095 \n",
" LATAM \n",
" On-premise \n",
" High \n",
" PayPal \n",
" 566.850797 \n",
" Not-Cancelled \n",
" \n",
" \n",
" 4 \n",
" 4.531693 \n",
" 3 \n",
" 610.590042 \n",
" 0.465772 \n",
" 2 \n",
" 2.011061 \n",
" APAC \n",
" Hardware \n",
" High \n",
" Bank Transfer \n",
" 581.693494 \n",
" Not-Cancelled \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Days_to_Delivery Num_Items_Ordered Order_Value Discount_Rate \\\n",
"0 5.993428 6 716.505607 0.098621 \n",
"1 4.723471 11 619.054859 0.106769 \n",
"2 6.295377 3 521.257403 0.338047 \n",
"3 8.046060 8 602.698626 0.202501 \n",
"4 4.531693 3 610.590042 0.465772 \n",
"\n",
" Num_Previous_Orders Delivery_Time_Variation Region Product_Category \\\n",
"0 5 1.129165 EMEA On-premise \n",
"1 7 0.889863 APAC Cloud \n",
"2 0 2.668340 LATAM On-premise \n",
"3 4 2.998095 LATAM On-premise \n",
"4 2 2.011061 APAC Hardware \n",
"\n",
" Order_Priority Payment_Method Correlated_Order_Value Order_Cancelled \n",
"0 Low Bitcoin 677.114236 Not-Cancelled \n",
"1 Medium Bitcoin 591.127949 Not-Cancelled \n",
"2 Medium Bank Transfer 502.195055 Not-Cancelled \n",
"3 High PayPal 566.850797 Not-Cancelled \n",
"4 High Bank Transfer 581.693494 Not-Cancelled "
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Reading first 5 Rows of the data\n",
"\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "nUdbr1o_N_gS"
},
"source": [
"# **Data Cleaning**"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "QfjjBlsFN7am",
"outputId": "f435e4a4-651c-4207-8ccd-bca054be3edf"
},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.duplicated().sum()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 460
},
"id": "6--mdHoFN7dH",
"outputId": "398a2ad1-2fc8-4012-c604-aff6a95f6300"
},
"outputs": [
{
"data": {
"text/plain": [
"Days_to_Delivery 0\n",
"Num_Items_Ordered 0\n",
"Order_Value 0\n",
"Discount_Rate 0\n",
"Num_Previous_Orders 0\n",
"Delivery_Time_Variation 0\n",
"Region 0\n",
"Product_Category 0\n",
"Order_Priority 0\n",
"Payment_Method 0\n",
"Correlated_Order_Value 0\n",
"Order_Cancelled 0\n",
"dtype: int64"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Checking the null values columns wise\n",
"\n",
"df.isnull().sum()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "YTObg1D8QQFP"
},
"source": [
"## **Categorical attributes: Dummy Encoding:**"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {
"id": "Lf0g2aV5uxKD"
},
"outputs": [],
"source": [
"# Encoding categorical variables\n",
"from sklearn.preprocessing import LabelEncoder, StandardScaler\n",
"from sklearn.preprocessing import OneHotEncoder\n",
"\n",
"df_encoded = df.copy()\n",
"label_encoder = LabelEncoder()\n",
"\n",
"#df_encoded['Region'] = label_encoder.fit_transform(df_encoded['Region'])\n",
"#df_encoded['Product_Category'] = label_encoder.fit_transform(df_encoded['Product_Category'])\n",
"#df_encoded['Order_Priority'] = label_encoder.fit_transform(df_encoded['Order_Priority'])\n",
"#df_encoded['Payment_Method'] = label_encoder.fit_transform(df_encoded['Payment_Method'])\n",
"df_encoded['Order_Cancelled'] = label_encoder.fit_transform(df_encoded['Order_Cancelled'])\n",
"\n",
"ohe = OneHotEncoder()\n",
"df_encoded[ohe.get_feature_names_out()] = ohe.fit_transform(df_encoded[['Region']]).toarray()\n",
"df_encoded[ohe.get_feature_names_out()] = ohe.fit_transform(df_encoded[['Product_Category']]).toarray()\n",
"df_encoded[ohe.get_feature_names_out()] = ohe.fit_transform(df_encoded[['Order_Priority']]).toarray()\n",
"df_encoded[ohe.get_feature_names_out()] = ohe.fit_transform(df_encoded[['Payment_Method']]).toarray()\n",
"#df_encoded[ohe.get_feature_names_out()] = ohe.fit_transform(df_encoded[['Order_Cancelled']]).toarray()"
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "YMwpQYrHQrz-",
"outputId": "c0903189-bd37-4e01-a870-158cfa61af5c"
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Days_to_Delivery', 'Num_Items_Ordered', 'Order_Value', 'Discount_Rate',\n",
" 'Num_Previous_Orders', 'Delivery_Time_Variation', 'Region',\n",
" 'Product_Category', 'Order_Priority', 'Payment_Method',\n",
" 'Correlated_Order_Value', 'Order_Cancelled', 'Region_APAC',\n",
" 'Region_EMEA', 'Region_LATAM', 'Region_North America',\n",
" 'Product_Category_Cloud', 'Product_Category_Hardware',\n",
" 'Product_Category_On-premise', 'Product_Category_SaaS',\n",
" 'Order_Priority_High', 'Order_Priority_Low', 'Order_Priority_Medium',\n",
" 'Payment_Method_Bank Transfer', 'Payment_Method_Bitcoin',\n",
" 'Payment_Method_Credit Card', 'Payment_Method_PayPal'],\n",
" dtype='object')"
]
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_encoded.columns"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Days_to_Delivery \n",
" Num_Items_Ordered \n",
" Order_Value \n",
" Discount_Rate \n",
" Num_Previous_Orders \n",
" Delivery_Time_Variation \n",
" Region \n",
" Product_Category \n",
" Order_Priority \n",
" Payment_Method \n",
" ... \n",
" Product_Category_Hardware \n",
" Product_Category_On-premise \n",
" Product_Category_SaaS \n",
" Order_Priority_High \n",
" Order_Priority_Low \n",
" Order_Priority_Medium \n",
" Payment_Method_Bank Transfer \n",
" Payment_Method_Bitcoin \n",
" Payment_Method_Credit Card \n",
" Payment_Method_PayPal \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 5.993428 \n",
" 6 \n",
" 716.505607 \n",
" 0.098621 \n",
" 5 \n",
" 1.129165 \n",
" EMEA \n",
" On-premise \n",
" Low \n",
" Bitcoin \n",
" ... \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" \n",
" \n",
" 1 \n",
" 4.723471 \n",
" 11 \n",
" 619.054859 \n",
" 0.106769 \n",
" 7 \n",
" 0.889863 \n",
" APAC \n",
" Cloud \n",
" Medium \n",
" Bitcoin \n",
" ... \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" \n",
" \n",
" 2 \n",
" 6.295377 \n",
" 3 \n",
" 521.257403 \n",
" 0.338047 \n",
" 0 \n",
" 2.668340 \n",
" LATAM \n",
" On-premise \n",
" Medium \n",
" Bank Transfer \n",
" ... \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" \n",
" \n",
" 3 \n",
" 8.046060 \n",
" 8 \n",
" 602.698626 \n",
" 0.202501 \n",
" 4 \n",
" 2.998095 \n",
" LATAM \n",
" On-premise \n",
" High \n",
" PayPal \n",
" ... \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" \n",
" \n",
" 4 \n",
" 4.531693 \n",
" 3 \n",
" 610.590042 \n",
" 0.465772 \n",
" 2 \n",
" 2.011061 \n",
" APAC \n",
" Hardware \n",
" High \n",
" Bank Transfer \n",
" ... \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" \n",
" \n",
"
\n",
"
5 rows × 27 columns
\n",
"
"
],
"text/plain": [
" Days_to_Delivery Num_Items_Ordered Order_Value Discount_Rate \\\n",
"0 5.993428 6 716.505607 0.098621 \n",
"1 4.723471 11 619.054859 0.106769 \n",
"2 6.295377 3 521.257403 0.338047 \n",
"3 8.046060 8 602.698626 0.202501 \n",
"4 4.531693 3 610.590042 0.465772 \n",
"\n",
" Num_Previous_Orders Delivery_Time_Variation Region Product_Category \\\n",
"0 5 1.129165 EMEA On-premise \n",
"1 7 0.889863 APAC Cloud \n",
"2 0 2.668340 LATAM On-premise \n",
"3 4 2.998095 LATAM On-premise \n",
"4 2 2.011061 APAC Hardware \n",
"\n",
" Order_Priority Payment_Method ... Product_Category_Hardware \\\n",
"0 Low Bitcoin ... 0.0 \n",
"1 Medium Bitcoin ... 0.0 \n",
"2 Medium Bank Transfer ... 0.0 \n",
"3 High PayPal ... 0.0 \n",
"4 High Bank Transfer ... 1.0 \n",
"\n",
" Product_Category_On-premise Product_Category_SaaS Order_Priority_High \\\n",
"0 1.0 0.0 0.0 \n",
"1 0.0 0.0 0.0 \n",
"2 1.0 0.0 0.0 \n",
"3 1.0 0.0 1.0 \n",
"4 0.0 0.0 1.0 \n",
"\n",
" Order_Priority_Low Order_Priority_Medium Payment_Method_Bank Transfer \\\n",
"0 1.0 0.0 0.0 \n",
"1 0.0 1.0 0.0 \n",
"2 0.0 1.0 1.0 \n",
"3 0.0 0.0 0.0 \n",
"4 0.0 0.0 1.0 \n",
"\n",
" Payment_Method_Bitcoin Payment_Method_Credit Card Payment_Method_PayPal \n",
"0 1.0 0.0 0.0 \n",
"1 1.0 0.0 0.0 \n",
"2 0.0 0.0 0.0 \n",
"3 0.0 0.0 1.0 \n",
"4 0.0 0.0 0.0 \n",
"\n",
"[5 rows x 27 columns]"
]
},
"execution_count": 105,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_encoded.head()"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "12myDXivQJi7",
"outputId": "290fa02b-5529-435d-f8fd-dcd06699f78a"
},
"outputs": [],
"source": [
"# Visulaizing the Pairplot of complete dataset\n",
"\n",
"#sns.pairplot(df_encoded)"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {
"id": "3gOaZeOc2EEC"
},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import LabelEncoder, StandardScaler\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.metrics import roc_auc_score, roc_curve, confusion_matrix, classification_report\n",
"from sklearn.naive_bayes import GaussianNB\n",
"import statsmodels.api as sm\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"from statsmodels.stats.outliers_influence import variance_inflation_factor"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {
"id": "nLcNJky812Mj"
},
"outputs": [],
"source": [
"# Separate features and target\n",
"X = df_encoded.drop(['Order_Cancelled', 'Correlated_Order_Value', 'Order_Value'], axis=1)\n",
"y = df_encoded['Order_Cancelled']"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {
"id": "4IH0XfB012O4"
},
"outputs": [
{
"ename": "TypeError",
"evalue": "ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[109], line 4\u001b[0m\n\u001b[1;32m 2\u001b[0m vif_data \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mDataFrame()\n\u001b[1;32m 3\u001b[0m vif_data[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfeature\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m X\u001b[38;5;241m.\u001b[39mcolumns\n\u001b[0;32m----> 4\u001b[0m vif_data[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mVIF\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m [variance_inflation_factor(X\u001b[38;5;241m.\u001b[39mvalues, i) \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;28mlen\u001b[39m(X\u001b[38;5;241m.\u001b[39mcolumns))]\n\u001b[1;32m 5\u001b[0m \u001b[38;5;66;03m# Arrange VIF values in descending order\u001b[39;00m\n\u001b[1;32m 6\u001b[0m vif_data \u001b[38;5;241m=\u001b[39m vif_data\u001b[38;5;241m.\u001b[39msort_values(by\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mVIF\u001b[39m\u001b[38;5;124m\"\u001b[39m, ascending\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/stats/outliers_influence.py:196\u001b[0m, in \u001b[0;36mvariance_inflation_factor\u001b[0;34m(exog, exog_idx)\u001b[0m\n\u001b[1;32m 194\u001b[0m mask \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marange(k_vars) \u001b[38;5;241m!=\u001b[39m exog_idx\n\u001b[1;32m 195\u001b[0m x_noti \u001b[38;5;241m=\u001b[39m exog[:, mask]\n\u001b[0;32m--> 196\u001b[0m r_squared_i \u001b[38;5;241m=\u001b[39m OLS(x_i, x_noti)\u001b[38;5;241m.\u001b[39mfit()\u001b[38;5;241m.\u001b[39mrsquared\n\u001b[1;32m 197\u001b[0m vif \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1.\u001b[39m \u001b[38;5;241m/\u001b[39m (\u001b[38;5;241m1.\u001b[39m \u001b[38;5;241m-\u001b[39m r_squared_i)\n\u001b[1;32m 198\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m vif\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/regression/linear_model.py:924\u001b[0m, in \u001b[0;36mOLS.__init__\u001b[0;34m(self, endog, exog, missing, hasconst, **kwargs)\u001b[0m\n\u001b[1;32m 921\u001b[0m msg \u001b[38;5;241m=\u001b[39m (\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWeights are not supported in OLS and will be ignored\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 922\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAn exception will be raised in the next version.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 923\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(msg, ValueWarning)\n\u001b[0;32m--> 924\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__init__\u001b[39m(endog, exog, missing\u001b[38;5;241m=\u001b[39mmissing,\n\u001b[1;32m 925\u001b[0m hasconst\u001b[38;5;241m=\u001b[39mhasconst, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 926\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mweights\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_init_keys:\n\u001b[1;32m 927\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_init_keys\u001b[38;5;241m.\u001b[39mremove(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mweights\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/regression/linear_model.py:749\u001b[0m, in \u001b[0;36mWLS.__init__\u001b[0;34m(self, endog, exog, weights, missing, hasconst, **kwargs)\u001b[0m\n\u001b[1;32m 747\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 748\u001b[0m weights \u001b[38;5;241m=\u001b[39m weights\u001b[38;5;241m.\u001b[39msqueeze()\n\u001b[0;32m--> 749\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__init__\u001b[39m(endog, exog, missing\u001b[38;5;241m=\u001b[39mmissing,\n\u001b[1;32m 750\u001b[0m weights\u001b[38;5;241m=\u001b[39mweights, hasconst\u001b[38;5;241m=\u001b[39mhasconst, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 751\u001b[0m nobs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mexog\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 752\u001b[0m weights \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mweights\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/regression/linear_model.py:203\u001b[0m, in \u001b[0;36mRegressionModel.__init__\u001b[0;34m(self, endog, exog, **kwargs)\u001b[0m\n\u001b[1;32m 202\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, endog, exog, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m--> 203\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__init__\u001b[39m(endog, exog, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 204\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpinv_wexog: Float64Array \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 205\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_data_attr\u001b[38;5;241m.\u001b[39mextend([\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpinv_wexog\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mwendog\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mwexog\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mweights\u001b[39m\u001b[38;5;124m'\u001b[39m])\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/base/model.py:270\u001b[0m, in \u001b[0;36mLikelihoodModel.__init__\u001b[0;34m(self, endog, exog, **kwargs)\u001b[0m\n\u001b[1;32m 269\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, endog, exog\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m--> 270\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__init__\u001b[39m(endog, exog, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 271\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minitialize()\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/base/model.py:95\u001b[0m, in \u001b[0;36mModel.__init__\u001b[0;34m(self, endog, exog, **kwargs)\u001b[0m\n\u001b[1;32m 93\u001b[0m missing \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmissing\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnone\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 94\u001b[0m hasconst \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhasconst\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[0;32m---> 95\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdata \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_handle_data(endog, exog, missing, hasconst,\n\u001b[1;32m 96\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 97\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mk_constant \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdata\u001b[38;5;241m.\u001b[39mk_constant\n\u001b[1;32m 98\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mexog \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdata\u001b[38;5;241m.\u001b[39mexog\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/base/model.py:135\u001b[0m, in \u001b[0;36mModel._handle_data\u001b[0;34m(self, endog, exog, missing, hasconst, **kwargs)\u001b[0m\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_handle_data\u001b[39m(\u001b[38;5;28mself\u001b[39m, endog, exog, missing, hasconst, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m--> 135\u001b[0m data \u001b[38;5;241m=\u001b[39m handle_data(endog, exog, missing, hasconst, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 136\u001b[0m \u001b[38;5;66;03m# kwargs arrays could have changed, easier to just attach here\u001b[39;00m\n\u001b[1;32m 137\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m key \u001b[38;5;129;01min\u001b[39;00m kwargs:\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/base/data.py:675\u001b[0m, in \u001b[0;36mhandle_data\u001b[0;34m(endog, exog, missing, hasconst, **kwargs)\u001b[0m\n\u001b[1;32m 672\u001b[0m exog \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39masarray(exog)\n\u001b[1;32m 674\u001b[0m klass \u001b[38;5;241m=\u001b[39m handle_data_class_factory(endog, exog)\n\u001b[0;32m--> 675\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m klass(endog, exog\u001b[38;5;241m=\u001b[39mexog, missing\u001b[38;5;241m=\u001b[39mmissing, hasconst\u001b[38;5;241m=\u001b[39mhasconst,\n\u001b[1;32m 676\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/base/data.py:88\u001b[0m, in \u001b[0;36mModelData.__init__\u001b[0;34m(self, endog, exog, missing, hasconst, **kwargs)\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconst_idx \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 87\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mk_constant \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[0;32m---> 88\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_handle_constant(hasconst)\n\u001b[1;32m 89\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_integrity()\n\u001b[1;32m 90\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_cache \u001b[38;5;241m=\u001b[39m {}\n",
"File \u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/statsmodels/base/data.py:133\u001b[0m, in \u001b[0;36mModelData._handle_constant\u001b[0;34m(self, hasconst)\u001b[0m\n\u001b[1;32m 131\u001b[0m check_implicit \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[1;32m 132\u001b[0m exog_max \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mmax(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mexog, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m)\n\u001b[0;32m--> 133\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m np\u001b[38;5;241m.\u001b[39misfinite(exog_max)\u001b[38;5;241m.\u001b[39mall():\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m MissingDataError(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mexog contains inf or nans\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 135\u001b[0m exog_min \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mmin(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mexog, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m)\n",
"\u001b[0;31mTypeError\u001b[0m: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''"
]
}
],
"source": [
"# Check for multicollinearity using Variance Inflation Factor (VIF)\n",
"vif_data = pd.DataFrame()\n",
"vif_data[\"feature\"] = X.columns\n",
"vif_data[\"VIF\"] = [variance_inflation_factor(X.values, i) for i in range(len(X.columns))]\n",
"# Arrange VIF values in descending order\n",
"vif_data = vif_data.sort_values(by=\"VIF\", ascending=False)\n"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 394
},
"id": "zi5sGQBQ12Rw",
"outputId": "a5171acd-7487-40a2-f959-14fa9083fb7c"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" feature \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" Days_to_Delivery \n",
" \n",
" \n",
" 1 \n",
" Num_Items_Ordered \n",
" \n",
" \n",
" 2 \n",
" Discount_Rate \n",
" \n",
" \n",
" 3 \n",
" Num_Previous_Orders \n",
" \n",
" \n",
" 4 \n",
" Delivery_Time_Variation \n",
" \n",
" \n",
" 5 \n",
" Region \n",
" \n",
" \n",
" 6 \n",
" Product_Category \n",
" \n",
" \n",
" 7 \n",
" Order_Priority \n",
" \n",
" \n",
" 8 \n",
" Payment_Method \n",
" \n",
" \n",
" 9 \n",
" Region_APAC \n",
" \n",
" \n",
" 10 \n",
" Region_EMEA \n",
" \n",
" \n",
" 11 \n",
" Region_LATAM \n",
" \n",
" \n",
" 12 \n",
" Region_North America \n",
" \n",
" \n",
" 13 \n",
" Product_Category_Cloud \n",
" \n",
" \n",
" 14 \n",
" Product_Category_Hardware \n",
" \n",
" \n",
" 15 \n",
" Product_Category_On-premise \n",
" \n",
" \n",
" 16 \n",
" Product_Category_SaaS \n",
" \n",
" \n",
" 17 \n",
" Order_Priority_High \n",
" \n",
" \n",
" 18 \n",
" Order_Priority_Low \n",
" \n",
" \n",
" 19 \n",
" Order_Priority_Medium \n",
" \n",
" \n",
" 20 \n",
" Payment_Method_Bank Transfer \n",
" \n",
" \n",
" 21 \n",
" Payment_Method_Bitcoin \n",
" \n",
" \n",
" 22 \n",
" Payment_Method_Credit Card \n",
" \n",
" \n",
" 23 \n",
" Payment_Method_PayPal \n",
" \n",
" \n",
" 24 \n",
" Order_Cancelled_0 \n",
" \n",
" \n",
" 25 \n",
" Order_Cancelled_1 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" feature\n",
"0 Days_to_Delivery\n",
"1 Num_Items_Ordered\n",
"2 Discount_Rate\n",
"3 Num_Previous_Orders\n",
"4 Delivery_Time_Variation\n",
"5 Region\n",
"6 Product_Category\n",
"7 Order_Priority\n",
"8 Payment_Method\n",
"9 Region_APAC\n",
"10 Region_EMEA\n",
"11 Region_LATAM\n",
"12 Region_North America\n",
"13 Product_Category_Cloud\n",
"14 Product_Category_Hardware\n",
"15 Product_Category_On-premise\n",
"16 Product_Category_SaaS\n",
"17 Order_Priority_High\n",
"18 Order_Priority_Low\n",
"19 Order_Priority_Medium\n",
"20 Payment_Method_Bank Transfer\n",
"21 Payment_Method_Bitcoin\n",
"22 Payment_Method_Credit Card\n",
"23 Payment_Method_PayPal\n",
"24 Order_Cancelled_0\n",
"25 Order_Cancelled_1"
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vif_data"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {
"id": "tjvbGXiw12UX"
},
"outputs": [],
"source": [
"# Split dataset into training and testing\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {
"id": "XI3z6Wn112b8"
},
"outputs": [
{
"ename": "ValueError",
"evalue": "could not convert string to float: 'APAC'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m/var/folders/12/8kgz6g6j7r9d3hb2nqwh_q3w0000gn/T/ipykernel_28372/4251899716.py\u001b[0m in \u001b[0;36m?\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Standardize numeric features\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m#scaler = StandardScaler()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpreprocessing\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mMinMaxScaler\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mscaler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mMinMaxScaler\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mX_train_scaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mscaler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0mX_test_scaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mscaler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/sklearn/utils/_set_output.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, X, *args, **kwargs)\u001b[0m\n\u001b[1;32m 311\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mwraps\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 312\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapped\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 313\u001b[0;31m \u001b[0mdata_to_wrap\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 314\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata_to_wrap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 315\u001b[0m \u001b[0;31m# only wrap the first output for cross decomposition\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 316\u001b[0m return_tuple = (\n",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/sklearn/base.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, X, y, **fit_params)\u001b[0m\n\u001b[1;32m 1094\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1095\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1096\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0my\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1097\u001b[0m \u001b[0;31m# fit method of arity 1 (unsupervised transformation)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1098\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mfit_params\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1099\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1100\u001b[0m \u001b[0;31m# fit method of arity 2 (supervised transformation)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1101\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mfit_params\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/sklearn/preprocessing/_data.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, X, y)\u001b[0m\n\u001b[1;32m 446\u001b[0m \u001b[0mFitted\u001b[0m \u001b[0mscaler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 447\u001b[0m \"\"\"\n\u001b[1;32m 448\u001b[0m \u001b[0;31m# Reset internal state before fitting\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 449\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 450\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpartial_fit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/sklearn/base.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(estimator, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1469\u001b[0m skip_parameter_validation=(\n\u001b[1;32m 1470\u001b[0m \u001b[0mprefer_skip_nested_validation\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mglobal_skip_validation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1471\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1472\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1473\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfit_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mestimator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/sklearn/preprocessing/_data.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, X, y)\u001b[0m\n\u001b[1;32m 486\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 487\u001b[0m \u001b[0mxp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_namespace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 488\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 489\u001b[0m \u001b[0mfirst_pass\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"n_samples_seen_\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 490\u001b[0;31m X = self._validate_data(\n\u001b[0m\u001b[1;32m 491\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 492\u001b[0m \u001b[0mreset\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfirst_pass\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 493\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_array_api\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msupported_float_dtypes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/sklearn/base.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, X, y, reset, validate_separately, cast_to_ndarray, **check_params)\u001b[0m\n\u001b[1;32m 629\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 630\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 631\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 632\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mno_val_X\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mno_val_y\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 633\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcheck_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"X\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mcheck_params\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 634\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mno_val_X\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mno_val_y\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 635\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_check_y\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mcheck_params\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 636\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/sklearn/utils/validation.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_writeable, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name)\u001b[0m\n\u001b[1;32m 1009\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1010\u001b[0m \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mxp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1011\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1012\u001b[0m \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_asarray_with_order\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxp\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1013\u001b[0;31m \u001b[0;32mexcept\u001b[0m \u001b[0mComplexWarning\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mcomplex_warning\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1014\u001b[0m raise ValueError(\n\u001b[1;32m 1015\u001b[0m \u001b[0;34m\"Complex data not supported\\n{}\\n\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1016\u001b[0m \u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mcomplex_warning\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/sklearn/utils/_array_api.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(array, dtype, order, copy, xp, device)\u001b[0m\n\u001b[1;32m 747\u001b[0m \u001b[0;31m# Use NumPy API to support order\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 748\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcopy\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 749\u001b[0m \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 750\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 751\u001b[0;31m \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 752\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 753\u001b[0m \u001b[0;31m# At this point array is a NumPy ndarray. We convert it to an array\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 754\u001b[0m \u001b[0;31m# container that is consistent with the input's namespace.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/homebrew/Caskroom/miniconda/base/envs/accelai/lib/python3.12/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, dtype, copy)\u001b[0m\n\u001b[1;32m 2149\u001b[0m def __array__(\n\u001b[1;32m 2150\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnpt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDTypeLike\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mbool_t\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2151\u001b[0m \u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2152\u001b[0m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2153\u001b[0;31m \u001b[0marr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2154\u001b[0m if (\n\u001b[1;32m 2155\u001b[0m \u001b[0mastype_is_view\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2156\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0musing_copy_on_write\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mValueError\u001b[0m: could not convert string to float: 'APAC'"
]
}
],
"source": [
"# Standardize numeric features\n",
"#scaler = StandardScaler()\n",
"from sklearn.preprocessing import MinMaxScaler\n",
"scaler = MinMaxScaler()\n",
"X_train_scaled = scaler.fit_transform(X_train)\n",
"X_test_scaled = scaler.transform(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"id": "FwZw7TSe12ex"
},
"outputs": [],
"source": [
"# Logistic Regression\n",
"log_reg = LogisticRegression()\n",
"log_reg.fit(X_train_scaled, y_train)\n",
"y_pred_log = log_reg.predict(X_test_scaled)\n",
"y_prob_log = log_reg.predict_proba(X_test_scaled)[:, 1]"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"id": "v07y43RI12hY"
},
"outputs": [],
"source": [
"# ROC and AUC for Logistic Regression\n",
"roc_auc_log = roc_auc_score(y_test, y_prob_log)\n",
"fpr_log, tpr_log, _ = roc_curve(y_test, y_prob_log)"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ybtCuHEr12kN",
"outputId": "19d898c5-d339-4dcd-b99d-7f0e1c697bc3"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.5309127199250899\n"
]
}
],
"source": [
"print(roc_auc_log)"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"id": "bo7IJj_f4FxJ"
},
"outputs": [],
"source": [
"# Confusion Matrix and Classification Report for Logistic Regression\n",
"conf_matrix_log = confusion_matrix(y_test, y_pred_log)\n",
"class_report_log = classification_report(y_test, y_pred_log)"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "daorTXbW4F4d",
"outputId": "2e89160e-a73d-4373-acba-3aeabd917f47"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 0 412]\n",
" [ 0 788]]\n"
]
}
],
"source": [
"print(conf_matrix_log)\n",
"\n",
"#[ TN FP ]\n",
"#[ FN TP ]"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "kAl3fKZk4Jer",
"outputId": "e76468f0-fd0a-4cfb-ea98-0cc4eee22e9a"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" 0 0.00 0.00 0.00 412\n",
" 1 0.66 1.00 0.79 788\n",
"\n",
" accuracy 0.66 1200\n",
" macro avg 0.33 0.50 0.40 1200\n",
"weighted avg 0.43 0.66 0.52 1200\n",
"\n"
]
}
],
"source": [
"print(class_report_log)"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 564
},
"id": "hhGaw9_S2dR2",
"outputId": "a4831af8-b817-4e94-ce24-d39faafce307"
},
"outputs": [
{
"data": {
"image/png": "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VVVYtGgRysvLsWXLFmzevBmLFy+21yEQEREREfUpdr0fZcaMGbhy5Qree+89VFdX4/HHH0dubi78/f0BANXV1QbvBBg+fDhyc3ORmpqK9evXw8fHB+vWrcPLL79sr0MgIiIiIupT7PoeAHuw53sAiIiIiIispde/B4CIiIiIiGyPBQARERERkQNhAUBERERE5EBYABARERERORAWAEREREREDoQFABERERGRA2EBQERERETkQFgAEBERERE5EBYAREREREQOhAUAEREREZEDYQFARERERORAWAAQERERETkQFgBERERERA5Ebe8AbE1EAAD19fV2joSIiIiIyHI6x7ed4907cbgCoKGhAQDg5+dn50iIiIiIiCyvoaEB7u7ud1yvkHuVCA+Yjo4OXLp0Ca6urlAoFDb//vr6evj5+eHChQtwc3Oz+feT/TD3jou5d1zMvWNi3h2XvXMvImhoaICPjw+Uyjvf6e9wVwCUSiV8fX3tHQbc3Nz4j4KDYu4dF3PvuJh7x8S8Oy575v5uZ/47cRIwEREREZEDYQFARERERORAWADYmJOTE9LS0uDk5GTvUMjGmHvHxdw7LubeMTHvjquv5N7hJgETERERETkyXgEgIiIiInIgLACIiIiIiBwICwAiIiIiIgfCAoCIiIiIyIGwALCCDRs2YPjw4XB2dkZoaCgKCgru2j8/Px+hoaFwdnZGYGAgNm3aZKNIydJMyf2ePXvwwgsvYPDgwXBzc0NkZCT2799vw2jJkkz93Xc6cuQI1Go1nnrqKesGSFZhat6bm5uxfPly+Pv7w8nJCSNGjMCWLVtsFC1Zkqm5z87OxujRo9GvXz94e3tjzpw5uHLlio2iJUv56quvMGXKFPj4+EChUGDv3r333KZXjvOELGr79u2i0Wjk448/lrKyMklJSRGdTidVVVVG+1dUVEi/fv0kJSVFysrK5OOPPxaNRiO7du2yceTUU6bmPiUlRVatWiVff/21fPfdd7Js2TLRaDRy/PhxG0dOPWVq7jvV1dVJYGCgxMbGyujRo20TLFmMOXmPj4+XiIgIycvLk8rKSvnnP/8pR44csWHUZAmm5r6goECUSqV8+OGHUlFRIQUFBfLYY4/Jiy++aOPIqadyc3Nl+fLlsnv3bgEgOTk5d+3fW8d5LAAsLDw8XJKSkgzagoODZenSpUb7L1myRIKD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hASEhITgzJkz3QqNe7l9YNzVqFGjUFhYiFmzZunbjh49anCW3cXFBfHx8YiPj8eCBQsQHByMU6dOISQkpNv+NBrNfT1daObMmcjOzoavry+USiUmT56sX2fucXaVmpqKjIwM5OTkICEh4b7yodVqu8X/9NNPo729HZcvX0Z0dHSPYiIisgVOAiYispMRI0agra0NH330ESoqKrB169Zut6Tc7ubNm1i4cCEOHz6MqqoqHDlyBEVFRfrB+DvvvINjx45hwYIFOHHiBM6ePYt9+/bhzTffNDvGt99+G1lZWdi0aRPOnj2LjIwM7NmzRz/5NSsrC5s3b8bp06f1x+Di4gJ/f3+j+wsICMDBgwdRU1ODa9eu3fF7ExMTcfz4cbz//vuYNm0anJ2d9essdZxubm6YO3cu0tLSICL3lY+AgADcuHEDBw8eRG1tLZqamhAUFITExETMmjULe/bsQWVlJYqKirBq1Srk5uaaFBMRkU3YcwICEZEjmD17tkydOtXouoyMDPH29hYXFxeZOHGifPLJJwJArl27JiKGk06bm5vl5z//ufj5+YlWqxUfHx9ZuHChwcTXr7/+Wl544QXp37+/6HQ6efLJJ+X999+/Y2zGJrV2tWHDBgkMDBSNRiNBQUHyySef6Nfl5ORIRESEuLm5iU6nkzFjxsgXX3yhX991EvC+ffvk4YcfFrVaLf7+/iLSfRJwp2eeeUYAyJdfftltnaWOs6qqStRqtezYsUNE7p0PEZGkpCTx8PAQAJKWliYiIi0tLfLuu+9KQECAaDQa8fLykoSEBDl58uQdYyIisheFiIh9SxAiIiIiIrIV3gJERERERORAWAAQERERETkQFgBERERERA6EBQARERERkQNhAUBERERE5EBYABARERERORAWAEREREREDoQFABERERGRA2EBQERERETkQFgAEBERERE5EBYAREREREQO5P8Ai/+w5A8DZUkAAAAASUVORK5CYII=",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot ROC Curves\n",
"plt.figure(figsize=(9, 6))\n",
"plt.plot(fpr_log, tpr_log, label=f'Logistic Regression (AUC = {roc_auc_log:.2f})')\n",
"#plt.plot(fpr_nb, tpr_nb, label=f'Naive Bayes (AUC = {roc_auc_nb:.2f})')\n",
"plt.plot([0, 1], [0, 1], linestyle='--', color='grey')\n",
"plt.xlabel('False Positive Rate')\n",
"plt.ylabel('True Positive Rate (Sensitivity/Recall)')\n",
"plt.title('ROC Curve Comparison')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eBDRoceuwVwZ"
},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "s7PeHP5PxK46"
},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ElX1NSYQe3BC"
},
"source": [
"#### `In-Class Activity - 1:` Duration: 15 minutes\n",
"- Now instead of using `Standard scaler` for feature scaling , apply Min-Max normalization as a feature scaling and check the effect in performance of model in test.\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
"# Standardize numeric features\n",
"from sklearn.preprocessing import MinMaxScaler\n",
"scaler = MinMaxScaler()\n",
"X_train_scaled_1 = scaler.fit_transform(X_train)\n",
"X_test_scaled_1 = scaler.transform(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [],
"source": [
"# Logistic Regression\n",
"log_reg_1 = LogisticRegression()\n",
"log_reg_1.fit(X_train_scaled_1, y_train)\n",
"y_pred_log_1 = log_reg_1.predict(X_test_scaled_1)\n",
"y_prob_log_1 = log_reg_1.predict_proba(X_test_scaled_1)[:, 1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# ROC and AUC for Logistic Regression\n",
"roc_auc_log_1 = roc_auc_score(y_test, y_prob_log_1)\n",
"fpr_log_1, tpr_log_1, _ = roc_curve(y_test, y_prob_log_1)"
]
}
],
"metadata": {
"accelerator": "TPU",
"colab": {
"gpuType": "V28",
"machine_shape": "hm",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}