{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "source": [ "## BreezeGen - Imbalanced Classification\n", "\n", "Analyze an imbalanced dataset. Train models using the imbalanced-learn library for over- and under-sampling, and compare model performance.\n", "\n", "BreezeGen is a maintenance company specializing in wind turbines. They have supplied ciphered sensor data. Generator maintenance is costly, so preventing a full replacement is paramount.\n", "\n", "* An inspection costs \\$5,000 regardless of whether any repairs end up being necessary.\n", "\n", "* A repair costs \\$15,000.\n", "\n", "* A complete device replacement costs \\$40,000. We obviously want to minimize the frequency of replacement.\n", "\n", "The target variable encodes the failure state, with 0 indicating no failure and 1 signalling failure." ], "metadata": { "id": "M5GT5IPIB9FL" } }, { "cell_type": "markdown", "metadata": { "id": "jjFpJBnb4jak" }, "source": [ "## Importing libraries" ] }, { "cell_type": "markdown", "source": [ "First update scikit-learn and imbalanced-learn libraries." ], "metadata": { "id": "cHuqjfjK39GX" } }, { "cell_type": "code", "source": [ "! pip install scikit-learn -U" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "V2uT9Z0_vm0C", "outputId": "a9d0c943-0b8f-41e0-8bb6-a4e5ac07a5e4" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/dist-packages (1.0.2)\n", "Collecting scikit-learn\n", " Downloading scikit_learn-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.7 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.7/9.7 MB\u001b[0m \u001b[31m52.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.8/dist-packages (from scikit-learn) (1.7.3)\n", "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from scikit-learn) (1.2.0)\n", "Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.8/dist-packages (from scikit-learn) (1.21.6)\n", "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn) (3.1.0)\n", "Installing collected packages: scikit-learn\n", " Attempting uninstall: scikit-learn\n", " Found existing installation: scikit-learn 1.0.2\n", " Uninstalling scikit-learn-1.0.2:\n", " Successfully uninstalled scikit-learn-1.0.2\n", "Successfully installed scikit-learn-1.2.0\n" ] } ] }, { "cell_type": "code", "source": [ "! pip install imbalanced-learn -U" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "REbQIklqyoZd", "outputId": "c180c302-1ec8-4478-9efe-cf8837514686" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Requirement already satisfied: imbalanced-learn in /usr/local/lib/python3.8/dist-packages (0.8.1)\n", "Collecting imbalanced-learn\n", " Downloading imbalanced_learn-0.10.1-py3-none-any.whl (226 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m226.0/226.0 KB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.8/dist-packages (from imbalanced-learn) (1.21.6)\n", "Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.8/dist-packages (from imbalanced-learn) (1.7.3)\n", "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from imbalanced-learn) (3.1.0)\n", "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from imbalanced-learn) (1.2.0)\n", "Requirement already satisfied: scikit-learn>=1.0.2 in /usr/local/lib/python3.8/dist-packages (from imbalanced-learn) (1.2.0)\n", "Installing collected packages: imbalanced-learn\n", " Attempting uninstall: imbalanced-learn\n", " Found existing installation: imbalanced-learn 0.8.1\n", " Uninstalling imbalanced-learn-0.8.1:\n", " Successfully uninstalled imbalanced-learn-0.8.1\n", "Successfully installed imbalanced-learn-0.10.1\n" ] } ] }, { "cell_type": "markdown", "source": [ "Then we can import the necessary libraries." ], "metadata": { "id": "jraQT35h4D0v" } }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "83D17_Wl4jal" }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "from matplotlib import pyplot as plt\n", "import seaborn as sns\n", "\n", "# data processing\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", "from sklearn.impute import KNNImputer\n", "from imblearn.over_sampling import SMOTE\n", "from imblearn.under_sampling import RandomUnderSampler\n", "\n", "# models building\n", "from sklearn.model_selection import StratifiedKFold, cross_val_score\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.ensemble import BaggingClassifier, RandomForestClassifier\n", "from sklearn.ensemble import AdaBoostClassifier, GradientBoostingClassifier\n", "from sklearn.ensemble import VotingClassifier\n", "from xgboost import XGBClassifier\n", "\n", "# model assessment and production\n", "from sklearn import metrics\n", "from sklearn.model_selection import RandomizedSearchCV, GridSearchCV\n", "from sklearn.pipeline import Pipeline, make_pipeline\n", "from sklearn.ensemble import StackingClassifier" ] }, { "cell_type": "code", "source": [ "# display setups\n", "\n", "# plotting theme\n", "sns.set_theme()\n", "\n", "# dataframe display all columns\n", "pd.set_option('display.max_columns',None)" ], "metadata": { "id": "nfI1WIP10ca5" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "vqF4q7G94jam" }, "source": [ "## Loading Data" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "oJnKoHy14jam" }, "outputs": [], "source": [ "df=pd.read_csv('dataset_train.csv')" ] }, { "cell_type": "code", "source": [ "data=df.copy()" ], "metadata": { "id": "8-2KXw_jz4FU" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "DVCj6_DD4jan" }, "source": [ "## EDA" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "4e-xjd2YhKyj", "colab": { "base_uri": "https://localhost:8080/", "height": 427 }, "outputId": "b402b3e8-ceec-4bfa-edff-e13a254b44df" }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " V1 V2 V3 V4 V5 V6 V7 \\\n", "3841 -1.761261 1.725575 3.115833 -0.722076 1.636716 -0.665690 -1.947430 \n", "12898 -0.319513 -3.223125 6.945362 -6.073991 0.560963 -1.151006 -1.368454 \n", "15032 3.660333 -0.500171 1.673259 -0.759881 -3.446873 -0.177149 -0.150797 \n", "36781 -2.031378 -7.075963 1.609581 -2.808285 -2.626699 -3.161704 -2.401735 \n", "9201 -1.167479 4.636223 -1.011644 0.316850 3.275565 -0.310062 1.388811 \n", "21288 -3.187048 3.810940 0.850021 1.188452 3.331867 -1.399935 -1.550283 \n", "37321 5.669580 1.844251 7.218002 1.555360 -3.158366 -2.388045 -0.937380 \n", "8600 -2.459670 -2.393870 3.225757 0.063384 -0.580143 -2.797114 -0.634555 \n", "33089 1.001489 0.983718 -2.561203 3.374567 2.495414 -0.720727 0.067609 \n", "39511 -3.648807 -1.589335 -0.575212 0.649347 1.329551 -2.730112 -2.246243 \n", "\n", " V8 V9 V10 V11 V12 V13 V14 \\\n", "3841 0.340637 -0.434492 -1.861200 -0.748612 1.483686 3.233458 -1.749122 \n", "12898 -0.203942 -3.529692 5.112241 -3.728806 2.433346 3.220423 1.316607 \n", "15032 -0.962328 0.798321 -0.378106 2.456049 1.879260 2.194074 -1.375423 \n", "36781 2.357427 -1.254624 2.679572 -4.866034 5.473158 5.339906 2.596990 \n", "9201 4.651706 -4.848882 -2.074384 3.231886 5.032511 -2.634830 -2.825284 \n", "21288 0.635168 -0.389022 -2.848663 -3.003486 3.366907 2.550711 -2.365782 \n", "37321 -2.299472 3.368328 -0.475084 -1.593526 -0.763408 4.474542 -1.536328 \n", "8600 2.118902 -2.976534 2.924087 -3.354634 4.535033 0.790923 0.388404 \n", "33089 3.662200 0.327424 -1.763364 -3.399646 -4.088555 -5.765949 1.293401 \n", "39511 2.806568 -0.600226 -1.071473 -5.598787 4.039250 2.624120 0.526896 \n", "\n", " V15 V16 V17 V18 V19 V20 V21 \\\n", "3841 -5.027887 -1.380684 -1.399922 2.132650 -1.505987 -2.451394 -4.512434 \n", "12898 -1.652448 -0.902062 -6.406294 2.609491 -0.583582 -3.180174 -3.682714 \n", "15032 -1.303997 -3.645691 -1.916947 -0.564766 3.382290 -0.034927 -5.565015 \n", "36781 -5.179196 -2.976010 -0.568500 3.978816 1.724852 6.053674 -5.327246 \n", "9201 1.290487 6.432091 0.251476 -1.082105 0.626093 -7.337963 0.912257 \n", "21288 -6.294215 -2.694268 1.701079 3.318560 -0.941472 -2.522348 -4.691335 \n", "37321 -2.689027 -7.051011 -1.965468 -2.414158 3.769097 0.893762 -9.227253 \n", "8600 -0.780539 0.137287 -0.147010 0.193798 4.075666 1.939926 -1.893998 \n", "33089 4.038515 3.405233 6.860836 -0.479386 -3.237459 2.401008 4.419077 \n", "39511 -5.738545 -2.256579 3.684117 4.407944 -0.596813 3.524609 -3.745387 \n", "\n", " V22 V23 V24 V25 V26 V27 V28 \\\n", "3841 0.036412 0.488204 2.010276 -2.194374 5.600887 -4.419503 -3.459057 \n", "12898 -0.107914 -3.111936 1.132707 1.378427 2.399556 5.679397 -3.810228 \n", "15032 2.032844 -0.867979 -1.966172 0.320279 -0.502116 2.028311 -0.768731 \n", "36781 3.560616 3.365471 -0.391724 1.284162 -5.200010 2.720958 -0.473470 \n", "9201 -0.578727 5.034060 8.326799 -4.863529 5.333237 -8.192814 -1.593566 \n", "21288 1.915986 4.572873 6.014727 -3.252703 6.471669 -7.581418 -2.034078 \n", "37321 1.080952 -4.955377 -3.369827 2.379708 4.442623 3.109184 -2.405830 \n", "8600 0.262768 -0.026678 3.035784 0.127010 -0.972351 0.181684 0.249843 \n", "33089 -0.393963 2.743099 4.115304 1.274670 -1.566217 -4.673000 2.077497 \n", "39511 3.215177 6.282294 4.594613 -1.079856 -0.412728 -5.065619 -0.157468 \n", "\n", " V29 V30 V31 V32 V33 V34 V35 \\\n", "3841 1.848695 3.183373 3.131519 4.559034 5.339557 -4.860047 3.971955 \n", "12898 -4.106580 -3.610371 9.925717 2.086696 0.300373 -0.581224 2.849599 \n", "15032 1.730565 3.023456 -2.705545 -3.397233 0.711632 0.350068 5.073397 \n", "36781 -4.738653 0.069819 -1.207865 0.449110 -5.094617 2.979341 2.545381 \n", "9201 5.291905 6.553607 5.233752 10.877396 8.250367 -5.159849 4.674169 \n", "21288 -0.284077 2.482489 0.878916 7.499800 3.778780 -5.057147 2.754992 \n", "37321 -1.814943 -1.632428 0.736474 -4.127790 -1.698119 -0.144663 6.158802 \n", "8600 -2.562915 -0.478893 2.429896 2.392210 -2.040141 3.390597 2.891005 \n", "33089 -0.692994 -1.068473 2.815314 5.783949 -1.469405 -2.904733 -2.098224 \n", "39511 -3.058230 1.398945 -1.026855 6.162144 -1.610211 -1.636248 1.450378 \n", "\n", " V36 V37 V38 V39 V40 Target \n", "3841 1.084243 -0.286629 -2.123846 0.088027 0.467075 0 \n", "12898 11.783096 -1.036491 -2.656733 4.048503 -0.043561 0 \n", "15032 -2.271627 -0.376924 -0.115856 -0.630295 -1.382311 0 \n", "36781 7.661457 2.721677 -5.888977 3.233609 -2.895987 0 \n", "9201 -3.516928 -1.730339 1.969370 -3.425079 2.554127 0 \n", "21288 -0.312605 0.304002 0.109490 -0.080787 -0.263837 0 \n", "37321 -0.501844 -2.075539 -3.096800 0.029782 -2.895171 0 \n", "8600 5.108812 0.085175 -1.349147 2.056523 -2.479685 0 \n", "33089 -2.400717 -0.437158 -3.385150 -3.896752 3.312009 1 \n", "39511 2.772455 2.196238 -3.787583 0.694094 -1.008109 0 " ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
V1V2V3V4V5V6V7V8V9V10V11V12V13V14V15V16V17V18V19V20V21V22V23V24V25V26V27V28V29V30V31V32V33V34V35V36V37V38V39V40Target
3841-1.7612611.7255753.115833-0.7220761.636716-0.665690-1.9474300.340637-0.434492-1.861200-0.7486121.4836863.233458-1.749122-5.027887-1.380684-1.3999222.132650-1.505987-2.451394-4.5124340.0364120.4882042.010276-2.1943745.600887-4.419503-3.4590571.8486953.1833733.1315194.5590345.339557-4.8600473.9719551.084243-0.286629-2.1238460.0880270.4670750
12898-0.319513-3.2231256.945362-6.0739910.560963-1.151006-1.368454-0.203942-3.5296925.112241-3.7288062.4333463.2204231.316607-1.652448-0.902062-6.4062942.609491-0.583582-3.180174-3.682714-0.107914-3.1119361.1327071.3784272.3995565.679397-3.810228-4.106580-3.6103719.9257172.0866960.300373-0.5812242.84959911.783096-1.036491-2.6567334.048503-0.0435610
150323.660333-0.5001711.673259-0.759881-3.446873-0.177149-0.150797-0.9623280.798321-0.3781062.4560491.8792602.194074-1.375423-1.303997-3.645691-1.916947-0.5647663.382290-0.034927-5.5650152.032844-0.867979-1.9661720.320279-0.5021162.028311-0.7687311.7305653.023456-2.705545-3.3972330.7116320.3500685.073397-2.271627-0.376924-0.115856-0.630295-1.3823110
36781-2.031378-7.0759631.609581-2.808285-2.626699-3.161704-2.4017352.357427-1.2546242.679572-4.8660345.4731585.3399062.596990-5.179196-2.976010-0.5685003.9788161.7248526.053674-5.3272463.5606163.365471-0.3917241.284162-5.2000102.720958-0.473470-4.7386530.069819-1.2078650.449110-5.0946172.9793412.5453817.6614572.721677-5.8889773.233609-2.8959870
9201-1.1674794.636223-1.0116440.3168503.275565-0.3100621.3888114.651706-4.848882-2.0743843.2318865.032511-2.634830-2.8252841.2904876.4320910.251476-1.0821050.626093-7.3379630.912257-0.5787275.0340608.326799-4.8635295.333237-8.192814-1.5935665.2919056.5536075.23375210.8773968.250367-5.1598494.674169-3.516928-1.7303391.969370-3.4250792.5541270
21288-3.1870483.8109400.8500211.1884523.331867-1.399935-1.5502830.635168-0.389022-2.848663-3.0034863.3669072.550711-2.365782-6.294215-2.6942681.7010793.318560-0.941472-2.522348-4.6913351.9159864.5728736.014727-3.2527036.471669-7.581418-2.034078-0.2840772.4824890.8789167.4998003.778780-5.0571472.754992-0.3126050.3040020.109490-0.080787-0.2638370
373215.6695801.8442517.2180021.555360-3.158366-2.388045-0.937380-2.2994723.368328-0.475084-1.593526-0.7634084.474542-1.536328-2.689027-7.051011-1.965468-2.4141583.7690970.893762-9.2272531.080952-4.955377-3.3698272.3797084.4426233.109184-2.405830-1.814943-1.6324280.736474-4.127790-1.698119-0.1446636.158802-0.501844-2.075539-3.0968000.029782-2.8951710
8600-2.459670-2.3938703.2257570.063384-0.580143-2.797114-0.6345552.118902-2.9765342.924087-3.3546344.5350330.7909230.388404-0.7805390.137287-0.1470100.1937984.0756661.939926-1.8939980.262768-0.0266783.0357840.127010-0.9723510.1816840.249843-2.562915-0.4788932.4298962.392210-2.0401413.3905972.8910055.1088120.085175-1.3491472.056523-2.4796850
330891.0014890.983718-2.5612033.3745672.495414-0.7207270.0676093.6622000.327424-1.763364-3.399646-4.088555-5.7659491.2934014.0385153.4052336.860836-0.479386-3.2374592.4010084.419077-0.3939632.7430994.1153041.274670-1.566217-4.6730002.077497-0.692994-1.0684732.8153145.783949-1.469405-2.904733-2.098224-2.400717-0.437158-3.385150-3.8967523.3120091
39511-3.648807-1.589335-0.5752120.6493471.329551-2.730112-2.2462432.806568-0.600226-1.071473-5.5987874.0392502.6241200.526896-5.738545-2.2565793.6841174.407944-0.5968133.524609-3.7453873.2151776.2822944.594613-1.079856-0.412728-5.065619-0.157468-3.0582301.398945-1.0268556.162144-1.610211-1.6362481.4503782.7724552.196238-3.7875830.694094-1.0081090
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 7 } ], "source": [ "data.sample(10,random_state=1)" ] }, { "cell_type": "markdown", "source": [ "* The ciphered data consists of floating point numbers with values near 0. There are both positive and negative values.\n", "\n", "* The target variable is categorical, Boolean in fact. There seems, at first glance, to be imbalance in the target classes." ], "metadata": { "id": "Q1JOFXdT8wzH" } }, { "cell_type": "code", "source": [ "data['Target'].value_counts(normalize=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "klLXk5rK65vn", "outputId": "5c48a543-c603-499d-9127-82b074652d27" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "0 0.945325\n", "1 0.054675\n", "Name: Target, dtype: float64" ] }, "metadata": {}, "execution_count": 8 } ] }, { "cell_type": "markdown", "source": [ "Indeed, around 95% of the target observations are 0. From the data dictionary, we learn this indicates 'No Failure', which is ideal. Thus, only around 5% of observations are 'Failure' cases." ], "metadata": { "id": "x2Oq5OEb9jjH" } }, { "cell_type": "code", "source": [ "data.info()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "o5AVc3Eb7Nrp", "outputId": "4dfbd329-e6f4-4a4d-a78e-37967bdf34d0" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\n", "RangeIndex: 40000 entries, 0 to 39999\n", "Data columns (total 41 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 V1 39954 non-null float64\n", " 1 V2 39961 non-null float64\n", " 2 V3 40000 non-null float64\n", " 3 V4 40000 non-null float64\n", " 4 V5 40000 non-null float64\n", " 5 V6 40000 non-null float64\n", " 6 V7 40000 non-null float64\n", " 7 V8 40000 non-null float64\n", " 8 V9 40000 non-null float64\n", " 9 V10 40000 non-null float64\n", " 10 V11 40000 non-null float64\n", " 11 V12 40000 non-null float64\n", " 12 V13 40000 non-null float64\n", " 13 V14 40000 non-null float64\n", " 14 V15 40000 non-null float64\n", " 15 V16 40000 non-null float64\n", " 16 V17 40000 non-null float64\n", " 17 V18 40000 non-null float64\n", " 18 V19 40000 non-null float64\n", " 19 V20 40000 non-null float64\n", " 20 V21 40000 non-null float64\n", " 21 V22 40000 non-null float64\n", " 22 V23 40000 non-null float64\n", " 23 V24 40000 non-null float64\n", " 24 V25 40000 non-null float64\n", " 25 V26 40000 non-null float64\n", " 26 V27 40000 non-null float64\n", " 27 V28 40000 non-null float64\n", " 28 V29 40000 non-null float64\n", " 29 V30 40000 non-null float64\n", " 30 V31 40000 non-null float64\n", " 31 V32 40000 non-null float64\n", " 32 V33 40000 non-null float64\n", " 33 V34 40000 non-null float64\n", " 34 V35 40000 non-null float64\n", " 35 V36 40000 non-null float64\n", " 36 V37 40000 non-null float64\n", " 37 V38 40000 non-null float64\n", " 38 V39 40000 non-null float64\n", " 39 V40 40000 non-null float64\n", " 40 Target 40000 non-null int64 \n", "dtypes: float64(40), int64(1)\n", "memory usage: 12.5 MB\n" ] } ] }, { "cell_type": "markdown", "source": [ "Just to double-check the integrity of our data, we confirm that the forty ciphered features are all stored as floats. This indicates to me that there aren't any errant entries, such as '?', which would force the column to be string data type.\n", "\n", "We see some columns have missing entries." ], "metadata": { "id": "9KjbX9C798pD" } }, { "cell_type": "code", "source": [ "data.isna().sum().loc[data.isna().sum()>0].index.tolist()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "mwJ5LtR07X5m", "outputId": "d93b6cfe-b5d1-45e3-a81e-418cb8439653" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['V1', 'V2']" ] }, "metadata": {}, "execution_count": 10 } ] }, { "cell_type": "markdown", "source": [ "Columns 'V1' and 'V2' have missing values." ], "metadata": { "id": "713vuP3W-b-R" } }, { "cell_type": "code", "source": [ "data.describe().T" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "tOQZs1Ah8F_S", "outputId": "cf90cdd9-5c28-4b5d-bfb3-f0e8160cccf2" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " count mean std min 25% 50% 75% \\\n", "V1 39954.0 -0.288120 3.449072 -13.501880 -2.751460 -0.773518 1.836708 \n", "V2 39961.0 0.442672 3.139431 -13.212051 -1.638355 0.463939 2.537508 \n", "V3 40000.0 2.505514 3.406263 -11.469369 0.202682 2.265319 4.584920 \n", "V4 40000.0 -0.066078 3.437330 -16.015417 -2.349574 -0.123691 2.148596 \n", "V5 40000.0 -0.044574 2.107183 -8.612973 -1.507206 -0.096824 1.346224 \n", "V6 40000.0 -1.000849 2.036756 -10.227147 -2.363446 -1.006635 0.373909 \n", "V7 40000.0 -0.892793 1.756510 -8.205806 -2.036913 -0.934738 0.206820 \n", "V8 40000.0 -0.563123 3.298916 -15.657561 -2.660415 -0.384188 1.714383 \n", "V9 40000.0 -0.007739 2.161833 -8.596313 -1.493676 -0.052085 1.425713 \n", "V10 40000.0 -0.001848 2.183034 -11.000790 -1.390549 0.105779 1.486105 \n", "V11 40000.0 -1.917794 3.116426 -14.832058 -3.940969 -1.941726 0.089444 \n", "V12 40000.0 1.578095 2.914613 -13.619304 -0.431373 1.485367 3.540787 \n", "V13 40000.0 1.591309 2.865222 -13.830128 -0.208522 1.653836 3.476336 \n", "V14 40000.0 -0.946620 1.787759 -8.309443 -2.164513 -0.957444 0.265874 \n", "V15 40000.0 -2.435720 3.341244 -17.201998 -4.451365 -2.398608 -0.381757 \n", "V16 40000.0 -2.943168 4.211646 -21.918711 -5.631812 -2.718600 -0.112947 \n", "V17 40000.0 -0.142794 3.344332 -17.633947 -2.227048 -0.027895 2.071801 \n", "V18 40000.0 1.188949 2.586164 -11.643994 -0.402848 0.867433 2.564239 \n", "V19 40000.0 1.181333 3.394979 -13.491784 -1.050903 1.278402 3.497277 \n", "V20 40000.0 0.027201 3.674985 -13.922659 -2.433811 0.030136 2.513245 \n", "V21 40000.0 -3.621359 3.556979 -19.436404 -5.920847 -3.559327 -1.284178 \n", "V22 40000.0 0.943242 1.645538 -10.122095 -0.112147 0.962802 2.018031 \n", "V23 40000.0 -0.387617 4.052147 -16.187510 -3.118868 -0.275339 2.438047 \n", "V24 40000.0 1.142220 3.912820 -18.487811 -1.483210 0.963586 3.563055 \n", "V25 40000.0 -0.003019 2.024691 -8.228266 -1.373400 0.021100 1.399816 \n", "V26 40000.0 1.895717 3.421454 -12.587902 -0.319231 1.963826 4.163146 \n", "V27 40000.0 -0.616838 4.392161 -14.904939 -3.692075 -0.909640 2.200608 \n", "V28 40000.0 -0.888121 1.924947 -9.685082 -2.192763 -0.904757 0.376856 \n", "V29 40000.0 -1.005327 2.676299 -12.579469 -2.799008 -1.206027 0.604473 \n", "V30 40000.0 -0.032664 3.031009 -14.796047 -1.908202 0.184613 2.040131 \n", "V31 40000.0 0.505885 3.482735 -19.376732 -1.798975 0.491352 2.777519 \n", "V32 40000.0 0.326831 5.499369 -23.200866 -3.392115 0.056243 3.789241 \n", "V33 40000.0 0.056542 3.574219 -17.454014 -2.237550 -0.049729 2.255985 \n", "V34 40000.0 -0.464127 3.185712 -17.985094 -2.127757 -0.250842 1.432885 \n", "V35 40000.0 2.234861 2.924185 -15.349803 0.332081 2.110125 4.044659 \n", "V36 40000.0 1.530020 3.819754 -17.478949 -0.937119 1.571511 3.996721 \n", "V37 40000.0 -0.000498 1.778273 -7.639952 -1.265717 -0.132620 1.160828 \n", "V38 40000.0 -0.351199 3.964186 -17.375002 -3.016805 -0.318724 2.291342 \n", "V39 40000.0 0.900035 1.751022 -7.135788 -0.261578 0.921321 2.069016 \n", "V40 40000.0 -0.897166 2.997750 -11.930259 -2.949590 -0.949269 1.092178 \n", "Target 40000.0 0.054675 0.227348 0.000000 0.000000 0.000000 0.000000 \n", "\n", " max \n", "V1 17.436981 \n", "V2 13.089269 \n", "V3 18.366477 \n", "V4 13.279712 \n", "V5 9.403469 \n", "V6 7.065470 \n", "V7 8.006091 \n", "V8 11.679495 \n", "V9 8.507138 \n", "V10 8.108472 \n", "V11 13.851834 \n", "V12 15.753586 \n", "V13 15.419616 \n", "V14 6.213289 \n", "V15 12.874679 \n", "V16 13.583212 \n", "V17 17.404510 \n", "V18 13.179863 \n", "V19 16.059004 \n", "V20 16.052339 \n", "V21 13.840473 \n", "V22 7.409856 \n", "V23 15.080172 \n", "V24 19.769376 \n", "V25 8.223389 \n", "V26 16.836410 \n", "V27 21.594552 \n", "V28 6.906865 \n", "V29 11.852476 \n", "V30 13.190889 \n", "V31 17.255090 \n", "V32 24.847833 \n", "V33 16.692486 \n", "V34 14.358213 \n", "V35 16.804859 \n", "V36 19.329576 \n", "V37 7.803278 \n", "V38 15.964053 \n", "V39 7.997832 \n", "V40 10.654265 \n", "Target 1.000000 " ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
countmeanstdmin25%50%75%max
V139954.0-0.2881203.449072-13.501880-2.751460-0.7735181.83670817.436981
V239961.00.4426723.139431-13.212051-1.6383550.4639392.53750813.089269
V340000.02.5055143.406263-11.4693690.2026822.2653194.58492018.366477
V440000.0-0.0660783.437330-16.015417-2.349574-0.1236912.14859613.279712
V540000.0-0.0445742.107183-8.612973-1.507206-0.0968241.3462249.403469
V640000.0-1.0008492.036756-10.227147-2.363446-1.0066350.3739097.065470
V740000.0-0.8927931.756510-8.205806-2.036913-0.9347380.2068208.006091
V840000.0-0.5631233.298916-15.657561-2.660415-0.3841881.71438311.679495
V940000.0-0.0077392.161833-8.596313-1.493676-0.0520851.4257138.507138
V1040000.0-0.0018482.183034-11.000790-1.3905490.1057791.4861058.108472
V1140000.0-1.9177943.116426-14.832058-3.940969-1.9417260.08944413.851834
V1240000.01.5780952.914613-13.619304-0.4313731.4853673.54078715.753586
V1340000.01.5913092.865222-13.830128-0.2085221.6538363.47633615.419616
V1440000.0-0.9466201.787759-8.309443-2.164513-0.9574440.2658746.213289
V1540000.0-2.4357203.341244-17.201998-4.451365-2.398608-0.38175712.874679
V1640000.0-2.9431684.211646-21.918711-5.631812-2.718600-0.11294713.583212
V1740000.0-0.1427943.344332-17.633947-2.227048-0.0278952.07180117.404510
V1840000.01.1889492.586164-11.643994-0.4028480.8674332.56423913.179863
V1940000.01.1813333.394979-13.491784-1.0509031.2784023.49727716.059004
V2040000.00.0272013.674985-13.922659-2.4338110.0301362.51324516.052339
V2140000.0-3.6213593.556979-19.436404-5.920847-3.559327-1.28417813.840473
V2240000.00.9432421.645538-10.122095-0.1121470.9628022.0180317.409856
V2340000.0-0.3876174.052147-16.187510-3.118868-0.2753392.43804715.080172
V2440000.01.1422203.912820-18.487811-1.4832100.9635863.56305519.769376
V2540000.0-0.0030192.024691-8.228266-1.3734000.0211001.3998168.223389
V2640000.01.8957173.421454-12.587902-0.3192311.9638264.16314616.836410
V2740000.0-0.6168384.392161-14.904939-3.692075-0.9096402.20060821.594552
V2840000.0-0.8881211.924947-9.685082-2.192763-0.9047570.3768566.906865
V2940000.0-1.0053272.676299-12.579469-2.799008-1.2060270.60447311.852476
V3040000.0-0.0326643.031009-14.796047-1.9082020.1846132.04013113.190889
V3140000.00.5058853.482735-19.376732-1.7989750.4913522.77751917.255090
V3240000.00.3268315.499369-23.200866-3.3921150.0562433.78924124.847833
V3340000.00.0565423.574219-17.454014-2.237550-0.0497292.25598516.692486
V3440000.0-0.4641273.185712-17.985094-2.127757-0.2508421.43288514.358213
V3540000.02.2348612.924185-15.3498030.3320812.1101254.04465916.804859
V3640000.01.5300203.819754-17.478949-0.9371191.5715113.99672119.329576
V3740000.0-0.0004981.778273-7.639952-1.265717-0.1326201.1608287.803278
V3840000.0-0.3511993.964186-17.375002-3.016805-0.3187242.29134215.964053
V3940000.00.9000351.751022-7.135788-0.2615780.9213212.0690167.997832
V4040000.0-0.8971662.997750-11.930259-2.949590-0.9492691.09217810.654265
Target40000.00.0546750.2273480.0000000.0000000.0000000.0000001.000000
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 11 } ] }, { "cell_type": "markdown", "source": [ "Looking at the table of statistics, it is challenging to glean much insight. From the statistics, it appears that most of the distributions are fairly symmetric." ], "metadata": { "id": "9u-ZGJc3_FpB" } }, { "cell_type": "code", "source": [ "plt.figure(figsize=(8,5))\n", "plt.title('Target Distribution',fontsize=20)\n", "sns.countplot(data=data,x='Target');" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 360 }, "id": "XzU2ZlRK2HJz", "outputId": "0dd4abac-c31f-4876-c277-c2f01b267553" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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PXvUoUOHWpdH1swvuXoi4RdffGF6FulGjvm///u/yzAMZWdn1woYJSUleu2111zLAN7C0APQSCNGjNCSJUs0b9487d69Wx06dFBBQYG2bdumwYMH13tTnOvJyMjQT3/6U/32t7/V9u3bXfdR2LRpk5KTk7V169Zak+5uueUWLVy4UKmpqXriiSfUs2dPxcfHq1mzZjp58qQOHjyoEydO6MMPP3RNELz//vtltVr18ssv66uvvnKNaU+ePNmtGi9cuOCaT3Dp0iVduHBBn3/+uetMyIABA5SVlXXdSYWnTp3SyJEjFRsbq7i4ONlsNpWXl2vbtm06c+aMxo8fX+uUf9++fbVu3To99dRT6tq1q4KDg3Xffffpvvvua9Axrs+AAQP04osvavv27erSpYvrPgqhoaGaN29erWOenJysjh07Ki8vTydPnlS3bt1kt9u1detWJScna8OGDXW237dvX23cuFFpaWkaOHCgQkNDFR0drZEjR5rWNHHiRG3fvl1bt27ViBEj9MADD6iyslIbN25UcXGxUlNTvfZcDUAiKACNFhUVpdzcXOXk5Gjfvn368MMP1alTJ2VkZKhv3743FBTuvvturVq1Sv/1X/+lXbt2adeuXYqLi9Orr76qI0eOaOvWrXVuINSlSxetWbNGS5cudd3B0Wq1qm3bturatavS0tJqXWrYuXNnvfjii3rrrbe0YsUKVVVVSXI/KJSVlbnu7hgSEqKwsDC1b99eKSkp+sEPfuD2H6+YmBilpaVpz5492r17t0pLSxUeHq677rpLv/rVr/SjH/2o1vKzZ8+WxWLRzp079cEHH8jpdGrKlCkeCQrdu3fXf/7nf+r3v/+9/vznP8swDN1///365S9/WecKldDQUC1btkxZWVn65z//qYMHD+p73/ueXnrpJbVu3breoDB69GgVFRVp3bp1evPNN3Xp0iX17t37mkEhJCRES5cu1dKlS5WXl6c///nPCgoKUpcuXTRr1iwNHz680a8buBaLceU1TACavF/96lfKy8vThg0b1KlTJ3+XAyDAMUcBaIKcTqfOnDlTp33nzp3asGGD7r77bkICAJ9g6AFogr799ls9+OCD6tOnjzp16qSgoCD9z//8jz766CPdcsstSk9P93eJAL4jGHoAmiCHw6F58+Zp165dOnnypCorK9WmTRslJibqiSee4HI4AD5D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cDgkSQ6HQ6dPn5bNZvNzZQAA3FwCMihERkYqPj5eeXl5kqS8vDzFx8e7PewAAAAusxiGYfi7CG84cuSIZs6cqQsXLqhVq1bKyspSp06d/F0WAAA3lYANCgAAoPECcugBAAB4BkEBAACYIigAAABTBAUAAGCKoICAwYPAAN/LyspSUlKS4uLi9OWXX/q7HHgBQQEBgweBAb6XnJys3NxcxcTE+LsUeAlBAQGh5kFgw4cPl3T5QWCHDx9WSUmJnysDAltiYiJ3vQ1wBAUEhGs9CAwAcOMICgAAwBRBAQGBB4EBgHcQFBAQeBAYAHgHz3pAwOBBYIDvzZkzR5s2bdLZs2fVpk0bhYeHa926df4uCx5EUAAAAKYYegAAAKYICgAAwBRBAQAAmCIoAAAAUwQFAABgiqAAAABMBfu7AAA3t549e7q+rqioUEhIiOuZG7/97W/1yCOPeL2G3bt3a9q0adq+fbvX9wV81xAUADTK/v37XV8nJSVpzpw56tevX4O2cenSJQUH83YENEUMPQDwik8//VRjxoxRYmKi+vfvr8zMTFVXV7v64+LilJubqyFDhmjIkCGSpDfeeEP9+/dX//799c477yguLk4FBQWSpOrqamVlZenBBx9Uv379lJ6ersrKSl28eFG/+MUvdPr0afXs2VM9e/bUqVOn/PKagUBEUADgFVarVc8995x27dqlVatWaefOnVqxYkWtZbZs2aK//vWvWr9+vbZv365ly5Zp6dKl2rx5s3bv3l1r2ZycHB09elTvvfeeNm3apNOnT2vRokW69dZb9cYbb6hdu3bav3+/9u/fr6ioKF++VCCgERQAeEVCQoJ69Oih4OBg3XHHHRozZow+/vjjWss88cQTCg8PV7NmzbRhwwaNGjVK3/ve99S8eXOlpaW5ljMMQ3/96181a9YshYeHKywsTE8++STPFAB8gEFBAF5x9OhRvfjiizp06JAqKirkcDh0zz331FrmyseAnz59WgkJCfX2lZSUqKKiQqNGjXK1GYYhp9PpxVcAQCIoAPCS3/zmN+ratateeuklhYWFadmyZcrPz6+1jMVicX3drl27WnML7Ha76+s2bdqoWbNmWrduXb3DClduB4BnMfQAwCu++eYbtWjRQi1atNCRI0e0cuXKay4/bNgwvfvuuzpy5IgqKir02muvufqsVqtGjx6tefPmqbi4WJJ06tQp7dixQ5IUGRmpc+fOqayszHsvCPiOIigA8IoZM2YoLy9P9957r55//nn98Ic/vObyAwcO1Pjx4zVhwgQNHjxY3bt3lySFhIRIkqZNm6YOHTroJz/5ie699149/vjjOnr0qCSpc+fO+tGPfqSHHnpIiYmJXPUAeJDFMAzD30UAwNWOHDmi4cOH6+DBg9xjAfAjzigAaDI2b96s6upqnT9/XgsWLNCgQYMICYCfERQANBmrVq1S3759NXjwYAUFBek3v/mNv0sCvvMYegAAAKY4owAAAEwRFAAAgCmCAgAAMEVQAAAApggKAADAFEEBAACY+j+gbpH09tmftAAAAABJRU5ErkJggg==\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "We find that cases requiring the replacement of equipment are fairly rare.\n", "\n", "In the next section, we will process the data for modeling. This includes scaling the features so they have approximately mean 0 and standard deviation 1." ], "metadata": { "id": "CByL6xIW56bk" } }, { "cell_type": "markdown", "metadata": { "id": "knk0w9XH4jao" }, "source": [ "## Data Pre-processing" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "2JbJc1bX4jao" }, "outputs": [], "source": [ "data['Target']=pd.Categorical(data['Target'])" ] }, { "cell_type": "markdown", "source": [ "To start, we change the target variable type to categorical." ], "metadata": { "id": "ObRFwZex9hLi" } }, { "cell_type": "code", "source": [ "X=data.drop('Target',axis=1)\n", "y=data['Target']" ], "metadata": { "id": "P8jMwMQfHrmt" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "X_train,X_val,y_train,y_val=train_test_split(X,y,test_size=0.25,stratify=y,random_state=57)" ], "metadata": { "id": "VFIlKv9qHw3H" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "We separate our data set. First, we break off the target variable. Then we split X and y into training and validation sets. Recall that we have a separate CSV file with test data for final model production, so we need not apportion a test set here." ], "metadata": { "id": "GNUkjsXU-wPJ" } }, { "cell_type": "code", "source": [ "pre=make_pipeline(\n", " StandardScaler(),\n", " KNNImputer()\n", ").set_output(transform='pandas')" ], "metadata": { "id": "szJ3YASp6yxm" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "We next make a simple pre-processing pipeline that outputs pandas DataFrames. We will use this to scale our data and impute missing values:\n", "* We will scale columns so they have mean 0 and standard deviation 1.\n", "* We impute missing data using the K Nearest Neighbors method. By default, we use 5 neighbors." ], "metadata": { "id": "Bpd-Cq4Y_P86" } }, { "cell_type": "code", "source": [ "X_train=pre.fit_transform(X_train)" ], "metadata": { "id": "oF_bLl6x7U4Q" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "We fit the pipeline on the training data and transform it." ], "metadata": { "id": "tb3eAMkW_wDu" } }, { "cell_type": "code", "source": [ "X_val=pre.transform(X_val)" ], "metadata": { "id": "HiA9Se0s9Cdk" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "By fitting the pipeline on the _training_ data and then transforming the validation data using this pipeline, we avoid data leakage: The data in the validation set does not influence the means, standard deviations, or nearest neighbors calculation." ], "metadata": { "id": "NR-6ZpnO_zJI" } }, { "cell_type": "markdown", "source": [ "## Model Building" ], "metadata": { "id": "e1816sbz7tB4" } }, { "cell_type": "markdown", "source": [ "### Functions\n", "\n", "The following functions will assist with model building and assessment. Some are adapted from my previous projects." ], "metadata": { "id": "DB3gT0OD1Nyx" } }, { "cell_type": "code", "source": [ "def confusion_heatmap(model,show_scores=True):\n", " '''Heatmap of confusion matrix for\n", " model performance on validation data.'''\n", "\n", " actual=y_val\n", " predicted=model.predict(X_val)\n", "\n", " # generate confusion matrix\n", " cm=metrics.confusion_matrix(actual,predicted)\n", " cm=np.flip(cm).T\n", "\n", " # heatmap labels\n", " labels=['TP','FP','FN','TN']\n", " cm_labels=np.array(cm).flatten()\n", " cm_percents=np.round((cm_labels/np.sum(cm))*100,3)\n", " annot_labels=[]\n", " for i in range(4):\n", " annot_labels.append(str(labels[i])+'\\nCount:'+str(cm_labels[i])+'\\n'+str(cm_percents[i])+'%')\n", " annot_labels=np.array(annot_labels).reshape(2,2)\n", "\n", " # print figure\n", " plt.figure(figsize=(8,5))\n", " plt.title('Confusion Matrix',fontsize=20)\n", " sns.heatmap(data=cm,\n", " annot=annot_labels,\n", " annot_kws={'fontsize':'x-large'},\n", " xticklabels=[1,0],\n", " yticklabels=[1,0],\n", " cmap='Greens',\n", " fmt='s')\n", " plt.xlabel('Actual',fontsize=14)\n", " plt.ylabel('Predicted',fontsize=14)\n", " plt.tight_layout();\n", "\n", " # scores\n", " if show_scores==True:\n", " scores=['Accuracy','Precision','Recall','F1']\n", " score_list=[metrics.accuracy_score(actual,predicted),\n", " metrics.precision_score(actual,predicted),\n", " metrics.recall_score(actual,predicted),\n", " metrics.f1_score(actual,predicted)]\n", " df=pd.DataFrame(index=scores)\n", " df['Scores']=score_list\n", " return df\n", " return\n", "\n", "# alias function name to something shorter\n", "ch=confusion_heatmap" ], "metadata": { "id": "vkdBqzHC1NIg" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "The function above prints a confusion matrix of model performance on validation data. It also prints a table with validation accuracy, precision, recall, and F1 scores." ], "metadata": { "id": "YWhS_cUZ34Mm" } }, { "cell_type": "code", "source": [ "def cv_recall(estimator,sample_strategy=None):\n", " '''Compute a recall score using\n", " stratified k-fold cross-validation.'''\n", "\n", " # define data based on sampling strategy\n", " if sample_strategy=='over':\n", " X_data=X_train_over\n", " y_data=y_train_over\n", " elif sample_strategy=='under':\n", " X_data=X_train_under\n", " y_data=y_train_under\n", " else:\n", " X_data=X_train\n", " y_data=y_train\n", " \n", " # cv strategy\n", " e=estimator\n", " kfold=StratifiedKFold(n_splits=5,\n", " shuffle=True,\n", " random_state=2)\n", " \n", " # run cv\n", " cvs=cross_val_score(estimator=e,\n", " X=X_data,\n", " y=y_data,\n", " scoring='recall',\n", " cv=kfold,\n", " n_jobs=-1)\n", " return cvs.mean()" ], "metadata": { "id": "HseIpOYK2Haq" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "The function above returns the mean cross-validated recall for a given model." ], "metadata": { "id": "CrFwj2Yj4G-8" } }, { "cell_type": "code", "source": [ "model_table=pd.DataFrame(columns=['Train Acc',\n", " 'Val Acc',\n", " 'Train Recall',\n", " 'CV Recall',\n", " 'Val Recall'])\n", "\n", "def tabulate(model,name,sample=None,cvs=None):\n", " '''Compute train/val accuracy and\n", " recall for a given model. Add to table.'''\n", "\n", " # run predictions with model\n", " X_val_pred=model.predict(X_val)\n", " if sample==None:\n", " y_tr=y_train\n", " y_pred=model.predict(X_train)\n", " elif sample=='over':\n", " y_tr=y_train_over\n", " y_pred=model.predict(X_train_over)\n", " elif sample=='under':\n", " y_tr=y_train_under\n", " y_pred=model.predict(X_train_under)\n", " else:\n", " raise ValueError(\"Sample parameter takes values in {None,'over','under'}.\")\n", "\n", " # cross validation recall\n", " if cvs==None:\n", " m=cv_recall(model,sample_strategy=sample)\n", " else:\n", " m=cvs\n", "\n", " # collect data for new table row\n", " model_table.loc[name]=[metrics.accuracy_score(y_tr,y_pred),\n", " metrics.accuracy_score(y_val,X_val_pred),\n", " metrics.recall_score(y_tr,y_pred),\n", " m,\n", " metrics.recall_score(y_val,X_val_pred)]\n", "\n", " return model_table" ], "metadata": { "id": "YndYupxhtb0n" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "The funciton above collects various metrics for evaluating model performance into a comparison table." ], "metadata": { "id": "yWvWLY3x4OzT" } }, { "cell_type": "markdown", "metadata": { "id": "eqCDCbcw4jas" }, "source": [ "### Model Building with original data" ] }, { "cell_type": "markdown", "source": [ "#### Decision Tree" ], "metadata": { "id": "FtZ_9iAkvLyv" } }, { "cell_type": "code", "source": [ "dtree=DecisionTreeClassifier(random_state=1)" ], "metadata": { "id": "YgAMFzSg47tl" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "m=cv_recall(dtree)\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "0_pageE63kpG", "outputId": "21bca094-717e-4d2d-eec0-3b918fe84dd2" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.7207317073170731.\n" ] } ] }, { "cell_type": "markdown", "source": [ "A plain decision tree classifier yields a cross-validated recall of 0.72, decent performance for the first attempt." ], "metadata": { "id": "hrDuy3iuydNp" } }, { "cell_type": "code", "source": [ "dtree.fit(X_train,y_train)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 75 }, "id": "LlX8rM-xHQ3h", "outputId": "635f3582-48c9-48c9-db1e-f7489b8ccbbb" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "DecisionTreeClassifier(random_state=1)" ], "text/html": [ "
DecisionTreeClassifier(random_state=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 26 } ] }, { "cell_type": "code", "source": [ "ch(dtree)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "52ZyEH706qGo", "outputId": "548f8b85-90c0-41a3-f38b-6f350cbdf6fe" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.972400\n", "Precision 0.734024\n", "Recall 0.776965\n", "F1 0.754885" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.972400
Precision0.734024
Recall0.776965
F10.754885
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 27 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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OjR+L8t9Nh34kcTky0DmjJCTX29n4cZldJnsb6iZ3HMEZcvYcPDMMe6m3cW7rjst6jfh8+++InxPRJb75ab2vhLFiv8+AHQSl39LMhwP3bqauR9NZHLPESTfuEbPpn4ELp2d5++d5J1encgL55sF3xAf/2BRof37DrB/X+b8egcHhxxnj8TFxRt2Cpw6eVq283X+VtsQHnJT+0fz58zHxtaGtr5tshxv1bollxIvsWL5Su7evct7bVrRvZfGZ8jTcSPlJmcTLtDD2w9767JcvpZE+N7NjP5mapYFuN6s/joADWvVp2Gt+tnu03BgW0PQyMnBM8cY2KYnrf/hjWUhS45Gn6RT4AAWR6zIU+19I/wGcCn5CnPCF2U5/tX6UCqUdaCHtx9FClsx//tQJoTOeGRb5dnIjwM7jaElyEVecFqCXCT3nsUS5Oeunzbquqql89f/0+rREBERMQO9OhERERGTKSivThQ0REREzEBBQ0RERExGr05ERETEZNSjISIiIiajHg0RERExGfVoiIiIiAkpaIiIiIiJFIyYAYXM3QARERF5calHQ0RExAw0GFRERERMSEFDRERETKRgxAwFDRERETMpGFFDQUNERMQMCsoYDc06EREREZNRj4aIiIgZaGVQERERMZmCEjT06kRERERMRj0aIiIiZqDBoCIiIiJ5pB4NERERMygoYzQUNERERMxCQUNERERMpGDEDI3REBERERNSj4aIiIgZFJRZJwoaIiIiZqGgISIiIiZSMGKGgoaIiIiZFIyooaAhIiJiBgVljIZmnYiIiIjJqEdDRETEDLQyqIiIiJiQgoaIiIiYSMGIGQoaIiIiZlFQBoMqaIiIiJiFgoaIiIiYSMGIGQoaIiIiZlIwoobW0RARERGTUY+GiIiIGRSUwaDq0RARERGTscjIyMgwdyNERETkxaQeDRERETEZBQ0RERExGQUNERERMRkFDRERETEZBQ0RERExGQUNERERMRkFDRERETEZBQ0RERExGQUNERERMRkFDcmzwMBA3N3dcXFx4fTp0+Zujshz79y5c/j6+uLh4YGvry/R0dHmbpKIyShoSJ41btyYkJAQnJyczN0UkXxh1KhR+Pn5sWHDBvz8/Bg5cqS5myRiMgoakmd16tTB0dHR3M0QyReuXLlCZGQkzZo1A6BZs2ZERkaSlJRk5paJmIaChojIM5SQkICDgwOWlpYAWFpaYm9vT0JCgplbJmIaChoiIiJiMgoaIiLPkKOjIxcvXiQtLQ2AtLQ0EhMT9fpRXlgKGiIiz1DZsmVxdXUlPDwcgPDwcFxdXbG1tTVzy0RMwyIjIyPD3I2Q/G38+PFs3LiRy5cvY2Njg7W1NevWrTN3s0SeW1FRUQQEBHDt2jXKlClDYGAg1apVM3ezRExCQUNERERMRq9ORERExGQUNERERMRkFDRERETEZBQ0RERExGQUNERERMRkFDRE5InNmDHDsEeHiMiTUNAQeU4dP34cV1dX2rdvn6vrOnXqxNixY03UKhGR3FHQEHlOhYWF4efnx5kzZ4iKijJ3c0REjKKgIfIcSk1NJTw8nHbt2uHh4cHy5cuznD906BCdO3fGzc2N2rVr07lzZy5evEhAQAD/+9//CAkJwcXFBRcXF2JjY9m7dy8uLi5ZtiKPjY3FxcWFo0ePApl7bnzyySe4u7tTs2ZNmjRpwvz580lPT3+mn11EXiyFzd0AEclu/fr1VKhQARcXF3x8fPjoo4/w9/fHysqKkydP0rlzZ3x8fBg2bBhFihRh3759pKWlMXz4cKKjo6latSr+/v4A2NraEhcX99hnpqen4+DgwPTp07G1teXIkSOMHDkSa2tr2rZta+qPLCIvKAUNkefQihUr8PHxAaBu3boUL16czZs34+npyfz583F1dWXcuHGG+pdfftnwdysrK4oXL46dnV2unmllZcWAAQMMXzs7OxMZGcm6desUNETEaAoaIs+Z8+fPc+DAAYKCggCwsLCgefPmLF++HE9PT06cOMG7775rkmeHhoYSFhZGfHw8t2/f5u7duzg5OZnkWSJSMChoiDxnwsLCSEtLo1GjRoZj9/c+TEhIMOqehQplH4517969LF9///33TJgwgaFDh/LGG29QqlQpQkJCiIiIMOqZIiKgoCHyXLl37x6rVq1i4MCBNGzYMMu5IUOGsGLFClxdXdmzZ0+O97CysiItLS3LMVtbWwASExMNfz9x4kSWmgMHDlCrVi06duxoOHbhwoW8fBwREc06EXmebNu2jatXr9K2bVtq1KiR5Y+3tzcrV66kW7duREZG8umnn3Ly5EnOnj1reN0B4OTkxNGjR4mNjSUpKYn09HQqVaqEo6MjM2fO5Ny5c+zcuZPZs2dneXaVKlU4fvw427dvJzo6mlmzZrFv3z5zfBtE5AWioCHyHFm+fDn16tXDxsYm2zkvLy/i4uJISkpiwYIFnD17lnbt2tGuXTvWrVtH4cKZHZRdu3bFysqKpk2bUr9+feLj47GysmLq1KnExMTg4+PDjBkzDLNS7vP19cXLy4tBgwbRpk0b4uLi6NKlyzP53CLy4rLIuP/yV0REROQpU4+GiIiImIyChoiIiJiMgoaIiIiYjIKGiIiImIyChoiIiJiMgoaIiIiYjIKGiIiImIyChoiIiJiMgoaIiIiYzP8D3TASMezRYGYAAAAASUVORK5CYII=\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "After fitting the model to the whole training set, we find high accuracy (around 97%), while precision and recall are closer to 75%.\n", "\n", "**Note:** All confusion matrices in this project are compiled using the validation data." ], "metadata": { "id": "-GGoguhHyr-Z" } }, { "cell_type": "code", "source": [ "tabulate(dtree,'dtree',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 81 }, "id": "6koRY1NVHQ1F", "outputId": "00281147-d5d2-4605-db6c-46e18f4de425" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.0 0.9724 1.0 0.720732 0.776965" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.00.97241.00.7207320.776965
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 28 } ] }, { "cell_type": "markdown", "source": [ "Moreover, we see clear evidence of overfitting when we compare training and validation set results." ], "metadata": { "id": "AJPD0slZy7eB" } }, { "cell_type": "markdown", "source": [ "#### Logistic Regression" ], "metadata": { "id": "vKvj0hJc7kJg" } }, { "cell_type": "code", "source": [ "lr=LogisticRegression()" ], "metadata": { "id": "yW7rmlP9HQyq" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "m=cv_recall(lr)\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "OPgufQDjHQv_", "outputId": "f0e26e1d-e704-464c-af7f-79431360428a" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.47804878048780486.\n" ] } ] }, { "cell_type": "markdown", "source": [ "The plain logistic regression model performs far worse than the decision tree, with a cross-validated mean recall of under 50%. In other words, this model performs worse than randomly guessing for the positive class (1)." ], "metadata": { "id": "GGx97RH-4buT" } }, { "cell_type": "code", "source": [ "lr.fit(X_train,y_train)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 75 }, "id": "q3KJobQ1HQs-", "outputId": "dd96485b-9703-4d06-b9fe-49e1bac404ad" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "LogisticRegression()" ], "text/html": [ "
LogisticRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 31 } ] }, { "cell_type": "code", "source": [ "ch(lr)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "K31Iae7f8JYZ", "outputId": "7e873e5f-7248-44e2-edda-33d321e8df5e" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.967700\n", "Precision 0.839394\n", "Recall 0.506399\n", "F1 0.631699" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.967700
Precision0.839394
Recall0.506399
F10.631699
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 32 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "As the negative class (0) is by far the majority class, this logistic regression scores better on precision because it predicts few false positives." ], "metadata": { "id": "KNCF-NcZ41jZ" } }, { "cell_type": "code", "source": [ "tabulate(lr,'Logistic Regr',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 112 }, "id": "aIb5k-zJ8JV6", "outputId": "cf8b90e2-3a46-4728-a088-e7699fac1fc4" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.00000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.47622 0.478049 0.506399" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.000000.7207320.776965
Logistic Regr0.9669670.96770.476220.4780490.506399
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 33 } ] }, { "cell_type": "markdown", "source": [ "While this model's performance is poor, at least it isn't overfit." ], "metadata": { "id": "CxTaTCau5XrS" } }, { "cell_type": "markdown", "source": [ "#### Bagging Classifier" ], "metadata": { "id": "OU9dKO8C8gCP" } }, { "cell_type": "code", "source": [ "bag=BaggingClassifier(random_state=1)\n", "\n", "m=cv_recall(bag)\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "RqTjbE7w8kkv", "outputId": "b9eed8ae-2bbb-4de4-b700-7d83db76815b" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.7128048780487805.\n" ] } ] }, { "cell_type": "markdown", "source": [ "A CV recall of 71% is much better than the logistlic regression, similar to the decision tree score." ], "metadata": { "id": "Tvbu6cd_5e0n" } }, { "cell_type": "code", "source": [ "bag.fit(X_train,y_train)\n", "\n", "ch(bag)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "MU1gl4l08JS7", "outputId": "78bba327-979e-4894-bead-f2d55ad93e45" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.985500\n", "Precision 0.944690\n", "Recall 0.780622\n", "F1 0.854855" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.985500
Precision0.944690
Recall0.780622
F10.854855
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 35 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "In addition to good recall, this model produces high accuracy and precision!" ], "metadata": { "id": "Iw_ORunz5qRE" } }, { "cell_type": "code", "source": [ "tabulate(bag,'Bagging Clfr',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 143 }, "id": "9HDT_8j_8JQN", "outputId": "d156c4e4-610d-4092-fb9f-ebd2e8f71150" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.00000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.47622 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.95061 0.712805 0.780622" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.000000.7207320.776965
Logistic Regr0.9669670.96770.476220.4780490.506399
Bagging Clfr0.9972330.98550.950610.7128050.780622
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 36 } ] }, { "cell_type": "markdown", "source": [ "Unfortunately, when comparing training and validation scores, we find that this model is also overfitting (note recall scores)." ], "metadata": { "id": "7XF628ij5wGU" } }, { "cell_type": "markdown", "source": [ "#### Random Forest" ], "metadata": { "id": "KBwJwZ8B-HX0" } }, { "cell_type": "code", "source": [ "rf=RandomForestClassifier(random_state=1)\n", "\n", "m=cv_recall(rf)\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "FxpQCkxk8JM6", "outputId": "07c6ed6f-5340-4866-857f-166706e1ce8a" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.7567073170731707.\n" ] } ] }, { "cell_type": "markdown", "source": [ "Our second bagging model, random forest, scores a bit better, with a CV recall of around 76%." ], "metadata": { "id": "WHxZsPWD55HO" } }, { "cell_type": "code", "source": [ "rf.fit(X_train,y_train)\n", "\n", "ch(rf)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "Q3e_HTdN-Lyp", "outputId": "b550d285-5ebe-407d-e7a7-09654e9328c3" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.988300\n", "Precision 0.986425\n", "Recall 0.797075\n", "F1 0.881699" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.988300
Precision0.986425
Recall0.797075
F10.881699
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 38 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Again, precision and accuracy are stellar on the validation data. Note in the confusion matrix above that there are **SIX** false positives in a data set of 10,000! This translates to a specificity (true negative rate) of over 99.9%." ], "metadata": { "id": "YhY8JwId6A7z" } }, { "cell_type": "code", "source": [ "tabulate(rf,'Random Forest',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 175 }, "id": "2hGucm2w-Lvi", "outputId": "0e8bad5a-c499-46cb-d3e3-2aed0a3b83ec" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.00000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.47622 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.95061 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.00000 0.756707 0.797075" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.000000.7207320.776965
Logistic Regr0.9669670.96770.476220.4780490.506399
Bagging Clfr0.9972330.98550.950610.7128050.780622
Random Forest1.0000000.98831.000000.7567070.797075
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 39 } ] }, { "cell_type": "markdown", "source": [ "Our model unfortunately suffers from overfitting." ], "metadata": { "id": "UaR9Pwyj6y_a" } }, { "cell_type": "markdown", "source": [ "#### AdaBoost" ], "metadata": { "id": "_8f8_MuaGHfD" } }, { "cell_type": "code", "source": [ "abc=AdaBoostClassifier(random_state=1)\n", "\n", "m=cv_recall(abc)\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "TyQNqccl-Llf", "outputId": "a34fdf4e-053a-4e42-fa75-c49f9034f71d" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.6079268292682926.\n" ] } ] }, { "cell_type": "markdown", "source": [ "While AdaBoost yields a lower CV recall score, at only around 61%, we are hopeful that boosting methods will be less susceptible to overfitting." ], "metadata": { "id": "tGre733m67Vh" } }, { "cell_type": "code", "source": [ "abc.fit(X_train,y_train)\n", "\n", "ch(abc)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "U967patu-Lim", "outputId": "83821eb1-7f50-4ebf-db2b-ce64834e53b8" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.975000\n", "Precision 0.856115\n", "Recall 0.652651\n", "F1 0.740664" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.975000
Precision0.856115
Recall0.652651
F10.740664
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 41 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "An accuracy of 97% and good precision is promising, but the surprising result in the table above is the recall, which is higher than the CV recall calculated above. We find 65% recall on validation data with this model." ], "metadata": { "id": "rkf-Axfm7IqC" } }, { "cell_type": "code", "source": [ "tabulate(abc,'AdaBoost',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "FhriF7wQGzc7", "outputId": "797b8876-0ae6-410e-9320-63af982c5d4f" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 42 } ] }, { "cell_type": "markdown", "source": [ "While there is not much evidence of overfitting here, the model performance is appreciably lower than other models." ], "metadata": { "id": "pZObw3sJ7cSO" } }, { "cell_type": "markdown", "source": [ "#### Gradient Boosting" ], "metadata": { "id": "hb2wrOYqG5HD" } }, { "cell_type": "code", "source": [ "gbc=GradientBoostingClassifier(random_state=1)\n", "\n", "m=cv_recall(gbc)\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "E6bZifl_Gzau", "outputId": "d4c1325a-4220-400f-e3ad-4e2fcfd22930" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.7201219512195122.\n" ] } ] }, { "cell_type": "markdown", "source": [ "Gradient boosting has done much better as compared to AdaBoost, with a CV recall of 72%." ], "metadata": { "id": "McWnrdVL8UWx" } }, { "cell_type": "code", "source": [ "gbc.fit(X_train,y_train)\n", "\n", "ch(gbc)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "E1aV6pkvGzYe", "outputId": "3ea05536-4a0b-449a-ab6d-d170cdd45668" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.984500\n", "Precision 0.957944\n", "Recall 0.749543\n", "F1 0.841026" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.984500
Precision0.957944
Recall0.749543
F10.841026
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 44 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "As with many other models, recall is actually the lowest score of the four metrics above, with accuracy and precision being much higher." ], "metadata": { "id": "gkDwUv4G8c8t" } }, { "cell_type": "code", "source": [ "tabulate(gbc,'Grad Boost',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 238 }, "id": "c8kPqLO_GzUS", "outputId": "39045f81-081e-4f53-96d7-1ab003d083e9" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 45 } ] }, { "cell_type": "markdown", "source": [ "So far, the gradient boosting model is one of the better models. The only issue is evidence of overfitting (note the recall)." ], "metadata": { "id": "mPwZ5VhO9Vz_" } }, { "cell_type": "markdown", "source": [ "#### XGBoost" ], "metadata": { "id": "QxdSgzK3HmEw" } }, { "cell_type": "code", "source": [ "xgb=XGBClassifier(random_state=1)\n", "\n", "m=cv_recall(xgb)\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "cTIuu9t6HlzZ", "outputId": "1a5cd0b6-0dae-408d-8840-8fc94af5b963" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.7365853658536585.\n" ] } ] }, { "cell_type": "markdown", "source": [ "A score of 74% is comparable to the better performing models above." ], "metadata": { "id": "-or99U2G9sFk" } }, { "cell_type": "code", "source": [ "xgb.fit(X_train,y_train)\n", "\n", "ch(xgb)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "rkl6XglWHlwq", "outputId": "e95c7c8a-de8b-4f28-f108-3f13978959db" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.985900\n", "Precision 0.959276\n", "Recall 0.775137\n", "F1 0.857432" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.985900
Precision0.959276
Recall0.775137
F10.857432
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 47 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhoAAAFcCAYAAACOUBfKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd1RU1xbA4R9FiigiiiAgdhBjB3tv2HvvvWNv2E2isWHHmhjFHnuvqFFjiy0vGk3sShEBG0Xp8/4gTjIZUBgZRpj9vTVrvTnl3j3EC3vOOfdcA4VCoUAIIYQQQgsMdR2AEEIIIbIuSTSEEEIIoTWSaAghhBBCayTREEIIIYTWSKIhhBBCCK2RREMIIYQQWiOJhhAa2rhxI02bNqVMmTK4uLiwYcMGrZ+zXr161KtXT+vn0QcuLi706NFD12EIkeVJoiG+eA8fPuTbb7+lefPmuLm5UapUKWrUqMHAgQPZuXMnsbGxGR7T4cOHmT17NqampvTq1QtPT0/KlSuX4XF8CerVq4eLiwsuLi5cunQpxXaTJk1Stlu+fPlnnfPKlSvpchwhhPYZ6zoAIT7Gx8eHFStWkJiYSPny5WnTpg3Zs2cnLCyMX3/9lalTp7Jt2zb27NmToXGdOXMGgNWrV2Nra5th582IURNNGRsbs2vXLqpWrapWFxkZydGjRzE2NiY+Pl4H0ak7cuQI5ubmug5DiCxPEg3xxVq9ejXLly8nf/78LF26lLJly6q1OXPmDD/++GOGxxYSEgKQoUkGgJOTU4aeLy3q1KnDiRMneP36Nblz51apO3DgAO/fv6dhw4acPHlSRxGqKlq0qK5DEEIvyNSJ+CIFBATg4+NDtmzZWLt2bbJJBkDdunVZt26dWvmRI0fo1q0bbm5ulClThhYtWrBmzZpkp1k+rHt49+4d8+bNo06dOpQqVYqGDRuydu1a/r1L//Lly3FxceHKlSsAyqkAFxcXZdwuLi54eXklG2+PHj2UbT9QKBTs3buXzp07U6VKFUqXLk3t2rXp168fR44cSTbW/4qNjWXt2rW0aNGCsmXLUqFCBbp27arW/78xBgQEMHr0aCpXrkzp0qVp27atcrQmrTp27EhsbCz79+9Xq9u5cyf58+enZs2ayfZ9/Pgx3t7etG3blipVqlCqVCnq1q3LtGnTCA4OVmnr5eVFz549gaQRr3//N/jw32XPnj24uLiwZ88ezp07R48ePXBzc1P52f93jYa/vz/u7u5UqlSJwMBAlXO+e/eOJk2a4OrqqjyHECJ1ZERDfJH27NlDXFwczZo1w9nZ+aNtTUxMVN4vWrSINWvWkDt3bpo3b0727Nk5f/48ixYt4pdffmHdunVqfeLi4ujXrx8hISHUqlULIyMj/Pz8WLhwIbGxsXh6egJQqVIlPD092bt3L4GBgcryz7F48WLWrFmDo6MjTZo0IWfOnISGhnLr1i2OHTtG06ZNP9o/NjaWfv368euvv1KkSBG6du1KdHQ0x48fZ/To0fz555+MGTNGrV9gYCAdOnSgQIECtGrVirdv33LkyBGGDh3K+vXrqVKlSpo+R7Vq1XBwcGDXrl307t1bWX779m3u3LmDp6cnhobJf7c5efIk27dvp3LlylSoUIFs2bJx//59du7cyZkzZ9i9e7dy9KhBgwYA7N27l0qVKlGpUiXlcRwcHFSOe/z4cc6fP0+tWrXo3LkzQUFBKcZfoEABZs2axciRIxk7diybN2/G2DjpV+TXX3/No0ePGD58OJUrV07Tz0UIvacQ4gvUs2dPhbOzs2LHjh1p6nfjxg2Fs7Ozonbt2oqQkBBleVxcnGLQoEEKZ2dnxapVq1T61K1bV+Hs7Kzo37+/4v3798rysLAwhZubm8LNzU0RGxur0qd79+4KZ2dntfP7+/srnJ2dFRMnTkw2vuT6VapUSVGzZk3Fu3fv1Nq/fPlSLda6deuqlK1evVoZf1xcnEr8Hz7b9evX1WJ0dnZWLF++XOVY586dUx4rtT6cIy4uTrFixQqFs7Oz4saNG8r6adOmKUqUKKEIDAxU7NixQ+Hs7KxYtmyZyjGCg4MVMTExasc+f/68okSJEorp06erlF++fDnZ43ywe/duhbOzs8LFxUVx9uzZZNs4OzsrunfvrlY+Y8YMhbOzs8Lb21uhUCgUe/bsUTg7Oyt69OihSEhI+PgPQwihRqZOxBcpNDQUSPsaiN27dwMwZMgQbGxslOXGxsZMnDgRQ0NDdu7cmWzfqVOnYmZmpnyfJ08e6tevT0REBI8fP07rR0gTY2NjjIyM1Mqtra0/2Xf37t0YGBjg5eWl/AYOSfEPGTIEINnP7ODgoKz/oGbNmtjb2/P777+n9SMA0K5dO4yMjNixYweQNOVw6NAhatSogb29fYr9bG1t1UaZAGrUqEGxYsX45ZdfNIqnfv361KpVK019Jk2aRIkSJfj+++/ZvHkz33zzDdbW1nh7e6c4IiOESJlcNSJLuXPnDkCyw/6FCxfGzs6OgIAAIiIiVOpy5sxJwYIF1frY2dkBEB4eroVok7Ro0YLAwECaNm3KwoULOXfunFp8KYmMjOTp06fky5cv2cWNH34Od+/eVasrUaJEssmNnZ2dxp/X1taWWrVqcezYMSIjIzl8+DBRUVF07Njxo/0UCgX79++nd+/eVKlShZIlSyrXXdy7d48XL15oFE+ZMmXS3MfU1JTFixdjbm7Ot99+y/v375k3bx758uXTKAYh9J2s0RBfJBsbGx4+fJjmPzAf/kD/ezTjv8cNCgoiPDycnDlzKsstLS2Tbf9hhCAhISFNcaTFpEmTcHR0ZM+ePaxdu5a1a9dibGxMrVq18PLySjYB+iAyMhJI+fN++OOYXOLwsc+cmJiY1o+h1LFjR86cOcOhQ4fYs2cPNjY21K1b96N95syZg6+vLzY2NtSoUQNbW1vl6NKH9TCayJs3r0b9ChcujIuLCzdv3qRYsWLUqFFDo+MIISTREF8oNzc3Ll++zOXLl+nQoUOq+31IHsLCwpK9FfTDlMy/k4z09GFoPaW9IpL7g29kZETv3r3p3bs3L1++5Pr16xw+fJhjx47x4MEDDh8+nOy0AkCOHDmApM+bnA+34Wrr8yandu3a2NrasmrVKoKDgxk0aJDKlM5/vXz5kk2bNuHs7My2bduUn+mDQ4cOaRyLgYGBRv3Wrl3LzZs3yZ07N/fv32fNmjVq00xCiNSRqRPxRWrbti3ZsmXj+PHjPHjw4KNt/33LqqurK0CytyA+ffqU4OBgHB0dU/w2/7k+HPe/t2RC0ujDkydPPto/T548eHh4sHTpUqpUqcKzZ8+4d+9eiu1z5MiBk5MTL168SPbYH34OJUuWTP2H+ExGRka0a9eO4OBgDAwMPpko+vv7k5iYSPXq1dWSjODgYAICApI9B2hnpOnGjRssW7aMwoULc+jQIQoXLszy5cu5du1aup9LCH0giYb4Ijk6OuLp6UlcXBwDBw7k1q1bybY7d+4c/fv3V75v164dAKtWreLVq1fK8oSEBObNm0diYiLt27fXWtw5cuSgSJEi3LhxQyVBSkhIYM6cOURHR6u0j42N5fr162rHiYuL4+3btwCf3L2yXbt2KBQK5s+fr/KH99WrV6xcuVLZJiP16NGDFStWsG7dOgoUKPDRth9uSb1+/bpK/FFRUUydOjXZ0SErKysAnj9/no5Rw9u3bxk7diyGhoYsXryYvHnzsmTJEoyMjBg3bhxv3rxJ1/MJoQ9k6kR8sQYPHkx8fDwrVqygffv2lC9fnlKlSmFhYUFYWBjXrl3jyZMnlCpVStmnQoUK9O/fnx9++IHmzZvTqFEjzM3NOX/+PPfu3cPNzY1+/fppNe5+/foxZcoUunTpQuPGjTE1NeXKlSvExcVRokQJ/vzzT2Xb6OhounbtSsGCBfnqq6+wt7cnJiaGixcv8vDhQ+rVq/fJHSz79u3LuXPnOHXqFK1ataJWrVpER0dz7NgxXr58Sf/+/XF3d9fqZ/4va2tr5X4Xn2JjY0OzZs04fPgwrVu3pnr16kRERHDx4kVMTExwdXVVW8xauHBhbG1tOXz4MMbGxtjb22NgYECrVq3U9tJIi8mTJxMUFMTUqVOVo2MlSpTAy8uLb775Bi8vL1avXq3x8YXQR5JoiC+ap6cnTZo0YevWrVy5coU9e/YQGxuLlZUVJUqUoH///rRq1Uqlz/jx4ylZsiSbN29m3759xMfH4+TkxKhRo+jbt2+K6x3SS/v27VEoFGzYsIG9e/eSK1cu6tevz+jRoxkxYoRKW3Nzc8aNG8eVK1e4efMmfn5+WFhY4OTkxMyZM1M1EmFiYsL69etZv349hw4dYvPmzRgZGVGiRAkmT55M8+bNtfVR083s2bMpUKAAR44cYcuWLVhbW1OvXj1GjBih9jODpKkTHx8fFi5cyLFjx4iKikKhUODm5qZxorFp0yb8/PyoV6+e2lNdu3XrxqVLlzh58iQbNmxQ2ZBMCPFxBgrFv/ZXFkIIIYRIR7JGQwghhBBaI4mGEEIIIbRGEg0hhBBCaI0kGkIIIYTQGkk0hBBCCKE1mfL21vC417oOQYhMw8TQVNchCJHpmBll1/o5DBo6atRPcVJ9t9wvWaZMNIQQQohMT8Nn8WQ2kmgIIYQQuqAnixck0RBCCCF0QU9GNPQknxJCCCGELsiIhhBCCKEL+jGgIYmGEEIIoRN6MnUiiYYQQgihC3qyeEESDSGEEEIXZERDCCGEEFqjH3mGJBpCCCGEThjqR6YhiYYQQgihC/qRZ0iiIYQQQuiErNEQQgghhNboR54hiYYQQgihE7JGQwghhBBaox95hiQaQgghhE7IGg0hhBBCaI2eTJ3oyQaoQgghhNAFGdEQQgghdEE/BjQk0RBCCCF0QtZoCCGEEEJr9CPPkERDCCGE0Ak9WQwqiYYQQgihC/qRZ0iiIYQQQuiErNEQQgghhNboyQYTkmgIIYQQuiAjGkIIIYTQGv3IMyTREEIIIXRCRjSEEEIIoTWyRkMIIYQQWiMjGkIIIYTQGv3IM/Rl4EYIIYQQuiAjGkIIIYQuyBbkQgghhNAaWaMhhBBCCK3RjzxDEg0hhBBCFwxkREMIIYQQ2qIviYbcdSKEEELogIGBZq+0OHPmDK1bt6ZVq1a0bNmSEydOAPD48WM6depEo0aN6NSpE0+ePFH20bQuxc+pUCgUaQtb98LjXus6BCEyDRNDU12HIESmY2aUXevnMBlTTqN+sYt+S1U7hUJBpUqV2LJlC87Ozvz555906dKF69ev07t3b9q1a0erVq3Yv38/u3fvZuPGjQD07NlTo7qUyNSJ+KSKpaqkql2zVk2ZOXs6M6d8w+H9R5TlRsZG2NjYUL1mVQYOG4B1HmtthSrEF+Xqr9fo33tAsnV58uTh9Hk/9u89wPQpM5TlhoaG5LLKRblyZRk0dCCuJV0zKlyRwTJi6sTQ0JCIiAgAIiIiyJcvH69fv+bOnTusX78egObNm/Ptt9/y6tUrFAqFRnXW1in/XpdEQ3zS13NmqLw/4/czP586y8hxw1WSBscCjirtZs6ejoGhAdHvo7lx/SZ7du7j2tUbbNm1EVNT+ZYt9Eebdq1xr+iuUmZmpnoN9O3fh6LFihIfH8+D+w/YtWM3ly5dZsv2zRQrXjQjwxUZRNNEIzw8nPDwcLVyS0tLLC0tVY6/ZMkShg4dSvbs2YmKimLt2rU8f/4cW1tbjIyMADAyMiJfvnw8f/4chUKhUZ0kGuKzNG3RROV9wLMAfj51ltr1alHAqUCK/Ro188DYOOmfWNuObbCysuKnLTs4e+ocHk0bajVmIb4kZcqWpnnLZh9tU7lKJapU+2f0sLxbecaMGMu2LduYNnOqtkMUOqBpouHr64uPj49auaenJ8OHD1e+j4+PZ82aNaxcuRI3NzeuX7/OqFGjmD9/vsYxa0ISDZFhKletxE9bdhAYEKjrUIT44lWtmpR0BMj1kmVpOnPSq1cv2rRpo1b+79EMgLt37xISEoKbmxsAbm5umJubY2pqyosXL0hISMDIyIiEhARCQkLInz8/CoVCo7qPkbtORIbx9w8AIFduKx1HIkTGevfuPa9fv1Z5xcbGfrTPs2f+AOSW6yXLMjAw0OhlaWmJo6Oj2uu/iYadnR3BwcE8evQIgIcPH/Ly5UsKFiyIq6srhw4dAuDQoUO4urpibW1Nnjx5NKr7GBnREFrz9s1bjIyMeP/+PTev/cYPq9ZhZm5GzdrVdR2aEBlqwVxvFsz1Vin7ZvbXtGrTUvk+MiqK169fEx8fz8P7D1kwbyEAjRp7ZGisIuNoezGojY0NM2fOZOTIkcpzfffdd1hZWTFz5ky8vLxYuXIllpaWzJs3T9lP07qUSKIhtKZxHdU56QJOjkya4YVNPhsdRSSEbvTo1Z0aNVUT7KL/WeA5duQ4lfeWlpZMmDSeuvXraj0+kXW1bNmSli1bqpUXLVqUnTt3JttH07qUSKIhtGb5mqUYGBpgbGyMTb68FHAqoDc74Qnxb0WKFlZZ6Jmc0WNHUcLVBUMjI3LlsqRI0SJky5YtgyIUumCgJw87kURDaI17ZTflXSdCiI8r4eryyWREZC368sVL/goIIYQQOqAneYYkGkIIIYQuGOpJpiGJhhBCCKEDMnUihBBCCK3Rl0RDnt4qRBYnT28VIu0y4umteadX06hf2DcX0zkS7ZIRDSGEEEIH9GVEQxINIYQQQgck0RBCCCGE1kiiIYQQQgitkURDCCGEEFqjJ3mGJBpCCCGELujLiIahrgMQQgghRNYlIxqZQER4BNs3/8TPp88R6B9AXFw8+Wzz4VapAh06t8PF1UXXISod2HOQyKgouvborFH/J4+e0LVdD+Li4vD5fhmVq1ZS1t25fZejh45x7co1ggKfY2ZuRtHiRegzoDcVK7t/9LhXr1xjaD9PAPYc2UkBpwIaxScyt/DwCLZu2srpU2cI8A8gLi4OW1tbKlZ2p2PnjriWLKHrEJX27t5HVFQU3Xt2S3WfH9as4/at29y+/QehIaE0bd6UOfNnJ9v2zZs3/LBmHWd/PseL4Bfkzp2b8m7lGDh4AEWKFkmvjyE+Ql9GNCTR+MI9fPCIkYNHExYWRgOP+rRq2wITExP8n/njd+I0B/Yc5ODJ/dja5dN1qAAc2HuQkBchGica82Z7Y2xsTFxcnFqd77qN3Lh2k3oN6tKhawfev3vHwX2HGdrPk0kzvGjboXWyx4yPi2f+rAWYm5vz/v17jeISmd+D+w8ZNsiTsLAwGjZqQJt2rTE1NeHpU39OHj/J3t37OH7qKLZ2troOFYB9e/cTEvwiTYnG8qU+WOexplTpUoSGhKbYLi42jr49+xMYGEiHju0pUrQwQYHP+WnbDs79fJ6d+3bg4GCfHh9DfIQ860To3Lt37xjrOZ7o9+/ZsHUdJf7zbWvIiMFsWr+FTLi5a7KOHznBrd9u0aNPd35YvU6tvmuPznw772tMTEyUZe06taVb+56sXLKSlm2aJ/tY+k0bthD+NpzW7VuxbdN2rX4G8WV6F/WOkZ6jeP/+PZu3b8S1pKtK/fCRw/D90TfTX0uHTxzC0dEBgLIly6fY7vKlyzx88JCJkyfQtXsXZXmp0l8x0nM0fsf96NW3p9bj1Xd6kmfIGo0v2d6d+wgMCGTEuBFqSQaAsbExfQb0wi7/P9/AQl6EMHPKNzSq1YRq5WvSsWVntm7cpvYLtKVHa2ZO+UbtmGtXfE/FUlVUygb1HkKz+i0ICgxi9LCx1K5Uj/rVPJjz9TxiYmJUjvm/m7/zPCiYiqWqKF8fhIWG8eTRE+Lj4tXOGxkZxZIFy+jRpzv2jvmT/XmUrVBWJckAMDMzo0bt6rx9G87LsFdqfYKfB/Pj2vUMGz2MHDkskj2uyPp27dxNgH8AY8aPVksyIOla6jewH3b57ZRlL16EMG3ydOrWrI972Uq0ad6WTb6b1a6lJg2aMm3ydLVjrvJZrfbHvl+v/jSs24jAwCCGDx1JVffq1KxSm29nzlK5lpo0aMpvN34jKOg5ZUuWV74+CA0N5fGjx2ojfx+SjE+JjIoCwMYmr0p5XhsbAMzMzVJ1HPF5DAwMNHplNjKi8QX7+dRZTExMaNzMI1Xt37x5S7/uA3kZ9pIOXdrh4OjA+bMXWDx/KQH+gUyYMk7jWGKiYxjWfwRuFcszYqwnt36/zZ6de7GytmLI8EEAjJk4muWLVxD+NpzRE0aqHcNnyUoO7z/C/uN7sP/PsOzaFd+TLZsxvfr34OQxvzTFFhYShpGxETktc6jVLZyzmGLFi9KidTO+X/lDmo4rso7TfmcwMTGhafMmqWr/5s0benXtRVjYSzp17YijoyPnzp7He95C/P0DmDzVS+NYYqJjGNR3MO6V3Bg9bhS3fr/Frh27yW2dG88RwwAY7zWeJYuWEv72LeMmql+3yxYv58C+gxw5eVijKY7y5cthYmKCz7KV5MyZk8JFixAUGIT3vIUUKFCAJs1S93MSn8eAzJc0aEISjS/Y44ePKVjISe1bfEo2rttI8PNg5i3+jnoN6wHQoUt7JozyYue2XbTt0JpizsU0iuXt23D6Du6rXHvRrlNbIiMi2btznzLRqFO/Nps3bCEuNpamLVL/i+r+X/fZsXUn33nPwswsbd+kHj98zBm/n6lVpybZs6s+BOmXsxc49/N51m9dlym/BYj08+jhIwoVLpjqa2n9Dxt4/jyYhUsW0MCjAQCdu3ZizMhx/LT1Jzp0bEdx5+IaxfL27VsGDhmgXHvRsXMHIsIj2LVjtzLRqNegLr4bNhIXG0vzls00Os/H2OW3Y673HOZ8O4dB/Ycoy8uULY3vlvVYWuZM93MKdfrye0mmTr5gkVFRWKRhuP/cz79QwMlRmWRA0j/kHn26A3D+5180jsXQ0FBtsWUF9/K8fvWaqL+HYT9l5uzpXL19WWU0Q6FQMPfb+bhXcqNew7ppiikyIpKJoydhZm7GmImjVOpiYmLwnrOIFm2aU7KU+lC50C9RUVFYWKiPeKXk5zNncXIqoEwyIOla6v33uoWzZ85pHIuhoSHtO7ZTKXOr6Jama+nb777hf3duftaCTWtra0qWKsmwEUNZ6rOYcRPHEhgQxJABQ3n9Wp6QnRFk6kToXA4LC6Ki3qW6/fPA51SqWlGtvEjRwgAEBgZpHEtu69xqow05//7WE/42HAsLzdY/HNx3mDu377Jtz+Y09YuOjmaM5zgCA4JYtnqxytw6wIbvNxIRHoHnqKEaxSWyFgsLC96l8o84QFBgEFWqVVEr/3DbZ2BgoMaxWFtbq11LlpaWALx981bjaykt/rj9B/17D2DZyqVUr/HPo8qrVK1Mp3Zd+H71D0yYNF7rcei7TJgzaETnIxotWrTQdQhfrMJFC/P08VNiY2PT/dgpZcUJiYnJlhsZpfxPRdOV+nFxcfgsXkHDxg0wMTUhKDCIoMAg3rx+C8Crl68ICgxSO35cXBzjR3rx+/9u8d3CWbhVclOpDwsNY+OPm2jToTXv3r1THjciIhKAkBehBD9/oVHMInMqUrQIjx8/0cq1lNJfi4TEhGTLDT92LaVLQJ+2fesOjLMZU616VZXy4s7FcSroxLWr1zMoEv0mIxrp6MGDBynWyRBdymrXq8VvN/7H8SMnaNG6+Sfb2zvk5+njp2rljx89AVAZZs1pmZOI8Ai1toEBmn9Tg7TNOUa/j+b1q9ccPXSMo4eOqdVP95oJwNlfTyvXX8THxzNp7BR+vfQrX8+ZQe26tdT6vXz5itjYWHzXbcR33Ua1+sF9hpLLKhd+vxxPdawic6tbvw43b9zk6OFjtGrT8pPtHRwdePLosVr547/LHBz+ubvD0tKS8Lfham0D/T/zWtLiQsHQ0FBQJH1J+O81mxAfT7yhzr+D6oXMmDRoIkMSjebNm+Pg4JDsN983b95kRAiZUpsOrdm5bRfLFvrgUsIF5xKqi8/i4+PZ4ruVxs0aY2uXj5p1arBp/RbO+P1M3QZ1gKRfJJs3bAGgZt2ayr4FnApw/eoNoqOjlcO4QYFBnD2t+dwzgHl2cyIiIpP9BRYWGkZkRCSOBRwxzmaMubk5C5bOUzvGtSvX+GnrTgYOG0Bx52KYmpoCkJiYyHSvmZw9fY7JM71o3KxRsjE4ONgne9wTR09y8pgfXtMmYGdvl0xPkVW179iO7Vt/YrH3Ykq4uuBSQnU33fj4eDZu2ESz5k2xtbOldp1abPjRl1N+p6nfIGnNk0KhwHd9UuJau15tZV+ngk5c/fWqyrUUGBjE6dNnPivm7NnNiYiISPZaCg0NVV5L2bJlS/OxCxcuxKULl/A7cQqPxg2V5b/d/A1//wBatPr0Fxvx+STRSEcODg5s3boVW1v1Hfdq166dTA8BSfPKC5cvYOSQ0fTq3IcGjepTulxpTE1M8H8WwOmTpwkMCKJJ88YA9OzXk5PHTjF1wnTa/31764VzF7h4/hIdurSnWPGiymO379QWv+OnGNZ/OI2bN+LNqzfs2r6bwoULcffOnxrHXLJUSS79cpmFcxdTqsxXGBoY4tE06RfZf29vNc5mTJ366v/9IyKSRlrKlCutsgX5Uu9lnDzmRwX38piamnLk4FGVfpWrViJP3jzkyJkj2ePe+/MeAJWqVpQtyPWMhYUFy1YsYeggT7p27I5HYw/KliuDiakJ/k/98TvhR0BAIM1aJN3h0ad/b44fPY7XuEl06tIRxwKOnD97nl/OX6BT104UL/7P3VsdO3fgxLETDOo3mKbNm/L61Wt+2r6DIkUKc+ePuxrH/FXpr7jwy0Xmz1lA6TKlMTA0oEnTpGs9pdtbDx44xPOg58r3D+8/YO3q7wFwc6+Am3vSNGPX7l04uP8gkydO4fq16xR3Lo6/fwA7tu3A3NycPv16axy3SD09yTMyJtHw8PAgMDAw2USjYcOGyfQQHxRzLsa2PVvYtuknzp45x9nT54iPj8fWzpaKVdyZt7gd+WyTth+3ssrFus1rWbl0NUcOHCUqMgoHR3tGjR9B155dVI7rVsmNiVPHs2n9ZhbPW0qBggUYP2Ucjx48+qxEo3vvbgQ8C+DowWPs2LoThUKhTDQ+1593/gLgxrWb3PROCgcAACAASURBVLh2U61+9Y8ryJM3T7qcS2Q9xZ2Ls3vfTjZv3MLPp3/mzKkzxMfHY2dnR6UqlVi4tCO2ymvJCt+tvixfspxDBw4RGRmFYwFHxk4YQ49e3VWOW7GSO1OmT2L9Ol8WzPXGqaATk6Z48fDBw89KNHr16Yn/M38OHTjMti3bUSgUykQjJft271NZX/HXX/f466+kBHvw0EHKRKOAUwG2797OmpVr+eX8BXbv3IOFhQVVq1dhiOcQedZJBtGXEQ0DRSbcczc8TtZ1CJFaJoamug5BiEzHzCj7pxt9JtelTTXqd3fkkXSORLtkxY8QQgghtEb20RBCCCF0QF+mTiTREEIIIXRAT/IMSTSEEEIIXZARDSGEEEJojSQaQgghhNAaSTSEEEIIoTV6kmfI7a366uqVa1QsVYWKparg/8z/o23fvn3LFt+tDOk7jEa1m1KrYl26tu2O77qNxMTEfLRvbGws7Zp1oGKpKqxatlqtfuOPm2jp0Zp61RriNWYyr16+UmvjPWcR/boP0PjhbUJoIj4+njWr1tKkYTMqlqtMq2ZtlBtnfcqxo8eZ4jWVVs3aUO6rCjSsm/x2+R/Os23Ldjq26URV9+rUqVGP/n0GcuH8BbW269dtoEmDptSoUotxo8bzMpnrZd538+nVrbdcL5mAvjxUTRINPRQfF8/8WQswNzdPVfvfb95i+aIVmJia0L13N0ZNGEnR4kVZsWQVngNGkJCQ/FMqATb+uJnQkLBk604cPcnyRSuoXa82A4f257cb/+ObqbNU2tz/6z57d+5jwtTxmfICE5nX7G++Y+XyVVStVoVJUyfi7FycubPnsWbV2k/23bl9J6dOniZPHmvy5Pn4brWzv/mOubPnUaRYEcaMH02fvr0JCw1j6CBP/E74KdsdO3qcJQuXUrd+XYYMG8zNG78xY8oMlWPd++seu3bsZtLUSXK9ZAYGBpq9MhmZOtFDmzZsIfxtOK3bt2Lbpu2fbF+kWBF2H96Jg+M/z1Ro26E1DgUcWLf6R86dOa98iNu/BQYEseEHX/oP7seKJSvV6s+ePod7JTfGeo0GwCKHBbOmf0dMTAympqYoFArmz/amdfuWuJRw1vwDC5FGf979iz279tKzdw/GThgDQNv2bWHMRNat/ZF2HdpiY2OTYv/Zc2dhk88GIyMj+vXqz7MURg0jIyPZv/cA9RvWY+6COcrylm1a0KC2B/v2HqCBRwMAzpw6Q8XKFZkwaTwAOXLkYOa0r1Wul+++nUvb9m0o4eqS7PnEl0VfkkEZ0dAzwc+D+XHteoaNHkaOHBap6uPgaK+SZHzQwCPpqZaPHj5Ktp/3dwspWaokHk0aJFsfHR1NTsucyveWuSxJTEwkJjppOubwgSM8e/KMIcMHpypOIdLLiWMngKSHj/1b1+5diI2N5cypjz+Z1S6/HUZGRp88T/T7aBISEsj7n6QlV65cmJqaYv7302A/tLX81/WS6z/Xy8H9B3n69CmeI4d98rziy6AnAxqSaOibhXMWU6x4UVq0bvbZxwoNTZoSyZ07t1rd2dPnuHThMhMmj02xf6kypbh04TKXL1zh2dNnbPHdRsHCBbHMZUlkRCTLF/owfKwnOXLm+OxYhUiLP/64Q968eclvn1+lvFSprzA0NPysh6X9W16bvBQpWoT9e/dzcP9Bngc958H9h8yYOpPExER69O6hbFumbGku/HKRixcu8fTJUzZu2EShwoWwzGVJREQEixcuZfTYkeTMmTPlE4ovir6s0ZCpEz3yy9kLnPv5POu3rvvsf6yJiYls+N4XM3MzaterpVIX/T6ahXMX0b5TW4o5FyMoMCjZY3Tp3olrV64xfNBIAKytczNvSdLw8arlq3Eq5ESzlpo9dEiIzxEaEopNPvWpkWwm2chllYuQFyHpdq6FSxYwacIUpk6ariyzscnL2h/XUKZsaWVZ1x5d+fXKVYYMGAqAdR5rFi7xBsBn6QoKFixIi1Yt0i0uoX2ZMWnQhCQaeiImJgbvOYto0aY5JUu5fvbxVi1bw41rNxk3aYzao9nXrVlPdHQMgzwHfvQYZuZm+Hy/jGdP/YmMiKRosSKYmZtx78/77N25nw3bfiQmOoYl3su4cO4iOXPmoGe/HjRulvIKfiHSQ0xMTIpTi6Ympp+82yotLHLkoLhzMcqVL0vFyhWJioxi25btDBvkycq1KyhdphQA5ubmrP5hFU+fPlNeL+bm5vz151/s3rmHLT9tIjo6mkULFnP+7HlyWuakT78+NG3eJN1iFelLEg2RpWz4fiMR4RF4jhr62cfasXUnG37wpV3HNnTq1lGl7snjp2zx3crEqeNV1l+kxMDAgIKFnJTvkxaALqBth9Y4lyjOd1/P5fqv15k172sePnzMdK+Z2DvYU6Zc6Y8cVYjPY2pqSmxsXLJ1MbFJiy/Tw7uod/Tq2osmzZowcswIZblH44a0bdGOb2d8y469PynLDQwMKFSooPK9QqHgu1lzad+xHS4lXPhmxiyu/nqVOQvm8PDBQyZPnIKDoz1ly5VNl3iF0ISs0dADYaFhbPxxE206tObdu3cEBQYRFBhEREQkACEvQgl+/iJVxzq47xDecxbh0aQhE6aOV6tfvsiH/A75ca/srjzPh2HmyMhIggKDiI6OTvH4h/Yfxv9ZAIOHDyIxMZHD+4/Qq19PylYoS9sOrSlbvgwH9x3S4KcgROrZ5LMhNCRUrTwuNo63b94mO62iCb+Tfjx/Hky9BvVUys3Nzaleszp//XWPiIiIFPsf2HcQ/6f+DBsxlMTERA7uP0jf/n0oX6Ec7Tu2o1z5cuzfeyBdYhXpT18Wg8qIhh54+fIVsbGx+K7biO+6jWr1g/sMJZdVLvx+Of7R45w4cpJZ07+jRu3qfD1nBoaG6nnq86Bgnj15RuvGbdXqdmzdxY6tu1jk403NOjXU6iPCI/BZtIIRY4eTI2cOXoa9JDY2Fhvbf36p57PNl67z40Ikp2RJVy5fvMzzoOcqC0Jv3/6DxMRESn5VMl3O8yGZSUxU34vmw/408fHxyfYND49gyaKljBk3ipw5cyqvl3y2+ZRtbO3y8SI4dV8iRMaTqRORZTg42LNg6Ty18hNHT3LymB9e0yZgZ28HJC3kDH4ejFVuK6xyWynbnj19jumTZ+JWqQJzF32HsXHy/3TGTBxF5N8jJR+8evWaOV/PpUGj+jRq6pHiGpFVy9ckLQBtlbQA1Cq3FcbGxjx68Iiq1asA8OjBI0qWSp9f8kKkxKOxBz/+sJ6tm7cp99EA2Lp5G9myZaNu/ToAvH//Xnm9JHf31acUKlIYgMMHj6hMb4S/Defcz+ext8+f4nF9lqkuAP1wvTx88JDqNaoB8PDBI76S6+WLJYmGyDJy5MxBnfq11crv/XkPgEpVK1LAqQAAf9z6g8F9hzFgSD8GDhvwd9kdJo+bipmpKQ086uN3/JTKcRwLOCrXTLhXclM7z4e7TpwKFkg2DoC/7v7F/t0H2LBtnbLMyMiI+o3qsW7NehQKBU8ePeHB/YeMnTQm2WMIkV5cS5agddtWbPLdTFTUO0qV+YpLFy5z4tgJBg8dRL58SaMGt2/9Qf/eAxg8dBBDPP/Z7+X6tetcv3YDgKCg57yLesfa1d8DkN8+Py1aNgegVu2auJRw4adtOwgNDaNK1cpERkaye+cewsLCmD13Fsm5e+dP9u7ay5afNinLjIyM8GjUkLWrv0ehUPD40WPu37uv3OBLfHkk0RDib48ePiI2NpbY2FjmfKM+MtKsVdPPWpypUCiYN8ubth3bUNyluErdhMnjmP+dN+vX+pIjpwWTpk9MNpkRIr1NnTGF/Pnzs3/vfg7sO4C9gz0TJo1X28QrOb9evsrqlWtUylYsS9od172imzLRyJYtG+s3rcP3x434nTzFpQuXMDAwoISrCxO8xlGnXh21YysUCubMmkOHTu1xdlHdMXfSVC+YNZcf1qwjR84cTJ0xhUqVK2r2AxBapy+JhoEiEz55Jzzuta5DECLTMDFMnzskhNAnZkbZtX6O6ps7a9TvQvdPPzriSyIjGkIIIYQO6MuIhtzeKoQQQuhARmxBHhMTw4wZM/Dw8KBFixZMmzYNgMePH9OpUycaNWpEp06dePLkibKPpnUpkURDCCGE0IGMSDQWLFiAqakpx48f5+DBg4wcmfTIhxkzZtC1a1eOHz9O165dmT79ny3wNa1L8XPKGg0hsjZZoyFE2mXEGo3a27tp1O9g01WEh4erlVtaWmJpaal8HxUVRe3atTl79iwWFv9sqf/y5UsaNWrElStXMDIyIiEhgcqVK3PixAkUCoVGddbW1inGK2s0hBBCCB3QdI2Gr68vPj4+auWenp4MHz5c+d7f3x8rKyt8fHy4cuUKFhYWjBw5EjMzM2xtbTEyMgKSbo3Oly8fz58/R6FQaFQniYYQQgjxpdEw0ejVqxdt2rRRK//3aAYk7S7r7+9PyZIlmThxIv/73/8YPHgwS5cu1ei8mpJEQwghhNABTUc0/jtFkpL8+fNjbGxM8+ZJ+7aULVuW3LlzY2ZmxosXL0hISFBOgYSEhJA/f34UCoVGdR8ji0GFEEKILMja2prKlStz4cIFIOmOkZcvX1KoUCFcXV05dCjpAZWHDh3C1dUVa2tr8uTJo1Hdx8hiUCGyOFkMKkTaZcRi0Pq7emrU71R79YdjpsTf35/Jkyfz5s0bjI2NGTVqFLVr1+bhw4d4eXkRHh6OpaUl8+bNo0iRIgAa16VEEg0hsjhJNIRIu4xINBrs7qVRP792vukciXbJGg0hhBBCBwz1ZGdQSTSEEEIIHdCXLcgl0RBCCCF0QF/uxvhkojFp0qRUH2zOnDmfFYwQQgihL2Tq5G+vX6suvLx69SqGhoY4OzsDcP/+fRITE3F3d9dOhEIIIUQWJFMnf1u9erXy/69ZswZTU1PmzJlD9uxJK3LfvXvHlClTlImHEEIIIT5NX0Y00jRFtGnTJoYPH65MMgCyZ8/O0KFD2bx5c7oHJ4QQQmRVGfH01i9BmhKNqKgoQkJC1MpDQ0N5//59ugUlhBBCZHWGGr4ymzTdddKoUSMmTZrEhAkTKFu2LAD/+9//8Pb2xsPDQysBCiGEEFmRvkydpCnRmDlzJnPnzsXLy4v4+Hgg6TGx7du3Z+LEiVoJUAghhMiKMuM0iCY02oL83bt3PHv2DAAnJyeVNRsZQbYgFyL1ZAtyIdIuI7Yg73hksEb9djRd/elGXxCNpnuio6OJiYmhSJEiGZ5kCCGEECLzSFOiERkZyYgRI6hWrRqdO3fmxYsXAEyfPp3ly5drJUAhhBAiKzLQ8JXZpCnR8Pb2JiQkhL1792JmZqYsr1u3LidPnkz34IQQQoisytDAQKNXZpOmxaCnT5/Gx8cHV1dXlfKiRYvi7++froEJIYQQWVlmTBo0kaZEIzw8nNy5c6uVR0VFYWRklG5BCSGEEFmdvtx1kqapk9KlS3Pq1Cm18u3bt1O+fPl0C0oIIYTI6mTqJBmjR4+mX79+PHjwgISEBDZs2MD9+/e5deuWbEEuhBBCpEHmSxk0k6YRjQoVKrB9+3bi4uJwcnLi0qVL5MuXj+3bt/PVV19pK0YhhBAiy5ERjRS4uLgwb948bcQihBBC6I3MmDRoIk0jGq6urrx8+VKt/PXr12p3ogghhBAiZfry9NY0jWiktFt5bGws2bJlS5eAhBBCCH2gLyMaqUo01q9fDyRlX9u2bcPCwkJZl5CQwLVr1yhSpIh2IhRCCCGyIP1IM1KZaGzatAlIGtHYtWsXhob/zLhky5YNR0dHvv76a+1EKIQQQmRBMqLxL6dPnwagR48e+Pj4kCtXLq0GJYQQQmR1kmgkY926dcmu04iJicHAwAATE5N0C0wIIYQQmV+a7joZOXIkW7duVSvftm0bo0aNSreghBBCiKxOX+46SVOicePGDapXr65WXr16dW7evJluQQkhhBBZnaGGr8wmTVMn0dHRyT48zdDQkKioqHQLSgghhMjqMuPohCbSlBy5uLhw+PBhtfKDBw9SvHjxdAtKCCGEyOpkC/JkDBs2jKFDh/L06VOqVKkCwOXLlzl27Bg+Pj5aCVAIIYTIijJj0qCJNCUatWvXZtWqVaxatYrZs2cDSduSr1y5ktq1a2slwORkM5S7W4RILfPGzroOQYhMR3EyQOvn0JepkzQ/VK1WrVrUqlVLG7EIIYQQesNQT/YGTXOiIYQQQojPJyMaf6tQoQJ+fn5YW1tTvnz5j/5gbty4ka7BCSGEEFmVrNH427Rp08iRIwcA06dP13pAQgghhD4wkKmTJG3atEn2/wshhBBCczJ1IoQQQgitkamTv5UoUSLVWdfdu3c/OyAhhBBCHxhkyg3F0+6TicaSJUuUiUZYWBjLli2jYcOGlCtXDoDffvsNPz8/hg8frt1IhRBCCJHpfDLRaNy4sfL/Dx48mLFjx9KxY0dlWfv27SlTpgx+fn5069ZNO1EKIYQQWYy+TJ2kadzmypUrVK5cWa28cuXK/Prrr+kWlBBCCJHVyWPik5E7d26OHz+uVn78+HGsra3TLSghhBAiqzPQ8H+ZTZruOhkxYgSTJk3iypUrKms0Ll26pHz2iRBCCCE+TV+mTtKUaLRu3ZrChQuzceNGTp8+DUCRIkXYtm0bZcuW1UqAQgghRFaUGadBNJHmfTTKli3LwoULtRGLEEIIoTcM9eT21jR/yrCwMNatW8fMmTN59eoVANevX8ff3z/dgxNCCCGyKlkMmozbt2/TuHFjDh48yK5du4iKigLg4sWLLFmyRCsBCiGEEFmRJBrJmDdvHj179mTfvn1ky5ZNWV6jRg15cqsQQgiRBoYYaPTKbNKUaPzxxx/JPljNxsaGsLCwdAtKCCGEyOoyckTDx8cHFxcX7t27ByTdMdqyZUsaNWpE3759efnypbKtpnUpSVOiYWZmxtu3b9XKHz16RJ48edJyKCGEEEKvGRoYaPRKqz/++IPffvsNBwcHABITExk/fjzTp0/n+PHjuLu74+3t/Vl1H/2caQm2fv36+Pj4EBsbqywLCAjA29sbDw+PtBxKCCGE0GsZsWFXbGws33zzDTNnzlSW3b59G1NTU9zd3QHo3Lkzx44d+6y6j0nT7a0TJ05kwIABVKlShejoaLp27crLly+pUKECo0aNSsuhhBBCCL1maKDZ7a3h4eGEh4erlVtaWmJpaalStnTpUlq2bImjo6Oy7Pnz59jb2yvfW1tbk5iYyJs3bzSus7KySjHeNCUaRkZGbNq0iatXr3Lnzh0SExP56quvqFatWloOI4QQQggN+fr64uPjo1bu6emp8iT1mzdvcvv2bcaNG5eR4alJdaKRkJCAu7s7+/fvp2rVqlStWlWbcQkhhBBZmqYLO3v16pXsjRn/Hc24evUqDx8+pH79+gAEBwfTr18/evToQVBQkLLdq1evMDQ0xMrKivz582tU9zGpTjSMjIywt7cnLi4utV2EEEIIkQJNH5CW3BRJcgYOHMjAgQOV7+vVq8fq1aspVqwYO3bs4Nq1a7i7u7N9+3YaN24MQKlSpYiOjk5z3cekaepk6NCheHt7s2DBAnlaqxBCCPEZdPVQNUNDQ+bPn8+MGTOIiYnBwcGBBQsWfFbdxxgoFApFaoNr0aIFAQEBxMXFYWdnh7m5uUr9wYMH0/JZNfY+ISpDziNEVpC9sYuuQxAi01GcDND6OVbeXqZRv6GlRqRzJNqVphGNRo0aaSsOIYQQQq/IY+L/5f3798yfPx8/Pz/i4+OpWrUqU6dOlekTIYQQQkMGGt7emtmk6lMuW7aMvXv3UqdOHZo1a8bFixdVNv8QQgghRNpkxIZdX4JUjWicPHmS2bNn06xZMwBatmxJly5dSEhIwMjISKsBCiGEEFmRvkydpGpEIzg4WLnlKECZMmUwMjIiJCREa4EJIYQQWZm+PCY+VSMaCQkJKo+Fh6R9NeLj47USlBBCCJHVZcZHvmsiVYmGQqFg/PjxKslGbGws06ZNw8zMTFm2evXq9I9QCCGEyIIy4+iEJlKVaCS31WnLli3TPRghhBBCX+jLXSepSjTmzJmj7TiEEEIIvaIvUyf6kU4JIYQQQifStDOoEEIIIdKHrNEQQgghhNZkxs23NCGJhhBCCKEDMqIhhBBCCK3Rl8WgkmiIVLn66zUG9B6YbF2ePHk4df4k+/ceYMaUmRgaGrJj708UK15Upd0qn9WsWbmWA0f34VTQKSPCFiJDpfbR4htO7KDPgjGsH7+I3h4deRYSSPHeNYmNi1Vpd8Z7J8XsC1Gga0VthCt0TG5vFSIZbdq1xr2im0qZ6b82bQNITExklc8qFi71zsjQhNC57nNHqLxvW6MJbWs0Yeyab3jxOkxZ/jDoiUo7p3wODGzaDZ/96zMiTPGFkDUaQiSjdNnSNGvZ7KNtXEuW4LTfGe7euYtrSdcMikwI3dtyao/K+2L2hWhbown7L55QSy7+7fq935ncxZMfjm4jOjZay1GKL4W+rNHQj3EbkaF69e2Fubk5K5ev0nUoQmQK0329yZ/HlmEte+k6FJGB9OUx8ZJoiDR59+4dr1+/VnnFxqrOK1tZWdG1RxfOn/2F3//3u44iFSLzOH7tLOdvXWFip6FYmGXXdTgig+jL01sl0RBp4j13IXWr11d5HT18TK1dzz49yWmZkxVLV+ogSiEyn2kbvLGxysOotv11HYrIIIYYaPTKbGSNhkiTHr26U71mdZWyosWLqLWztMxJz949WLFsJdeuXldbQCqEUHX290v43TjP2PYD8dm/gbdR4boOSWhZZhyd0ISMaIg0KVy0MFWqVVZ52djYJNu2a48u5M5txcplMqohRGpM27CA3DmtGNs++VvJRdai2XhG5vuznfkiFpmGhYUFvfr24sb1m1z85aKuwxHii3f57g0OXznFyDb9yGOZW9fhCC2TNRpCpIPO3TqRN29eVi5fretQhMgUpm1YgKVFTiZ0HKrrUIRIF5JoCK0yMzOj74A+3L51m3M/n9N1OEJ88W4+uM2eX44yrGUvbHPn1XU4Qovk9lYh0kn7Tu2ws7Pj7p0/dR2KEJnCdF9vzExMcXUqrutQhBYZGhho9MpsJNEQWmdiYkL/wf10HYYQmcYfT/7ip7MHdR2G0DJ9GdEwUCgUCl0HkVbvE6J0HYIQmUb2xi66DkGITCe1D8j7HEf992nUr0mB1ukciXbJPhpCCCGEDmTGW1U1IYmGEEIIoQOZ8VZVTUiiIYQQQuhAZtxOXBOSaAghhBA6ICMaQgghhNCazHgHiSYk0RBCCCF0QEY0hBBCCKE1cteJ+GKEh0ewddNWzpz6mQD/AOLi4rC1zYd75Yp06tyBEiVL6DpEpX279xEZFUX3nt1S3eeHNeu4fesP/rj9B6EhoTRt3oTv5s9Wa/f40WMO7j/E5YuXefbMHyNDIwoVKUT3nt1o2KiBStuw0DCWLFrGnVt/EBISSnxCPPb29jRq4kH3Xt2wsLD47M8qvgy5LCwZ2aYfras3omj+gphky0ZAaDBn/neRlQd8+e3hH7oOUalPo05YZs/B0r3rUt3HOqcVs/tOpEWVhuS1zM2TFwGsPbKFxbu/52PbILkUKMr/Vp/A1MSUBhM6c+rmL8q6Ek7FmNF9NG7OZchvnY/ExEQePn/K+uM7WH1oE3Hxccq2BW0debL5crLn+OHoNgYsGp/qzyJUZcZdPjUhicYX7sH9h3gOGk5YWBgNGjWgTbtWmJia8uzpM04e92Pf7n0cO3UEWztbXYcKwL69B3gR/CJNiYbP0hVY57GmVOmvCA0JTbHd3l372L1zD3Xr16FV21YkJiRy/NgJxo+eQN8BfRgxeriy7Zs3bwkKCKR2vdrY5bfDyNCQu3f+5Ic16zj78zk2bt2AsbH888/sShZ05uh3m8hvnY+d5w6z7th2omNjKO5QmA61mtGvcWeculUmMOy5rkMFoG/jTjjmzZ/qRMPCLDvnF++hSH4nVh7YyL3AR9QuU4WFg6ZTwMae0atmpth3xfDZxCXEY4qpWl0BG3usLa3YfmY/AWHPMTI0ovpXFVkyZCb1ylWjzcz+an32XTjGrvNHVMoeBD1J1ecQyZM1GkLn3kW9Y5TnaN6/f8+m7b64lnRVqfccOQzfHzd+9FtNZnD4xEEcHB0AKFeyQortPJp4MHDoAHLkyKEs69S1IwP6DML3x41079Uda+ukR2sXK16UHzep/zJ3KujEYu8l/Hr5V6rVqJbOn0RkJAuz7Bz45kcszLJTeXgLbj64rVI/5cd5jO84mMz8pXFQ8+6ULOhMp1lD2PH3luRrDm0m9M0rhrfqw9rDW7j77L5av851W1GtpDvzd6xiRo/RavUnr5/j5HXVhxyuOriR15Fv8WzVG2fHItwLeKRSf/vJX2w5tScdP53QF/oxQZRJ7d65hwD/AEaPH6WWZAAYGxvTb2Bf7PLbKctevAhh2uQZ1KvZgIplK9O2eTs2+W5WS0aaNGjGtMkz1I65yme12h/7fr0G4FG3MYGBQYwYOpJq7jWoVaUOs2bOJiYmRuWYv934jedBzylXsoLy9UFoaCiPHz0mLi5O5fgfkoxPKVX6K5UkA8DQ0JAGDeuTkJDA08dPPnkMewd7ACIiIlJ1TvHlGtisG0XtCzFu7bdqSQZAQmICc7evICD0n9EM+zx2rB+/iOAdN4k+/JA/fjjNqLbq394fb7rE+vGL1Mpn9BijtjX1Ge+d+G+9SkFbRw58s57w/X/ycvdtVo2cg2m2f0YTHm+6RI1SlShkVwDFyQDl6wM763y4FCiKsdE/3/9qla5MdGw0O88dUjnnJr/dGBkZ0aVuK7UYc2bPwcJB05i/YxWPg58l96NL0ZNgfwCscuRKtt7MxAwzE7M0HVOkzMDAQKNXZiMjGl+w036nMTExoWnzJqlq/+bNG3p37U1Y2Es6xdFPQwAAIABJREFUde2Io6MD586eZ+G8RQT4BzBpqpfGscRExzC472DcK7kzetwofv/9Frt27Ca3dW6GjRgKwHivcSxdtIzwt28ZN3Gs2jGWLfbh4L6DHD55CIe//+Cnhw/TLbn/Hs34t9jYWKKiooiNieXeX/dZvsQHMzMzyrulPHIiMoc21RsTHRvN1tOpe16EdU4rLi7dh11uG1Yc8OVR8DOaV27A4iEzKWpfiOE+UzWOxdzUDL952/n590uM/34WVVwrMLh5D0LfvGS6rzcAo1bNZF7/yVjntGL06q/VjjGnnxe9PTpSqHsVnr5ISkBMs5kSExer9kUhKvodAO7OZdWO83XPscTGxTF3+wo61Wnxybizm5pjYZadSiXKMaHjEIJeBvP7o7tqbUe26cfUbiMBuB/4mMW7v2fVwY2p+OmIlMjUiRa8fv2a4OBgAOzs7MidW/0Pg/jHo4ePKVS4ICYmJqlqv/6HDTx/Hoz3kgU08KgPQKeunRg7chw/bd1B+47tKO6s2WOn3759y4Ah/ZVrLzp0bk9EeAS7duxWJhr1GtRl44ZNxMbG0qxlM43Ok1avXr5iz669lPzKlUKFC6nVHz18jBlTZirfFypciCU+i8mXzyZD4hPaU7KgM3/5PyI2LjZV7Sd2GkZBW0fafT2QPb8krTVYsX8Du2d8j2er3qw5tJnbT/7UKJY8lrn5dvMS5dqLNYc2Y2VhyaBm3ZWJxv6LxxnXYRCm2UxSPQXxp/8DGlesQ9miJfnfwzvK8rrlkqb9HPLaqbQvXdiV4a370HHWEKJjoz95/AkdhzKz5xjl+6t//caAxRNU+iYmJuJ34zx7LxzjWUgg9nls6d+kCytHfEdhOycmfD8rVZ9FqMuMoxOayJCpk2fPntGrVy88PDwYN24c48aNw8PDg169evHkyZOMCCFTioqKStPdEWfPnKOAUwFlkgFJ/5B79e2prNeUoaEh7Tu2Uylzq1iB169eExWVuqfpfvvd1/x250a6jWbExcUxfsxEoqKimDpzSrJtqtWoyuofVrFw6QJ69ulB9uzmMm2SRVhmz0H4u9T/t2xZtSH3Ax8rk4wPFuxYBUCLqg2S65YqCQkJrDm8RaXs7O+XyZc7LznMU3cN91kwBoOGjsrRDIC1h7cQExvDtskrqF++Bk75HOjeoB2zeo8nLj6O7KbmKsdYNfI7Tv92gb2/HE3VOTee3EWDCZ3pNGsIaw5tJi4+HisL1WkT/9AgGk7swsoDvhy67Mfaw1uoMqIlZ3+/zJh2AyiSv2CqziXUGWr4v8wmQ0Y0JkyYQNeuXVm/fj2Ghkk/pMTERA4ePMjEiRP56aefMiKMTMfC4v/t3Xt8jvXjx/HXNjOG2W622QFD2W8p5yyHr5w3x8lpyJmoHJMcUlQkqxE5pCgJoU1Om5wPRSkmkfNhsyPDnI0df3+sbq1tzK17o72fPfZ4uK/rc13X59rD9N7nWIybN2/lunxsTCzP1fPOcrxipYoAxMTEmlwXg8FAkSKZ+2bt7OwAuHrlap5PF01LS2P8mLfYv28/7wdM5qkqT2VbztHREUfHjNaLps2bsm3LNkYOG8W8BZ9m+72Sx8e1WzcoYVv8/gX/5FHGnc1hP2Y5fuRsxmDKCmXKmVyX+CsXs7QgXL5xFcjosrmRmLsw/k9HI0/S8b2BfP5aAFs+XA7ArduJvDF/MhN7vMb1xBvGsn18uvBs5WpUHdQ81/cPPxdpHMfx7c51jOgwgE1Tl1Lt5RYcizyV43VpaWkEBs3j+arP0bRGA87EnTXp/Qo6tWj8i65cuUK7du2MIQMyfkP28/Pj6tWreVGFx1LFShWICI8gKSl3TcMPIqe/4Glpadket7TK+a9KXs95SU9P592332PThs2MfWtMrsewADRq0ogiRYuwZtVa81VQ8sSRsyf4v7KVKGydu67FB5HTTC4ry+x/DlJz+LmBh/+fSegvWynX3ZsaL/tQf0R7XPxrsnDjCkrZORhnhlgXsiag/5us2LmO20l3KO/sTnlnd0rbGQBwdnCkvLP7fZ/1zbbVFLYuTI+mHe5b9uz5GABKl1QXuKksTPzvcZMnQcPe3p6QkJBMP7zp6emsXbvW+FuxZNW4aWOSkpL4PnRDrsq7ubsSfiYiy/HwM+EZ5//WZWFnZ8f1q9eylI2OijGtsn/Kix+BDyZPZc2qtQwfOQz/bl0e6NrU1FRSklO4di3ru8vjZfVPGylSuEi2My+yE34uiv8r90SW417ln/zz/N0ZGpdvXMUhm5kXD9tNYOpU9NS0VA6cPsxPh/dx7dZ1mtX8H1ZWVmz6c4qqrU1RnBxK07NZRyKW7DF+BQ56G4Cl42YRsWQPxYrY3vM5RQpnzJLJ7t3/6Qk3DwDir1wy6Z2k4Mw6yZOgMXXqVIKCgvD29qZt27a0bdsWb29vgoODmTp1al5U4bHUsUsHXN1cmRE4g+PHTmQ5n5KSwsIFX3H+3HkAGjZqSFRkFNu2bDOWSU9P5+uFiwFo1OR54/Fy5cvy++8HuX37bnNvTEws27dtf6g629racv369Wz/Qc1peuuD+DhwBt8uC2LAoP70HdAnx3IJlxKyPb7muzWkpKTw9DNVTK6DPBo+D11KeFwkH730FlUrZp3+bWVpxWj/V3Er7QLAup+38KRbBdrX981UblSnQQCs/Xmz8djJmHDqetXKNJWzvLM77ev5PFSdbyTewr549r9cZTe9NTvFixZjcp/RRMbHsHzHGiBjFkr7if2zfH2y6ksAJiwKpP3E/iT+2b3jaF8q23u/3KYnAL8eP2A8ll1ZG2sb3uw2hOSUZDbt23mft5acFJQWjTwZo+Hh4cGiRYtISEggLi5jTruLiwsGgyEvHv/YKlasGDPnfMzgQUN5sUsPWvg2p2r1qtjY2BB1NorNm7YQEx1Dq7atAOg7oA+bvt/E2FFv4t+tC25l3fhx5y52/7gb/+5deOLJu7/Nde7amU0bNjOo/yu0atOSywmX+XZ5EBUrVuDI4axT23KryjNV2L3rJz78IJBnqj6NpaUlvq0y/nHOaXpryNoQ4mLPGT+fOnma+fMWAFCzdg1q1a4FwDeLl7Hoy6+pWKkiFSp4ELo2NNOzq9WohnvZjObhBZ9/Qdje/dRvUA9Xd1cSExM5sP8A27Zsp7xHeV7s2d3kd5RHw43Em7Sb0I/vpyxm7+xQvt0Zws9Hw7iddIcnXD3o1LA1FcuUY8mWjBkeASsypnsue3N2xvTWuEhaezelVZ0mzF7zFYcjjhvv/em6xfg3aseWD5exdOsqHEuW4tV2vTgadTLbKaW5tffE77Ss05gZr77LL0d/Iy09jRU7MrrxspveCvD7Z5tZt2cz4eeicCxpoL9vN1wMTviMe5FbtxMBSElNYc1PG7M8769Q89PhfZmWIP9seACl7OzZcXAPUfGx2Be3o0WthjSv1ZDdh/eydOsqY9kPXxqPp3slNu//kaj4WMoYHOnZrCOV3SsyfmEAURdMH/tV0D2OocEUeTq91WAwKFw8oCcrP0nw6m9Z8vVSdmzbyfatO0hJSaFMGWfqPFcH/5kf4ezsBGR0UX31zVfMmjGbkLUh3LhxE/eybrw+eiQ9emdeEvzZOrV5c8I4vvpiEYFTp1GufDnGjh/D6VOnHypo9Orbk8jIKELXhrJ86XLS09ONQSMnq1auIWxvmPHzieMnOHE8owVn0KsDjUHj6NGMqYdnTp9h/Ni3s9zn3fffMQaN/z3/P+Jiz7E+5HsSEhKwtLTEvaw7/V7qS5/+vSlRooTJ7yiPjj8ijvHMwGaM6DAAv3otaF/fB2urQkRdiGPrb7vouHYgsZcyQmzC9SvUG96eKf3G0KtZJ+xsi3PmXCQj573LxyvnZ7rvzoM/88rMcYzu8gofvzyRkzHhDJn9FlXKez5U0AgMmscTrh70bNqRoX59sbS0NAaNnISdPEj3xu1xLeXMtVs32HZgN+8snn7PwZr3s3zHGvq06EJ/3644ljRwJzmJ49GnGT3/fT5Z9SUpqSnGshv37aS8kzsDW3XHUMKeW3cS+e3UYcZ+8UGuZ7dIDh7DbhBTWKQ/hutXJ6aaNoJbpCCy9fXM7yqIPHb+uQKsOYRd/Nmk62qVrvsv18S8tDKoiIhIPngcB3aa4vFb+UNEROQ/wNyDQS9fvsxLL72Ej48Pbdu2ZciQISQkZAyUP3DgAO3atcPHx4d+/fpx6dLd2UOmnsuJgoaIiMh/kIWFBQMGDGDjxo2sW7eOsmXLEhgYSFpaGm+88QYTJkxg48aN1K5dm8DAjKXyTT13LwoaIiIi+cDUFo1r164RHR2d5euf6wPZ29vj7X13BeTq1asTGxvLH3/8gY2NDbVr1waga9eubNiQsV6TqefuRWM0RERE8oGpYzQWLVrE7NmzsxwfMmQIQ4cOzfaatLQ0li1bRpMmTYiLi8PV9e4SAwaDgbS0NK5cuWLyOXt7+xzrq6AhIiKSD0xdR6N379688MILWY7fa6XtSZMmYWtrS48ePdi8eXOO5cxBQUNERCQfmBo07OzsHmj7joCAAM6ePcu8efOwtLTExcWF2Ni7C639tdaQvb29yefuRWM0CohbN28xd9anDB40lMb1m1D9qZrMnjknV9cmJiYStDyYwYOG0qKxL8/VrEeHNh2ZOf2TbLdcX/jFV/Tp0Y/GDZrybDVvWjZtxRuvjeHkiZNZyu7+cTed23ehbq369OrWmyOHj2Qps23LNhp4N8xxWXGRh1HOyY0lY2cRH/Q7iaGnODBvE71bdL7nNY2r1yN9czTpm6Op5OqRq+d8NPAtfpkVwoXggySGnuLUol0sGBmY7WZn2wODjPf/+1fyhogsZXs268jxhT9wdfVRNk5dmu1+LCM6DOD017uxsbbJVV0lb+TFXifTp0/njz/+YM6cORQunLEB4dNPP83t27fZt28fAMuXL8fX1/ehzt3zPbVgV8EQExNL6+ZtcC7jTIWKFdjz0x4GDOrPkOGD73vtqZOn6Nzen5q1alC3fl0MpQwcPXyUVStX4+buxjdBSzJtEz9qxGhKlChOhYoVsLMrwfnz8axZtZaLFy6yYNHnVK1W1VinDm06Uue5Z2n4fEPWrl5LXOw51ny/yni/xMREOrTtRK8+PenWo6t5vjn/cVqwK2eupcoQNnc9RQrbMGv1QuIS4mn7XHNa1mnMiLkTmbnqiyzXFLIqxMHPN1PW0ZXiRYvxRO8GnI6NuO+zdk4L5mD4MU7FhHM98SaVXMvT37cr1lbW1BrckohzUcay2wODqFrBi2FzJ2S6R1paGsu2rzZ+9vaqyU8zVrNk63f8fCSMER0GcCc5ieovtzDuN1TG4MSxL3fQY+owQvZsMfE7VfDkxYJdhy//ZtJ1VRxq5KrcyZMnadOmDR4eHhQpkrFvj7u7O3PmzGH//v1MnDiRO3fu4ObmxkcffUTp0qUBTD6XEwWNAiIpKYkrV67i5ORoDB25DRqXL1/mQvwFKntWznR89crVvPP2e7w+ZiQ9e/e45z0uXriIb9NWNGvRlKmBHwAQvCKYwA+ns/On7djY2BjrNXf+HOrVz1j5btaM2ez6YTffBC3BysrKxLcv2BQ0cvbJ4EkMbteb+iPas+fofuPx1e9+QdMaDSj/ojcJ169kumZs18GM6DCAb7at5rWOL+U6aGSnVuWq7Juzng+WzebNL+9uMLk9MIgnXD0o2/3Ze14/pd9Yujzfhid6NwDg+ap12TEtiMp9/sfJmIxdm5eMnYWdbXHaTehrUh0LqrwIGkeuHLh/oWw8ZV/9X66JeanrpIAoXLgwTk6OJl3r4OCQJWQANPdtDsCZU2fuew9DKQM2NjZcv3a3qyXx9m1sCttgY5PRnFuyZEaf4+3EjB0mz0ZEsmTRUsa9PVYhQ8yi4TPenI47mylkACzZ+h3FixbLstNrWUdX3uo+nLFffMDVm1m7DR/UX60YOe3oamlpSQnb4jleb1ukKFdu3J3S+Fcosi1SFICGVZ/jhfq+WVpG5NFQUHZvVdAQk12IvwBkBJHsXL58mYRLCRw7epwJ49/h5s2b1G1wd43+qtWe4erVq3y9cDGxMbF8OnsehQoVwuup/wMgYEoAPi1bUL2G6ZtYidyLjXVh4w6of3fzz2O1K1fNdHzmq+9xKOIYX2381qTnWVhYUMrOAWcHR7y9avL1mJlAxsZl/+TsUJrra45zbc0xrqw+wpejpmXZsn3P0f3UeOJpujb2w6NMWcZ3H0rCtSuciD6DlaUVc4ZMJmDF3EzdMvLoKChBQ7NOxGQLPvsCCwsLfFtnvztr4/pNjX+2tbWl30t96fbi3XEW1apXo++APnwcOIPpH32MtbU1o8aMxMXVhS2btnLo4B+sWb86u1uL/CuORZ3C99lGODs4cv7yBePxxtXqAeBWuozxWKs6TWhXtznew9qa/LxyTm5ELNlj/HzhyiVGzJ2YZYv38HOR/HjoFw6GH8XSwpKmNRrQ37crDZ6uw7ODW3P1ZkYrxvLta2hdpynL3swY2H3t5nX6BI4k8c5tRnYaSFGbIgSsmGtyfcW8CspeJwoaYpLgb1cSsjaUnr17ZNutAjBvwaekpqYQFRVNyJpQEhNvk5KSkqkbZPjIYXTv2Y3YmFjKe5TH3t6exMREpgVMY/CwVzEYHFi6+BuCVwSTlJSMbysfXhnyMoUK6a+uPLw5axfRvr4vKyd+zhufTzYOBn25TcaYI1ubjC4IG2sbPhn8Hl9uXEHYiYMmP+9cwgWaje6KjXVhvMo9Sfcm7bErVgILCwv+PlyuX+Drma77duc6fj1+gAUjP2JEhwG8u3i68VzPgGGMXxhAGYMTRyNPcv3WDcoYnJjY4zW6TRlMcmoy7/UeRfcm7UlKSeazkCXZDnKVvPc4tk6YQv9aywPbtmU7H0yaSsNG/2P468NyLPdcvbtL37Zu24rOfv5cvXKFKR++n6mco6Mjjo53x4/Mn7eAkvb2dPbvxPehG5j18Wzeff8d7Era8ebo8dja2tJ/YL9//8WkwNmy/0f6TxtF4MC3+GnmGgAuX7/Cq7PGs3jMTK7fyhh4Pq7bEByK2zPuiw8e6nl3ku+w9bddAKz/dRvf7lzHH/O3UriQNW9/9dE9r/3i+2VM7T+OFrUaZgoaAJHxMUTGxxg/Txs0gR0Hf2b9r9sY23Uwg1r3oEfAMOxsS/D16Bmcv3KR5dvXPNS7yMMrKEFDYzTkgfy0+2fGjhpH9ZrV+XB6QK5bFkqUKMH/nm/AhvUbuXPnTo7lzkac/XMA6BisrKxY/d0amrVoik/LFtSt9xydunRkzaq1/9briPDlhuWU8a/Js4NbU3dYO1y71mbv8YzZACdizlDG4MQY/1f4LHQJxYsWo7yzO+Wd3Y0DON1Kl8Hd0cWkZ0ddiGX34X309fHPVfnI+BhKlzTcs8zzVevSvp4Pw+dOBKCfb1fmhS5hc9gPrPwxlJW71tPXp4tJ9ZV/V16so/EoUIuG5Nq+vWGMHPo6T3o+ySdzZxjnZefWnTt3SEtL4+aNm8aZJv809f0AWrb2pVr1jAGg8efPU6XKU8bzzs5OxJ+PN/0lRLKRlJzEvhO/Gz+3qPU8AJvCduLsUJoihYswrtsQxnUbkuXandOCuXg1AcdOVbOcy40ihW1wKF7yvuUsLCyoUKYsh8+eyLGMlaUVs4dMYuqKOcYBoO6lXYi5GGcsE30hjlpPPmNSXUVMoaAhmSQnJxMdFU3xEsUzdWcc+v0Qw14ZTtly7sz9bHamBbr+LvFWxmj9orZFMx0/fz6eH3b8iKubK4ZS2f9GtnnjFg4fOsL76+92rZR2LM3p06eNn0+fOkNpx3svDiPyMMoYnBjb9VX2nfidbb/txs62BO0n9s9SrmujdnRt7MfLM8dy9vzdbouiNkUo5+TGxasJXLp2GYCSxey4efsWKakpme5RtaIXdZ+qyZ6jdxduKmFbnKTkZO4kZ275e73TIBxK2BP6y9Yc6z6iwwCKFM48ADQu4TxVyt9dS6WKR2XiEhTWHw2PX+uEKRQ0CpDlS5dz/foN41oWv+0/wPx5CwB4vnFDKntWJj7+Ai+06Ujb9m2ZNOVdAGJjYhk8aChJSUm09WvLrh92ZbqvoXQp6tZ7DoCzZyMZ2HcQzX2a4VHBg6K2RYmMiGTt6nVcv36ddyZPzLZuibcSmRYwncHDMwaA/sW3lS+T33mf6R9+TAm7EqwM+o4+/Xv/298aKaCcHRz5fspiVu/eSPTFOMo5uTGo9YtYWFjQY2rG+KNrt65nmRUCUL1SFQC27N+VacGuOp412DEtiHe+nm4cS9GoWl3mDnufoB9CORUTQUpqCk9X8KR3886kpKYyev7dcF3ziWdY8dZcVuxYx6nYCNLT02lcvR4dGrTkwOnDfLL6y2zfxaWUMxN7vob/+6+SlJxkPL5s+xpe7zSQC1cvUaJocdp4N6P/9FEP/b2Th/c4doOYQkGjAFm0cDFxsXebUMP2hhG2NwwAJ2enHGePxMTEcu1axnS66R99nOV8rWdrGYOGcxknfFr5sH/ffjZ+v4nbt29jKGXAu24devbpydPPVMn2GfPnLcDBkDEA9O9e6NieC/EX+C54FcnJyXTo9AIDBmX97VLEFDcSb3ImLpKXWnXHyb4UF68lEPLLVt75enqm7oaHdSj8GBv27sC3diPcfMtgbVWI2Evn+XbnOqYun2NcxRMg4nwUO37/mdbeTSjj4ISVlSXh56KYvHQmU5fPyXbdD4Bpg95m62+7+P7XbZmOT1oyk5LF7Bjq15fk1BTeWTydRZuC/rV3E9MVlMGgWoJc5D9OS5CLPLi8WII8/HrO423upUKJ7H8pfFSpRUNERCQfqOtEREREzKagdJ0oaIiIiOQDBQ0RERExG3WdiIiIiNmoRUNERETMRi0aIiIiYjZq0RAREREzUtAQERERMykYMUPbxIuIiIgZqUVDREQkH2gwqIiIiJiRgoaIiIiYScGIGQoaIiIi+aRgRA0FDRERkXxQUMZoaNaJiIiImI1aNERERPKBVgYVERERsykoQUNdJyIiImI2atEQERHJBxoMKiIiIvKQ1KIhIiKSDwrKGA0FDRERkXyhoCEiIiJmUjBihsZoiIiIiBmpRUNERCQfFJRZJwoaIiIi+UJBQ0RERMykYMQMBQ0REZF8UjCihoKGiIhIPigoYzQ060RERETMRi0aIiIi+UArg4qIiIgZKWiIiIiImRSMmKGgISIiki8KymBQBQ0REZF8oaAhIiIiZlIwYoaChoiISD4pGFFD62iIiIiI2ahFQ0REJB8UlMGgatEQERERs7FIT09Pz+9KiIiIyH+TWjRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMRsFDTkoQUEBNCkSRM8PT05ceJEfldH5JEXHh6Ov78/Pj4++Pv7ExERkd9VEjEbBQ15aE2bNmXp0qW4ubnld1VEHgsTJ06ke/fubNy4ke7duzNhwoT8rpKI2ShoyEOrXbs2Li4u+V0NkcfCpUuXOHLkCG3atAGgTZs2HDlyhISEhHyumYh5KGiIiOShuLg4nJ2dsbKyAsDKygonJyfi4uLyuWYi5qGgISIiImajoCEikodcXFw4f/48qampAKSmphIfH6/uR/nPUtAQEclDpUqVwsvLi5CQEABCQkLw8vLCYDDkc81EzMMiPT09Pb8rIY+3yZMns2nTJi5evIiDgwP29vaEhobmd7VEHlmnT59m7NixXLt2DTs7OwICAqhYsWJ+V0vELBQ0RERExGzUdSIiIiJmo6AhIiIiZqOgISIiImajoCEiIiJmo6AhIiIiZqOgISK5NmvWLOMeHSIiuaGgIfKIOnz4MF5eXnTt2vWBruvZsyfvvfeemWolIvJgFDREHlFBQUF0796dkydPcvr06fyujoiISRQ0RB5Bt2/fJiQkhC5duuDj40NwcHCm8wcOHKBXr15Ur16dWrVq0atXL86fP8/YsWP59ddfWbp0KZ6ennh6ehIdHc0vv/yCp6dnpq3Io6Oj8fT05NChQ0DGnhtvvvkmTZo0oWrVqrRo0YL58+eTlpaWp+8uIv8thfK7AiKS1YYNG3B1dcXT0xM/Pz9GjBjByJEjsba25tixY/Tq1Qs/Pz/GjRtH4cKF2bt3L6mpqYwfP56IiAgqVKjAyJEjATAYDMTExNz3mWlpaTg7OzNjxgwMBgMHDx5kwoQJ2Nvb07lzZ3O/soj8RyloiDyCVq5ciZ+fHwB16tShaNGibN26FV9fX+bPn4+XlxeTJk0ylq9UqZLxz9bW1hQtWhRHR8cHeqa1tTXDhw83fnZ3d+fIkSOEhoYqaIiIyRQ0RB4xZ8+eJSwsjMDAQAAsLCxo27YtwcHB+Pr6cvToUZo3b26WZy9btoygoCBiY2O5c+cOycnJuLm5meVZIlIwKGiIPGKCgoJITU2lcePGxmN/7X0YFxdn0j0tLbMOx0pJScn0ef369UyZMoUxY8ZQo0YNihcvztKlS9myZYtJzxQRAQUNkUdKSkoKq1ev5vXXX6dRo0aZzo0ePZqVK1fi5eXFnj17cryHtbU1qampmY4ZDAYA4uPjjX8+evRopjJhYWFUq1aNHj16GI9FRkY+zOuIiGjWicijZMeOHVy+fJnOnTtTuXLlTF+tWrXiu+++o3///hw5coS3336bY8eOcebMGWN3B4CbmxuHDh0iOjqahIQE0tLSKFeuHC4uLsyePZvw8HB27drFp59+munZHh4eHD58mJ07dxIREcGcOXPYu3dvfnwbROQ/REFD5BESHByMt7c3Dg4OWc61bNmSmJgYEhISWLhwIWfOnKFLly506dKF0NBQChXKaKDs168f1tbWtG7dmrp16xIbG4u1tTXTp08nKioKPz8/Zs2aZZyV8hd/f39atmzJqFGj6NSpEzExMfRcj8uXAAAAWklEQVTt2zdP3ltE/rss0v/q/BURERH5l6lFQ0RERMxGQUNERETMRkFDREREzEZBQ0RERMxGQUNERETMRkFDREREzEZBQ0RERMxGQUNERETMRkFDREREzOb/AcxMvknV3hl1AAAAAElFTkSuQmCC\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Recall at 77% is one of the best we've seen so far, and both precision and accuracy scores are quite high." ], "metadata": { "id": "AJVMnfKF9xvg" } }, { "cell_type": "code", "source": [ "tabulate(xgb,'XGBoost',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 269 }, "id": "fVZHfC23HltT", "outputId": "667154ce-61ac-437f-d04e-403d4de4338d" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 48 } ] }, { "cell_type": "markdown", "source": [ "Note how much lower the CV recall score is from the training and validation recall scores. The latter two are comparable, so I do not fear overfitting here." ], "metadata": { "id": "LG-X6w5Y985s" } }, { "cell_type": "markdown", "metadata": { "id": "oBKJaFU24jas" }, "source": [ "### Model Building with Oversampled data\n" ] }, { "cell_type": "code", "source": [ "sm=SMOTE(\n", " k_neighbors=5,\n", " sampling_strategy=1.0,\n", " random_state=1\n", ")\n", "\n", "X_train_over,y_train_over=sm.fit_resample(X_train,y_train)" ], "metadata": { "id": "3HYaCLWLYiy4" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "Now we will oversample the minority class of the target variable." ], "metadata": { "id": "m86cYMl8-Mjp" } }, { "cell_type": "markdown", "source": [ "#### Decision Tree [Oversampled]" ], "metadata": { "id": "8g8_kos4LTuS" } }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "uYDlbnUO4jat", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "519df4a9-845e-4aec-d998-c82538160e1f" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.9704866008462624.\n" ] } ], "source": [ "dtree_over=DecisionTreeClassifier(random_state=1)\n", "\n", "m=cv_recall(dtree_over,sample_strategy='over')\n", "print(f'Cross-validated recall is {m}.')" ] }, { "cell_type": "markdown", "source": [ "With such a high CV recall score (97%!), I am skeptical already of this model." ], "metadata": { "id": "EcU_G5r5_NsF" } }, { "cell_type": "code", "source": [ "dtree_over.fit(X_train_over,y_train_over)\n", "\n", "ch(dtree_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "Plzs-TUpLkT5", "outputId": "cea00b1d-8bbb-45f1-fe5d-648d600c4e7b" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.951000\n", "Precision 0.532423\n", "Recall 0.855576\n", "F1 0.656381" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.951000
Precision0.532423
Recall0.855576
F10.656381
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 51 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Unlike most of the previous models, recall is higher here than precision. This is certainly due to the oversampling." ], "metadata": { "id": "NQ9GXT0H_VU7" } }, { "cell_type": "code", "source": [ "tabulate(dtree_over,'dtree (over)',sample='over',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 300 }, "id": "8mpBzmayLkQe", "outputId": "b0831d90-ca04-4c98-b9d0-387d2cf4b3aa" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 52 } ] }, { "cell_type": "markdown", "source": [ "Unsurprisingly though, this model is exceptionally overfit." ], "metadata": { "id": "nWyZZKyd_fkX" } }, { "cell_type": "markdown", "source": [ "#### Logistic Regression [Oversampled]" ], "metadata": { "id": "RYTJbehCL--f" } }, { "cell_type": "code", "source": [ "lr_over=LogisticRegression()\n", "\n", "m=cv_recall(lr_over,sample_strategy='over')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "FoIZVa0_LkHK", "outputId": "6418791d-2d5a-4183-f3f9-52ce1a350643" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.866784203102962.\n" ] } ] }, { "cell_type": "markdown", "source": [ "A CV recall score of 87% is one of the highest we've seen so far, but isn't so high as to immediately suggest overfitting." ], "metadata": { "id": "BdBBBXpN_o98" } }, { "cell_type": "code", "source": [ "lr_over.fit(X_train_over,y_train_over)\n", "\n", "ch(lr_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "4siCEcqELkDc", "outputId": "8f56c546-fbb6-4ac3-bfc2-e9830149a7bf" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.871800\n", "Precision 0.280072\n", "Recall 0.855576\n", "F1 0.422002" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.871800
Precision0.280072
Recall0.855576
F10.422002
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 54 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Both accuracy and recall are quite good with this logistic regression model. The cost, however, is disasterous precision: 28%! The regression's prediction of the positive class is far worse than randomly guessing." ], "metadata": { "id": "FiFnOsrYABRX" } }, { "cell_type": "code", "source": [ "tabulate(lr_over,'Logistic Regr (over)',sample='over',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 332 }, "id": "A7b0cgXJLkAZ", "outputId": "09abb894-de36-445f-e6cb-1b44a4beee6c" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 55 } ] }, { "cell_type": "markdown", "source": [ "There is no real evidence of overfitting, so this model looks solid. Great accuracy and recall in both training and validation. It's only downside is terrible precision." ], "metadata": { "id": "HAxqzul3ALvm" } }, { "cell_type": "markdown", "source": [ "#### Bagging Classifier [Oversampled]" ], "metadata": { "id": "hvBnxtfghFc1" } }, { "cell_type": "code", "source": [ "bag_over=BaggingClassifier(random_state=1)\n", "\n", "m=cv_recall(bag_over,sample_strategy='over')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "bn_LZ5IELjzr", "outputId": "55b040de-cfe1-4a69-edc6-9db80e9b4b74" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.9737658674188999.\n" ] } ] }, { "cell_type": "markdown", "source": [ "As with the last decision tree, this CV recall is high enough (97%) to raise suspicion of overfitting." ], "metadata": { "id": "5SbQmkuwAwYF" } }, { "cell_type": "code", "source": [ "bag_over.fit(X_train_over,y_train_over)\n", "\n", "ch(bag_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "gHA9A7jJhMCX", "outputId": "7d274f2c-ff1c-40b2-cd61-5fb05041efb3" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.985600\n", "Precision 0.854130\n", "Recall 0.888483\n", "F1 0.870968" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.985600
Precision0.854130
Recall0.888483
F10.870968
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 57 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Great scores across the board, while promising, could be symptomatic of overfitting." ], "metadata": { "id": "2KlZ_ucsBAx3" } }, { "cell_type": "code", "source": [ "tabulate(bag_over,'Bagging (over)',sample='over',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 363 }, "id": "DkwNoGLBhMAO", "outputId": "5f7c8da4-0905-414b-8b7d-7108451d9176" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 58 } ] }, { "cell_type": "markdown", "source": [ "Sure enough, this model is overfit (see recall)." ], "metadata": { "id": "xIqA4AjlBH-K" } }, { "cell_type": "markdown", "source": [ "#### Random Forest [Oversampled]" ], "metadata": { "id": "VsHvSIUXhlew" } }, { "cell_type": "code", "source": [ "rf_over=RandomForestClassifier(random_state=1)\n", "\n", "m=cv_recall(rf_over,sample_strategy='over')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "qFAYuMJthL9Q", "outputId": "3bcc69ff-fc98-47aa-a947-897b61b0fe55" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.9824047954866009.\n" ] } ] }, { "cell_type": "markdown", "source": [ "Another questionably high score here: 98%." ], "metadata": { "id": "fNWaB7U5FZgR" } }, { "cell_type": "code", "source": [ "rf_over.fit(X_train_over,y_train_over)\n", "\n", "ch(rf_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "9O5cNvT6hL6s", "outputId": "164087e2-487f-420c-96ea-6e8a40cccc67" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.991300\n", "Precision 0.945736\n", "Recall 0.892139\n", "F1 0.918156" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.991300
Precision0.945736
Recall0.892139
F10.918156
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 60 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Again, it would be lovely if these scores were beliveable, but we should first look at the table below to assess whether this model is overfit." ], "metadata": { "id": "84O1hUjzFgKV" } }, { "cell_type": "code", "source": [ "tabulate(rf_over,'Rand Forest (over)',sample='over',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 394 }, "id": "BIgg9Q-ohL4M", "outputId": "c6e41fc2-1fc0-4f27-9904-6d64b0d58207" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 61 } ] }, { "cell_type": "markdown", "source": [ "Indeed, the difference in training and validation recall is enough to confirm overfitting." ], "metadata": { "id": "y3-u4mssFrAe" } }, { "cell_type": "markdown", "source": [ "#### AdaBoost [Oversampled]" ], "metadata": { "id": "HC8mY_eyh5Po" } }, { "cell_type": "code", "source": [ "abc_over=AdaBoostClassifier(random_state=1)\n", "\n", "m=cv_recall(abc_over,sample_strategy='over')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "CJeRL5H3hL1e", "outputId": "97918c54-3814-450c-8ace-31dbc361857e" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.8840267983074753.\n" ] } ] }, { "cell_type": "markdown", "source": [ "We have seen good results with boosting before, so a score of 88% is promising." ], "metadata": { "id": "WduXcceDG_9h" } }, { "cell_type": "code", "source": [ "abc_over.fit(X_train_over,y_train_over)\n", "\n", "ch(abc_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "QOuQbKRPhLy_", "outputId": "9534cefc-0852-4de5-9de3-746159128a7a" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.907600\n", "Precision 0.359223\n", "Recall 0.879342\n", "F1 0.510074" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.907600
Precision0.359223
Recall0.879342
F10.510074
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 63 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Here we see that the cost of good recall is poor precision. Indeed, the percentage of false positives is nearly double that of true positives predicted by this AdaBoost model (see confusion matrix)." ], "metadata": { "id": "Gc4q0iZfHG6h" } }, { "cell_type": "code", "source": [ "tabulate(abc_over,'AdaBoost (over)',sample='over',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 426 }, "id": "rKuEGk0PhLwk", "outputId": "b411bd21-1d9f-4e35-f5c0-e76cc6302ce8" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 64 } ] }, { "cell_type": "markdown", "source": [ "This boosting model offers one of the higher recall scores we have seen without overfitting." ], "metadata": { "id": "7SycUJSXHYRf" } }, { "cell_type": "markdown", "source": [ "#### Gradient Boosting [Oversampled]" ], "metadata": { "id": "nOnFdTTQilK4" } }, { "cell_type": "code", "source": [ "gbc_over=GradientBoostingClassifier(random_state=1)\n", "\n", "m=cv_recall(gbc_over,sample_strategy='over')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "XFz6QLlchLto", "outputId": "1c2cb410-fa12-48b7-c6d1-0c40cfbe297f" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.9094146685472497.\n" ] } ] }, { "cell_type": "markdown", "source": [ "As with the boosting models trained on the original data, the gradient boosting model here has a better CV recall score than the previous AdaBoost model, at around 91%." ], "metadata": { "id": "eiC-vW2iH3b5" } }, { "cell_type": "code", "source": [ "gbc_over.fit(X_train_over,y_train_over)\n", "\n", "ch(gbc_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "-Gcpgqz7hLqt", "outputId": "713ef537-ad06-4837-924d-d662cb3c325c" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.967100\n", "Precision 0.641927\n", "Recall 0.901280\n", "F1 0.749810" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.967100
Precision0.641927
Recall0.901280
F10.749810
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 66 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Here too we have good performance on all four metrics. In contrast to the AdaBoost model above, this model offers much better precision, in particular, a score greater than 50%, or random chance. " ], "metadata": { "id": "HTeQNZbeIEdq" } }, { "cell_type": "code", "source": [ "tabulate(gbc_over,'Grad Boost (over)',sample='over',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 457 }, "id": "QTWCyQ6DjBLk", "outputId": "5aeeb7b4-0735-475c-c640-b8d7ae9035e2" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 67 } ] }, { "cell_type": "markdown", "source": [ "As we have seen with boosting models, this model does not have much issue with overfitting." ], "metadata": { "id": "GUx5gZh2Ia3x" } }, { "cell_type": "markdown", "source": [ "#### XGBoost [Oversampled]" ], "metadata": { "id": "cMFgSuvSjFqJ" } }, { "cell_type": "code", "source": [ "xgb_over=XGBClassifier(random_state=1)\n", "\n", "m=cv_recall(xgb_over,sample_strategy='over')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "CwWtHJyZjBI7", "outputId": "14869cd2-b7e0-4262-e4e6-6798f2bf750f" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.9058180535966149.\n" ] } ] }, { "cell_type": "markdown", "source": [ "With comparable performance to gradient boosting, a score of about 91% for XGBoost is unsurprising." ], "metadata": { "id": "xwzprLXKJA_x" } }, { "cell_type": "code", "source": [ "xgb_over.fit(X_train_over,y_train_over)\n", "\n", "ch(xgb_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "4WXAf21WjBGS", "outputId": "63e67174-4078-40a3-83c1-ef4c8208fecc" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.967100\n", "Precision 0.640464\n", "Recall 0.908592\n", "F1 0.751323" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.967100
Precision0.640464
Recall0.908592
F10.751323
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 69 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Good or great performance on all metrics, and more true positives than both false positive and false negatives." ], "metadata": { "id": "hNaBZlfOJZhe" } }, { "cell_type": "code", "source": [ "tabulate(xgb_over,'XGBoost (over)',sample='over',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 488 }, "id": "9APwSDTBjBDS", "outputId": "f9977957-0f44-4357-8cc0-bf21534d0440" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280\n", "XGBoost (over) 0.939774 0.9671 0.906946 0.905818 0.908592" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
XGBoost (over)0.9397740.96710.9069460.9058180.908592
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 70 } ] }, { "cell_type": "markdown", "source": [ "Looking back over this table so far, the gradient boosting and XGBoost models trained on oversampled data have performed best. Random forest boasts promising precision if only we could curtail overfitting." ], "metadata": { "id": "9nxuqeGJJ0HC" } }, { "cell_type": "markdown", "metadata": { "id": "1aimb6bn4jat" }, "source": [ "### Model Building with Undersampled data" ] }, { "cell_type": "code", "source": [ "rus=RandomUnderSampler(\n", " sampling_strategy=1.0,\n", " random_state=1\n", ")\n", "\n", "X_train_under,y_train=rus.fit_resample(X_train,y_train)" ], "metadata": { "id": "0Ws_HcJmZTdM" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "Now we undersample the majority class of the target variable. This is another method to balanced the class weights in the target." ], "metadata": { "id": "RPwnp_r8KLK4" } }, { "cell_type": "markdown", "source": [ "#### Decision Tree [Undersampled]" ], "metadata": { "id": "cl6_o_XtjzBd" } }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "jROP_DVF4jau", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "64a9c306-18c0-4fc1-c4f8-080f3c3276cf" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.8530487804878047.\n" ] } ], "source": [ "dtree_under=DecisionTreeClassifier(random_state=1)\n", "\n", "m=cv_recall(dtree_under,sample_strategy='under')\n", "print(f'Cross-validated recall is {m}.')" ] }, { "cell_type": "markdown", "source": [ "A score of 85% is good for this estimator, but since previous decision trees had a tendency to overfit, I will wait to assess performance until I see the other metrics." ], "metadata": { "id": "Bt_xyMAaIVn1" } }, { "cell_type": "code", "source": [ "dtree_under.fit(X_train_under,y_train_under)\n", "\n", "ch(dtree_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "XONzrLVroShO", "outputId": "b71169cb-1312-4aaa-e992-40bbeccc191e" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.843900\n", "Precision 0.241853\n", "Recall 0.868373\n", "F1 0.378335" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.843900
Precision0.241853
Recall0.868373
F10.378335
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 73 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "This decision tree is the worst on precision (see the concerning rate of false positives). Recall and accuracy, however, are good." ], "metadata": { "id": "kRLLQC7LIvjM" } }, { "cell_type": "code", "source": [ "tabulate(dtree_under,'dtree (under)',sample='under',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 520 }, "id": "UdO3Ql_xoSSi", "outputId": "ee346d22-e085-436c-ce2f-b8e2d67e9cee" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280\n", "XGBoost (over) 0.939774 0.9671 0.906946 0.905818 0.908592\n", "dtree (under) 1.000000 0.8439 1.000000 0.853049 0.868373" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
XGBoost (over)0.9397740.96710.9069460.9058180.908592
dtree (under)1.0000000.84391.0000000.8530490.868373
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 74 } ] }, { "cell_type": "markdown", "source": [ "As with the other decision trees, this model overfits disasterously." ], "metadata": { "id": "rVc_hSeXJE1S" } }, { "cell_type": "markdown", "source": [ "#### Logistic Regression [Undersampled]" ], "metadata": { "id": "Zg3UAbHorCvw" } }, { "cell_type": "code", "source": [ "lr_under=LogisticRegression()\n", "\n", "m=cv_recall(lr_under,sample_strategy='under')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "FDfoFwvErGEo", "outputId": "45209c77-63dd-46f6-b7ac-5635912d8aff" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.8445121951219512.\n" ] } ] }, { "cell_type": "markdown", "source": [ "A comparable score to the last model, 84% is promising!" ], "metadata": { "id": "foBps5PxJ-pO" } }, { "cell_type": "code", "source": [ "lr_under.fit(X_train_under,y_train_under)\n", "\n", "ch(lr_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "wWkfkLpjrGCB", "outputId": "8d2ac6b7-7c9e-4297-ba26-484be1877914" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.869900\n", "Precision 0.277450\n", "Recall 0.859232\n", "F1 0.419456" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.869900
Precision0.277450
Recall0.859232
F10.419456
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 76 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Again, the false positive rate really cuts into precision (and thus F1) score. Accuracy and recall are good though." ], "metadata": { "id": "zJTGuPKbKH-z" } }, { "cell_type": "code", "source": [ "tabulate(lr_under,'Logistic Regr (under)',sample='under',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 551 }, "id": "0Ws2455RrF_V", "outputId": "d5f433c5-846d-41ee-f11b-09fddfd9363e" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280\n", "XGBoost (over) 0.939774 0.9671 0.906946 0.905818 0.908592\n", "dtree (under) 1.000000 0.8439 1.000000 0.853049 0.868373\n", "Logistic Regr (under) 0.857622 0.8699 0.848171 0.844512 0.859232" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
XGBoost (over)0.9397740.96710.9069460.9058180.908592
dtree (under)1.0000000.84391.0000000.8530490.868373
Logistic Regr (under)0.8576220.86990.8481710.8445120.859232
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 77 } ] }, { "cell_type": "markdown", "source": [ "Thankfully, this model doesn't overfit. Decent recall would make this a top contender, were it not for the worse-than-guessing precision, which would end up costing BreezeGen greatly in inspection costs." ], "metadata": { "id": "ZvC0hsL8KW5A" } }, { "cell_type": "markdown", "source": [ "#### Bagging Classifier [Undersampled]" ], "metadata": { "id": "1s6As99rK68d" } }, { "cell_type": "code", "source": [ "bag_under=BaggingClassifier(random_state=1)\n", "\n", "m=cv_recall(bag_under,sample_strategy='under')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "aCJoA3tkMjdd", "outputId": "202ad1f7-ca36-45db-8f18-c67e741ed09f" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.8713414634146343.\n" ] } ] }, { "cell_type": "markdown", "source": [ "Bagging has been overfitting, so I'm curious to see if the model trained on undersampled data avoids this issue. The cross-validated recall score is 87%." ], "metadata": { "id": "bAIUymLSMYvV" } }, { "cell_type": "code", "source": [ "bag_under.fit(X_train_under,y_train_under)\n", "\n", "ch(bag_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "n4k88218MjX7", "outputId": "3a7ddd46-81ae-4376-9623-8f961049948f" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.947000\n", "Precision 0.508827\n", "Recall 0.895795\n", "F1 0.649007" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.947000
Precision0.508827
Recall0.895795
F10.649007
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 79 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "With about as many false positives as true positives (see confusion matrix), precision lands at 50%, or as good as random guessing. That being said, accuracy and recall and both great." ], "metadata": { "id": "GnluxrX6TSbN" } }, { "cell_type": "code", "source": [ "tabulate(bag_under,'Bagging (under)',sample='under',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 582 }, "id": "Uk3tm6mnMjUx", "outputId": "24447e5d-3162-49c9-ee5b-e7ffb6dac655" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280\n", "XGBoost (over) 0.939774 0.9671 0.906946 0.905818 0.908592\n", "dtree (under) 1.000000 0.8439 1.000000 0.853049 0.868373\n", "Logistic Regr (under) 0.857622 0.8699 0.848171 0.844512 0.859232\n", "Bagging (under) 0.991463 0.9470 0.985366 0.871341 0.895795" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
XGBoost (over)0.9397740.96710.9069460.9058180.908592
dtree (under)1.0000000.84391.0000000.8530490.868373
Logistic Regr (under)0.8576220.86990.8481710.8445120.859232
Bagging (under)0.9914630.94700.9853660.8713410.895795
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 80 } ] }, { "cell_type": "markdown", "source": [ "Unfortunately overfitting plagues this model too. Note especially the disparity in recall." ], "metadata": { "id": "XhK5c1z8TkAO" } }, { "cell_type": "markdown", "source": [ "#### Random Forest [Undersampled]" ], "metadata": { "id": "ZfIu9Kn2LAlk" } }, { "cell_type": "code", "source": [ "rf_under=RandomForestClassifier(random_state=1)\n", "\n", "m=cv_recall(rf_under,sample_strategy='under')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "fJG8FuZENFKA", "outputId": "c6b5596f-a87b-4bca-bdb2-43f3e9bf154e" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.8914634146341462.\n" ] } ] }, { "cell_type": "markdown", "source": [ "This model scores 98%, just like the random forest trained on oversampled data." ], "metadata": { "id": "wcU0tf4tTr_n" } }, { "cell_type": "code", "source": [ "rf_under.fit(X_train_under,y_train_under)\n", "\n", "ch(rf_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "Akk0oU0iNKEc", "outputId": "2fce765b-5a6b-448d-b4db-960f40a44b49" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.963300\n", "Precision 0.609756\n", "Recall 0.914077\n", "F1 0.731529" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.963300
Precision0.609756
Recall0.914077
F10.731529
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 82 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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7lEKGiJ3oBUrVhAQEABAq1atsLe3Z/369fj5+TF37ly8vb0ZN26csf79999v/L2trS329vbUqFGjRO+0tbXlzTffNH728PDgwIEDREdHK2iISKkpaIjcYRISEti9ezdTpkwBwMrKCn9/f5YvX46fnx8HDx7k2WefNcm7w8LCWLZsGSkpKeTk5HD58mXc3d1N8i4RsQwKGiJ3mGXLlpGXl0fbtm2N1/4++zA1NbVUz7S2Ljod68qVK4U+f//990yYMIF3332Xhx9+mMqVK7NkyRLWrVtXqneKiICChsgd5cqVK6xevZq3336bNm3aFCobPnw4K1aswNvbmx07dlzzGba2tuTl5RW65uzsDMCpU6eMvz948GChOrt376Zp06b06tXLeO348eO38nVERLTqROROsnHjRtLT0+nZsycNGjQo9Ktjx46sXLmS/v37c+DAAd5//31iY2M5duyYcbgDwN3dnb1795KUlERaWhoGg4HatWvj6urKrFmziIuLY8uWLXz22WeF3u3p6cn+/fvZtGkT8fHxzJ49m127dpnjj0FE7iEKGiJ3kOXLl+Pj44OTk1ORsg4dOpCcnExaWhrz58/n2LFjBAYGEhgYSHR0NOXKFXRQ9uvXD1tbWzp16kTr1q1JSUnB1taWadOmkZiYSEBAAKGhocZVKX8LCgqiQ4cODBs2jB49epCcnEzfvn1vy/cWkXuXVf7fg78iIiIiZUw9GiIiImIyChoiIiJiMgoaIiIiYjIKGiIiImIyChoiIiJiMgoaIiIiYjIKGiIiImIyChoiIiJiMgoaIiIiYjL/D28NiaBKFo+GAAAAAElFTkSuQmCC\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "As with the random forest model trained on oversampled data, the precision is good. Accuracy and recall are high." ], "metadata": { "id": "WHx9XbGhZdbj" } }, { "cell_type": "code", "source": [ "tabulate(rf_under,'Rand Forest (under)',sample='under',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 614 }, "id": "oBHd6uu-NKA_", "outputId": "ecf4c5fa-426a-4705-a2a6-67e38c4d4cea" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280\n", "XGBoost (over) 0.939774 0.9671 0.906946 0.905818 0.908592\n", "dtree (under) 1.000000 0.8439 1.000000 0.853049 0.868373\n", "Logistic Regr (under) 0.857622 0.8699 0.848171 0.844512 0.859232\n", "Bagging (under) 0.991463 0.9470 0.985366 0.871341 0.895795\n", "Rand Forest (under) 1.000000 0.9633 1.000000 0.891463 0.914077" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
XGBoost (over)0.9397740.96710.9069460.9058180.908592
dtree (under)1.0000000.84391.0000000.8530490.868373
Logistic Regr (under)0.8576220.86990.8481710.8445120.859232
Bagging (under)0.9914630.94700.9853660.8713410.895795
Rand Forest (under)1.0000000.96331.0000000.8914630.914077
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 83 } ] }, { "cell_type": "markdown", "source": [ "While this model is surely overfit, tuning might just curtail the issue. And with a decent precision score, this model might be worth tuning to hang onto the cost savings good precision affords." ], "metadata": { "id": "0iJLytcwajc_" } }, { "cell_type": "markdown", "source": [ "#### AdaBoost [Undersampled]" ], "metadata": { "id": "4v8cS-zHLAi7" } }, { "cell_type": "code", "source": [ "abc_under=AdaBoostClassifier(random_state=1)\n", "\n", "m=cv_recall(abc_under,sample_strategy='under')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "BiWWvscEOnGT", "outputId": "4d660745-1e98-4d92-e724-e67136efe243" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.8591463414634146.\n" ] } ] }, { "cell_type": "markdown", "source": [ "The cross-validated recall score for this AdaBoost classifier is 86%." ], "metadata": { "id": "JjGZdCWca6Kl" } }, { "cell_type": "code", "source": [ "abc_under.fit(X_train_under,y_train_under)\n", "\n", "ch(abc_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "iLBTVCOkOtCL", "outputId": "8ad0738e-d024-4c60-a050-ff98e8ab375d" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.894100\n", "Precision 0.325850\n", "Recall 0.875686\n", "F1 0.474963" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.894100
Precision0.325850
Recall0.875686
F10.474963
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 85 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "While both accuracy and recall are good on the validation set, precision is really quite poor." ], "metadata": { "id": "WRVuUXY0bA-P" } }, { "cell_type": "code", "source": [ "tabulate(abc_under,'AdaBoost (under)',sample='under',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 645 }, "id": "BYXiffWIOs7O", "outputId": "5803207e-1127-48fc-cecb-4f8be06e328b" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280\n", "XGBoost (over) 0.939774 0.9671 0.906946 0.905818 0.908592\n", "dtree (under) 1.000000 0.8439 1.000000 0.853049 0.868373\n", "Logistic Regr (under) 0.857622 0.8699 0.848171 0.844512 0.859232\n", "Bagging (under) 0.991463 0.9470 0.985366 0.871341 0.895795\n", "Rand Forest (under) 1.000000 0.9633 1.000000 0.891463 0.914077\n", "AdaBoost (under) 0.902439 0.8941 0.881707 0.859146 0.875686" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
XGBoost (over)0.9397740.96710.9069460.9058180.908592
dtree (under)1.0000000.84391.0000000.8530490.868373
Logistic Regr (under)0.8576220.86990.8481710.8445120.859232
Bagging (under)0.9914630.94700.9853660.8713410.895795
Rand Forest (under)1.0000000.96331.0000000.8914630.914077
AdaBoost (under)0.9024390.89410.8817070.8591460.875686
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 86 } ] }, { "cell_type": "markdown", "source": [ "This model performs well for recall, but insufficient precision would cost BreezeGen in the long run." ], "metadata": { "id": "j2ZY5C7FbJRy" } }, { "cell_type": "markdown", "source": [ "#### Gradient Boosting [Undersampled]" ], "metadata": { "id": "YHW8uveoLAgH" } }, { "cell_type": "code", "source": [ "gbc_under=GradientBoostingClassifier(random_state=1)\n", "\n", "m=cv_recall(gbc_under,sample_strategy='under')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "wJIiGNyhPEbC", "outputId": "c1bc18d8-1626-43ae-bcd1-c4cde4156522" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.8847560975609756.\n" ] } ] }, { "cell_type": "markdown", "source": [ "A CV recall score of 88% is slightly less than that of the Gradient Boosting classifier trained on oversampled data." ], "metadata": { "id": "fcccjvVZbSYx" } }, { "cell_type": "code", "source": [ "gbc_under.fit(X_train_under,y_train_under)\n", "\n", "ch(gbc_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "ky-xHlE0PEYI", "outputId": "37a79953-aa09-4e44-8ce1-cac592ba5a43" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.951700\n", "Precision 0.534409\n", "Recall 0.908592\n", "F1 0.672986" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.951700
Precision0.534409
Recall0.908592
F10.672986
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 88 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Accuracy and recall are both great, and as this is a boosting model, I do not fear overfitting. Precision is about as good as guessing: compare the true positives and false positives in the confusion matrix above." ], "metadata": { "id": "Y0NF_ieTbl-h" } }, { "cell_type": "code", "source": [ "tabulate(gbc_under,'Grad Boost (under)',sample='under',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 677 }, "id": "7qm9NI7bPEVL", "outputId": "6d3a256f-af73-4faf-dff5-0a1769b24cd0" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280\n", "XGBoost (over) 0.939774 0.9671 0.906946 0.905818 0.908592\n", "dtree (under) 1.000000 0.8439 1.000000 0.853049 0.868373\n", "Logistic Regr (under) 0.857622 0.8699 0.848171 0.844512 0.859232\n", "Bagging (under) 0.991463 0.9470 0.985366 0.871341 0.895795\n", "Rand Forest (under) 1.000000 0.9633 1.000000 0.891463 0.914077\n", "AdaBoost (under) 0.902439 0.8941 0.881707 0.859146 0.875686\n", "Grad Boost (under) 0.952439 0.9517 0.917073 0.884756 0.908592" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
XGBoost (over)0.9397740.96710.9069460.9058180.908592
dtree (under)1.0000000.84391.0000000.8530490.868373
Logistic Regr (under)0.8576220.86990.8481710.8445120.859232
Bagging (under)0.9914630.94700.9853660.8713410.895795
Rand Forest (under)1.0000000.96331.0000000.8914630.914077
AdaBoost (under)0.9024390.89410.8817070.8591460.875686
Grad Boost (under)0.9524390.95170.9170730.8847560.908592
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 89 } ] }, { "cell_type": "markdown", "source": [ "This is one of the better models we've seen. Great recall and accuracy, at around 91% and 95% respectively." ], "metadata": { "id": "vfwR4iISb7Hf" } }, { "cell_type": "markdown", "source": [ "#### XGBoost [Undersampled]" ], "metadata": { "id": "_AxGifdHLARe" } }, { "cell_type": "code", "source": [ "xgb_under=XGBClassifier(random_state=1)\n", "\n", "m=cv_recall(xgb_under,sample_strategy='under')\n", "print(f'Cross-validated recall is {m}.')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "HBfajULcrF6N", "outputId": "6ef62bbf-ddef-438d-b4e8-fa3e1ddd5486" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cross-validated recall is 0.8774390243902438.\n" ] } ] }, { "cell_type": "markdown", "source": [ "A CV recall score of 88% is good, comparable with the previous gradient boosting model." ], "metadata": { "id": "NTrQChyPcLBk" } }, { "cell_type": "code", "source": [ "xgb_under.fit(X_train_under,y_train_under)\n", "\n", "ch(xgb_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "IH0uLnBNrF3s", "outputId": "d0face3a-e48d-489f-a4d5-b60d8356fba2" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.959800\n", "Precision 0.586207\n", "Recall 0.901280\n", "F1 0.710375" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.959800
Precision0.586207
Recall0.901280
F10.710375
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 91 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "This model scores comparably on accuracy and recall to the previous model, but improves on precision! (Compare 53% to 59%.)" ], "metadata": { "id": "TKbI0h0VcVBq" } }, { "cell_type": "code", "source": [ "tabulate(xgb_under,'XGBoost (under)',sample='under',cvs=m)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 708 }, "id": "6UfPeJ4zrF0w", "outputId": "d551583b-056e-48ca-f39e-c0b59acbb157" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Train Acc Val Acc Train Recall CV Recall Val Recall\n", "dtree 1.000000 0.9724 1.000000 0.720732 0.776965\n", "Logistic Regr 0.966967 0.9677 0.476220 0.478049 0.506399\n", "Bagging Clfr 0.997233 0.9855 0.950610 0.712805 0.780622\n", "Random Forest 1.000000 0.9883 1.000000 0.756707 0.797075\n", "AdaBoost 0.973900 0.9750 0.626829 0.607927 0.652651\n", "Grad Boost 0.987500 0.9845 0.783537 0.720122 0.749543\n", "XGBoost 0.987667 0.9859 0.786585 0.736585 0.775137\n", "dtree (over) 1.000000 0.9510 1.000000 0.970487 0.855576\n", "Logistic Regr (over) 0.867331 0.8718 0.866890 0.866784 0.855576\n", "Bagging (over) 0.999418 0.9856 0.998907 0.973766 0.888483\n", "Rand Forest (over) 1.000000 0.9913 1.000000 0.982405 0.892139\n", "AdaBoost (over) 0.898554 0.9076 0.886142 0.884027 0.879342\n", "Grad Boost (over) 0.942719 0.9671 0.914245 0.909415 0.901280\n", "XGBoost (over) 0.939774 0.9671 0.906946 0.905818 0.908592\n", "dtree (under) 1.000000 0.8439 1.000000 0.853049 0.868373\n", "Logistic Regr (under) 0.857622 0.8699 0.848171 0.844512 0.859232\n", "Bagging (under) 0.991463 0.9470 0.985366 0.871341 0.895795\n", "Rand Forest (under) 1.000000 0.9633 1.000000 0.891463 0.914077\n", "AdaBoost (under) 0.902439 0.8941 0.881707 0.859146 0.875686\n", "Grad Boost (under) 0.952439 0.9517 0.917073 0.884756 0.908592\n", "XGBoost (under) 0.949390 0.9598 0.908537 0.877439 0.901280" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Train AccVal AccTrain RecallCV RecallVal Recall
dtree1.0000000.97241.0000000.7207320.776965
Logistic Regr0.9669670.96770.4762200.4780490.506399
Bagging Clfr0.9972330.98550.9506100.7128050.780622
Random Forest1.0000000.98831.0000000.7567070.797075
AdaBoost0.9739000.97500.6268290.6079270.652651
Grad Boost0.9875000.98450.7835370.7201220.749543
XGBoost0.9876670.98590.7865850.7365850.775137
dtree (over)1.0000000.95101.0000000.9704870.855576
Logistic Regr (over)0.8673310.87180.8668900.8667840.855576
Bagging (over)0.9994180.98560.9989070.9737660.888483
Rand Forest (over)1.0000000.99131.0000000.9824050.892139
AdaBoost (over)0.8985540.90760.8861420.8840270.879342
Grad Boost (over)0.9427190.96710.9142450.9094150.901280
XGBoost (over)0.9397740.96710.9069460.9058180.908592
dtree (under)1.0000000.84391.0000000.8530490.868373
Logistic Regr (under)0.8576220.86990.8481710.8445120.859232
Bagging (under)0.9914630.94700.9853660.8713410.895795
Rand Forest (under)1.0000000.96331.0000000.8914630.914077
AdaBoost (under)0.9024390.89410.8817070.8591460.875686
Grad Boost (under)0.9524390.95170.9170730.8847560.908592
XGBoost (under)0.9493900.95980.9085370.8774390.901280
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 92 } ] }, { "cell_type": "markdown", "source": [ "Another promising model. Great recall and accuracy, without excessive detriment to precision." ], "metadata": { "id": "Vyh50L-OcgqE" } }, { "cell_type": "markdown", "metadata": { "id": "yZGY1eL84jau" }, "source": [ "## HyperparameterTuning " ] }, { "cell_type": "markdown", "source": [ "### Model Finalists" ], "metadata": { "id": "ZP0UOpHOfqM5" } }, { "cell_type": "markdown", "source": [ "We'll assemble some candidate finalists and compare them in a table. The following function computes many performance metrics for a given model." ], "metadata": { "id": "hpvWLk4kvkCy" } }, { "cell_type": "code", "source": [ "def model_scores(model,*,sample):\n", "\n", " X_val_pred=model.predict(X_val)\n", " if sample==None:\n", " y_tr=y_train\n", " y_pred=model.predict(X_train)\n", " elif sample=='over':\n", " y_tr=y_train_over\n", " y_pred=model.predict(X_train_over)\n", " elif sample=='under':\n", " y_tr=y_train_under\n", " y_pred=model.predict(X_train_under)\n", " else:\n", " raise ValueError(\"Sample parameter takes values in {None,'over','under'}.\")\n", " \n", " ser=pd.Series(dtype=float)\n", "\n", " # accuracy\n", " ser.loc['Train Accuracy']=metrics.accuracy_score(y_tr,y_pred)\n", " ser.loc['Validation Accuracy']=metrics.accuracy_score(y_val,X_val_pred)\n", "\n", " # recall\n", " ser.loc['Train Recall']=metrics.recall_score(y_tr,y_pred)\n", " ser.loc['Validation Recall']=metrics.recall_score(y_val,X_val_pred)\n", "\n", " # validation precision and f1\n", " ser.loc['Validation Precision']=metrics.precision_score(y_val,X_val_pred)\n", " ser.loc['Validation F1']=metrics.f1_score(y_val,X_val_pred)\n", " return ser" ], "metadata": { "id": "NVn7vlR4fp6M" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "finalists=pd.DataFrame()\n", "finalists['Bag_over']=model_scores(bag_over,sample='over')\n", "finalists['Bag_under']=model_scores(bag_under,sample='under')\n", "finalists['RF']=model_scores(rf,sample=None)\n", "finalists['RF_over']=model_scores(rf_over,sample='over')\n", "finalists['RF_under']=model_scores(rf_under,sample='under')\n", "finalists['GB_over']=model_scores(gbc_over,sample='over')\n", "finalists['GB_under']=model_scores(gbc_under,sample='under')\n", "finalists['XGB_over']=model_scores(xgb_over,sample='over')\n", "finalists['XGB_under']=model_scores(xgb_under,sample='under')" ], "metadata": { "id": "TyfJY3HHfu3i" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "From the model building process, we compile a list of candidates for tuning." ], "metadata": { "id": "yYPTguL_xh5I" } }, { "cell_type": "code", "source": [ "finalists" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 238 }, "id": "wz0d_0_fgMmU", "outputId": "55ea1924-a5c6-40f2-f34b-b53eb4a80759" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Bag_over Bag_under RF RF_over RF_under \\\n", "Train Accuracy 0.999418 0.991463 1.000000 1.000000 1.000000 \n", "Validation Accuracy 0.985600 0.947000 0.988300 0.991300 0.963300 \n", "Train Recall 0.998907 0.985366 1.000000 1.000000 1.000000 \n", "Validation Recall 0.888483 0.895795 0.797075 0.892139 0.914077 \n", "Validation Precision 0.854130 0.508827 0.986425 0.945736 0.609756 \n", "Validation F1 0.870968 0.649007 0.881699 0.918156 0.731529 \n", "\n", " GB_over GB_under XGB_over XGB_under \n", "Train Accuracy 0.942719 0.952439 0.939774 0.949390 \n", "Validation Accuracy 0.967100 0.951700 0.967100 0.959800 \n", "Train Recall 0.914245 0.917073 0.906946 0.908537 \n", "Validation Recall 0.901280 0.908592 0.908592 0.901280 \n", "Validation Precision 0.641927 0.534409 0.640464 0.586207 \n", "Validation F1 0.749810 0.672986 0.751323 0.710375 " ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Bag_overBag_underRFRF_overRF_underGB_overGB_underXGB_overXGB_under
Train Accuracy0.9994180.9914631.0000001.0000001.0000000.9427190.9524390.9397740.949390
Validation Accuracy0.9856000.9470000.9883000.9913000.9633000.9671000.9517000.9671000.959800
Train Recall0.9989070.9853661.0000001.0000001.0000000.9142450.9170730.9069460.908537
Validation Recall0.8884830.8957950.7970750.8921390.9140770.9012800.9085920.9085920.901280
Validation Precision0.8541300.5088270.9864250.9457360.6097560.6419270.5344090.6404640.586207
Validation F10.8709680.6490070.8816990.9181560.7315290.7498100.6729860.7513230.710375
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 95 } ] }, { "cell_type": "markdown", "source": [ "* The bagging classifiers are outperformed by the random forest classifiers in every metric. Accordingly, we would rather just study the random forest models.\n", "\n", "* I am curious to tune at least one model with the original data. Random forest performed best in this category.\n", "\n", "* The random forest models trained on both oversampled and undersampled data are strong. While the undersamped model shows higher validation recall, the oversampled model boasts impressive precision and F1, without much sacrifice in recall. A model with both stellar recall _and_ good precision will further cut down on operating costs for BreezeGen. The only issue with the random forest models is their overfitting. We will tune both to eliminate overfitting and find out which model comes out on top.\n", "\n", "* Both gradient boosting and XGBoost performed exceptionally. Additionally, these models did not treaten overfitting as much as the random forest models. The models trained on oversampled data and undersampled data boast great accuracy and recall. We will favor the oversampled ones, since their precision beats undersampled, and we'll tune both `GB_over` and `XGB_over`." ], "metadata": { "id": "KIIOUrpYhu6Y" } }, { "cell_type": "markdown", "source": [ "### Random Forest" ], "metadata": { "id": "V3JSLzLIzgPJ" } }, { "cell_type": "code", "source": [ "params={'n_estimators':np.arange(100,250,50),\n", " 'max_depth':np.arange(3,10),\n", " 'class_weight':[None,'balanced']}" ], "metadata": { "id": "oFOp3XBMzf6c" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "We will start by tuning the random forest trained on the original data. We vary `n_estimators` in an attempt to improve performance. We use `max_depth` to control overfitting, and balancing `class_weight` should help with recall on our highly unbalanced data set." ], "metadata": { "id": "yt8igVmzxAV1" } }, { "cell_type": "code", "source": [ "rf_tuned=RandomForestClassifier(random_state=2)\n", "\n", "search=RandomizedSearchCV(estimator=rf_tuned,\n", " param_distributions=params,\n", " n_iter=20,\n", " scoring='recall',\n", " n_jobs=-1,\n", " cv=5,\n", " verbose=1,\n", " random_state=1)\n", "\n", "search.fit(X_train,y_train)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 135 }, "id": "7JHmm8yO0mw0", "outputId": "214ba8b3-613b-49d3-9224-75440ab6ca1e" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Fitting 5 folds for each of 20 candidates, totalling 100 fits\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "RandomizedSearchCV(cv=5, estimator=RandomForestClassifier(random_state=2),\n", " n_iter=20, n_jobs=-1,\n", " param_distributions={'class_weight': [None, 'balanced'],\n", " 'max_depth': array([3, 4, 5, 6, 7, 8, 9]),\n", " 'n_estimators': array([100, 150, 200])},\n", " random_state=1, scoring='recall', verbose=1)" ], "text/html": [ "
RandomizedSearchCV(cv=5, estimator=RandomForestClassifier(random_state=2),\n",
              "                   n_iter=20, n_jobs=-1,\n",
              "                   param_distributions={'class_weight': [None, 'balanced'],\n",
              "                                        'max_depth': array([3, 4, 5, 6, 7, 8, 9]),\n",
              "                                        'n_estimators': array([100, 150, 200])},\n",
              "                   random_state=1, scoring='recall', verbose=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 97 } ] }, { "cell_type": "code", "source": [ "search.best_params_" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "kFFYz_Ji-2V8", "outputId": "692dc78c-f57c-4192-a2cd-71337fad060b" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "{'n_estimators': 100, 'max_depth': 5, 'class_weight': 'balanced'}" ] }, "metadata": {}, "execution_count": 98 } ] }, { "cell_type": "markdown", "source": [ "It turns out fewer estimators yielded better recall. A depth of 5, roughly in the middle of our proposed range, is better, and balanced class weights won out over no weighted classes." ], "metadata": { "id": "fQECuQEcx0i2" } }, { "cell_type": "code", "source": [ "best_rf=search.best_params_\n", "\n", "# fit model with best params\n", "rf_tuned=rf_tuned=RandomForestClassifier(\n", " random_state=2,\n", " n_jobs=-1,\n", " **best_rf\n", ")\n", "\n", "rf_tuned.fit(X_train,y_train)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 92 }, "id": "kCmd_FKy3h0q", "outputId": "368e59cd-1e3d-4411-c154-6f1dfb17188c" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "RandomForestClassifier(class_weight='balanced', max_depth=5, n_jobs=-1,\n", " random_state=2)" ], "text/html": [ "
RandomForestClassifier(class_weight='balanced', max_depth=5, n_jobs=-1,\n",
              "                       random_state=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 99 } ] }, { "cell_type": "markdown", "source": [ "The trained estimator has the following performance on validation data." ], "metadata": { "id": "3RdlQIUkyJy-" } }, { "cell_type": "code", "source": [ "ch(rf_tuned)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "zEr0Zzs07hFq", "outputId": "be8d78d1-c76d-4c7d-a0a9-986cbe85e3a7" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.950400\n", "Precision 0.528365\n", "Recall 0.868373\n", "F1 0.656985" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.950400
Precision0.528365
Recall0.868373
F10.656985
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 100 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "tuned_models=pd.DataFrame()\n", "\n", "tuned_models['RF']=model_scores(rf_tuned,sample=None)\n", "tuned_models" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 238 }, "id": "dfhptaYh-12n", "outputId": "987af58b-e68b-4051-b3d7-3ccd815ed05d" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " RF\n", "Train Accuracy 0.950633\n", "Validation Accuracy 0.950400\n", "Train Recall 0.878049\n", "Validation Recall 0.868373\n", "Validation Precision 0.528365\n", "Validation F1 0.656985" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RF
Train Accuracy0.950633
Validation Accuracy0.950400
Train Recall0.878049
Validation Recall0.868373
Validation Precision0.528365
Validation F10.656985
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 101 } ] }, { "cell_type": "markdown", "source": [ "Accuracy is stellar and certainly **not** overfit. Recall is good, at around 87%. Precision is a bit lower: not much more than 50%, i.e., random guessing. While precision is not our number one priority, other finalist models demonstrate good precision too, which would further reduce costs for BreezeGen." ], "metadata": { "id": "nJeMrcbNyUUQ" } }, { "cell_type": "markdown", "source": [ "### Random Forest [Oversampled]" ], "metadata": { "id": "4O8Lw-Kz23D-" } }, { "cell_type": "code", "source": [ "params={'n_estimators':np.arange(250,350,25),\n", " 'max_depth':np.arange(4,9),\n", " 'max_features':['sqrt',0.5]}" ], "metadata": { "id": "5RYylH7ACrKq" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "Again, we vary the number of estimators with the goal of improving performance. We will curtail overfitting with the `max_depth` and `max_features` parameters. The latter should also aid performance. (After many trials, I discovered that low values of `n_estimators` caused some overfitting, so I set 250 as the minimum value in the parameter distribution.)\n", "\n", "Additionally, we instantiate the estimator with `min_samples_leaf=2` to further prevent overfitting: a leaf cannot consist of a single datum. This reduces occurances of the model memorizing noise in the training data." ], "metadata": { "id": "PVAxYuU_y00T" } }, { "cell_type": "code", "source": [ "rf_over_tuned=RandomForestClassifier(random_state=2,min_samples_leaf=2)\n", "\n", "search=RandomizedSearchCV(estimator=rf_over_tuned,\n", " param_distributions=params,\n", " n_iter=15,\n", " scoring='recall',\n", " n_jobs=-1,\n", " cv=5,\n", " verbose=1,\n", " random_state=1)\n", "\n", "search.fit(X_train_over,y_train_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 135 }, "id": "aUiheQta28hg", "outputId": "dee59858-2355-4c24-c9db-6a0577d36c3a" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Fitting 5 folds for each of 15 candidates, totalling 75 fits\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "RandomizedSearchCV(cv=5,\n", " estimator=RandomForestClassifier(min_samples_leaf=2,\n", " random_state=2),\n", " n_iter=15, n_jobs=-1,\n", " param_distributions={'max_depth': array([4, 5, 6, 7, 8]),\n", " 'max_features': ['sqrt', 0.5],\n", " 'n_estimators': array([250, 275, 300, 325])},\n", " random_state=1, scoring='recall', verbose=1)" ], "text/html": [ "
RandomizedSearchCV(cv=5,\n",
              "                   estimator=RandomForestClassifier(min_samples_leaf=2,\n",
              "                                                    random_state=2),\n",
              "                   n_iter=15, n_jobs=-1,\n",
              "                   param_distributions={'max_depth': array([4, 5, 6, 7, 8]),\n",
              "                                        'max_features': ['sqrt', 0.5],\n",
              "                                        'n_estimators': array([250, 275, 300, 325])},\n",
              "                   random_state=1, scoring='recall', verbose=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 103 } ] }, { "cell_type": "code", "source": [ "search.best_params_" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "kDtolaIa9F5B", "outputId": "6686d1cc-e2c1-4919-b675-1634adc28ff6" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "{'n_estimators': 325, 'max_features': 0.5, 'max_depth': 8}" ] }, "metadata": {}, "execution_count": 104 } ] }, { "cell_type": "markdown", "source": [ "We find that greater depth and more estimators increase recall. Additionally, taking 50% of features (greater than $\\sqrt{\\text{num_features}}$) yielded a higher score." ], "metadata": { "id": "eSKcPu_O5Ko-" } }, { "cell_type": "code", "source": [ "best_rf_over=search.best_params_\n", "\n", "# fit model with best params\n", "rf_over_tuned=RandomForestClassifier(\n", " random_state=2,\n", " min_samples_leaf=2,\n", " n_jobs=-1,\n", " **best_rf_over\n", ")\n", "\n", "rf_over_tuned.fit(X_train_over,y_train_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 92 }, "id": "SEpnTVh2YGr8", "outputId": "8ed224c3-580d-42ee-d117-ebc33d246ee1" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "RandomForestClassifier(max_depth=8, max_features=0.5, min_samples_leaf=2,\n", " n_estimators=325, n_jobs=-1, random_state=2)" ], "text/html": [ "
RandomForestClassifier(max_depth=8, max_features=0.5, min_samples_leaf=2,\n",
              "                       n_estimators=325, n_jobs=-1, random_state=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 105 } ] }, { "cell_type": "code", "source": [ "ch(rf_over_tuned)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "m_4HYron0B1H", "outputId": "66bc4fe0-153a-4428-a086-e02ecef66d42" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.978800\n", "Precision 0.754173\n", "Recall 0.908592\n", "F1 0.824212" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.978800
Precision0.754173
Recall0.908592
F10.824212
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 106 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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//1JTO03mivJSfRrFcjk7wsm2Mj9KS5dJwoaxdjosaNwc3Njzao1rF29FncPd4aOGJJrEa//5e7hTv1n6/PrLzuIj48nKzMLD08P+vbvQ68+PSlZMu/R859NmU7D5xrw0ssvGZX3e7sv15KTCQ5ahrW1NQPe6U/bdm0K7D1F8pN88zonY8/St2UgLo5liU9KICR8Mx9/O52Y+Fvdiv/sH9KkTiOa1GmU6z5NPuh0x6mp+48f4YOO/ejwYkusLK04fPoob01+j6WbVuY695mqNZnQ03gRu3HdPwTg9IXoPIPG6MD3uHTlMvNClhiVL1wfjHtZV/q2DMTW2oYFPwUzMXjWbesqheNhHNhpCi1BLvKI0xLkIveuMJYgP3XtmEnXVXrs4fqZVouGiIhIEVDXiYiIiJhNcek6UdAQEREpAgoaIiIiYjbqOhERERGzUYuGiIiImI1aNERERMRs1KIhIiIiZqSgISIiImZSPGKGNlUTERERM1KLhoiISBHQYFARERExIwUNERERMZPiETMUNERERIpI8YgaChoiIiJFoLiM0dCsExERETEbtWiIiIgUAa0MKiIiImZTXIKGuk5ERETEbNSiISIiUgQ0GFRERETkPqlFQ0REpAgUlzEaChoiIiJFQkFDREREzKR4xAyN0RAREREzUouGiIhIESgus04UNERERIqEgoaIiIiYSfGIGQoaIiIiRaR4RA0FDRERkSJQXMZoaNaJiIiImI1aNERERIqAVgYVERERM1LQEBERETMpHjFDQUNERKRIFJfBoAoaIiIiRUJBQ0RERMykeMQMBQ0REZEiUjyihtbREBEREbNRi4aIiEgRKC6DQdWiISIiImZjkZ2dnV3UlRAREZFHk1o0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ05L5NnjyZZs2a4e3tzbFjx4q6OiIPvFOnThEQEICvry8BAQGcPn26qKskYjYKGnLfXnnlFYKCgvDw8Cjqqog8FMaOHUtgYCAbNmwgMDCQMWPGFHWVRMxGQUPuW/369XFzcyvqaog8FC5fvkxkZCStW7cGoHXr1kRGRpKQkFDENRMxDwUNEZFCFBsbi6urK1ZWVgBYWVnh4uJCbGxsEddMxDwUNERERMRsFDRERAqRm5sbFy9eJDMzE4DMzEzi4uLU/SiPLAUNEZFCVLZsWXx8fAgJCQEgJCQEHx8fnJycirhmIuZhkZ2dnV3UlZCH24QJE9i4cSPx8fGUKVMGR0dHQkNDi7paIg+sEydOMHz4cJKSknBwcGDy5MlUrly5qKslYhYKGiIiImI26joRERERs1HQEBEREbNR0BARERGzUdAQERERs1HQEBEREbNR0BCRuzZr1izDHh0iIndDQUPkARUREYGPjw9dunS5p+veeustxo0bZ6ZaiYjcGwUNkQfU8uXLCQwM5Pjx45w4caKoqyMiYhIFDZEHUEpKCiEhIXTu3BlfX19WrFhhdPzAgQN069aNunXrUq9ePbp168bFixcZPnw4v//+O0FBQXh7e+Pt7c25c+cIDw/H29vbaCvyc+fO4e3tzeHDh4GcPTdGjhxJs2bNqF27Ns2bN2fBggVkZWUV6ruLyKPFuqgrICK5rV+/Hnd3d7y9vfH39+f9999n8ODB2NjYcPToUbp164a/vz8jRozA1taWPXv2kJmZyahRozh9+jSVKlVi8ODBADg5ORETE3PHZ2ZlZeHq6soXX3yBk5MThw4dYsyYMTg6OtKpUydzv7KIPKIUNEQeQCtXrsTf3x+ABg0aYG9vz+bNm/Hz82PBggX4+Pgwfvx4w/lVqlQx/N3GxgZ7e3vKlSt3T8+0sbHhvffeM3zu6elJZGQkoaGhChoiYjIFDZEHzJkzZ9i3bx/Tpk0DwMLCgjZt2rBixQr8/PyIioritddeM8uzg4ODWb58OefPnyc1NZX09HQ8PDzM8iwRKR4UNEQeMMuXLyczM5OmTZsayv7Z+zA2Ntake1pa5h6OlZGRYfT5Tz/9xMSJExk2bBhPP/00pUuXJigoiE2bNpn0TBERUNAQeaBkZGSwevVqPvjgA5o0aWJ0bOjQoaxcuRIfHx92796d7z1sbGzIzMw0KnNycgIgLi7O8PeoqCijc/bt20edOnXo2rWroezs2bP38zoiIpp1IvIg2bZtG4mJiXTq1Ilq1aoZfbRs2ZIff/yR3r17ExkZyUcffcTRo0c5efKkobsDwMPDg8OHD3Pu3DkSEhLIysqiQoUKuLm5MXv2bE6dOsWOHTuYO3eu0bO9vLyIiIhg+/btnD59mjlz5rBnz56i+DKIyCNEQUPkAbJixQoaNmxImTJlch1r0aIFMTExJCQksGjRIk6ePEnnzp3p3LkzoaGhWFvnNFD26tULGxsbWrVqRaNGjTh//jw2NjZMnz6d6Oho/P39mTVrlmFWyj8CAgJo0aIFH374IR07diQmJoaePXsWynuLyKPLIvufzl8RERGRAqYWDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMZv/ByjSh5W6MbU0AAAAAElFTkSuQmCC\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "The metrics for validation data are great: 91% recall and around 98% accuracy. Precision is good too, at around 75%, yielding an F1 score of 82%. Note especially the rarity of false negatives in the confusion matrix above." ], "metadata": { "id": "Pz-8eBYG6Kuk" } }, { "cell_type": "code", "source": [ "tuned_models['RF_over']=model_scores(rf_over_tuned,sample='over')\n", "tuned_models" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 238 }, "id": "Oi0sW9r63Edm", "outputId": "6c4f1a40-1776-40b2-a089-2f0843e2c0e0" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " RF RF_over\n", "Train Accuracy 0.950633 0.950864\n", "Validation Accuracy 0.950400 0.978800\n", "Train Recall 0.878049 0.916890\n", "Validation Recall 0.868373 0.908592\n", "Validation Precision 0.528365 0.754173\n", "Validation F1 0.656985 0.824212" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RFRF_over
Train Accuracy0.9506330.950864
Validation Accuracy0.9504000.978800
Train Recall0.8780490.916890
Validation Recall0.8683730.908592
Validation Precision0.5283650.754173
Validation F10.6569850.824212
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 107 } ] }, { "cell_type": "markdown", "source": [ "Comparing with training data, there's not much concern for overfitting here. Recall is locked in around 91%, and precision is a good improvement on the previous random forest model." ], "metadata": { "id": "DHgd4HgzzR0S" } }, { "cell_type": "markdown", "source": [ "### Random Forest [Undersampled]" ], "metadata": { "id": "GMuedqh63HdB" } }, { "cell_type": "code", "source": [ "params={'n_estimators':np.arange(150,300,50),\n", " 'max_depth':np.arange(3,10),\n", " 'max_features':['sqrt',0.5]}" ], "metadata": { "id": "6XvYCWCykT_r" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "As with the last model, we will test values for `n_estimators`, `max_depth`, and `max_features`. Mostly, we are looking to prevent overfitting." ], "metadata": { "id": "57vDOLNl6z3B" } }, { "cell_type": "code", "source": [ "rf_under_tuned=RandomForestClassifier(random_state=2,min_samples_leaf=2)\n", "\n", "search=RandomizedSearchCV(estimator=rf_under_tuned,\n", " param_distributions=params,\n", " n_iter=30,\n", " scoring='recall',\n", " n_jobs=-1,\n", " cv=5,\n", " verbose=1,\n", " random_state=1)\n", "\n", "search.fit(X_train_under,y_train_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 135 }, "id": "QjUoE7tY28du", "outputId": "cb810f71-6ec0-455d-82b7-6d415de6e7fa" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Fitting 5 folds for each of 30 candidates, totalling 150 fits\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "RandomizedSearchCV(cv=5,\n", " estimator=RandomForestClassifier(min_samples_leaf=2,\n", " random_state=2),\n", " n_iter=30, n_jobs=-1,\n", " param_distributions={'max_depth': array([3, 4, 5, 6, 7, 8, 9]),\n", " 'max_features': ['sqrt', 0.5],\n", " 'n_estimators': array([150, 200, 250])},\n", " random_state=1, scoring='recall', verbose=1)" ], "text/html": [ "
RandomizedSearchCV(cv=5,\n",
              "                   estimator=RandomForestClassifier(min_samples_leaf=2,\n",
              "                                                    random_state=2),\n",
              "                   n_iter=30, n_jobs=-1,\n",
              "                   param_distributions={'max_depth': array([3, 4, 5, 6, 7, 8, 9]),\n",
              "                                        'max_features': ['sqrt', 0.5],\n",
              "                                        'n_estimators': array([150, 200, 250])},\n",
              "                   random_state=1, scoring='recall', verbose=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 110 } ] }, { "cell_type": "code", "source": [ "search.best_params_" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "EtF_31UF3Jr9", "outputId": "9d2a0d4c-e54e-47ba-de1a-da7cd20e1128" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "{'n_estimators': 150, 'max_features': 'sqrt', 'max_depth': 9}" ] }, "metadata": {}, "execution_count": 111 } ] }, { "cell_type": "markdown", "source": [ "In this case, fewer estimators and fewer features yielded better results. Like the previous model, a greater depth was preferable." ], "metadata": { "id": "yyqrrL6jiD8K" } }, { "cell_type": "code", "source": [ "best_rf_under=search.best_params_\n", "\n", "# fit model with best params\n", "rf_under_tuned=RandomForestClassifier(\n", " random_state=2,\n", " min_samples_leaf=2,\n", " n_jobs=-1,\n", " **best_rf_under\n", ")\n", "\n", "rf_under_tuned.fit(X_train_under,y_train_under)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 92 }, "id": "1xCp55aL3QMT", "outputId": "e53502e9-b2b3-40f8-843f-339a7a25274b" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "RandomForestClassifier(max_depth=9, min_samples_leaf=2, n_estimators=150,\n", " n_jobs=-1, random_state=2)" ], "text/html": [ "
RandomForestClassifier(max_depth=9, min_samples_leaf=2, n_estimators=150,\n",
              "                       n_jobs=-1, random_state=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 112 } ] }, { "cell_type": "code", "source": [ "ch(rf_under_tuned)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "BzQN2KFakdXG", "outputId": "2af3bee2-5846-4c68-c9f1-e64daae3dae6" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.966000\n", "Precision 0.630847\n", "Recall 0.912249\n", "F1 0.745889" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.966000
Precision0.630847
Recall0.912249
F10.745889
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 122 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "tuned_models['RF_under']=model_scores(rf_under_tuned,sample='under')\n", "tuned_models" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 238 }, "id": "y2EQjfBB3JoT", "outputId": "4b446624-bc76-475b-e750-f3598b905dc9" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " RF RF_over RF_under\n", "Train Accuracy 0.950633 0.950864 0.958841\n", "Validation Accuracy 0.950400 0.978800 0.966000\n", "Train Recall 0.878049 0.916890 0.918902\n", "Validation Recall 0.868373 0.908592 0.912249\n", "Validation Precision 0.528365 0.754173 0.630847\n", "Validation F1 0.656985 0.824212 0.745889" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RFRF_overRF_under
Train Accuracy0.9506330.9508640.958841
Validation Accuracy0.9504000.9788000.966000
Train Recall0.8780490.9168900.918902
Validation Recall0.8683730.9085920.912249
Validation Precision0.5283650.7541730.630847
Validation F10.6569850.8242120.745889
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 123 } ] }, { "cell_type": "markdown", "source": [ "Performance here is quite similar to the last model. What's different, however, is the consistency across data sets: the difference between training and validation scores is less than that of the previous model. Recall is reliably 91%. It only falls short of the previous model in precision." ], "metadata": { "id": "d4xiuYXeicY6" } }, { "cell_type": "markdown", "source": [ "### Gradient Boosting [Oversampled]" ], "metadata": { "id": "TfoNTvTY3UwL" } }, { "cell_type": "code", "source": [ "params={'n_estimators':np.arange(50,125,25),\n", " 'subsample':[0.5,0.75],\n", " 'max_depth':[3,4]}" ], "metadata": { "id": "QTNFx-M028aC" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "After many trials, the main issue with tuned gradient boosting was overfitting. Keeping `n_estimators` low helped curtail this issue, as did taking values for `subsample` less than 1. Adjusting `max_depth` assisted with increasing precision without much impact on recall." ], "metadata": { "id": "-t7LH5XPjeT0" } }, { "cell_type": "code", "source": [ "gbc_over_tuned=GradientBoostingClassifier(random_state=2,min_samples_leaf=4)\n", "\n", "search=RandomizedSearchCV(estimator=gbc_over_tuned,\n", " param_distributions=params,\n", " n_iter=8,\n", " scoring='recall',\n", " n_jobs=-1,\n", " cv=5,\n", " verbose=1,\n", " random_state=1)\n", "\n", "search.fit(X_train_over,y_train_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 135 }, "id": "ik-ASmWB28Vz", "outputId": "b55e885a-1923-47f0-c543-ba4de4d4fa94" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Fitting 5 folds for each of 8 candidates, totalling 40 fits\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "RandomizedSearchCV(cv=5,\n", " estimator=GradientBoostingClassifier(min_samples_leaf=4,\n", " random_state=2),\n", " n_iter=8, n_jobs=-1,\n", " param_distributions={'max_depth': [3, 4],\n", " 'n_estimators': array([ 50, 75, 100]),\n", " 'subsample': [0.5, 0.75]},\n", " random_state=1, scoring='recall', verbose=1)" ], "text/html": [ "
RandomizedSearchCV(cv=5,\n",
              "                   estimator=GradientBoostingClassifier(min_samples_leaf=4,\n",
              "                                                        random_state=2),\n",
              "                   n_iter=8, n_jobs=-1,\n",
              "                   param_distributions={'max_depth': [3, 4],\n",
              "                                        'n_estimators': array([ 50,  75, 100]),\n",
              "                                        'subsample': [0.5, 0.75]},\n",
              "                   random_state=1, scoring='recall', verbose=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 126 } ] }, { "cell_type": "code", "source": [ "search.best_params_" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "0QblZzLkigs_", "outputId": "133bb493-0f23-4a27-e9ea-b7203c1b75ad" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "{'subsample': 0.5, 'n_estimators': 100, 'max_depth': 4}" ] }, "metadata": {}, "execution_count": 127 } ] }, { "cell_type": "markdown", "source": [ "The model certainly leaned toward the high end of `n_estimators`, but previous trials revealed that a value any higher than 100 introduced overfitting issues. Better results were observed with lower `subsample` and higher `max_depth`." ], "metadata": { "id": "QwXGya3_kL5T" } }, { "cell_type": "code", "source": [ "best_gbc_over=search.best_params_\n", "\n", "# fit model with best params\n", "gbc_over_tuned=GradientBoostingClassifier(\n", " random_state=2,\n", " min_samples_leaf=4,\n", " **best_gbc_over\n", ")\n", "\n", "gbc_over_tuned.fit(X_train_over,y_train_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 92 }, "id": "CzQgIDLiIwGg", "outputId": "29ff09d5-4f11-4c2e-91eb-a0e6db8949f2" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "GradientBoostingClassifier(max_depth=4, min_samples_leaf=4, random_state=2,\n", " subsample=0.5)" ], "text/html": [ "
GradientBoostingClassifier(max_depth=4, min_samples_leaf=4, random_state=2,\n",
              "                           subsample=0.5)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 129 } ] }, { "cell_type": "code", "source": [ "ch(gbc_over_tuned)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "RfF_UZP6ktX4", "outputId": "c3087537-41ca-4171-e65f-5f17a3e3ce3e" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.977600\n", "Precision 0.739259\n", "Recall 0.912249\n", "F1 0.816694" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.977600
Precision0.739259
Recall0.912249
F10.816694
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 131 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "tuned_models['GBC_over']=model_scores(gbc_over_tuned,sample='over')\n", "tuned_models" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 238 }, "id": "J6lApZPLI6Ak", "outputId": "d61018bb-5a09-4d26-ed7f-822e2dc3fc85" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " RF RF_over RF_under GBC_over\n", "Train Accuracy 0.950633 0.950864 0.958841 0.953138\n", "Validation Accuracy 0.950400 0.978800 0.966000 0.977600\n", "Train Recall 0.878049 0.916890 0.918902 0.924260\n", "Validation Recall 0.868373 0.908592 0.912249 0.912249\n", "Validation Precision 0.528365 0.754173 0.630847 0.739259\n", "Validation F1 0.656985 0.824212 0.745889 0.816694" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RFRF_overRF_underGBC_over
Train Accuracy0.9506330.9508640.9588410.953138
Validation Accuracy0.9504000.9788000.9660000.977600
Train Recall0.8780490.9168900.9189020.924260
Validation Recall0.8683730.9085920.9122490.912249
Validation Precision0.5283650.7541730.6308470.739259
Validation F10.6569850.8242120.7458890.816694
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 132 } ] }, { "cell_type": "markdown", "source": [ "This model performs comparably to `RF_over`, which is to say, fantastically! Accuracy is solidly in the 95-98% range, with recall at 91%. Precision clocks in at 74%, one of our top scores for these finalist models." ], "metadata": { "id": "8IRS0zPflADO" } }, { "cell_type": "markdown", "source": [ "### XGBoost [Oversampled]" ], "metadata": { "id": "g-ChEjXO62Cz" } }, { "cell_type": "code", "source": [ "params={'eta':[0.05,0.1,0.15],\n", " 'colsample_bytree':[0.5,0.75,1.0],\n", " 'max_depth':np.arange(2,5)}" ], "metadata": { "id": "Dz38cRN3UNqr" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "After much experimentation, I narrowed down the parameter space to `eta` (=`learning_rate`), `colsample_bytree`, and `max_depth`. All three parameters will be used to control overfitting and improve performance on secondary metrics, like precision, since recall is solidly around 90% across a large swath of the parameter space.\n", "\n", "What's more, by instantiating the classifier with `tree_method='gpu_hist'`, training time is lightnight fast! So fast, in fact, that I am able to run exhaustive parameter searches with `GridSearchCV` nearly instantly." ], "metadata": { "id": "jwWFBTwt23k0" } }, { "cell_type": "code", "source": [ "xgb_over_tuned=XGBClassifier(random_state=1,\n", " tree_method='gpu_hist')\n", "\n", "go=GridSearchCV(estimator=xgb_over_tuned,\n", " param_grid=params,\n", " scoring='recall',\n", " cv=5,\n", " n_jobs=-1,\n", " verbose=1)\n", "\n", "go.fit(X_train_over,y_train_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 135 }, "id": "lqERdqGpRRWa", "outputId": "66cb4b3b-0386-414f-8585-63c0d313345a" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Fitting 5 folds for each of 27 candidates, totalling 135 fits\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "GridSearchCV(cv=5,\n", " estimator=XGBClassifier(random_state=1, tree_method='gpu_hist'),\n", " n_jobs=-1,\n", " param_grid={'colsample_bytree': [0.5, 0.75, 1.0],\n", " 'eta': [0.05, 0.1, 0.15],\n", " 'max_depth': array([2, 3, 4])},\n", " scoring='recall', verbose=1)" ], "text/html": [ "
GridSearchCV(cv=5,\n",
              "             estimator=XGBClassifier(random_state=1, tree_method='gpu_hist'),\n",
              "             n_jobs=-1,\n",
              "             param_grid={'colsample_bytree': [0.5, 0.75, 1.0],\n",
              "                         'eta': [0.05, 0.1, 0.15],\n",
              "                         'max_depth': array([2, 3, 4])},\n",
              "             scoring='recall', verbose=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 134 } ] }, { "cell_type": "code", "source": [ "go.best_params_" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "ptiw1nyQbJUJ", "outputId": "67e4c36b-ffab-4657-b700-f7cbd23e1771" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "{'colsample_bytree': 1.0, 'eta': 0.05, 'max_depth': 4}" ] }, "metadata": {}, "execution_count": 135 } ] }, { "cell_type": "markdown", "source": [ "The best setting for `colsample_bytree` turns out to be the default. I found that `eta` wanted to be as low as possible, but any lower than 0.05 threatened overfitting. Reducing `max_depth` to 4 (from the default of 6) certainly did prevent overfitting." ], "metadata": { "id": "bbQ4YndRlxTn" } }, { "cell_type": "code", "source": [ "best_xgb_over=go.best_params_\n", "\n", "# fit model with best params\n", "xgb_over_tuned=XGBClassifier(\n", " random_state=1,\n", " tree_method='gpu_hist',\n", " **best_xgb_over\n", ")\n", "\n", "xgb_over_tuned.fit(X_train_over,y_train_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 92 }, "id": "RGHDzYCLSbKi", "outputId": "d896448a-3dc6-44cc-e9e7-c66d56676782" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "XGBClassifier(colsample_bytree=1.0, eta=0.05, max_depth=4, random_state=1,\n", " tree_method='gpu_hist')" ], "text/html": [ "
XGBClassifier(colsample_bytree=1.0, eta=0.05, max_depth=4, random_state=1,\n",
              "              tree_method='gpu_hist')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 136 } ] }, { "cell_type": "code", "source": [ "ch(xgb_over_tuned)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "id": "QYVK9de1KwAu", "outputId": "4b751a69-672a-4945-d7fa-89c00ac42101" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Scores\n", "Accuracy 0.978800\n", "Precision 0.754947\n", "Recall 0.906764\n", "F1 0.823920" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Scores
Accuracy0.978800
Precision0.754947
Recall0.906764
F10.823920
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 137 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "tuned_models['XGB_over']=model_scores(xgb_over_tuned,sample='over')\n", "tuned_models" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 238 }, "id": "scjrQDlJl1Th", "outputId": "8e480797-74e3-49f9-a6f7-d0a0f7d71dc2" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " RF RF_over RF_under GBC_over XGB_over\n", "Train Accuracy 0.950633 0.950864 0.958841 0.953138 0.950934\n", "Validation Accuracy 0.950400 0.978800 0.966000 0.977600 0.978800\n", "Train Recall 0.878049 0.916890 0.918902 0.924260 0.918900\n", "Validation Recall 0.868373 0.908592 0.912249 0.912249 0.906764\n", "Validation Precision 0.528365 0.754173 0.630847 0.739259 0.754947\n", "Validation F1 0.656985 0.824212 0.745889 0.816694 0.823920" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RFRF_overRF_underGBC_overXGB_over
Train Accuracy0.9506330.9508640.9588410.9531380.950934
Validation Accuracy0.9504000.9788000.9660000.9776000.978800
Train Recall0.8780490.9168900.9189020.9242600.918900
Validation Recall0.8683730.9085920.9122490.9122490.906764
Validation Precision0.5283650.7541730.6308470.7392590.754947
Validation F10.6569850.8242120.7458890.8166940.823920
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 138 } ] }, { "cell_type": "markdown", "source": [ "Performance here is nearly identical to `RF_over` and `GBC_over`. Great recall will surely be a cost savings for BreezeGen, and good precision will help too!" ], "metadata": { "id": "DcH2AjFymtwx" } }, { "cell_type": "markdown", "metadata": { "id": "D9JNnpxa4jau" }, "source": [ "## Model performance comparison and choosing the final model" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "0JG85rkY4jav", "colab": { "base_uri": "https://localhost:8080/", "height": 238 }, "outputId": "3df11d55-0943-48f4-d64e-450b3d7b1ab4" }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " RF RF_over RF_under GBC_over XGB_over\n", "Train Accuracy 0.950633 0.950864 0.958841 0.953138 0.950934\n", "Validation Accuracy 0.950400 0.978800 0.966000 0.977600 0.978800\n", "Train Recall 0.878049 0.916890 0.918902 0.924260 0.918900\n", "Validation Recall 0.868373 0.908592 0.912249 0.912249 0.906764\n", "Validation Precision 0.528365 0.754173 0.630847 0.739259 0.754947\n", "Validation F1 0.656985 0.824212 0.745889 0.816694 0.823920" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RFRF_overRF_underGBC_overXGB_over
Train Accuracy0.9506330.9508640.9588410.9531380.950934
Validation Accuracy0.9504000.9788000.9660000.9776000.978800
Train Recall0.8780490.9168900.9189020.9242600.918900
Validation Recall0.8683730.9085920.9122490.9122490.906764
Validation Precision0.5283650.7541730.6308470.7392590.754947
Validation F10.6569850.8242120.7458890.8166940.823920
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 139 } ], "source": [ "tuned_models" ] }, { "cell_type": "markdown", "source": [ "* All models boast accuracy in the 95-97% range without overfitting.\n", "\n", "* The random forest trained on the original data scores worst on recall, so it will not be the final model. Every other model has a recall score squarely in the 91-92% range.\n", "\n", "* Precision is an important secondary metric, as has been discussed throughout. While recall will cut down on BreezeGen's greatest expense, namely repair and replacement costs, precision reduces the instances where an inspection is unnecessary. This reduces money wasted on needless inspections. Of the remaining models, the random forest trained on undersampled data scores worst on precision, so it will not be the final model." ], "metadata": { "id": "Jb4pvYi1nTg7" } }, { "cell_type": "markdown", "metadata": { "id": "d_pDMFAz4jav" }, "source": [ "### Test set final performance" ] }, { "cell_type": "markdown", "source": [ "To choose the best model, we'll look at performance on completely unseen data." ], "metadata": { "id": "N3-wH7eTsJCp" } }, { "cell_type": "code", "source": [ "test_data=pd.read_csv('dataset_test.csv')" ], "metadata": { "id": "9bE7W638olop" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "X_test=test_data.drop('Target',axis=1)\n", "y_test=test_data['Target']\n", "\n", "# X_test=pre.transform(X_test)" ], "metadata": { "id": "wv-X56z0o6Xf" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "After spliting the data into predictor features and target, we run `X_test` through the preprocessing pipeline defined earlier. This pipeline includes a scaler and an imputer." ], "metadata": { "id": "_ChhWvjjsOk0" } }, { "cell_type": "code", "source": [ "test_perf=pd.DataFrame()\n", "\n", "def test_scores(model):\n", "\n", " y_pred=model.predict(X_test)\n", " ser=pd.Series(dtype=float)\n", "\n", " ser.loc['Test Accuracy']=metrics.accuracy_score(y_test,y_pred)\n", " ser.loc['Test Recall']=metrics.recall_score(y_test,y_pred)\n", " ser.loc['Test Precision']=metrics.precision_score(y_test,y_pred)\n", " return ser" ], "metadata": { "id": "st6zk1jwWO25" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "This funciton will compile metrics." ], "metadata": { "id": "P7NUG2fzshsT" } }, { "cell_type": "code", "source": [ "test_perf['RF']=test_scores(rf_over_tuned)\n", "test_perf['GBC']=test_scores(gbc_over_tuned)\n", "test_perf['XGB']=test_scores(xgb_over_tuned)\n", "test_perf" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 143 }, "id": "V0zg_7oBpqS5", "outputId": "b0b96847-8092-41c6-d61c-93a954b78726" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " RF GBC XGB\n", "Test Accuracy 0.977600 0.974200 0.974600\n", "Test Recall 0.861060 0.872029 0.870201\n", "Test Precision 0.760905 0.717293 0.722307" ], "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RFGBCXGB
Test Accuracy0.9776000.9742000.974600
Test Recall0.8610600.8720290.870201
Test Precision0.7609050.7172930.722307
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 149 } ] }, { "cell_type": "markdown", "source": [ "Interesting! Recall is lower on the testing data than on training and validation data. All three models score around 97% on accuracy, and around 87% on recall. What sets apart our winner is its precision score. The random forest model has noticably better precision (76%), which will cut down on inspection costs for BreezeGen.\n", "\n", "The best model is the tuned random forest trained on the oversampled data." ], "metadata": { "id": "GDoPfchasnBc" } }, { "cell_type": "markdown", "metadata": { "id": "TM6VZTRn4jav" }, "source": [ "## Pipelines to build the final model\n" ] }, { "cell_type": "markdown", "source": [ "Our preprocessing pipeline was already most of what we needed, so we will add to what was already built above." ], "metadata": { "id": "472zsc8atU4i" } }, { "cell_type": "code", "source": [ "transformers=[\n", " ('Scaler',StandardScaler()),\n", " ('Imputer',KNNImputer()),\n", " ('Predictor',rf_over_tuned)\n", "]\n", "pipe=Pipeline(transformers)" ], "metadata": { "id": "P1SEqh3itTIF" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "The three steps in our pipeline are scaling, imputing, and predicting." ], "metadata": { "id": "thQP5weeuG0r" } }, { "cell_type": "code", "source": [ "pipe.fit(X_train_over,y_train_over)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 161 }, "id": "UtphVJxZuN1c", "outputId": "ce2a0e36-29b0-42e7-dabc-699e6ed0ada7" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Pipeline(steps=[('Scaler', StandardScaler()), ('Imputer', KNNImputer()),\n", " ('Predictor',\n", " RandomForestClassifier(max_depth=8, max_features=0.5,\n", " min_samples_leaf=2, n_estimators=325,\n", " n_jobs=-1, random_state=2))])" ], "text/html": [ "
Pipeline(steps=[('Scaler', StandardScaler()), ('Imputer', KNNImputer()),\n",
              "                ('Predictor',\n",
              "                 RandomForestClassifier(max_depth=8, max_features=0.5,\n",
              "                                        min_samples_leaf=2, n_estimators=325,\n",
              "                                        n_jobs=-1, random_state=2))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 167 } ] }, { "cell_type": "markdown", "source": [ "This pipeline can be used to quickly process new data and subsequently make predictions for possible inspections." ], "metadata": { "id": "IHiQhMX6wcJL" } }, { "cell_type": "markdown", "metadata": { "id": "c5hPmHyR4jaw" }, "source": [ "# Business Insights and Conclusions" ] }, { "cell_type": "code", "source": [ "ch(pipe,show_scores=False)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 365 }, "id": "HkjhkSa2wwwR", "outputId": "b1ecbc7f-9f70-4874-c359-7e445fe43a9d" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhoAAAFcCAYAAACOUBfKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd1hURxfA4R9dRZGOCmINiF0xlmjsXey919hr1IiJvcTYG9bYxRIbFrB3E42xJbHlM3ZAkSIC0st+fxA3bhYUVpalnDfPPk927szcc9GVszNz5+opFAoFQgghhBBaoK/rAIQQQgiRc0miIYQQQgitkURDCCGEEFojiYYQQgghtEYSDSGEEEJojSQaQgghhNAaSTSE0NC2bdto2bIlFStWxNnZmS1btmj9nA0bNqRhw4ZaP09u4OzsTO/evXUdhhA5niQaIst79OgRs2fPxs3NDVdXV8qXL0+dOnUYPHgwe/fuJS4uLtNj8vHxYe7cuZiYmNC3b19GjhxJ5cqVMz2OrKBhw4Y4Ozvj7OzMlStXUq03efJkZb2VK1d+0jmvXr2aIf0IIbTPUNcBCPEhHh4erFq1iqSkJKpUqUL79u3Jly8fwcHB/Pbbb0yZMoVdu3Zx4MCBTI3r3LlzAKxduxY7O7tMO29mjJpoytDQkH379lGrVi21Y2/fvuXYsWMYGhqSkJCgg+jUHT16lLx58+o6DCFyPEk0RJa1du1aVq5cSeHChVm+fDmVKlVSq3Pu3Dk2bdqU6bEFBgYCZGqSAeDo6Jip50uP+vXrc/LkSUJDQ7GwsFA5dvjwYaKjo2nSpAmnTp3SUYSqSpUqpesQhMgVZOpEZEl+fn54eHhgZGTE+vXrU0wyABo0aMDGjRvVyo8ePUrPnj1xdXWlYsWKtG7dmnXr1qU4zfJu3UNUVBTz58+nfv36lC9fniZNmrB+/Xre36V/5cqVODs7c/XqVQDlVICzs7MybmdnZ9zd3VOMt3fv3sq67ygUCry8vOjWrRs1a9akQoUK1KtXj4EDB3L06NEUY/2vuLg41q9fT+vWralUqRJVq1alR48eau3/G6Ofnx/jxo2jRo0aVKhQgQ4dOihHa9KrS5cuxMXFcejQIbVje/fupXDhwnz55Zcptn3y5AmLFi2iQ4cO1KxZk/Lly9OgQQOmTp1KQECASl13d3f69OkDJI94vf9n8O7P5cCBAzg7O3PgwAEuXrxI7969cXV1VfnZ/3eNhq+vL9WqVaN69er4+/urnDMqKooWLVrg4uKiPIcQIm1kRENkSQcOHCA+Pp5WrVrh5OT0wbrGxsYq75csWcK6deuwsLDAzc2NfPnycenSJZYsWcLPP//Mxo0b1drEx8czcOBAAgMDqVu3LgYGBpw+fZrFixcTFxfHyJEjAahevTojR47Ey8sLf39/ZfmnWLp0KevWrcPBwYEWLVpQoEABgoKCuH37NsePH6dly5YfbB8XF8fAgQP57bffKFmyJD169CAmJoYTJ04wbtw4/vrrL77++mu1dv7+/nTu3JmiRYvStm1bwsLCOHr0KMOHD2fz5s3UrFkzXdfxxRdfYG9vz759++jXr5+y/M6dO9y7d4+RI0eir5/yd5tTp06xe/duatSoQdWqVTEyMuLvv/9m7969nDt3jv379ytHjxo3bgyAl5cX1atXp3r16sp+7O3tVfo9ceIEly5dom7dunTr1o0XL16kGn/RokWZM2cOY8aMYfz48Xh6emJomPxP5MyZM3n8+DGjRo2iRo0a6fq5CJHrKYTIgvr06aNwcnJS7NmzJ13tbt68qXByclLUq1dPERgYqCyPj49XDBkyROHk5KRYs2aNSpsGDRoonJycFIMGDVJER0cry4ODgxWurq4KV1dXRVxcnEqbXr16KZycnNTO7+vrq3ByclJMmjQpxfhSale9enXFl19+qYiKilKrHxISohZrgwYNVMrWrl2rjD8+Pl4l/nfXduPGDbUYnZycFCtXrlTp6+LFi8q+0urdOeLj4xWrVq1SODk5KW7evKk8PnXqVEWZMmUU/v7+ij179iicnJwUK1asUOkjICBAERsbq9b3pUuXFGXKlFFMmzZNpfzXX39NsZ939u/fr3ByclI4OzsrLly4kGIdJycnRa9evdTKp0+frnByclIsWrRIoVAoFAcOHFA4OTkpevfurUhMTPzwD0MIoUamTkSWFBQUBKR/DcT+/fsBGDZsGDY2NspyQ0NDJk2ahL6+Pnv37k2x7ZQpU8iTJ4/yvZWVFY0aNSIiIoInT56k9xLSxdDQEAMDA7VyS0vLj7bdv38/enp6uLu7K7+BQ3L8w4YNA0jxmu3t7ZXH3/nyyy8pUqQIf/75Z3ovAYCOHTtiYGDAnj17gOQpB29vb+rUqUORIkVSbWdnZ6c2ygRQp04dSpcuzc8//6xRPI0aNaJu3brpajN58mTKlCnDjz/+iKenJ7NmzcLS0pJFixalOiIjhEidfGpEjnLv3j2AFIf9S5QoQaFChfDz8yMiIkLlWIECBShWrJham0KFCgEQHh6uhWiTtW7dGn9/f1q2bMnixYu5ePGiWnypefv2Lc+ePcPW1jbFxY3vfg73799XO1amTJkUk5tChQppfL12dnbUrVuX48eP8/btW3x8fIiMjKRLly4fbKdQKDh06BD9+vWjZs2alC1bVrnu4sGDB7x69UqjeCpWrJjuNiYmJixdupS8efMye/ZsoqOjmT9/Pra2thrFIERuJ2s0RJZkY2PDo0eP0v0L5t0v6PdHM/7b74sXLwgPD6dAgQLKcjMzsxTrvxshSExMTFcc6TF58mQcHBw4cOAA69evZ/369RgaGlK3bl3c3d1TTIDeefv2LZD69b775ZhS4vCha05KSkrvZSh16dKFc+fO4e3tzYEDB7CxsaFBgwYfbDNv3jy2bt2KjY0NderUwc7OTjm69G49jCasra01aleiRAmcnZ25desWpUuXpk6dOhr1I4SQRENkUa6urvz666/8+uuvdO7cOc3t3iUPwcHBKd4K+m5K5v0kIyO9G1pPba+IlH7hGxgY0K9fP/r160dISAg3btzAx8eH48eP8/DhQ3x8fFKcVgDInz8/kHy9KXl3G662rjcl9erVw87OjjVr1hAQEMCQIUNUpnT+KyQkhO3bt+Pk5MSuXbuU1/SOt7e3xrHo6elp1G79+vXcunULCwsL/v77b9atW6c2zSSESBuZOhFZUocOHTAyMuLEiRM8fPjwg3Xfv2XVxcUFIMVbEJ89e0ZAQAAODg6pfpv/VO/6/e8tmZA8+vD06dMPtreysqJp06YsX76cmjVr8vz5cx48eJBq/fz58+Po6MirV69S7Pvdz6Fs2bJpv4hPZGBgQMeOHQkICEBPT++jiaKvry9JSUnUrl1bLckICAjAz88vxXOAdkaabt68yYoVKyhRogTe3t6UKFGClStXcv369Qw/lxC5gSQaIktycHBg5MiRxMfHM3jwYG7fvp1ivYsXLzJo0CDl+44dOwKwZs0aXr9+rSxPTExk/vz5JCUl0alTJ63FnT9/fkqWLMnNmzdVEqTExETmzZtHTEyMSv24uDhu3Lih1k98fDxhYWEAH929smPHjigUChYsWKDyi/f169esXr1aWScz9e7dm1WrVrFx40aKFi36wbrvbkm9ceOGSvyRkZFMmTIlxdEhc3NzAF6+fJmBUUNYWBjjx49HX1+fpUuXYm1tzbJlyzAwMGDChAm8efMmQ88nRG4gUyciyxo6dCgJCQmsWrWKTp06UaVKFcqXL4+pqSnBwcFcv36dp0+fUr58eWWbqlWrMmjQIDZs2ICbmxvNmjUjb968XLp0iQcPHuDq6srAgQO1GvfAgQP57rvv6N69O82bN8fExISrV68SHx9PmTJl+Ouvv5R1Y2Ji6NGjB8WKFaNcuXIUKVKE2NhYLl++zKNHj2jYsOFHd7AcMGAAFy9e5MyZM7Rt25a6desSExPD8ePHCQkJYdCgQVSrVk2r1/xflpaWyv0uPsbGxoZWrVrh4+NDu3btqF27NhEREVy+fBljY2NcXFzUFrOWKFECOzs7fHx8MDQ0pEiRIujp6dG2bVu1vTTS49tvv+XFixdMmTJFOTpWpkwZ3N3dmTVrFu7u7qxdu1bj/oXIjSTREFnayJEjadGiBTt37uTq1ascOHCAuLg4zM3NKVOmDIMGDaJt27YqbSZOnEjZsmXx9PTk4MGDJCQk4OjoyNixYxkwYECq6x0ySqdOnVAoFGzZsgUvLy8KFixIo0aNGDduHKNHj1apmzdvXiZMmMDVq1e5desWp0+fxtTUFEdHR2bMmJGmkQhjY2M2b97M5s2b8fb2xtPTEwMDA8qUKcO3336Lm5ubti41w8ydO5eiRYty9OhRduzYgaWlJQ0bNmT06NFqPzNInjrx8PBg8eLFHD9+nMjISBQKBa6urhonGtu3b+f06dM0bNhQ7amuPXv25MqVK5w6dYotW7aobEgmhPgwPYXivf2VhRBCCCEykKzREEIIIYTWSKIhhBBCCK2RREMIIYQQWiOJhhBCCCG0RhINIYQQQmhNtry9NSzu9ccrCSEAMNLX7u28QuRE+Qzzf7zSJ9Jr4qBRO8Up9d1ys7JsmWgIIYQQ2Z6Gz+LJbiTREEIIIXQhlyxekERDCCGE0IVcMqKRS/IpIYQQQuiCjGgIIYQQupA7BjQk0RBCCCF0IpdMnUiiIYQQQuhCLlm8IImGEEIIoQsyoiGEEEIIrckdeYYkGkIIIYRO6OeOTEMSDSGEEEIXckeeIYmGEEIIoROyRkMIIYQQWpM78gxJNIQQQgidkDUaQgghhNCa3JFnSKIhhBBC6ISs0RBCCCGE1uSSqZNcsgGqEEIIIXRBRjSEEEIIXcgdAxqSaAghhBA6IWs0hBBCCKE1uSPPkERDCCGE0IlcshhUEg0hhBBCF3JHniGJhhBCCKETskZDCCGEEFqTSzaYkERDCCGE0AUZ0RBCCCGE1uSOPEMSDSGEEEInZERDCCGEEFojazSEEEIIoTUyoiGEEEIIrckdeUZuGbgRQgghhC7IiIYQQgihC7IFuRBCCCG0Jpes0ZCpEyGEEEIX9DR8pcO5c+do164dbdu2pU2bNpw8eRKAJ0+e0LVrV5o1a0bXrl15+vSpso2mx1K9TIVCoUhf2LoXFvda1yEIkW0Y6RvrOgQhsp18hvm1fg79MRU1ape0/M801VMoFFSvXp0dO3bg5OTEX3/9Rffu3blx4wb9+vWjY8eOtG3blkOHDrF//362bdsGQJ8+fTQ6lup1anSVQgghhPgkenp6Gr3Cw8Px8/NTe4WHh6udQ19fn4iICAAiIiKwtbUlNDSUe/fu4ebmBoCbmxv37t3j9evXhISEaHTsQ2SNhhBCCKEDmi7R2Lp1Kx4eHmrlI0eOZNSoUe/1r8eyZcsYPnw4+fLlIzIykvXr1/Py5Uvs7OwwMDAAwMDAAFtbW16+fIlCodDomKWlZarxSqIhhBBC6IC+hplG3759ad++vVq5mZmZyvuEhATWrVvH6tWrcXV15caNG4wdO5YFCxZodF5NSaIhPqp6hVppqteqTUumz53KzO9m43P4qLLcwNAAGxsbvviyFoOHD8LSKvXMV4ic5Ppv1/mq/5AUj1lZWXH64kkOex1m+pSZynJ9fX0KmhekUuWKDB72FS5lXTIrXJHJ9DRMNMzMzNSSipTcv3+fwMBAXF1dAXB1dSVv3ryYmJjw6tUrEhMTMTAwIDExkcDAQAoXLoxCodDo2IdIoiE+aub301XenztznvNnLjBmwiiV4TL7ovYq9abPnYq+nj7R0dHcuvE7XnsPcuO3G3ju24aJiUmmxC5EVtCuY1uqfV5Npey/n4H+g/pRqnQpEhISePj3Q/bvOcCvV67iuXsbpUqXysxwRSbRNNFIq0KFChEQEMDjx48pWbIkjx49IiQkhGLFiuHi4oK3tzdt27bF29sbFxcX5b/nmh5LjSQa4qNatG6u8t7X14/zZy5Qt8GXFHUsmmq7Zi2bYmiY/FesQ5f2mFuY89OOPVw4e5GmLZpoNWYhspIKFSvQqnXLD9apXrM6NWvVUL6vUrUy48dMZNeOn5gy/Vtthyh0QNuJho2NDTNmzGDMmDHKc33//feYm5szY8YM3N3dWb16NWZmZsyfP1/ZTtNjqZFEQ2Sa6rU+56cde/D389d1KEJkeTVr1QTA389Px5EIbcmM/bratGlDmzZt1MpLlSrF3r17U2yj6bHUSKIhMo3f8+R/MM3NzXUciRCZKzoqmtDQUJUyU1NTjI1T3+PE97kvIJ+XnEzbIxpZhSQaQmvC3oRjYPDvGo0NazaRJ28e6tSrrevQhMhUi+YvZtH8xSplM+dMp037f79pRr6NJDQ0lISEBB49fMzif+o3bdE0U2MVmUcSDSE+UYsGrVTeF3V0wH3aJGxsbXQUkRC60atvT2p/qZpglypdUuX9hLETVd6bmZkx0X08DRrW13J0QmiXJBpCa1asW4a+nh6GhoZY29pQ1NEh12TwQryvRMkSKgs9UzJ2/BicXZwx0NfHrGBBSpYqgZGRUSZFKHRBL70PLsmmJNEQWlOtuqvyrhMhxIc5uzh/NBkROUtu+eIlvwWEEEIIHcgleYYkGkIIIYQuaLoFeXYjiYYQQgihAzJ1IoQQQgityS2Jhp5CoVDoOoj0Cot7resQhMg2jPRT3xRKCJGyfIb5tX4O62lfaNQueNblDI5Eu2REQwghhNCB3DKiIYmGEEIIoQOSaAghhBBCayTREEIIIYTWSKIhhBBCCK3JJXmGJBpCCCGELuSWEQ19XQcghBBCiJxLRjSygYjwCHbv2MOFsxfw9/UnPj4BWzsbXKu70qlrB5xdnHUdotJhryNEvo2ke+9uGrV/+vgpPTv1IT4+Ho/1y6leq7rK8ZcvXrJ6+VquXvmNqMgoHIs70qN3N9zaqT6SfuZ3s/E5fDTV8wwdNYQBg/tpFKPI+iLCI9jpuYtzZ87j5+tHfHw8dna2VKtejS7dO1PGpYyuQ1Q6eOAQkW8j6dmnR5rbbFy/iTu373D3zj2CAoNo6daCufPnpFo/IjyCH9dt4OzpcwS+CsTMzAyXcmWYPMWdIvZFAHjy+Aneh324cvlXfJ/7YqBvQPESxenZpwdNmjX+1MsUKcgtIxqSaGRxjx4+ZuywrwkODqZRk4a0ad8aYxMTfJ/5cubkWQ4fOMLhkwexK2Sr61ABOOLlTeCrQI0TjQXfL8LQ0JD4+Hi1Y4GvAunfYxBxcXF06d4JaxtrLp3/mVlT5xAREaFyzvad21G95udqfezesYf7d+/zRZ1aGsUnsr5HDx8xcsgogoODady0Me06tMXYxBjfZ76cOnmagwcOcey0D3aF7HQdKgCHDhzi1avAdCUaHstXYWllSfny5QgKDPpg3ZDgEAb2/Yq3EW9p37Ed9kXtCQ8L487tu4SFhSkTDa/9Bzmw14v6jerTrn0bEpOSOHnsJN98PYkBX/Vn1NiRn3SdQp0860ToXFRUFBNGfUN0dDSbd2ykTFnVkYtho4fguWUHkO02d03RiaMnuf37bXr378WGtZvUjm/duJ3Q16H8uG0dFStXAKBTt45MGPUNa1eup0XrFpibFwSgYuUKyjrvxETHsGDuQkp/VkrtZylyhqjIKMaOHEd0dAzbdm3FpayLyvERY4azdfM2suGGyCq8TxzG3sEegCrlXD9Y9/vZ84iNieGnA7uwsrZKtV6z5k0ZPOwr8uf/d0fMrt27MHjAULZu2kbPPj2xtLTImAsQQO5ZDCprNLIwr72H8PfzZ8z4USn+YjQ0NKTfoL4q38wCXwUy87vZNK/XktpV69K1bXd2btul9g9r22btmfndbLU+16/eQPUKqt/2h/YfjlujNrzwf8nXIydQv0YjGtduyrxZ84mNjVXp849bf/LyRQDVK9RSvt4JDgrm6eOnJMQnqJ337dtIli9aSe/+vZTfsP7r1o3fcShqr5ZANHdrRnR0NBfOXkix3Tvnz1wgMjKKVm1bfrCeyL727z2An68/4yaOVUsyIPkzM/CrARQqXEhZFvgqkGnfTqdR3SZUr1yTDq074bl1h9pnpmUTN6Z9O12tz7Wr1qn9sh/UbzDNGrbghf8LxgwfS+3Pv6RerQbMmfm9ymemZRM3fr/1By9fvKRKOVfl652goCCePH6iNsL3Lsn4mOfPfDl7+hx9B/TFytqK+Lh4lfO/r1yFcipJBoC+vj6NmjQkMTGRZ0+epumcIu309PQ0emU3MqKRhZ0/ewFjY2OatWqapvpv3oQxqPcQQoJD6NStI/YORfj54i8sW7gCf19/Jn43QeNYYmJjGfnVKKp+XpVR40dw54+7eO09iIWFOUNHDQFg3Ddj8Vi2mvCwcMZNHKPWx6pla/A5fJSDxw9QxL6wyrH1q37EyMiQPgN7c/r4mRRjiI+LwyRPHrXyvHnzAnD/7l+07dAm1WvwOXwUA0MDmrdqnubrFtnLuTPnMDY2pkUa/4zfvHlD3579CQkOoUv3Ljg42HPpwiUWL1iCn68f7lMmaRxLbEwsQwcOw7W6K2MnjOH2H7fZv2c/FhbmjBg9HICJ7uNZvmQlYWFhTJg0Xq2PlUs9OHLIG5+TR1JNwD/k18tXALArZMvIoaO58ssVkpKScCnnwvhvvsa1WtWP9vFuasZCRjMynB7ZL2nQhCQaWdiTR09wLO6IsXHaHoq1bdN2Al4G8MOS72nYpAEAnbt3YtK4yezdvZ/2ndtR2qm0RrGEh4UzcEh/5TqIjl06EBHxFq99h5SJRv1G9dixdSfxcXG0aJ32X+Z//+8he3ft4/tFc8iTQiLxTrESxfn1l18JDg7B+r0h4BvXbgB8cK468FUg165ep1admlhZW6Y5NpG9PH70hGLFi6X5M7Nlw1YCXgawcOkCGjdtBEDXHl2YMHYiP+3aQ8cuHfjM6TONYgkLC+OroYOUay86d+1EREQE+/ceUCYaDRo1YNvm7cTFxdGqdcaPtD17+hyAWdPnUKp0Keb8MJuoyCg2/riJYYOGs23Xlg8ujH0d8hqvfV64lHOheIniGR5fbpcdRyc0IVMnWVhkZCSm+U3TXP/SuUsUdXRQJhmQ/Be5V7+eyccv/KxxLPr6+rTv3E6lrGq1yoS+DiUyMjJNfUyfO5Xfbl9RGc1QKBTMn7OAatVdadC4/gfbd+7Wkbi4ONzHTebP3//E3+8FP+3Yw4E9B4HkNRipOXbkOElJSbi1bZVqHZH9RUa+JX86PjMXzl+gqGNRZZIByZ+ZPv37AHDx/CWNY9HX16djlw4qZa7VXNP1mZn1/Uxu3b2h0WgGQFR0FADm5gVZu2E1LVo1p2OXDqzftBaFQsH6NT+m2jY+Pp5vxrsTGRnFlOnfaXR+8WG5ZepEEo0szNTUlKjIqDTXf/kigGIliqmVlyxVAoAX/i81jsXC0kJttMHMzAxIHu3QlPdBH+7duc9493EfrVvji+p8N3MyTx49ZVDvIbRv0ZH1qzbwzZTkKaF8pvlSbXv0yDHMCprxZf06Gscqsj5T0/xEpuMz88L/JSVKFFcrf/eZ8ffz1zgWyxQ/MwUACPuEz0x6mJgkn795y+YYGv47gO1Q1IFKVSpx8/qtFNslJSUxxX0qN6/fZOac6ZQtp77eRXw6PT3NXtmNzqdOWrduzZEjR3QdRpZUolQJ7t+5T1xcXJqHgtMslb+tSYmJKZYb6Keek2q6gD8+Ph6PZatp0rwxxiYmykTozZs3ALwOCeWF/0sKFymkzOLbdmhDC7fmPHzwkISERJzKfEbAiwAAHIs5pniee3fu8eTxUzp17ZDxP0eRpZQsVYK7d+5p5TOT2jfJxFQ+M/oGBql3lkl3vdjYWgNgaaU+XWhlbcXN6zfVyhUKBbOmzebk8VNMnjKJFm4ttB5nbpUdRyc0kSmJxsOHD1M9FhoamhkhZEv1G9blj5t/cPLoKbUNqVJSxL4wz548Uyt/8vip8vg7ZmYFiAiPUKvr7/dC84AhXel2THQMoa9DOeZ9nGPex9WOT5s8A4DzV8+QL9+/oxXGxsaULV9W+f7qld+A5BGPlPgcSt64S+42yfnqN6rPrZu/c9znOG3ap74w+B17hyI8SeFuinefmffv7jAzK0B4ip8ZzUc9QLu/bMqVLwdAYECg2rHAgFcpLvD8Yc58DnkdZvS4UXTp3kVrsQlJNDKUm5sb9vb2Kd67/u7bq1DXrlNb9uzax4olHji5OOHkrLooLSEhgR1bd9G8VTPsCtlSp34dPDfv4NyZ8zRoVB9I/nayY+tOAOrW/1LZtqhjUW5cu0lMTIxyePeF/0sunLv4STHny5uXiIi3KBQKtQ9RcFAwbyPe4lDUAUMjQ/LmzcuCZT+o9XH9txvs2bmXwcMHUdqpNCYmJqmeLzgomK0bt1OmbBk+r1FN7Xh8fDwnjp2iRMnilKtQ7pOuTWR9HTt34Kede1i6eDnOLmVwLuOkcjwhIYHtWzxp6dYCu0J21K1Xl62bt3H29FkaNm4IJH9mtm3eDkC9BnWVbR2LOXLtt+v/+cy84NzZ858Uc958+YiIiEjxMxMUFKT8zBgZGaW7b9dqVbG2scb7iA8DBvdX3qH14H9/8+cft9VGK5YtWs6e3XsZNHgg/Qf10/iaRNpIopGB7O3t2blzJ3Z26jvx1atXLzNCyJZMTU1ZvGIBY4d9Tb9uA2jcrBEVKpXH2MQYv+d+nD11Dn+/F7RwawZAnwHJt4ZO/Wa68vbWXy5e5vLPV+jcrSOlPiul7Ltj1w6cPnGGkV+NpnmrZoSGvmH/7v0UL1Gcv+79pXHMZcu7cOWXX1kyfxnlKpRFX1+fpi2aAOq3txoaGVK/kfqf/9uIt0Dyplvvb0EeHBzC2GHjqNewHrZ2Nrx6+YoDew+CQsGsedNT/ND+fOEXwsPC6d2/l8bXJLIPU1NTlnksYeTQ0fTq2pumzZtQsVLF5J1Bn/ty+uQZ/P38lXd49BvUlxPHTzJ54nd06d4ZBwcHLl38mV8u/ULX7l0o/dm/d2l17tqJk8dPMXTgcFq6NSc09A17du+lRMkS3L97X+OYy5Uvy+WfL7Pwh0VUqFAePX19mrdM/kyndnur92EfXk2QMNAAACAASURBVL74d83Vw78f8ePaDQBUrVZVeduqkZER30yewKTxk+nboz9t27chMjKSXZ67KFCgAMNGDFH2sdNzF1s3b6NkqZIUL1kcnyOqW/hXqlwRh6IOGl+nUJdL8ozMSTSaNm2Kv79/iolGkyZNMiOEbKu0U2l2HvBkt+dPXDh3iQtnL5KQkIBdIVs+r1GNH5bMw9Yueftxc/OCbNi+jtUr1nL0yDEi30Zi71CEMRNG06OP6pbgrp9X5ZspE9m+2ZOlC5ZTtFhRJnw7nsePnnxSotGzX098n/tx7Mgx9uzci0KhUCYanypfvrzYO9hzaN8hXr8OxdzCnDr1avPVsEGpbsHuc+go+vr6tEzH7bYie/vM6TP2ev3Eju07OX/2AufOnCchIYFCheyoXrM6XZYtfO8zY87WHZtZucwD78M+RL6NxKGoPV9PHEevvj1V+q1WvRqTp7qzddM2Fs1fgmMxR9y/+4ZHDx9/UqLRp39vfJ/74nP4KLt3/IRCoVAmGqk5eOCQ8rZugAf/e8CD/z0AYMjwwSr7YzRp1gQTExM2rNuIx3IPDI2MqF7jc0aPG6UyNfTuc//40WOmuE9VO+fMOdMl0chguWVEQ0+RDffiDYt7resQhMg2jPRlAawQ6ZXPMP/HK30il+WarRu7Pyb1B0ZmRXJ7qxBCCCG0Rue3twohhBC5UW6ZOpFEQwghhNCBXJJnSKIhhBBC6IKMaAghhBBCayTREEIIIYTWSKIhhBBCCK3JJXmGJBq51bWr1xkxaBQA+332UNSx6AfrJyYm4rllJ0cOevPS/yUFzQtSv2Fdho0eSoF/nkgJcOPaTYYNGJFqP0UdHdjvs1f53ufwUTat38Lr4BDKVyzPpKkT1TYF2rltF3t27uOnQzs/uB25EBkpKjKKrZu3cffOPe7eucub0DcMGjyQEWOGp6ufY97H2L1rD3//72/09fVxLFaUnn16KncnjY6OxvuwDxfOXeTvB38THhZG4SJFqNegLgO+6k+BAgVU+vvl0mWWL1mOn68/pZ1K4/7dJLWnq549fZbpU2ZyyMcrxQeqiaxBRjREjpUQn8DCuYvImzcv0dHRaWoza8ocjnkfp3GzRnTv3RW/537s272fe3fvs2HbegyNkv8qFS9RnJnfT1dr/9f9/7Fr+25q1amlLLv9xx1mTZlDc7dmVKhUgd2eP/HNGHc8921D/5+nxQYHBfPjmo3MmjddkgyRqd68ecP6NT9iV8iOMi7O/Hr5arr7WDBvIT/t3EPT5k1o3daNpMREnj59prJ9uL+fP/Nm/0AV1yp06dYZC0sL7t+7j+dWT86dOc+OPdsxNTUFkp+tMn7MBKrX/JzO3Tpz5OARxgwfw8GjXso60dHRLJq/hOGjhkmSkdVJoiFyKs+tOwgPC6dtxzbs9vzpo/Xv3/2LY97H6dClPe5Tv1GWV6xckUnjJnPI6zAdu3QAwMrakhYpbPd945/HUbu1/fcptBfPXaSIfRFmzJ2Gnp4eJUoWZ9iAEfg+96NY8eRHvi9ftJIqrpX58r0HwgmRGaxtrDlx7ji2tja88H9Bq6at09X+/NkL7PLczfcL5tKiVepb4FtZW7F7/67/PDSxPeXKl2Pm1Fl47Tuo3A798i9X0NPXY+HSBZiYmFC7zhe0atqaP3//k1q1k5P4jes3YWZmRpdundN9zSJz5ZYRDdkZNJcJeBnApvVbGDF2OPkLpG2L3Vs3bgEoH972ToPG9cmbNy/HfU5+sH1MTAxnTp6l9GelKFPW+b3yWAoUyK/8sJmZmQEQGxMDwM1rNzl/9gLj3b9O28UJkYGMjY2xtbXRuP22zdtwKedCi1bNUSgUREZGpljPwsJC7cnMAE2aNQbg0aNHyrKY6BhMjE2Uo3tmBZM/MzH/fGaePXuO59YduE+ZhIGBgcaxi8yhp6fZK7uRRCOXWfzDUkp/Vgq3dq0+Xvkf8XHxAMpHY78vT948/O/+//jQI3POn7lA5NtIWrVV3de/fMVy/O+vB5w4ehJ/vxds/nELZmYFcCzmSEJCAgu+X0yfAb2xdyiSSs9CZE1RkVH88fufVKxYgbWr1lHviwbUqV6Xhl82Zv2aH0lKSvpoH0GBQUByIvJOhUoVCAsLY9uW7bx48ZK1HuswNDSkjEsZABbMXUCzFk2pXKWSdi5MZCg9PT2NXtmNTJ3kIj9f/IVL539m084N6frLWqxEMQBuXr+Fs8u/IxKPHj4m9HUoAOHh4RQsWDDF9j6Hj2FgaECzVqojIk1bNOGXi5eZOil5TYepaT6mzZlKnrx52LF1J7ExsfQZII93F9mP73NfkpKSOHH8JIokBUOGDcbWzpbjR0+wxmMtkZGRjJsw9oN9bFi/CT09PZq3/HfapVLlivQb2Jdli5azdOEyjIyMGP/N1xQuUpjTJ89w+/YdDvp4afvyRAbJjkmDJiTRyCViY2NZPG8prdu7qa1Q/5jadb/A3sGe9as3UMCsAFWrVcXfz59F85ZgaGhIQkICMdGxpJRnBAUGce3Xa9SqUxNrayuVY3p6esz6YQbDRg8hJPg1xUsWJ39+U4KDgtmwZiOzF8zC0NCQtSvXceLoKYyMDGnfuR3de3dTP5EQWUhUVBQAb0LfsHHbBqq6VgGSp0OGDBzGzu276DugL5aWFim237/nAD6HfejVt6fatMqYr0fTo3d3Xvi/pFhxR8zNzYmOjmbxgiWMGDUcS0sLdm7fyb49+4mLi6d5y2YMHTEEQ0P55z6rkURD5ChbN2wjIjycEWOGpbutkZERy9YsYeqk6cyaMgdI/oC0atOSYsUdOX/mAqam+VJse8z7BElJSbRqk/rjkAsXKUzhIoWV75ctXEHVz6tSp25ttmzYite+Q8ycN53It5HM+G4WllaWNGvZNN3XIURmMflnmrGIfRFlkvFOK7cW/Pbrb9z+4zb1GtRVa3vuzDnmzfmBuvW+ZMzXo1Ps38bGBhubf9ePbFi3EXPzgnTq2pFjPsdZucyDmXNnYGZmxreTppA3X14GfjUgA69QiLSTRCMXCA4KZtsmT7r37kpUVDRRUcm3tL6NiAAg6FUQxsbG2BWyS7WPYsUd2fbTZp4/8yU4KBh7B3vsCtkyoOcgLK0sU11Y6nP4KGZmBajbIG13jdy4dpML5y6y22snAEe8vOnQuR01v6gBwMVzl/A+6COJhsjSbGytAbBK4fZSK+vkY+Hh4WrHrvxyBfcJ31K5amXmL/khTaMQz54+w3PrDtZvXoeBgQGHvA7TqGljmjZP/ox07NyBw15HJNHIgnLJgIYkGrnB65DXxMXFsXXjdrZu3K52fOiAERQ0L8ipS8c/2pdjsaI4Fkve3OvNmzD+uvc/mjRvnGLde3fv8+TREzp27YCxsfFH+05ISGDh94vp+94C0MBXgdi8t/Lf1s6Gv+799dG+hNAlGxsbbO1sCfxnQef7Xr16BYDFf6ZNrl+7wdejx/OZ02csX7U0xcXXKZk/dwEtWjWnUuWKAAS+eqUyPWpXyI7Af84pshaZOhE5RhH7IixY9oNa+anjpzl1/DSTpk6kcOHkqYuY6BgCXgZgbmGOuYX5B/tdsWglCoWCHn1SXjPhc+goAG5tU582ed9uz5+Ii42lz8DeyjIra2seP3qifP/40ROsbKxSai6ETsTHx+Pn60f+AvlVpjOat2zGts3buXj+InXrJ0+RJCYmcnD/QfLly6dyZ8jtP28zZvhYijoWZdW6lcrNtz7m1InT3L1zjznz5yjLrK2tefTwsfL9o4ePsLax/tTLFFogiYbIMfIXyE/9RvXUyh/8728Aqtf8XLkF+d079xg2YASDhg1k8PBByrpTJ02nQIH8lPysFIkJiZw9dZZbN35nzITRKneivBMfH8/JY6coUbI45SqU+2iMQYFBbFizibkLZ6uMfjRt2YSdW3dhYWFOZFQUP1/4hSkzv033z0AITeze8RMRERFE/DPNeOvW7/y4dgMA9RrUw8n5M4ICg+jQuhOt27ox6/uZyrb9B/Xj1InTTBrvTvde3bG1teXkiVPc/vMOE93Hkz9/8nTjixcvGTlkNHFxsbi1dePnS7+oxGBlZUnNL2qqxRYdFc2SBUsYMXqYyqLS5i2bMWfm9yxZuJQCBQpwYK8X/Qb2zfCfjfh0kmgI8Z6y5V04fOAI3oePYqCvT5myZVi6ajG1636RYv2fL/5C2JswevXrmab+ly9aSbUa1dT6GzikP5ERb9mzax+GhgZ8NWyg2n4cQmjLti3bVbYLv3HtBjeu3QDAzs42xY223jE3N2eL5yaWL1mB1z4vIiOjKFmqJHPnz6al279/h1/4+SvXayxduEytH9fPXVNMNH5ctwELSws6de2kUt6uYzuCgoI5sM+L+Ph42ndqz8DBsj4jK8qMRCM2Npbvv/+eK1euYGJiQuXKlZk9ezZPnjzB3d2dN2/eYG5uzvz58ylevDiAxsdSo6f40E5LWVRY3GtdhyBEtmGk//H1MUIIVfkM07Zz8qeo7anZrfq/9Nqd5rpz5sxBX1+fyZMno6enR3BwMNbW1vTp04eOHTvStm1bDh06xP79+9m2bRuAxsdSIzuDCiGEEDqg7Z1BIyMjOXjwIGPGjFG2s7a2JiQkhHv37uHm5gaAm5sb9+7d4/Xr1xof+xCZOhFCCCF0QNOpk/Dw8BRvjzYzM1M+MwrA19cXc3NzPDw8uHr1KqampowZM4Y8efJgZ2enfB6OgYEBtra2vHz5EoVCodExS8vUnxQsiYYQQgihA5omGlu3bsXDw0OtfOTIkYwaNUr5PjExEV9fX8qWLcukSZP4448/GDp0KMuXL9c4Zk1IoiGEEELogKZrQfv27Uv79u3Vyt8fzQAoXLgwhoaGyqmOSpUqYWFhQZ48eXj16hWJiYkYGBiQmJhIYGAghQsXRqFQaHTsQ2SNhhBCCKEDmq7RMDMzw8HBQe3130TD0tKSGjVq8MsvybdMP3nyhJCQEIoXL46Liwve3t4AeHt74+LigqWlJVZWVhod++B1yl0nQuRscteJEOmXGXed1N/T++OVUnC+i/oOz6nx9fXl22+/5c2bNxgaGjJ27Fjq1avHo0ePcHd3Jzw8HDMzM+bPn0/JkiUBND6WGkk0hMjhJNEQIv0yI9FosLePRu3Odf7w7aRZjUydCCGEEEJrZDGoEEIIoQP6uWMHckk0hBBCCF2QZ50IIYQQQmv0JdEQQgghhLbIiIYQQgghtCa33I3x0URj8uTJae5s3rx5nxSMEEIIkVvI1Mk/QkNDVd5fu3YNfX19nJycAPj7779JSkqiWrVq2olQCCGEyIFk6uQfa9euVf7/unXrMDExYd68eeTLlw+AqKgovvvuO2XiIYQQQoiPyy0jGumaItq+fTujRo1SJhkA+fLlY/jw4Xh6emZ4cEIIIUROpemzTrKbdCUakZGRBAYGqpUHBQURHR2dYUEJIYQQOZ2+hq/sJl13nTRr1ozJkyfzzTffUKlSJQD++OMPFi1aRNOmTbUSoBBCCJET5Zapk3QlGjNmzOCHH37A3d2dhIQEAAwMDOjUqROTJk3SSoBCCCFETpQdp0E0odHTW6Oionj+/DkAjo6OKms2MoM8vVWItJOntwqRfpnx9NYuR4dq1G5Py7Ufr5SFaDTdExMTQ2xsLCVLlsz0JEMIIYQQ2Ue6Eo23b98yevRovvjiC7p168arV68AmDZtGitXrtRKgEIIIUROpKfhK7tJV6KxaNEiAgMD8fLyIk+ePMryBg0acOrUqQwPTgghhMip9PX0NHplN+laDHr27Fk8PDxwcXFRKS9VqhS+vr4ZGpgQQgiRk2XHpEET6Uo0wsPDsbCwUCuPjIzEwMAgw4ISQgghcrrcctdJuqZOKlSowJkzZ9TKd+/eTZUqVTIsKCGEECKnk6mTFIwbN46BAwfy8OFDEhMT2bJlC3///Te3b9+WLciFEEKIdMh+KYNm0jWiUbVqVXbv3k18fDyOjo5cuXIFW1tbdu/eTbly5bQVoxBCCJHjyIhGKpydnZk/f742YhFCCCFyjeyYNGgiXSMaLi4uhISEqJWHhoaq3YkihBBCiNTllqe3pmtEI7XdyuPi4jAyMsqQgIQQQojcILeMaKQp0di8eTOQnH3t2rULU1NT5bHExESuX79OyZIltROhEEIIkQPljjQjjYnG9u3bgeQRjX379qGv/++Mi5GREQ4ODsycOVM7EQohhBA5kIxovOfs2bMA9O7dGw8PDwoWLKjVoIQQQoicThKNFGzcuDHFdRqxsbHo6elhbCyPoxZCCCHEv9J118mYMWPYuXOnWvmuXbsYO3ZshgUlhBBC5HS55a6TdCUaN2/epHbt2mrltWvX5tatWxkWlBBCCJHT6Wv4ym7SNXUSExOT4sPT9PX1iYyMzLCghBBCiJwuO45OaCJdyZGzszM+Pj5q5UeOHOGzzz7LsKCEEEKInE62IE/BiBEjGD58OM+ePaNmzZoA/Prrrxw/fhwPDw+tBCiEEELkRNkxadBEuhKNevXqsWbNGtasWcPcuXOB5G3JV69eTb169bQSYEpMDPJk2rmEyO7yNnfSdQhCZDuKU35aP0dumTpJ90PV6tatS926dbURixBCCJFr6OeSvUHTnWgIIYQQ4tPJiMY/qlatyunTp7G0tKRKlSof/MHcvHkzQ4MTQgghcipZo/GPqVOnkj9/fgCmTZum9YCEEEKI3EBPpk6StW/fPsX/F0IIIYTmZOpECCGEEFojUyf/KFOmTJqzrvv3739yQEIIIURuoJctNxRPv48mGsuWLVMmGsHBwaxYsYImTZpQuXJlAH7//XdOnz7NqFGjtBupEEIIIbKdjyYazZs3V/7/0KFDGT9+PF26dFGWderUiYoVK3L69Gl69uypnSiFEEKIHCa3TJ2ka9zm6tWr1KhRQ628Ro0a/PbbbxkWlBBCCJHTyWPiU2BhYcGJEyfUyk+cOIGlpWWGBSWEEELkdHoa/pfdpOuuk9GjRzN58mSuXr2qskbjypUrymefCCGEEOLjcsvUSboSjXbt2lGiRAm2bdvG2bNnAShZsiS7du2iUqVKWglQCCGEyImy4zSIJtK9j0alSpVYvHixNmIRQgghcg39XHJ7a7qvMjg4mI0bNzJjxgxev34NwI0bN/D19c3w4IQQQoicShaDpuDOnTs0b96cI0eOsG/fPiIjIwG4fPkyy5Yt00qAQgghRE4kiUYK5s+fT58+fTh48CBGRkbK8jp16siTW4UQQoh00EdPo5cmPDw8cHZ25sGDB0DyjRxt2rShWbNmDBgwgJCQEGVdTY+lfp3pcPfu3RQfrGZjY0NwcHB6uhJCCCFytcwa0bh79y6///479vb2ACQlJTFx4kSmTZvGiRMnqFatGosWLfqkYx+SrkQjT548hIWFqZU/fvwYKyur9HQlhBBC5Gr6enoavdIjLi6OWbNmMWPGDGXZnTt3MDExoVq1agB069aN48ePf9KxD0nXXSeNGjXCw8ODFStWKMv8/PxYtGgRTZs2TU9XQgghRK6m6eZb4eHhhIeHq5WbmZlhZmamUrZ8+XLatGmDg4ODsuzly5cUKVJE+d7S0pKkpCTevHmj8TFzc/NU401XojFp0iS++uoratasSUxMDD169CAkJISqVasyduzY9HQlhBBC5Gr6eprd3rp161Y8PDzUykeOHKnygNNbt25x584dJkyYoHGMGSFdiYaBgQHbt2/n2rVr3Lt3j6SkJMqVK8cXX3yhrfiEEEII8Z6+ffumuF7yv6MZ165d49GjRzRq1AiAgIAABg4cSO/evXnx4oWy3uvXr9HX18fc3JzChQtrdOxD0pxoJCYmUq1aNQ4dOkStWrWoVatWWpsKIYQQ4j80vVU1pSmSlAwePJjBgwcr3zds2JC1a9dSunRp9uzZw/Xr16lWrRq7d+9WPqm9fPnyxMTEpPvYh6Q50TAwMKBIkSLEx8entYkQQgghUqGrB6Tp6+uzYMECpk+fTmxsLPb29ixcuPCTjn2InkKhUKQ1OC8vL7y9vVm4cKFOn9Yakxils3MLkd3kbe6k6xCEyHYUp/y0fo5Vd5Zr1G5E+TEZHIl2pWuNxqZNm/Dz86Nu3boUKlSIvHnzqhw/cuRIhgYnhBBC5FTZ8ZHvmkhXotGsWTNtxSGEEELkKvKY+PdER0ezYMECTp8+TUJCArVq1WLKlCk6nT4RQgghsjM9DW9vzW7SdJUrVqzAy8uL+vXr06pVKy5fvqyyy5gQQggh0kdPw/+ymzSNaJw6dYq5c+fSqlUrANq0aUP37t1JTEzEwMBAqwEKIYQQOVFumTpJ04hGQECAcm9zgIoVK2JgYEBgYKDWAhNCCCFystzymPg0jWgkJiaqPBYekvfVSEhI0EpQQgghRE6n6SPfs5s0JRoKhYKJEyeqJBtxcXFMnTqVPHnyKMvWrl2b8REKIYQQOVB2HJ3QRJoSjZT2VG/Tpk2GByOEEELkFrnlrpM0JRrz5s3TdhxCCCFErpJbpk5yRzolhBBCCJ1I186gQgghhMgYskZDCCGEEFqTHTff0oQkGkIIIYQOyIiGEEIIIbQmtywGlURDpMm1364zqN9XKR6zsrLi7KXTHPI6zLTvpqOvr89erz2U/qyUSr01HmtZu3odR44dwrGYY2aELUSmUpzyS1O9LSf30H/h12yeuIR+TbvwPNCfz/p9SVx8nEq9c4v2UrpIcYr2+Fwb4Qodk9tbhUhB+47tqPZ5NZWyPHlMVN4nJSWx2mM1S5YvzszQhNC5Xj+MVnnfoU4LOtRpwfh1s3gVGqwsf/TiqUo9R1t7BrfsicehzZkRpsgiZI2GECmoWKkCbm1afbCOS1kXzp4+x/1793Ep65JJkQmhezvOHFB5X7pIcTrUacGhyyfVkov33XjwJ992H8mGY7uIiYvRcpQiq8gtazRyx7iNyFR9B/Qhb968rFq5RtehCJEtTNu6iMJWdoxo01fXoYhMlFseEy+JhkiXqKhoQkNDVV5xcarzyhbm5vTs3YNLFy7x5x9/6ihSIbKPE9cvcOn2VSZ1HY5pnny6Dkdkktzy9FZJNES6LPxhEfVrN1R5HfM5rlavT/8+FDArgMfyVTqIUojsZ+qWRdiYWzG2wyBdhyIyiT56Gr2yG1mjIdKld99e1PmytkpZqf/cXQJgZlaAPv16s2rFaq5fu662gFQIoerCn1c4ffMS4zsNxuPQFsIiw3UdktCy7Dg6oQkZ0RDpUrJUCWp+UVPlZWNjk2Ldnr17YGFhzqoVqzM5SiGyp6lbFmJRwJzxnQbrOhSRCTQbz8h+v7azX8Qi2zA1NaXfgH7cvHGLX36+rOtwhMjyfr1/E5+rZxjTfiBWZha6DkdomazRECIDdOvZFWtra1bLHShCpMnULQsxMy3AN12G6zoUITKEJBpCq/LkycOAr/pz5/YdLpy/qOtwhMjybj28w4GfjzGiTV/sLKx1HY7QIrm9VYgM0rlrJwoVKsT9e/d1HYoQ2cK0rYvIY2yCi+Nnug5FaJG+np5Gr+xGEg2hdcbGxnw1VG7ZEyKt7j79Hz9dOKLrMISW5ZYRDT2FQqHQdRDpFZMYpesQhMg28jZ30nUIQmQ7aX1A3qc45ntQo3YtirbL4Ei0S/bREEIIIXQgO96qqglJNIQQQggdyI63qmpCEg0hhBBCB7LjduKakERDCCGE0AEZ0RBCCCGE1mTHO0g0IYmGEEIIoQMyoiGEEEIIrZG7TkSWFx4ewc7tOzl75hx+vn7Ex8djZ2fH5zWq0aVbF1zKltF1iEpe+w8SGRlJrz4909ymUtkqKZbXqFmd9ZvWqZX/tGsPu3bsxt/PH2sba9q2b8PArwZgZGSkcdwi6ytoasaY9gNpV7sZpQoXw9jICL+gAM79cZnVh7fy+6O7ug5RqX+zrpjly89yr41pbmNZwJy5AybRumYTrM0sePrKj/VHd7B0/4+8vw2Sc9FS9GnSiaaudSldpDiJSUn85fuQpfs3sP+Sj8b9AkzuPpLqzpX53Lky9taF8Dx9gN7zR2v+gxAA2XKXT01IopFNPfz7ESOGjCQ4OJgmzRrTvmM7TEyMefbMl1MnTuG1/yAnzhzDrpCdrkMF4KDXIQIDXqUr0QCoXKUSnbt2VimzsVF//sOPazfgsWIVTZo2pk+/Xty9c4+1q9bxwv8ls+bO+JTQRRZWtpgTx77fTmFLW/Ze9GHj8d3ExMXymX0JOtdtxcDm3XDsWQP/4Je6DhWAAc274mBdOM2JhmmefFxaeoCShR1ZfXgbD/wfU69iTRYPmUZRmyKMWzNDWXdQi+4MbtmTg5dPsOn4TxjoG9C1fmv2TVvH97tW8t2m+Rr1C/D9AHdehQbx21+/Y29dKCN+FAJZoyGysKjIKMaMHEt0dDSeu7fhUtZF5fioMSPYummr2reS7KiIvT1ubVp9sE5IcAg/rttA46aNWLRsIQAdOnUgf4ECbNm4he49u6r9jET2Z5onH4dnbcI0Tz5qjGrNrYd3VI5/t2k+E7sMJTt/aRzi1ouyxZzoOmcYe/7ZknydtydBb14zqm1/1vvs4P7zvwH46fwRZnkuIyLqrbL9qsNbOLtwD990GcbS/T8SHPY63f0ClOhdi6cBvkDm7JgpcpbcMUGUw+zbux8/Xz++njguxV+ghoaGDBw8kEKF//3m8epVIFO/nUaDLxtRrVJ12rt1YPtWT7VkpEXjlkz9dppan2s81qpNZQzsO4gmDZrh7/+CUcPHUKtabb6sWY/ZM+YQGxur0ufvN3/nxYuXVCpbRfl6JygoiCePnxAfH5/i9cbHxRMVFZ3qz+Pc2fPExsbSo1d3lfIePbsBcPzYyVTbiuxrcKuelCpSnAnrZ6slGQCJSYn8sHsVfkH/jmYUsSrE5olLCNhzixifR9zdcJaxHdSfw/Nk+xU2T1yiVj6999dqv2jPLdqL785rFLNz4PCszYQf+ouQFVq76wAAHuxJREFU/XdYM2YeJkYmKn3WKV+d4oWKojjlp3y9U8jSFueipTA0+Pf7X90KNYiJi2HvRW+Vc24/vR8DAwO6N2irLLv+4A+VJANAoVCw/9JRDA0McXYopVG/gDLJEBlLT09Po1d2IyMa2dDZ0+cwNjampVuLNNV/8+YNfXv0JTg4hK49uuDg4MDFC5dYNH8xvr5+fDvFXeNYYmNiGTJgKNWquzJuwlhu/3mbfXv2Y2FpwcjRIwCY6D6RZUuWEx4WxoRJE9T6WLF0JYcPHuHoKR/s7YuoXuuZsxw/epykpCRs7Wzp2LkDgwYPxNDw37+69+7eQ09Pj/IVyqu0tStkh62dLffv3tP4+kTW1b52c2LiYth5Nm3Pi7AsYM7l5QcpZGHDqsNbeRzwHLcajVk6bAalihRnlMcUjWPJa5KH0/N3c/7PK0z8cQ41Xaoy1K03QW9CmLZ1EQBj18xg/qBvsSxgzri1M9X6mDfQnX5Nu1C8V02evUpOQEyMTIiNj1P7QhAZk/y8p2pOlT4aWxGr5OnToLAQZVlG9Cs+nUydaEFoaCgBAQEAFCpUCAsLi8w8fY7x+NFjipcohrGxcZrqb96whZcvA1i8bCGNmzYGoFuPrnw9ZgI/7fyJzl068pmTZo+jDgsLY/Cwr5RrL7p060xEeAT79uxXJhoNGzdg65ZtxMfFfXQa5H0VKlagafMmODoWJTT0DcePnWCNx1oePnionCIBCAwMwszMDBMTE7U+bGxtCAwM0ujaRNZWtpgT//N9TFx8XJrqT+o6gmJ2DnScOZgDPx8FYNWhLeyf/iMj2/Zjnbcnd57+pVEsVmYWzPZcplx7sc7bE3NTM4a06qVMNA5dPsGEzkMwMTJmx5kDaer3L9+HNP+8PpVKleWPR/8mzA0qfwHw0fUSNuZWfNWyB9cf/MEDv8cZ1q/IGNlxdEITmTJ18vz5c/r27UvTpk2ZMGECEyZMoGnTpvTt25enT59mRgg5SmRkJKam+dNc//y5Czg6FlUmGZD8F7zfgD4AXDh3UeNY9PX16dSlo0qZ6+euhL4OJTIyMk19zP5+Fn/cu6U2muG5ext9+vWmfsP6tO/YjnUb1tDSrSWnTp7m2m/XlfViY2IxNk75zhITY2NiY2LSd1EiWzDLl5/wqIg0129Tqwl/+z9RJhnvLNyzBoDWtRqn1CxNEhMTWeezQ6Xswp+/YmthTf68pmnqo//Cr9Fr4qAczQBY77OD2LhYdn27ikZV6uBoa0+v/7d332FZl4sfx99sUSNEBBkpakq4S9NsmFoJTsyFkblXZqeO5TYt9WeuLFdq5jFTwlJzQak4y1Ry5AJMcyKiiKCIyub3B/V4ngM4HnlA5fPy4rrk/q77ywX64Z6vdmBCjyGkZ6RT0s4+3/tZW1nzw+h5PGZfiv5fGLda3s99peBYmvjnYVMoNR46dCgdOnQgPDyc0NBQQkNDCQ8Pp3379gwbNqwwqvBIKVWqFDfu8j9xgPMx5/GqXClXeeUqlQGIiYkxuS5OTk6UKFHCqMzBwQGAq1eumnzf/PTq0wOAXb/tMpTZlbAjLS3v8R2paWnY/U/95NGQdCOZx0refeD2Ku/J0bN/5SqPPJMz6LFS+Qom1yXuSjwpacaBNjE55/vf6TFHk+8bdfY4Hcb14/FSj7FpyjLOBIUz/71JjP5mKonXrnLtZnKe11lYWLB0+Ewa12pIz2kfsP/44QK5rxQsjdEoQFeuXKFt27ZGZZaWlvj7+zN37tzCqMIjpXKVykQciSAtLe2uu0/uWj7fxJlZmXmWW1rln1XNMefFzd0NyPme+oeLSzmSkpJISUnJFXouxV3Cy8vLDDWRohZ55hjPetfB1sb2rrtP7lZ+M7asLPP+fs/Mysr3Xvf7H0No+GYqBDakVqWnKFnCniOn/iQ9M52ZA8ex9eDOPK/5evBUApq0ZeDMkQRvzXsMiyn3lYJVXMZoFEqLhqOjIyEhIUY/vNnZ2axdu9bw26/cvaavNCEtLY2fQ9ff1fkenh6cPnkqV/mpv8s8PDwMZQ4ODiRdTcp1bky06a0eUHA/UNFnc0a/Ozk5Gcp8qvuQnZ1NxBHjhZkuXrhI3MU4qtfQ1NZH0eqdGyhhWyLXDIn8nLoQzVMVnsxV7lOx6t/HzxrKEpOvUqb047nOrexW0cTa5jB1ynlmViYHTkSwM2IvSTeu8eozL2FlZcXGfbm7PWe/O4Fefl0Y9vVE5q77tsDuKwWvuLRoFErQmDRpEsuXL6dhw4a0adOGNm3a0LBhQ1asWMGkSZMKowqPlI6dO+Du4c7n0z7nz6N/5jqekZHBf75exMULFwF4uUljzp6NZvOmLYZzsrOzWbwo5x+hl5u9bCivULECBw8eIuW/xjXExJxny5at91XnkiXtuXbtWp7/0OY1vTUhISHXeZmZmcybk7Mi6Esvv2gob9qsCba2tny3NNjo/O+ClgHQ3O+1+6q7PJi+Cg3iVOxZpvYdTe3KucOklaUVQwMG4uGc0wq2btcmqnpUot0LfkbnfdixPwBrd4UZyo7HnKKRTz1K2N5qIavo6km7533vq87JN2/gWDrvX67ymt6al9L2pZjQYyhn42JYtm2N0bHJfUbxTtseTAiawZTvv7ynut3uvmIeFib+edgUSteJl5cXixcvJiEhgdjYnDntbm5uRr+Vyt0rVaoUM+d8wcD+gwjs3JXmfs2pU7c2tna2RJ+JZtPGTZw7F0OrNjkzPHr26cGGnzcw/MMRBLzRGc8nPPl1+6/s+PU3AgIDqFr11m95nbt0YuP6jfTvPYCWrVuSmJDI98t+oHLlSkRGRJlc5xq1avDbjp1M+XQqtWrXwsLSghYtc/7Bz2t66/ff/UDYxk00afoybu5uXLt2jbANYURGRNG+4+vUqXtr+p1zOWf69O/Nl7PmMuTfQ2n0YiMiDkewcvmPtG3Xhho1a5hcb3lwJd+8Ttsxvfh54hL2zA7lh+0h7IraR0paKk+6e9GxcSsql6/A0k05Mzwmfz+HgCZtCB45O2d6a+xZWjV8hZYNmjF7zTdEnL4V2ueuW0JAk7ZsmhJM0OZVlHu8LAPbdiMq+vh9Tf3cc+wgLRo05YuBnxAe9QdZ2Vl8v20tkPf0VoCD88NYtzuMUxeiKfe4E7393sDNyQXfEW9yI+XW+jLvtuvF0IC3iTj9J0ejT/DmK+2Nnr0zYq9Rq83d3heg66sdqOhyq+WzZiVvRgXmLEH+y+Fwfj0cbvLXpDh7GEODKQp1equTk5PCRQGpWq0qK1cvZ+m3QWzbso2tm7eSkZFB+fLlafBcAz6b0RlXVxcgp+tq8XeLmfXFLELWhpCcfB3PJzz5YOhg3ure1ei+zzaoz6gxI1i0cDFTJ02jQsUKjBg1nBN/nbivoNG9Zzeiz0YTsjaU4KBlZGdnG4JGXuo+U5fDhw6zds06riRewcbGhipPVmHsuI94vcPruc7vN6AvDg4OBActY+uWbTg7l6X/2/3o07+3yXWWB9+R00ep1e9V3m/fB//nm9PuBV9srKyJvhTL5j920GFtP85fzplSn3DtCs+/146JvYbR7dWOOJQszckLZxk87xM+X7nA6L7bD+3i7RkjclbUHDCW4zGnGDR7NDUqet9X0Ji2fB5Punvx1isdeNe/J5aWloagkZ99xw8R2LQd7mVdSbqRzJYDv/Hxkum5BrY+UzVnHZkaXt4sHT4z1316TP23UdC42/sC9PbrQpM6jQyf161Sg7pVcgL8x99OV9Aw1UPYDWIKi+yHcJ3qlMwbRV0FkYeGvV+1oq6CyEOnMJZa3xe/684n5aGec6M7n/QA0cqgIiIiReBhHNhpiodv5Q8REZFHgLkHgyYmJtK3b198fX1p06YNgwYNMgy0P3DgAG3btsXX15devXpx+fKtJepNPZYfBQ0REZFHkIWFBX369GHDhg2sW7eOJ554gmnTppGVlcWQIUMYM2YMGzZsoH79+kyblrNUvqnHbkdBQ0REpAiY2qKRlJTEuXPncn0kJRmvgeTo6EjDhg0Nn9etW5fz589z5MgR7OzsqF+/PgBdunRh/fqcdZlMPXY7GqMhIiJSBEwdo7F48WJmz56dq3zQoEG8++67eV6TlZVFcHAwzZo1IzY2Fnf3W3tLOTk5kZWVxZUrV0w+5uiY/1L7ChoiIiJFwNR1NLp3787rr+ee5n+7lbbHjx9PyZIl6dq1K2FhYfmeZw4KGiIiIkXA1KDh4OBwT9t3TJ48mTNnzjBv3jwsLS1xc3Pj/PnzhuMJCQlYWlri6Oho8rHb0RiNYiwjI4P5c7+ixWuteLZuQ/xbvW5YTOtOenfvQ53qT+f6eKZW/VznrluzjjYt/Hn+2Rfp3+dtw34l/23J4qW0bN6a1NTUAnk3kbtVwcWDpcNnEbf8IDdD/+LAvI10b97J6Jx61Wrz+dsfc3B+GElrjhL7/X7CJgfTtO7z9/Ss3i3e4MC8jdwM/YtLKw6xZNhM3MuWz3Xea/Uas2DwVA7M20j6+tNkh53DytIqz3v61m/CwflhXFv7JztnrOGZqrVyndPuBT8SV0VQzrHsPdVXzKsw9jqZPn06R44cYc6cOYZNOGvWrElKSgp79+4FYNmyZfj5+d3Xsdu+pxbsKr4+GTOOH1esokOn9tSsVYNdv+1m44Yw3h40gAED+9/22t7d+3Dsz+MMGznUqNzS0pKWrVsYPj908BDdAnvQqk1L6tStzdJvv8PW1pYfflyG5d87YV66dIl2rdrzf5Mn0KTpy0jB0oJd+XMvW559X/5ECVs7Zq1eRGxCHG2ee40WDZry/pdjmbFqIQDLP5rPy7WfY+WOn9h//Ail7UvS0zeAWpWeot/nw1jwU9AdnzWu+4d81PV9NuzdxtpdYbg4OvOvdj1JTL5K/XdakXjt1o7Ei4ZMp0uTthw4EYmzgxNPenhh7Vsx1y7KFV09iVq4jc1/7CAkfBM9mnemoosH1Xo2JvnmdQDs7UoQ+fVWPlvxFbPXLCrAr96jrTAW7IpI/MOk62qUefquzjt+/DitW7fGy8vLsLO1p6cnc+bMYf/+/YwdO5bU1FQ8PDyYOnUqzs7OACYfy4+CRjF1NOpPAjp0oVuPt/hg6GBD+ZDBw9i2ZRs/hYVQrly5fK/v3b0PZ89GE7Z1w22fM2P6TDZuCCNk/VosLCzY8/te+vToy5qfVuPllbMT5oghI0m+fp1ZX84omJcTIwoa+Zv5znjeadudF95vx+6o/Yby1Z8s5JWnX6Timw1zli6vUZ+9xw4ZbUdfwrYEB+ZtwPlxJ1w71c0VAv6ba5lynA0KZ9MfO2g1qpuhvF612oTPXMfU5fMYsfBTQ7lbWVfiryaQnpHOoiHT6dG8c55Bo1+rN5nefyxlO9QiNT2Viq6enF66m+bDAwn7ewfWCT2H0rJBM+q/05Ks22xnL8YKI2hEXjlg0nXVHesWcE3MS10nxdTG9RsBCOz6hlF5YNc3SEtLY+vmu9utNTMzk+Tk5Hy7W1JSUnjssccMzX2PP57Tr5hyM2d32L179rJl89ZcLSMihaFxrYaciD1jFDIAlm7+kdL2pQw7ve6M2GsUMgBS0lIICd9EWYcylHdyue1zGlWvh62NLUGbVxmV7zt2iKPRf/FmM+OBfbGXL5Kekc6dlLSzJyU9ldT0nC7HhL9bRUra2QPwpEclBnfoxzuzRilkPICKy+6tChrFVEREJM7Ozri5uxmV16xZA0tLy7vaQC3hcgLPP/siLzR4iRcbNuajkWO5fNl4e/fadWpxNOooP4f+zLlzMSyYvxAHBwcqelUgIyODieMn0bN3Dzw9PfJ+iIgZ2dnY5tqpFOD632X1q9W+7fXuZV1Jz0jnSvLVOz4H4EZq3s96wsUdF8fbNz/nZXfUfso6lGFwx35UcPHgk24fkJaexv7jhwGY9c54lm1bw67Iffd8bzG/4hI0NOukmLoUd4lyLrm7RmxsbXjc8XHiLsbd9np3Dw+ervc01apVIys7i993/86qlas5sP8Pgn4IwsHhMQD8Wvrxy/YdDB8yEsjZ4n7cxE+wt7dn8aJvSU1NpWefHgX+fiJ342j0X/g92wTXMuW4mHjJUN60Ts4gTw/n3AM1//FUhSdp/0IL1u4K43rK7btzj0bn7Ij6cu3nWP3brQWOnB93okbFaoZnxV2Jv6f6747az6Rlc5jadzSf9R9Daloqg+ePI/rSedq/2JKGT9WlWs/G93RPKTzFZa8TBY1iKjU1ldKlS+V5zM7W7o6zP8ZP/MToc78WvtSsVYNPxown6Nsg3h40AMj5Qfp0yv/x7nvvEB9/mcpVKlG6dGkuXbrE/C+/YtK0T7G2tmb2zDn8HLoeGxsbOnbuQNdubxbMi4rcxpy1i2n3gh8rx37FkK8mGAaDDmjdFbjVBfG/HEo+xsoxX3Ej9Sb/nvvxHZ9z8EQkvx4OZ2Cbbpy+EJ0zGLSMM1P7jsLG2vq2z7qTEQs/ZcaqhXi5enLs3EkSrl3B3q4E0weMYfQ3U4m/msC/Xu/NgNZdsbOxJXjrGsYu/uy2Y0qkcDyMrROmUNdJMWVnZ0daWt59wKlpqdjZ2d3zPdt3bI+joyO7dube+tjdw53adWpRunRpAD6bMp36DerR+OWX+GbhN6z4YSWjxozknXffZtYXs/k59Od7fr7Ivdq0/1d6f/Yh1StUZeeMNZxasotPug1m4KxRAFy7cT3XNSVsS7Bu/CIqu1Xg9Y/7En3pfK5z8tJxXH+2H9rNFwM/4eSSneyeuZakG8ksXL8s51k3k01+jwsJceyO2m8YozH6zfe4nJTIvJAldGnqz6e9hjN28Wf0/2I4fVsEMqTzAJOfJQVHXSfySCvnUo6/jv2Vqzw9LZ2rV67m2a1yN8q7lScx8cptz9nz+162bt7GyrUrAFj94xo6BXTk+RcaAbB1y3ZWr1pLi1YtbncbkQLxn/XLWLr5R2pX8sHayooDJyKp6JozZuhYzEmjc22sbVj18dc0ql6PDuP6sf1Q7lCdn7gr8TQfHkgFFw8qunoSE3+Bk7FnCB45h8zMTE6cP1Mg71PVoxKDO/Sl6YedycrKopdvACt+DWX5LyEAzA9dSk/fACYtm1MgzxPTFZeuE7VoFFPVq/sQHx9P7PlYo/IjRyLIysqieo3q93zPrKwsYmJicCrrlO85GRkZfDphEj373BoAevFiHC4ut0btu7q6EHfh4j0/X8RUaelp7D12kN1R+0lJS6F5vZz1XDbu2244x8rSih9Gz+W1Z16i+5R/s26Xacs4n42L4dfD4ZyMPYO1lTVN6z7Pzsi9dxzncbdmDRrPd1tWG2bSeJZzIyb+guH4ufhYPJ3d8rtcpMApaBRTzf2aA/Dd0mCj8u+WBmNjY0PTV5oAcPPmTU6dPEViYqLhnOTk5DzHcHy7aAnXkq7RuPGL+T436NvvSEtNo1efnoYy53LOnPjrhOHzEydO4HybNTxEzKm8kwvDuwxk77GDbPnjNyDnN8+lw2fS7gU/BswYQfDW1fleb21ljfcTVe445RVg5Bvv4lqmHFN+mFsgde/wUiuerVaXYV9PNJTFXo6jhtettVRqVPQmNkFB/sFgYeLHw0VdJ8WUT/WnaNfenyWLl3L9+g1q1v57ZdD1GxkwsL+hheHI4Qj69OjLgIH9DQM8oyKPMvSDYfj6NeeJCk8YFuLasmkL3t7VeKNrYJ7PjIuLY96X85ny2STDUrgALVr68e03SyjjVIYb12/wy7Zf+Xj8WPN/EaTYcy1Tjp8nLmH1bxs4Fx9LBRcP+rd6EwsLC7pO+pfhvGn9PqJLU3+2HdzFzbQU3nylvdF9wvb9Ypgx4uFcnqP/2c43G3+g59Rbi+FN7Teasg5l2H/8COmZ6bRs0Iy2jZozY9VCQnZvMrpfrUo+tG30GgC1K/kAMDLw3ZydMq8nMWfNN7nepWQJ+78HgE4h/uqtaebBW9cw//1JTO03mivJSfRrFcjk7wsm2Mj9KS5dJwoaxdjosaNwc3Njzao1rF29FncPd4aOGJJrEa//5e7hTv1n6/PrLzuIj48nKzMLD08P+vbvQ68+PSlZMu/R859NmU7D5xrw0ssvGZX3e7sv15KTCQ5ahrW1NQPe6U/bdm0K7D1F8pN88zonY8/St2UgLo5liU9KICR8Mx9/O52Y+Fvdiv/sH9KkTiOa1GmU6z5NPuh0x6mp+48f4YOO/ejwYkusLK04fPoob01+j6WbVuY695mqNZnQ03gRu3HdPwTg9IXoPIPG6MD3uHTlMvNClhiVL1wfjHtZV/q2DMTW2oYFPwUzMXjWbesqheNhHNhpCi1BLvKI0xLkIveuMJYgP3XtmEnXVXrs4fqZVouGiIhIEVDXiYiIiJhNcek6UdAQEREpAgoaIiIiYjbqOhERERGzUYuGiIiImI1aNERERMRs1KIhIiIiZqSgISIiImZSPGKGNlUTERERM1KLhoiISBHQYFARERExIwUNERERMZPiETMUNERERIpI8YgaChoiIiJFoLiM0dCsExERETEbtWiIiIgUAa0MKiIiImZTXIKGuk5ERETEbNSiISIiUgQ0GFRERETkPqlFQ0REpAgUlzEaChoiIiJFQkFDREREzKR4xAyN0RAREREzUouGiIhIESgus04UNERERIqEgoaIiIiYSfGIGQoaIiIiRaR4RA0FDRERkSJQXMZoaNaJiIiImI1aNERERIqAVgYVERERM1LQEBERETMpHjFDQUNERKRIFJfBoAoaIiIiRUJBQ0RERMykeMQMBQ0REZEiUjyihtbREBEREbNRi4aIiEgRKC6DQdWiISIiImZjkZ2dnV3UlRAREZFHk1o0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ05L5NnjyZZs2a4e3tzbFjx4q6OiIPvFOnThEQEICvry8BAQGcPn26qKskYjYKGnLfXnnlFYKCgvDw8Cjqqog8FMaOHUtgYCAbNmwgMDCQMWPGFHWVRMxGQUPuW/369XFzcyvqaog8FC5fvkxkZCStW7cGoHXr1kRGRpKQkFDENRMxDwUNEZFCFBsbi6urK1ZWVgBYWVnh4uJCbGxsEddMxDwUNERERMRsFDRERAqRm5sbFy9eJDMzE4DMzEzi4uLU/SiPLAUNEZFCVLZsWXx8fAgJCQEgJCQEHx8fnJycirhmIuZhkZ2dnV3UlZCH24QJE9i4cSPx8fGUKVMGR0dHQkNDi7paIg+sEydOMHz4cJKSknBwcGDy5MlUrly5qKslYhYKGiIiImI26joRERERs1HQEBEREbNR0BARERGzUdAQERERs1HQEBEREbNR0BCRuzZr1izDHh0iIndDQUPkARUREYGPjw9dunS5p+veeustxo0bZ6ZaiYjcGwUNkQfU8uXLCQwM5Pjx45w4caKoqyMiYhIFDZEHUEpKCiEhIXTu3BlfX19WrFhhdPzAgQN069aNunXrUq9ePbp168bFixcZPnw4v//+O0FBQXh7e+Pt7c25c+cIDw/H29vbaCvyc+fO4e3tzeHDh4GcPTdGjhxJs2bNqF27Ns2bN2fBggVkZWUV6ruLyKPFuqgrICK5rV+/Hnd3d7y9vfH39+f9999n8ODB2NjYcPToUbp164a/vz8jRozA1taWPXv2kJmZyahRozh9+jSVKlVi8ODBADg5ORETE3PHZ2ZlZeHq6soXX3yBk5MThw4dYsyYMTg6OtKpUydzv7KIPKIUNEQeQCtXrsTf3x+ABg0aYG9vz+bNm/Hz82PBggX4+Pgwfvx4w/lVqlQx/N3GxgZ7e3vKlSt3T8+0sbHhvffeM3zu6elJZGQkoaGhChoiYjIFDZEHzJkzZ9i3bx/Tpk0DwMLCgjZt2rBixQr8/PyIioritddeM8uzg4ODWb58OefPnyc1NZX09HQ8PDzM8iwRKR4UNEQeMMuXLyczM5OmTZsayv7Z+zA2Ntake1pa5h6OlZGRYfT5Tz/9xMSJExk2bBhPP/00pUuXJigoiE2bNpn0TBERUNAQeaBkZGSwevVqPvjgA5o0aWJ0bOjQoaxcuRIfHx92796d7z1sbGzIzMw0KnNycgIgLi7O8PeoqCijc/bt20edOnXo2rWroezs2bP38zoiIpp1IvIg2bZtG4mJiXTq1Ilq1aoZfbRs2ZIff/yR3r17ExkZyUcffcTRo0c5efKkobsDwMPDg8OHD3Pu3DkSEhLIysqiQoUKuLm5MXv2bE6dOsWOHTuYO3eu0bO9vLyIiIhg+/btnD59mjlz5rBnz56i+DKIyCNEQUPkAbJixQoaNmxImTJlch1r0aIFMTExJCQksGjRIk6ePEnnzp3p3LkzoaGhWFvnNFD26tULGxsbWrVqRaNGjTh//jw2NjZMnz6d6Oho/P39mTVrlmFWyj8CAgJo0aIFH374IR07diQmJoaePXsWynuLyKPLIvufzl8RERGRAqYWDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMRsFDRERETEbBQ0RERExGwUNERERMZv/ByjSh5W6MbU0AAAAAElFTkSuQmCC\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "BreezeGen incurs the following maintenance costs: \n", "* \\$40,000 - generator replacement,\n", "* \\$15,000 - generator repair,\n", "* \\$5,00 - generator inspection.\n", "\n", "To save money on maintenance, BreezeGen must reduce occurances of replacement first. The company spends money unnecessarily when sensors do not alert technicians that a component has failed. This will lead to degredation or outright failure of the generator, necessitating replacement. Such situations are coded as false negatives, and we built a model that avoids false negatives. Our model correctly predicts component failures 86% of the time. Note how few instances of false negatives (FN) are present in the confusion matrix above.\n", "\n", "While repair costs are inevitable, unnecessary inspections add expense without any operational benefit. Cutting down on inspection costs means reducing false negatives; a false negative is predicting failure in a generator where the compontents are all functioning. For every three superfluous inspections, BreezeGen can afford another generator repair, so these savings translate into serious business gains. Our model correctly rejects false negatives 76% of the time, allowing technicians to spend more work hours on generators in genuine need of repair. The additional savings our model offers by reducing unnecessary inspections can be put toward repair expenses, meaning BreezeGen's expenses are going toward maintaining their generator infrastructure without much overhead." ], "metadata": { "id": "vTvPdtzewoNx" } }, { "cell_type": "markdown", "source": [ "***" ], "metadata": { "id": "VB3eO21n_sgt" } } ], "metadata": { "colab": { "provenance": [], "collapsed_sections": [ "TWlGr1u1hKyk", "tgkSxZkO0tRa", "Rxw_gopM4jar", "d_pDMFAz4jav", "TM6VZTRn4jav", "c5hPmHyR4jaw" ], "include_colab_link": true }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" }, "gpuClass": "premium" }, "nbformat": 4, "nbformat_minor": 0 }