thyroid-detection / .ipynb_checkpoints / EDA-checkpoint.ipynb
EDA-checkpoint.ipynb
Raw
{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "8527ac20",
   "metadata": {},
   "source": [
    "# EDA - Thyroid Classification"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6a10d3e0",
   "metadata": {},
   "source": [
    "This notebook performs various exploratory data analysis tasks needed for thyroid classification project."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1be17173",
   "metadata": {},
   "source": [
    "Problem Statement :  To build a classification methodology to predict the type of Thyroid a person has ,based on the below features.\n",
    "\n",
    "age - Age of the person\n",
    "\n",
    "sex - Male or Female\n",
    "\n",
    "on_thyroxine - true or false\n",
    "\n",
    "on_antithyroid_medication - true or false\n",
    "\n",
    "sick - true or false\n",
    "\n",
    "pregnant - true or false\n",
    "\n",
    "thyroid_surgery - true or false\n",
    "\n",
    "I131_treatment - true or false\n",
    "\n",
    "query_hypothyroid - true or false\n",
    "\n",
    "query_hyperthyroid -true or false\n",
    "\n",
    "lithium - true or false\n",
    "\n",
    "goitre - true or false\n",
    "\n",
    "tumor - true or false\n",
    "\n",
    "hypopituitary- true or false\n",
    "\n",
    "psych - true or false\n",
    "\n",
    "TSH_measured - true or false\n",
    "\n",
    "TSH - thyroid stimulating hormone floating value\n",
    "\n",
    "T3_measured - true or false\n",
    "\n",
    "T3 - triiodothyronine value\n",
    "\n",
    "TT4_measured- true or false\n",
    "\n",
    "TT4 - Thyroxine value\n",
    "\n",
    "T4U_measured- true or false\n",
    "\n",
    "T4U - numerical value\n",
    "\n",
    "FTI_measured- true or false\n",
    "\n",
    "FTI -Free Thyroxine Index\n",
    "\n",
    "TBG_measured- true or false\n",
    "\n",
    "TBG -Thyroid-Binding Globulin  value\n",
    "\n",
    "referral_source - different sources of referals\n",
    "\n",
    "Class - different types of thyroid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "faa5acef",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "from sklearn.impute import KNNImputer\n",
    "from scipy import stats\n",
    "from imblearn.over_sampling import RandomOverSampler\n",
    "from sklearn.cluster import KMeans\n",
    "\n",
    "pd.set_option('display.max_rows', 500)\n",
    "pd.set_option('display.max_columns', 500)\n",
    "pd.set_option('display.width', 1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2fe5dddb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/Users/mohi9282/Documents/thyroid-detection'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os\n",
    "os.getcwd()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "193e8a84",
   "metadata": {},
   "source": [
    "## Read the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "eb5adf8f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3972, 30)"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Read clean data exported from DB\n",
    "df = pd.read_csv('Training/TrainingFile_FromDB/InputFile.csv')\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7d971e2d",
   "metadata": {},
   "source": [
    "> Data exported from database has 3972 records and 30 columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "4c270b6b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>on_thyroxine</th>\n",
       "      <th>query_on_thyroxine</th>\n",
       "      <th>on_antithyroid_medication</th>\n",
       "      <th>sick</th>\n",
       "      <th>pregnant</th>\n",
       "      <th>thyroid_surgery</th>\n",
       "      <th>I131_treatment</th>\n",
       "      <th>query_hypothyroid</th>\n",
       "      <th>query_hyperthyroid</th>\n",
       "      <th>lithium</th>\n",
       "      <th>goitre</th>\n",
       "      <th>tumor</th>\n",
       "      <th>hypopituitary</th>\n",
       "      <th>psych</th>\n",
       "      <th>TSH_measured</th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3_measured</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4_measured</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U_measured</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI_measured</th>\n",
       "      <th>FTI</th>\n",
       "      <th>TBG_measured</th>\n",
       "      <th>TBG</th>\n",
       "      <th>referral_source</th>\n",
       "      <th>Class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>49</td>\n",
       "      <td>F</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>1.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.6</td>\n",
       "      <td>t</td>\n",
       "      <td>93.0</td>\n",
       "      <td>t</td>\n",
       "      <td>0.94</td>\n",
       "      <td>t</td>\n",
       "      <td>99.0</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>46</td>\n",
       "      <td>M</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>t</td>\n",
       "      <td>1.1</td>\n",
       "      <td>t</td>\n",
       "      <td>2.9</td>\n",
       "      <td>t</td>\n",
       "      <td>125.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.02</td>\n",
       "      <td>t</td>\n",
       "      <td>122.0</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>SVHC</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>80</td>\n",
       "      <td>F</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>2.2</td>\n",
       "      <td>t</td>\n",
       "      <td>1.7</td>\n",
       "      <td>t</td>\n",
       "      <td>83.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.11</td>\n",
       "      <td>t</td>\n",
       "      <td>76.0</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>80</td>\n",
       "      <td>F</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>t</td>\n",
       "      <td>1.1</td>\n",
       "      <td>t</td>\n",
       "      <td>1.8</td>\n",
       "      <td>t</td>\n",
       "      <td>94.0</td>\n",
       "      <td>t</td>\n",
       "      <td>0.94</td>\n",
       "      <td>t</td>\n",
       "      <td>100.0</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>SVHC</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>26</td>\n",
       "      <td>F</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>68</td>\n",
       "      <td>M</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>1.9</td>\n",
       "      <td>t</td>\n",
       "      <td>2.9</td>\n",
       "      <td>t</td>\n",
       "      <td>90.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.0</td>\n",
       "      <td>t</td>\n",
       "      <td>90.0</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>SVI</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>24</td>\n",
       "      <td>M</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>0.6</td>\n",
       "      <td>t</td>\n",
       "      <td>3.0</td>\n",
       "      <td>t</td>\n",
       "      <td>119.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.03</td>\n",
       "      <td>t</td>\n",
       "      <td>115.0</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>21</td>\n",
       "      <td>F</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>38</td>\n",
       "      <td>M</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>t</td>\n",
       "      <td>78.0</td>\n",
       "      <td>t</td>\n",
       "      <td>0.87</td>\n",
       "      <td>t</td>\n",
       "      <td>90.0</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>55</td>\n",
       "      <td>F</td>\n",
       "      <td>t</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>t</td>\n",
       "      <td>0.05</td>\n",
       "      <td>t</td>\n",
       "      <td>2.8</td>\n",
       "      <td>t</td>\n",
       "      <td>189.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.66</td>\n",
       "      <td>t</td>\n",
       "      <td>114.0</td>\n",
       "      <td>f</td>\n",
       "      <td>?</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  age sex on_thyroxine query_on_thyroxine on_antithyroid_medication sick pregnant thyroid_surgery I131_treatment query_hypothyroid query_hyperthyroid lithium goitre tumor hypopituitary psych TSH_measured   TSH T3_measured   T3 TT4_measured    TT4 T4U_measured   T4U FTI_measured    FTI TBG_measured TBG referral_source     Class\n",
       "0  49   F            f                  f                         f    t        f               f              f                 f                  f       f      f     f             f     f            t   1.0           t  1.6            t   93.0            t  0.94            t   99.0            f   ?           other  negative\n",
       "1  46   M            f                  f                         f    f        f               f              f                 f                  f       f      f     f             f     t            t   1.1           t  2.9            t  125.0            t  1.02            t  122.0            f   ?            SVHC  negative\n",
       "2  80   F            f                  f                         t    f        f               f              f                 f                  f       f      f     f             f     f            t   2.2           t  1.7            t   83.0            t  1.11            t   76.0            f   ?           other  negative\n",
       "3  80   F            f                  f                         f    f        f               f              f                 f                  f       f      f     f             f     t            t   1.1           t  1.8            t   94.0            t  0.94            t  100.0            f   ?            SVHC  negative\n",
       "4  26   F            f                  f                         f    f        f               f              f                 f                  f       f      f     f             f     f            f     ?           f    ?            f      ?            f     ?            f      ?            f   ?           other  negative\n",
       "5  68   M            f                  f                         f    f        f               f              f                 f                  f       f      f     f             f     f            t   1.9           t  2.9            t   90.0            t   1.0            t   90.0            f   ?             SVI  negative\n",
       "6  24   M            f                  f                         f    f        f               f              f                 f                  f       f      f     f             f     f            t   0.6           t  3.0            t  119.0            t  1.03            t  115.0            f   ?           other  negative\n",
       "7  21   F            f                  f                         f    f        f               f              f                 f                  t       f      f     f             f     f            f     ?           f    ?            f      ?            f     ?            f      ?            f   ?           other  negative\n",
       "8  38   M            f                  f                         f    f        f               f              f                 f                  f       f      f     f             f     f            f     ?           f    ?            t   78.0            t  0.87            t   90.0            f   ?           other  negative\n",
       "9  55   F            t                  f                         f    f        f               f              f                 f                  f       f      f     f             f     f            t  0.05           t  2.8            t  189.0            t  1.66            t  114.0            f   ?           other  negative"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check head\n",
    "df.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "394d71b7",
   "metadata": {},
   "source": [
    "> Observations:    \n",
    "    - The data does not show any missing values. However, looking closely, we can see that missing values are indicated by `?`.<br>\n",
    "    - Some columns such as `FTI_measured` with t/f values are just indicating whether the next column `FTI` has a value or not. \n",
    "\n",
    "Let's count the number of missing and remove additional columns that do not add any value."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "061b4a38",
   "metadata": {},
   "source": [
    "## Data Exploration"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "98651be1",
   "metadata": {},
   "source": [
    "### Missing Values"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6ee0e7fc",
   "metadata": {},
   "source": [
    "#### Identify missing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "b13ca0f1",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define function to count missing values represented by '?'\n",
    "def calc_missing(df):\n",
    "    print(f'Column \\t No. of missing')\n",
    "    for col in df.columns:\n",
    "        count = df[col][df[col]=='?'].count()\n",
    "        if count != 0:\n",
    "            print(f'{col} \\t {count}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "7f349497",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Column \t No. of missing\n",
      "age \t 1\n",
      "sex \t 157\n",
      "TSH \t 390\n",
      "T3 \t 812\n",
      "TT4 \t 247\n",
      "T4U \t 409\n",
      "FTI \t 407\n",
      "TBG \t 3972\n"
     ]
    }
   ],
   "source": [
    "# Count missing\n",
    "calc_missing(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "99e9ed19",
   "metadata": {},
   "source": [
    "> All records in the TBG column are missing. We will drop this column later."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aa4e1635",
   "metadata": {},
   "source": [
    "#### Replace `?` with `Nan`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "de1cfa79",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define function\n",
    "def replace_missing(df):\n",
    "    for col in df.columns:\n",
    "        count = df[col][df[col]=='?'].count()\n",
    "        if count != 0:\n",
    "            df[col] = df[col].replace('?', np.nan)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "22805709",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Replace ? with Nan\n",
    "replace_missing(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "384e423e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "age                             1\n",
       "sex                           157\n",
       "on_thyroxine                    0\n",
       "query_on_thyroxine              0\n",
       "on_antithyroid_medication       0\n",
       "sick                            0\n",
       "pregnant                        0\n",
       "thyroid_surgery                 0\n",
       "I131_treatment                  0\n",
       "query_hypothyroid               0\n",
       "query_hyperthyroid              0\n",
       "lithium                         0\n",
       "goitre                          0\n",
       "tumor                           0\n",
       "hypopituitary                   0\n",
       "psych                           0\n",
       "TSH_measured                    0\n",
       "TSH                           390\n",
       "T3_measured                     0\n",
       "T3                            812\n",
       "TT4_measured                    0\n",
       "TT4                           247\n",
       "T4U_measured                    0\n",
       "T4U                           409\n",
       "FTI_measured                    0\n",
       "FTI                           407\n",
       "TBG_measured                    0\n",
       "TBG                          3972\n",
       "referral_source                 0\n",
       "Class                           0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check missing\n",
    "df.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "704ac1d1",
   "metadata": {},
   "source": [
    "### Remove columns with duplicate information\n",
    "\n",
    "Columns with `_measured` in the column name contain t/f values which are just indicators of whether the next column FTI has a value or not. Since these columns do not add any information to the data, we will remove these columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "1e2aa86b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3_measured</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4_measured</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U_measured</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI_measured</th>\n",
       "      <th>FTI</th>\n",
       "      <th>TBG_measured</th>\n",
       "      <th>TBG</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.6</td>\n",
       "      <td>t</td>\n",
       "      <td>93.0</td>\n",
       "      <td>t</td>\n",
       "      <td>0.94</td>\n",
       "      <td>t</td>\n",
       "      <td>99.0</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.1</td>\n",
       "      <td>t</td>\n",
       "      <td>2.9</td>\n",
       "      <td>t</td>\n",
       "      <td>125.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.02</td>\n",
       "      <td>t</td>\n",
       "      <td>122.0</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2.2</td>\n",
       "      <td>t</td>\n",
       "      <td>1.7</td>\n",
       "      <td>t</td>\n",
       "      <td>83.0</td>\n",
       "      <td>t</td>\n",
       "      <td>1.11</td>\n",
       "      <td>t</td>\n",
       "      <td>76.0</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.1</td>\n",
       "      <td>t</td>\n",
       "      <td>1.8</td>\n",
       "      <td>t</td>\n",
       "      <td>94.0</td>\n",
       "      <td>t</td>\n",
       "      <td>0.94</td>\n",
       "      <td>t</td>\n",
       "      <td>100.0</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NaN</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "      <td>f</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   TSH T3_measured   T3 TT4_measured    TT4 T4U_measured   T4U FTI_measured    FTI TBG_measured  TBG\n",
       "0  1.0           t  1.6            t   93.0            t  0.94            t   99.0            f  NaN\n",
       "1  1.1           t  2.9            t  125.0            t  1.02            t  122.0            f  NaN\n",
       "2  2.2           t  1.7            t   83.0            t  1.11            t   76.0            f  NaN\n",
       "3  1.1           t  1.8            t   94.0            t  0.94            t  100.0            f  NaN\n",
       "4  NaN           f  NaN            f    NaN            f   NaN            f    NaN            f  NaN"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Look at columns with duplicate information\n",
    "df.iloc[:, -13:-2].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "629a92a1",
   "metadata": {},
   "source": [
    "> `t` in a column with `_measured` indicates that the next column has a value and `f` indicates a missing value in the next column.\n",
    "\n",
    "We will drop the columns with `_measured`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "a663020a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['TSH_measured',\n",
       " 'T3_measured',\n",
       " 'TT4_measured',\n",
       " 'T4U_measured',\n",
       " 'FTI_measured',\n",
       " 'TBG_measured']"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Identify columns\n",
    "cols_to_drop = [col for col in df.columns if '_measured' in col]\n",
    "cols_to_drop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "bceb3199",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3972"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['TBG'].isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "60a36b98",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Identify columns that do not have any variation in data as they do not add any value\n",
    "for col in df.columns:\n",
    "    if df[col].isna().sum() == df.shape[0]:\n",
    "        cols_to_drop.append(col)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "7d34db4f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['TSH_measured',\n",
       " 'T3_measured',\n",
       " 'TT4_measured',\n",
       " 'T4U_measured',\n",
       " 'FTI_measured',\n",
       " 'TBG_measured',\n",
       " 'TBG']"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cols_to_drop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "8d65c6a0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3972, 23)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Drop columns\n",
    "df.drop(columns=cols_to_drop, axis=1, inplace=True)\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "ea9880e7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>on_thyroxine</th>\n",
       "      <th>query_on_thyroxine</th>\n",
       "      <th>on_antithyroid_medication</th>\n",
       "      <th>sick</th>\n",
       "      <th>pregnant</th>\n",
       "      <th>thyroid_surgery</th>\n",
       "      <th>I131_treatment</th>\n",
       "      <th>query_hypothyroid</th>\n",
       "      <th>query_hyperthyroid</th>\n",
       "      <th>lithium</th>\n",
       "      <th>goitre</th>\n",
       "      <th>tumor</th>\n",
       "      <th>hypopituitary</th>\n",
       "      <th>psych</th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI</th>\n",
       "      <th>referral_source</th>\n",
       "      <th>Class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>3971</td>\n",
       "      <td>3815</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "      <td>3582</td>\n",
       "      <td>3160</td>\n",
       "      <td>3725</td>\n",
       "      <td>3563</td>\n",
       "      <td>3565</td>\n",
       "      <td>3972</td>\n",
       "      <td>3972</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>unique</th>\n",
       "      <td>93</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>287</td>\n",
       "      <td>69</td>\n",
       "      <td>241</td>\n",
       "      <td>146</td>\n",
       "      <td>234</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>top</th>\n",
       "      <td>59</td>\n",
       "      <td>F</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>f</td>\n",
       "      <td>0.2</td>\n",
       "      <td>2.0</td>\n",
       "      <td>101.0</td>\n",
       "      <td>0.99</td>\n",
       "      <td>100.0</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>freq</th>\n",
       "      <td>102</td>\n",
       "      <td>2608</td>\n",
       "      <td>3484</td>\n",
       "      <td>3916</td>\n",
       "      <td>3926</td>\n",
       "      <td>3816</td>\n",
       "      <td>3917</td>\n",
       "      <td>3917</td>\n",
       "      <td>3906</td>\n",
       "      <td>3733</td>\n",
       "      <td>3726</td>\n",
       "      <td>3952</td>\n",
       "      <td>3937</td>\n",
       "      <td>3872</td>\n",
       "      <td>3971</td>\n",
       "      <td>3780</td>\n",
       "      <td>119</td>\n",
       "      <td>251</td>\n",
       "      <td>72</td>\n",
       "      <td>101</td>\n",
       "      <td>77</td>\n",
       "      <td>2317</td>\n",
       "      <td>3668</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         age   sex on_thyroxine query_on_thyroxine on_antithyroid_medication  sick pregnant thyroid_surgery I131_treatment query_hypothyroid query_hyperthyroid lithium goitre tumor hypopituitary psych   TSH    T3    TT4   T4U    FTI referral_source     Class\n",
       "count   3971  3815         3972               3972                      3972  3972     3972            3972           3972              3972               3972    3972   3972  3972          3972  3972  3582  3160   3725  3563   3565            3972      3972\n",
       "unique    93     2            2                  2                         2     2        2               2              2                 2                  2       2      2     2             2     2   287    69    241   146    234               5         4\n",
       "top       59     F            f                  f                         f     f        f               f              f                 f                  f       f      f     f             f     f   0.2   2.0  101.0  0.99  100.0           other  negative\n",
       "freq     102  2608         3484               3916                      3926  3816     3917            3917           3906              3733               3726    3952   3937  3872          3971  3780   119   251     72   101     77            2317      3668"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check data\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "71426a46",
   "metadata": {},
   "source": [
    "> Observation:    \n",
    "    - Majority of the data is categorical with two categories.    \n",
    "    - Referral source column has 5 and the Class column has 4 categories.\n",
    "  \n",
    "Before we impute the missing data, let's map the binary categories and encode the multi-categories to nurical data as needed."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d5b85b1b",
   "metadata": {},
   "source": [
    "### Feature Engineering\n",
    "\n",
    "In this section, we will map the features with binary categories and encode the features with multi-categories to numerical data. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64f63372",
   "metadata": {},
   "source": [
    "#### Convert `sex` column to numerical"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "c515a693",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "object\n",
      "F    2608\n",
      "M    1207\n",
      "Name: sex, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# Check data type and categories\n",
    "print(df['sex'].dtype)\n",
    "print(df['sex'].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "edfc7a8d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Convert to numerical\n",
    "df['sex'] = df['sex'].map({'F':0, 'M':1})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "d45a0581",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dtype('float64')"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check data type\n",
    "df['sex'].dtype"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "570b990a",
   "metadata": {},
   "source": [
    "#### Convert columns with binary categories to numerical\n",
    "\n",
    "There are many columns with two unqiue `t` and `f` categories. Let's map these to numerical 0 and 1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "67d2a954",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "age \t 94\n",
      "sex \t 3\n",
      "on_thyroxine \t 2\n",
      "query_on_thyroxine \t 2\n",
      "on_antithyroid_medication \t 2\n",
      "sick \t 2\n",
      "pregnant \t 2\n",
      "thyroid_surgery \t 2\n",
      "I131_treatment \t 2\n",
      "query_hypothyroid \t 2\n",
      "query_hyperthyroid \t 2\n",
      "lithium \t 2\n",
      "goitre \t 2\n",
      "tumor \t 2\n",
      "hypopituitary \t 2\n",
      "psych \t 2\n",
      "TSH \t 288\n",
      "T3 \t 70\n",
      "TT4 \t 242\n",
      "T4U \t 147\n",
      "FTI \t 235\n",
      "referral_source \t 5\n",
      "Class \t 4\n"
     ]
    }
   ],
   "source": [
    "for col in df.columns:\n",
    "    print(f'{col} \\t {len(df[col].unique())}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "00565b6e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Map categories\n",
    "for col in df.columns:\n",
    "    if len(df[col].unique())==2:\n",
    "        df[col] = df[col].map({'f':0, 't':1})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "id": "c4586fa0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>on_thyroxine</th>\n",
       "      <th>query_on_thyroxine</th>\n",
       "      <th>on_antithyroid_medication</th>\n",
       "      <th>sick</th>\n",
       "      <th>pregnant</th>\n",
       "      <th>thyroid_surgery</th>\n",
       "      <th>I131_treatment</th>\n",
       "      <th>query_hypothyroid</th>\n",
       "      <th>query_hyperthyroid</th>\n",
       "      <th>lithium</th>\n",
       "      <th>goitre</th>\n",
       "      <th>tumor</th>\n",
       "      <th>hypopituitary</th>\n",
       "      <th>psych</th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI</th>\n",
       "      <th>referral_source</th>\n",
       "      <th>Class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>49</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.6</td>\n",
       "      <td>93.0</td>\n",
       "      <td>0.94</td>\n",
       "      <td>99.0</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>46</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1.1</td>\n",
       "      <td>2.9</td>\n",
       "      <td>125.0</td>\n",
       "      <td>1.02</td>\n",
       "      <td>122.0</td>\n",
       "      <td>SVHC</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>80</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.2</td>\n",
       "      <td>1.7</td>\n",
       "      <td>83.0</td>\n",
       "      <td>1.11</td>\n",
       "      <td>76.0</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>80</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1.1</td>\n",
       "      <td>1.8</td>\n",
       "      <td>94.0</td>\n",
       "      <td>0.94</td>\n",
       "      <td>100.0</td>\n",
       "      <td>SVHC</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>26</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>other</td>\n",
       "      <td>negative</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  age  sex  on_thyroxine  query_on_thyroxine  on_antithyroid_medication  sick  pregnant  thyroid_surgery  I131_treatment  query_hypothyroid  query_hyperthyroid  lithium  goitre  tumor  hypopituitary  psych  TSH   T3    TT4   T4U    FTI referral_source     Class\n",
       "0  49  0.0             0                   0                          0     1         0                0               0                  0                   0        0       0      0              0      0  1.0  1.6   93.0  0.94   99.0           other  negative\n",
       "1  46  1.0             0                   0                          0     0         0                0               0                  0                   0        0       0      0              0      1  1.1  2.9  125.0  1.02  122.0            SVHC  negative\n",
       "2  80  0.0             0                   0                          1     0         0                0               0                  0                   0        0       0      0              0      0  2.2  1.7   83.0  1.11   76.0           other  negative\n",
       "3  80  0.0             0                   0                          0     0         0                0               0                  0                   0        0       0      0              0      1  1.1  1.8   94.0  0.94  100.0            SVHC  negative\n",
       "4  26  0.0             0                   0                          0     0         0                0               0                  0                   0        0       0      0              0      0  NaN  NaN    NaN   NaN    NaN           other  negative"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check head\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f031d827",
   "metadata": {},
   "source": [
    "#### One-Hot encode `referral source`\n",
    "\n",
    "The column has multiple categories. Let's create dummy variables for these categories"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "id": "b68cca55",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['other', 'SVHC', 'SVI', 'STMW', 'SVHD'], dtype=object)"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check categories\n",
    "df['referral_source'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "id": "aaa3d1c4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create dummy variables\n",
    "# drop_first=True to avoid dummy variable trap\n",
    "df = pd.get_dummies(data=df, columns=['referral_source'], drop_first=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "id": "9211b933",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>on_thyroxine</th>\n",
       "      <th>query_on_thyroxine</th>\n",
       "      <th>on_antithyroid_medication</th>\n",
       "      <th>sick</th>\n",
       "      <th>pregnant</th>\n",
       "      <th>thyroid_surgery</th>\n",
       "      <th>I131_treatment</th>\n",
       "      <th>query_hypothyroid</th>\n",
       "      <th>query_hyperthyroid</th>\n",
       "      <th>lithium</th>\n",
       "      <th>goitre</th>\n",
       "      <th>tumor</th>\n",
       "      <th>hypopituitary</th>\n",
       "      <th>psych</th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI</th>\n",
       "      <th>Class</th>\n",
       "      <th>referral_source_SVHC</th>\n",
       "      <th>referral_source_SVHD</th>\n",
       "      <th>referral_source_SVI</th>\n",
       "      <th>referral_source_other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>49</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.6</td>\n",
       "      <td>93.0</td>\n",
       "      <td>0.94</td>\n",
       "      <td>99.0</td>\n",
       "      <td>negative</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>46</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1.1</td>\n",
       "      <td>2.9</td>\n",
       "      <td>125.0</td>\n",
       "      <td>1.02</td>\n",
       "      <td>122.0</td>\n",
       "      <td>negative</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  age  sex  on_thyroxine  query_on_thyroxine  on_antithyroid_medication  sick  pregnant  thyroid_surgery  I131_treatment  query_hypothyroid  query_hyperthyroid  lithium  goitre  tumor  hypopituitary  psych  TSH   T3    TT4   T4U    FTI     Class  referral_source_SVHC  referral_source_SVHD  referral_source_SVI  referral_source_other\n",
       "0  49  0.0             0                   0                          0     1         0                0               0                  0                   0        0       0      0              0      0  1.0  1.6   93.0  0.94   99.0  negative                     0                     0                    0                      1\n",
       "1  46  1.0             0                   0                          0     0         0                0               0                  0                   0        0       0      0              0      1  1.1  2.9  125.0  1.02  122.0  negative                     1                     0                    0                      0"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check head\n",
    "df.head(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5f71fee",
   "metadata": {},
   "source": [
    "#### Label encode `Class`\n",
    "\n",
    "The coulmn has multiple categories. Since `Class` represents various severities of thyroid, we will label encode the feature."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "id": "3290e935",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['negative', 'compensated_hypothyroid', 'primary_hypothyroid',\n",
       "       'secondary_hypothyroid'], dtype=object)"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check categories\n",
    "df['Class'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "id": "018ba462",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Encode\n",
    "encoder = LabelEncoder()\n",
    "df['Class'] = encoder.fit_transform(df['Class'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "id": "541c22d7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 0, 2, 3])"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check categories\n",
    "df['Class'].unique()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "df20c118",
   "metadata": {},
   "source": [
    "### Impute Missing\n",
    "\n",
    "The data has a lot of missing values and we will use `KNNImputer` to impute the missing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "id": "57bcf6ce",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "age                            1\n",
       "sex                          157\n",
       "on_thyroxine                   0\n",
       "query_on_thyroxine             0\n",
       "on_antithyroid_medication      0\n",
       "sick                           0\n",
       "pregnant                       0\n",
       "thyroid_surgery                0\n",
       "I131_treatment                 0\n",
       "query_hypothyroid              0\n",
       "query_hyperthyroid             0\n",
       "lithium                        0\n",
       "goitre                         0\n",
       "tumor                          0\n",
       "hypopituitary                  0\n",
       "psych                          0\n",
       "TSH                          390\n",
       "T3                           812\n",
       "TT4                          247\n",
       "T4U                          409\n",
       "FTI                          407\n",
       "Class                          0\n",
       "referral_source_SVHC           0\n",
       "referral_source_SVHD           0\n",
       "referral_source_SVI            0\n",
       "referral_source_other          0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check missing\n",
    "df.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "id": "08054188",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Impute data\n",
    "imputer = KNNImputer(n_neighbors=3, weights='uniform', missing_values=np.nan)\n",
    "new_array = imputer.fit_transform(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "id": "7fa01760",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>on_thyroxine</th>\n",
       "      <th>query_on_thyroxine</th>\n",
       "      <th>on_antithyroid_medication</th>\n",
       "      <th>sick</th>\n",
       "      <th>pregnant</th>\n",
       "      <th>thyroid_surgery</th>\n",
       "      <th>I131_treatment</th>\n",
       "      <th>query_hypothyroid</th>\n",
       "      <th>query_hyperthyroid</th>\n",
       "      <th>lithium</th>\n",
       "      <th>goitre</th>\n",
       "      <th>tumor</th>\n",
       "      <th>hypopituitary</th>\n",
       "      <th>psych</th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI</th>\n",
       "      <th>Class</th>\n",
       "      <th>referral_source_SVHC</th>\n",
       "      <th>referral_source_SVHD</th>\n",
       "      <th>referral_source_SVI</th>\n",
       "      <th>referral_source_other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>49.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>93.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>46.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>125.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>122.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>80.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>83.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>76.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>80.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>94.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>100.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>26.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>108.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>90.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    age  sex  on_thyroxine  query_on_thyroxine  on_antithyroid_medication  sick  pregnant  thyroid_surgery  I131_treatment  query_hypothyroid  query_hyperthyroid  lithium  goitre  tumor  hypopituitary  psych  TSH   T3    TT4  T4U    FTI  Class  referral_source_SVHC  referral_source_SVHD  referral_source_SVI  referral_source_other\n",
       "0  49.0  0.0           0.0                 0.0                        0.0   1.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  1.0  2.0   93.0  1.0   99.0    1.0                   0.0                   0.0                  0.0                    1.0\n",
       "1  46.0  1.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    1.0  1.0  3.0  125.0  1.0  122.0    1.0                   1.0                   0.0                  0.0                    0.0\n",
       "2  80.0  0.0           0.0                 0.0                        1.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  2.0  2.0   83.0  1.0   76.0    1.0                   0.0                   0.0                  0.0                    1.0\n",
       "3  80.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    1.0  1.0  2.0   94.0  1.0  100.0    1.0                   1.0                   0.0                  0.0                    0.0\n",
       "4  26.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  2.0  3.0  108.0  1.0   90.0    1.0                   0.0                   0.0                  0.0                    1.0"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Convert array to df\n",
    "new_df = pd.DataFrame(np.round(new_array), columns=df.columns)\n",
    "new_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "id": "633c4895",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "age                          0\n",
       "sex                          0\n",
       "on_thyroxine                 0\n",
       "query_on_thyroxine           0\n",
       "on_antithyroid_medication    0\n",
       "sick                         0\n",
       "pregnant                     0\n",
       "thyroid_surgery              0\n",
       "I131_treatment               0\n",
       "query_hypothyroid            0\n",
       "query_hyperthyroid           0\n",
       "lithium                      0\n",
       "goitre                       0\n",
       "tumor                        0\n",
       "hypopituitary                0\n",
       "psych                        0\n",
       "TSH                          0\n",
       "T3                           0\n",
       "TT4                          0\n",
       "T4U                          0\n",
       "FTI                          0\n",
       "Class                        0\n",
       "referral_source_SVHC         0\n",
       "referral_source_SVHD         0\n",
       "referral_source_SVI          0\n",
       "referral_source_other        0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check missing\n",
    "new_df.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "id": "38c506a8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>on_thyroxine</th>\n",
       "      <th>query_on_thyroxine</th>\n",
       "      <th>on_antithyroid_medication</th>\n",
       "      <th>sick</th>\n",
       "      <th>pregnant</th>\n",
       "      <th>thyroid_surgery</th>\n",
       "      <th>I131_treatment</th>\n",
       "      <th>query_hypothyroid</th>\n",
       "      <th>query_hyperthyroid</th>\n",
       "      <th>lithium</th>\n",
       "      <th>goitre</th>\n",
       "      <th>tumor</th>\n",
       "      <th>hypopituitary</th>\n",
       "      <th>psych</th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI</th>\n",
       "      <th>Class</th>\n",
       "      <th>referral_source_SVHC</th>\n",
       "      <th>referral_source_SVHD</th>\n",
       "      <th>referral_source_SVI</th>\n",
       "      <th>referral_source_other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "      <td>3972.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>51.681017</td>\n",
       "      <td>0.309416</td>\n",
       "      <td>0.122860</td>\n",
       "      <td>0.014099</td>\n",
       "      <td>0.011581</td>\n",
       "      <td>0.039275</td>\n",
       "      <td>0.013847</td>\n",
       "      <td>0.013847</td>\n",
       "      <td>0.016616</td>\n",
       "      <td>0.060171</td>\n",
       "      <td>0.061934</td>\n",
       "      <td>0.005035</td>\n",
       "      <td>0.008812</td>\n",
       "      <td>0.025176</td>\n",
       "      <td>0.000252</td>\n",
       "      <td>0.048338</td>\n",
       "      <td>4.816717</td>\n",
       "      <td>2.035247</td>\n",
       "      <td>108.469789</td>\n",
       "      <td>1.020393</td>\n",
       "      <td>110.100453</td>\n",
       "      <td>0.974824</td>\n",
       "      <td>0.103474</td>\n",
       "      <td>0.010070</td>\n",
       "      <td>0.273414</td>\n",
       "      <td>0.583333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>21.079318</td>\n",
       "      <td>0.462311</td>\n",
       "      <td>0.328318</td>\n",
       "      <td>0.117913</td>\n",
       "      <td>0.107004</td>\n",
       "      <td>0.194273</td>\n",
       "      <td>0.116870</td>\n",
       "      <td>0.116870</td>\n",
       "      <td>0.127845</td>\n",
       "      <td>0.237834</td>\n",
       "      <td>0.241065</td>\n",
       "      <td>0.070790</td>\n",
       "      <td>0.093468</td>\n",
       "      <td>0.156680</td>\n",
       "      <td>0.015867</td>\n",
       "      <td>0.214507</td>\n",
       "      <td>23.011349</td>\n",
       "      <td>0.780502</td>\n",
       "      <td>34.717478</td>\n",
       "      <td>0.162878</td>\n",
       "      <td>31.999075</td>\n",
       "      <td>0.278266</td>\n",
       "      <td>0.304616</td>\n",
       "      <td>0.099858</td>\n",
       "      <td>0.445768</td>\n",
       "      <td>0.493069</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>36.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>88.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>93.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>54.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>104.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>107.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>67.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>124.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>124.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>455.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>530.000000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>430.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>395.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               age          sex  on_thyroxine  query_on_thyroxine  on_antithyroid_medication         sick     pregnant  thyroid_surgery  I131_treatment  query_hypothyroid  query_hyperthyroid      lithium       goitre        tumor  hypopituitary        psych          TSH           T3          TT4          T4U          FTI        Class  referral_source_SVHC  referral_source_SVHD  referral_source_SVI  referral_source_other\n",
       "count  3972.000000  3972.000000   3972.000000         3972.000000                3972.000000  3972.000000  3972.000000      3972.000000     3972.000000        3972.000000         3972.000000  3972.000000  3972.000000  3972.000000    3972.000000  3972.000000  3972.000000  3972.000000  3972.000000  3972.000000  3972.000000  3972.000000           3972.000000           3972.000000          3972.000000            3972.000000\n",
       "mean     51.681017     0.309416      0.122860            0.014099                   0.011581     0.039275     0.013847         0.013847        0.016616           0.060171            0.061934     0.005035     0.008812     0.025176       0.000252     0.048338     4.816717     2.035247   108.469789     1.020393   110.100453     0.974824              0.103474              0.010070             0.273414               0.583333\n",
       "std      21.079318     0.462311      0.328318            0.117913                   0.107004     0.194273     0.116870         0.116870        0.127845           0.237834            0.241065     0.070790     0.093468     0.156680       0.015867     0.214507    23.011349     0.780502    34.717478     0.162878    31.999075     0.278266              0.304616              0.099858             0.445768               0.493069\n",
       "min       1.000000     0.000000      0.000000            0.000000                   0.000000     0.000000     0.000000         0.000000        0.000000           0.000000            0.000000     0.000000     0.000000     0.000000       0.000000     0.000000     0.000000     0.000000     2.000000     0.000000     2.000000     0.000000              0.000000              0.000000             0.000000               0.000000\n",
       "25%      36.000000     0.000000      0.000000            0.000000                   0.000000     0.000000     0.000000         0.000000        0.000000           0.000000            0.000000     0.000000     0.000000     0.000000       0.000000     0.000000     1.000000     2.000000    88.000000     1.000000    93.000000     1.000000              0.000000              0.000000             0.000000               0.000000\n",
       "50%      54.000000     0.000000      0.000000            0.000000                   0.000000     0.000000     0.000000         0.000000        0.000000           0.000000            0.000000     0.000000     0.000000     0.000000       0.000000     0.000000     1.000000     2.000000   104.000000     1.000000   107.000000     1.000000              0.000000              0.000000             0.000000               1.000000\n",
       "75%      67.000000     1.000000      0.000000            0.000000                   0.000000     0.000000     0.000000         0.000000        0.000000           0.000000            0.000000     0.000000     0.000000     0.000000       0.000000     0.000000     3.000000     2.000000   124.000000     1.000000   124.000000     1.000000              0.000000              0.000000             1.000000               1.000000\n",
       "max     455.000000     1.000000      1.000000            1.000000                   1.000000     1.000000     1.000000         1.000000        1.000000           1.000000            1.000000     1.000000     1.000000     1.000000       1.000000     1.000000   530.000000    11.000000   430.000000     2.000000   395.000000     3.000000              1.000000              1.000000             1.000000               1.000000"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check data\n",
    "new_df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d094f6b",
   "metadata": {},
   "source": [
    "### Handle Outliers\n",
    "\n",
    "Let's check the distribution of some numeric features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "id": "dac2edee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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17AoTULYtWuXNnv2bG3mzJnad77zHb3DCcvatWu1adOmaSaTSZs+fbr24osvah0dHdrtt9+uVVZWarfffrvW2dk5+vjvfOc72syZM7U5c+Zov/nNb3SMfGxvv/22BmgLFy7UFi9erC1evFjbtWtXQpfp2LFj2pIlS7SFCxdqVVVV2jPPPKNpmpbQZdK0S1f0S/SyxKOx6qPnn39ee/755zVNC61q9sQTT2gzZ87UFixYoB08eFDPcCftauX70Y9+pM2fP19btGiRtnz5cu3dd9/VM9xJGateTqb37mrlS+T3brzvoGR6/yItEdtOY0m29tTlkrF9dblkbW+NJxbtMEXTxhg4KoQQQgghhBAiqST1sE8hhBBCCCGEECGS/AkhhBBCCCFECpDkTwghhBBCCCFSgCR/QgghhBBCCJECJPkTQgghhBBCiBRg0jsAITo7O1m5ciUQ2kvKaDSSn5+P0WjE5/PR1dWF0WikqKgICO0xZbFYCAaDVFdXM336dF5//XU9iyCESEJj1U0X10NGo/GKOujWW2/le9/7HtXV1QA0NDRwzz33cPz4cX0KIYRIekajkYULF47++/HHH+f5558H4MyZM0yfPp309HQWLVrE+vXr+d73viftphQmyZ/QXUFBAUePHgXg6aefJisri29961ujvx/rGMAPf/hD5s2bR19fX0zjFUKkhqvVTd///velDhJC6C49PX20rhrxZ3/2Z8CVN6T2798f6/BEnJFhnyIhOZ1Odu3axWOPPaZ3KEKIFCR1kBBCiEQkyZ9ISE899RTf/e53MRjkT1gIEXtSBwkh4sXw8DBLlixhyZIl3HfffXqHI+KcDPsUCef111/HbrezdOlSGb4ghIi5ieogRVGuePxYx4QQIlLGGvYpxHjklqVIOO+++y6/+tWvqKioYO3atezbt4+vfvWreoclhEgRE9VBBQUFdHd3jz62q6uLwsJCvUIVQgghLiHJn0g4mzdvxul00tDQQE1NDbfffjsvv/yy3mEJIVLERHXQrbfeyssvv4ymaQBs376d2267Tc9whRBCiFGS/AkhhBARsmHDBmw2G4sXL2bx4sUMDAxcsVKxEEIIoRdFG7k9KYQQQgghhBAiaUnPnxBCCCGEEEKkAEn+hBBCCCGEECIFSPInhBBCCCGEEClAkj8hhBBCCCGESAGS/AkhhBBCCCFECpDkTwghhBBCCCFSgCR/QgghhBBCCJECJPkTQgghhBBCiBTw/wMl4epFKq4cewAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x720 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Create histograms\n",
    "cols = ['age','TSH','T3','TT4','T4U','FTI']\n",
    "\n",
    "plt.figure(figsize=(15,10),facecolor='white')\n",
    "plotnumber = 1\n",
    "\n",
    "for col in cols:\n",
    "    ax = plt.subplot(2,3,plotnumber)\n",
    "    sns.histplot(new_df[col], kde=True, ax=ax)\n",
    "#     sns.boxplot(x=new_df[col], ax=ax)\n",
    "    plt.xlabel(col, fontsize=10)\n",
    "    plotnumber+=1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a13c3642",
   "metadata": {},
   "source": [
    "> Observation:    \n",
    "    - The distributions of some features look skewed which could be due to the presence of outliers.      \n",
    "    \n",
    "Let's create box-plots to determine outliers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "id": "f828c223",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1oAAAJQCAYAAACXThVMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XuQXGWZP/CnM5OEXLhILhASYEhNAknIRTJc/rB0iIRNgEIjuMaCIisiihpAStyqGJegI9mfq66Q3RLRdQ2LtamtolZccnGNEbXYWNkAQQgojGSWJATNdSH3uZzfH+w0M8lMMpO8M32Zz6eKGvqc0+953nO6336/fbo7uSzLsgAAACCZfoUuAAAAoNwIWgAAAIkJWgAAAIkJWgAAAIkJWgAAAIkJWgAAAIkJWgAAAIkJWgAAAIkJWgAAAIlVdmfj4cOHR1VVVQ+VAhRCQ0ND7Nixo9BlnBRjE5SfchibIoxPUI66Oj51K2hVVVXF+vXrT7gooPjU1NQUuoSTZmyC8lMOY1OE8QnKUVfHJx8dBAAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASEzQAgAASKyy0AV0ZsmSJVFfX3/MbbZu3RoREaNHjz5qXXV1dcyfP79HagNK12233RZ79uyJD3zgA8YIgC5asmRJRIRxE7qhaINWfX19bHjx5WgefGan21Ts/9+IiHjzUOURy3f1aG1A6dq2bVvs27fvuG/kAPCuVatWRYSgBd1RtEErIqJ58Jlx4KJrOl0/6PcrIiKO2qZ1OQAAQCH4jhYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBi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1BQ33nhj3H///QWulkITtAAouGHDhsWGDRsiImLRokUxdOjQ+OIXvxhr166Ne+65J5599tkYOHBg7NixIw4fPlzgaoG+qrOxKsuy2LdvXwwdOjQaGxvjfe97X8yePTuuuOKKAldMIfnoYB/14Q9/OKZPnx6TJk2KRx55JCIi/umf/inGjx8ftbW18alPfSo+//nPR0TE9u3b44YbbohLL700Lr300nj66acLWTrQh2zbti2GDx8eAwcOjIiI4cOHxznnnFPgqgDay+VyMXTo0IiIaGxsjMbGxsjlcgWuikJzRauP+uEPfxhnnnlmHDhwIC699NK49tpr42tf+1o8++yzceqpp8aMGTNi6tSpERFx1113xRe+8IV43/veF6+//nr8xV/8Rbz88ssF7gHQF1x99dXx1a9+NcaPHx9XXXVVfOxjH4sPfOAD+fU33XRTDBo0KCIiDh8+HP36ef8QKIzm5uaYPn161NfXx+c+97m4/PLLC10SBeYVqY966KGHYurUqXHFFVfE5s2b41/+5V/iAx/4QJx55pnRv3//+OhHP5rfdvXq1fH5z38+pk2bFtdff3289dZb8fbbbxeweqCvGDp0aDzzzDPxyCOPxIgRI+JjH/tY/OhHP8qv//GPfxwbNmyIDRs2xIoVKwpXKNDnVVRUxIYNG2LLli2xbt063xfFFa2+6KmnnorVq1fH2rVrY/DgwVFbWxsXXnhhp1epWlpaYu3atfl3jQF6U0VFRdTW1kZtbW1Mnjw5li5dGn/1V39V6LIAOnTGGWdEbW1trFq1Ki6++OJCl0MBuaLVB/3v//5vvOc974nBgwfH73//+/jtb38b+/fvj1/96lexe/fuaGpqiscffzy//dVXXx3/8A//kL/d+iVQgJ72hz/8IV599dX87Q0bNsT5559fwIoAjrZ9+/bYs2dPREQcOHAgVq9eHRdddFGBq6LQXNHqg2bNmhUPP/xwTJkyJS688MK44oorYvTo0bFgwYK4/PLL45xzzomJEyfG6aefHhHvfMzwc5/7XEyZMiWampri/e9/fzz88MMF7gXQF+zduzfmz58fe/bsicrKyqiurs7/gA9Asdi2bVvMmzcvmpubo6WlJf7yL/8yrrvuukKXRYHlsizLCl0ExWHv3r0xdOjQaGpqijlz5sStt94ac+bMKXRZAABQcnx0kLxFixbFtGnT4uKLL44LLrggPvzhDxe6JAAAKEmuaAEAACTmihYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBighYAAEBild3ZePjw4VFVVdVDpQCF0NDQEDt27Ch0GSfF2ATlpxzGpgjjE5Sjro5P3QpaVVVVsX79+hMuCig+NTU1hS7hpBmboPyUw9gUYXyCctTV8clHBwEAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABITtAAAABKrLHQBxWLJkiVRX1/f6fqtW7dGRMTo0aO71F51dXXMnz8/SW0AvDNOR4SxFUpAqnmV+RSlTND6P/X19bHhxZejefCZHa6v2P+/ERHx5qHjH7KK/buS1gZAxKpVqyJC0IJSkGJeZT5FqRO02mgefGYcuOiaDtcN+v2KiIhO13e0LQBAX3Wy8yrzKUqd72gBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkJmgBAAAkVlnoAjqzZMmSiIiYP39+gSspfo4V0Bfs37+/0CVASTNf6JjjQk8p2qBVX19f6BJKhmMF9AVZlhW6BChp5gsdc1zoKT46CAAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkJigBQAAkFhlTzS6Zs2a+OpXvxqVlZXR3NwcM2bMiF/84hdH77yyMpqammLAgAExYsSIeOONN+Kss85zDhSsAAAWiklEQVSKN998MyIizj777J4or+zs2rUrNm/eHLW1tV2+z4gRI2L37t3R1NQUFRUVERHR3NycXz9gwIAYPXp0NDc3x+bNm2P06NFx2mmnxY033hhf+9rXYsCAAXHOOedE//794/Dhw/HnP/857r333vh//+//RS6Xi3vvvTf+7u/+Lpqbm6Nfv34xYsSI2L59e5xzzjlRUVER/fv3j6997WsxbNiwiIjYuXNnfOUrX4ksy6Kuri6/vK2dO3fG/fffH/fdd1+79Z0tL6RC1lRfXx933XVXPPjgg1FdXd2r+y52d955Z/zud7+LSy65JL797W8XuhzoU9q+Rj311FMFq6NYtc6dBgwYEJ/4xCfie9/7XqfbnnfeeVFZWRlvvPFGjBo1Kv9afdNNN8Vjjz0W/fv3j379+sVZZ50VW7dujebm5hg1alQ0NjbGjh07YtmyZTF37txe7F3x6+o8asCAAXH48OGIiLjmmmtixYoV7dYPGzYsdu/eHS0tLVFZWRnz58+PBx98MObMmROPP/54DBkyJPbt2xf9+vWLfv36RVNTUwwcODD++q//Or71rW/Fgw8+GBER8+fPj3PPPTe+9KUvxUMPPRR33nlnPPTQQ3HLLbfEV77ylTj77LNj0KBBcc8998S3v/3tDudPXZk3RUQsXLgwmpubo6KiIt9Gd+cxPTHvOV6bKffZU3OnHrmi9cADD0RERFNTU2RZ1mHIal0fEXH48OHYunVrZFmWD1kR0e7/6dzmzZu7fZ/t27fnj39zc3O7kBXxzjnZtGlTvP7665FlWWzZsiVeeumleOCBByLLsjh06FBs2rQpXnnllWhoaIj9+/fH17/+9Th48GAcOHAgHnjggThw4EAc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/MqtT+XWn2JS7sdW/0qb/vVdfeHYlHsfy71/EfrYXT46CAAAkJigBQAAkFjFokWLFvVEw9OnT++JZgtGf4pfufWp3PpTTMr92OpfadO/vqsvHJty72O59y9CH7ujR76jBQAA0Jf56CAAAEBiSYPWqlWr4sILL4zq6ur427/925RN96hbb701Ro4cGRdffHF+2a5du2LmzJkxbty4mDlzZuzevTu/bvHixVFdXR0XXnhh/OxnPytEyce0efPmuPLKK2PChAkxadKkePDBByOidPt08ODBuOyyy2Lq1KkxadKkuO+++yKidPvTqrm5Od773vfGddddFxGl359ic7zxKMuyuPPOO6O6ujqmTJkSzz77bAGqPHHH699TTz0Vp59+ekybNi2mTZsWX/3qVwtQ5YnpaExuq9TP3fH6V8rnLqLz16C2Sv0cplSqc6cjldtcqiPlNr/qSLnOuY7Ua3OwLJGmpqZs7Nix2R//+Mfs0KFD2ZQpU7KNGzemar5H/epXv8qeeeaZbNKkSfll9957b7Z48eIsy7Js8eLF2Ze+9KUsy7Js48aN2ZQpU7KDBw9mr732WjZ27NisqampIHV35o033sieeeaZLMuy7K233srGjRuXbdy4sWT71NLSkr399ttZlmXZ4cOHs8suuyxbu3Ztyfan1be+9a3s4x//eHbttddmWVbaj7li05XxaPny5dmsWbOylpaWbO3atdlll11WoGq7ryv9++Uvf5l/bJWajsbktkr53GXZ8ftXyucuyzp/DWqr1M9hKqU8dzpSuc2lOlJu86uOlOuc60i9NQdLdkVr3bp1UV1dHWPHjo0BAwbE3Llz44knnkjVfI96//vfH2eeeWa7ZU888UTMmzcvIiLmzZsXP/nJT/LL586dGwMHDowLLrggqqurY926db1e87GMGjUqLrnkkoiIOPXUU2PChAmxdevWku1TLpeLoUOHRkREY2NjNDY2Ri6XK9n+RERs2bIlli9fHrfddlt+WSn3p9h0ZTx64okn4pZbbolcLhdXXHFF7NmzJ7Zt21agirunlMfbruhoTG6rlM9dxPH7V+o6ew1qq9TPYSrl9Fwut7lUR8ptftWRcpxzHak352DJgtbWrVvj3HPPzd8eM2bMUQNrKfnTn/4Uo0aNioh3nlh//vOfI6L0+tnQ0BDPPfdcXH755SXdp+bm5pg2bVqMHDkyZs6cWfL9ufvuu+Mb3/hG9Ov37lOwlPtTbLpyzEr5uHa19rVr18bUqVNj9uzZsXHjxt4ssUeV8rnrqnI5d21fg9rqC+ewK8r9OJTz61q5zK86Um5zriP15hwsWdDKOvjxwlwul6r5olFK/dy7d2/ccMMN8Z3vfCdOO+20TrcrhT5VVFTEhg0bYsuWLbFu3bp48cUXO9222Pvz5JNPxsiRI7v806HF3p9i1JVjVsrHtSu1X3LJJfE///M/8fzzz8f8+fPjwx/+cG+V1+NK+dx1Rbmcu2O9BpX7OeyqvnocSr3f5TS/6kg5zbmO1NtzsGRBa8yYMbF58+b87S1btsQ555yTqvled9ZZZ+U/xrBt27YYOXJkRJROPxsbG+OGG26Im266KT7ykY9EROn3KSLijDPOiNra2li1alXJ9ufpp5+On/70p1FVVRVz586NNWvWxM0331yy/SlGXTlmpXxcu1L7aaedlv/4xzXXXBONjY2xY8eOXq2zp5TyueuKcjh3Hb0GtVXu57Cryv04lOPrWrnOrzpSDnOuI/X2HCxZ0Lr00kvj1VdfjU2bNsXhw4dj2bJlcf3116dqvtddf/31sXTp0oiIWLp0aXzoQx/KL1+2bFkcOnQoNm3aFK+++mpcdtllhSz1KFmWxSc/+cmYMGFC3HPPPfnlpdqn7du3x549eyIi4sCBA7F69eq46KKLSrY/ixcvji1btkRDQ0MsW7YsZsyYEY899ljJ9qcYdWU8uv766+PRRx+NLMvit7/9bZx++un5jw0Uu670780338y/E7du3bpoaWmJYcOGFaLc5Er53HVFqZ+7zl6D2ir3c9hV5TZ3OlK5va6V2/yqI+U25zpSr8/BTuIHO46yfPnybNy4cdnYsWOzurq6lE33qLlz52Znn312VllZmY0ePTr7wQ9+kO3YsSObMWNGVl1dnc2YMSPbuXNnfvu6urps7Nix2fjx47MVK1YUsPKO/eY3v8kiIps8eXI2derUbOrUqdny5ctLtk/PP/98Nm3atGzy5MnZpEmTsvvvvz/Lsqxk+9NW218XK4f+FJOOxqPvfve72Xe/+90sy975ZaXPfvaz2dixY7OLL744++///u9Cltttx+vfkiVLsokTJ2ZTpkzJLr/88uzpp58uZLnd0tGYXE7n7nj9K+Vzl2WdvwaV0zlMqVTnTkcqt7lUR8ptftWRcp5zHak35mC5LOvgw4cAAACcsKT/YDEAAACCFgAAQHKCFgAAQGKCFgAAQGKCFgAAQGKVhS6A3rdz58744Ac/GBHv/HstFRUVceaZZ0ZFRUUcPnw4du3aFRUVFTFixIiIeOffcRkwYEA0NzdHTU1NjB49Op588slCdgEoMx2NS23HoIqKiqPGn9ra2vjmN78ZNTU1ERHR0NAQ1113Xbz44ouF6QRQ9ioqKmLy5Mn523fccUd897vfjYiI+vr6GD16dAwaNCimTJkSt956a3zzm980Z+rDBK0+aNiwYbFhw4aIiFi0aFEMHTo0vvjFL+bXd7QsIuLBBx+MCRMmxFtvvdWr9QLl73jj0re//W3jD1BwgwYNyo9VrT796U9HxNFv/jz11FO9XR5FxkcH6ZItW7bE8uXL47bbbit0KUAfY/wBoBQJWnTJ3XffHd/4xjeiXz8PGaB3GX+AYnHgwIGYNm1aTJs2LebMmVPocihyPjrIcT355JMxcuTImD59usvgQK861viTy+WO2r6jZQCpdPTRQeiMtwc5rqeffjp++tOfRlVVVcydOzfWrFkTN998c6HLAvqAY40/w4YNi927d+e33bVrVwwfPrxQpQJAO4IWx7V48eLYsmVLNDQ0xLJly2LGjBnx2GOPFbosoA841vhTW1sbjz32WGRZFhERS5cujSuvvLKQ5QJAnqAFQEm6/fbb49RTT42pU6fG1KlTY+/evUf9WioAFEoua30rEAAAgCRc0QIAAEhM0AIAAEhM0AIAAEhM0AIAAEhM0AIAAEhM0AIAAEhM0AIAAEhM0AIAAEjs/wMLcug89W+dYQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x720 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Create boxplots\n",
    "cols = ['age','TSH','T3','TT4','T4U','FTI']\n",
    "\n",
    "plt.figure(figsize=(15,10),facecolor='white')\n",
    "plotnumber = 1\n",
    "\n",
    "for col in cols:\n",
    "    ax = plt.subplot(2,3,plotnumber)\n",
    "    sns.boxplot(x=new_df[col])\n",
    "    plt.xlabel(col, fontsize=10)\n",
    "    plotnumber+=1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e3f0e09e",
   "metadata": {},
   "source": [
    "> Observations:    \n",
    "    - Box plots show outliers in most features.    \n",
    "    - Age cannot be > 400, so we will remove the record.    \n",
    "    - TSH normally range from 0.1-15 however there is no upper limit. A quick google search shows that most labs can measure TSH upto 150 mlU/ml. We will remove records will TSH > 150.    \n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "155a5815",
   "metadata": {},
   "source": [
    "#### Remove recrods with  `age > 100` and `TSH > 150`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "id": "82c023c3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 121,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Recrods with age > 100\n",
    "len(new_df[new_df['age']>100])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "id": "7d2c55fb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "19"
      ]
     },
     "execution_count": 122,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Recrods with TSH > 150\n",
    "len(new_df[new_df['TSH']>150]['TSH'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "id": "f67297ed",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(new_df[new_df['age']>100])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "id": "d68b43db",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>on_thyroxine</th>\n",
       "      <th>query_on_thyroxine</th>\n",
       "      <th>on_antithyroid_medication</th>\n",
       "      <th>sick</th>\n",
       "      <th>pregnant</th>\n",
       "      <th>thyroid_surgery</th>\n",
       "      <th>I131_treatment</th>\n",
       "      <th>query_hypothyroid</th>\n",
       "      <th>query_hyperthyroid</th>\n",
       "      <th>lithium</th>\n",
       "      <th>goitre</th>\n",
       "      <th>tumor</th>\n",
       "      <th>hypopituitary</th>\n",
       "      <th>psych</th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI</th>\n",
       "      <th>Class</th>\n",
       "      <th>referral_source_SVHC</th>\n",
       "      <th>referral_source_SVHD</th>\n",
       "      <th>referral_source_SVI</th>\n",
       "      <th>referral_source_other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>288</th>\n",
       "      <td>39.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>316</th>\n",
       "      <td>50.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>151.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>32.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>639</th>\n",
       "      <td>33.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>160.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>937</th>\n",
       "      <td>53.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>165.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1018</th>\n",
       "      <td>60.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>151.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1307</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>472.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1564</th>\n",
       "      <td>455.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>118.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>104.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1575</th>\n",
       "      <td>53.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>183.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1902</th>\n",
       "      <td>60.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>183.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1972</th>\n",
       "      <td>25.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>468.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2027</th>\n",
       "      <td>18.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>440.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2049</th>\n",
       "      <td>59.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>530.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2239</th>\n",
       "      <td>44.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>199.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2259</th>\n",
       "      <td>31.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>188.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>63.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2777</th>\n",
       "      <td>25.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>236.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3039</th>\n",
       "      <td>60.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>400.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3054</th>\n",
       "      <td>35.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>230.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3337</th>\n",
       "      <td>18.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>478.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3736</th>\n",
       "      <td>455.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>118.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>104.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3747</th>\n",
       "      <td>53.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>183.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3787</th>\n",
       "      <td>48.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>178.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>63.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        age  sex  on_thyroxine  query_on_thyroxine  on_antithyroid_medication  sick  pregnant  thyroid_surgery  I131_treatment  query_hypothyroid  query_hyperthyroid  lithium  goitre  tumor  hypopituitary  psych    TSH   T3    TT4  T4U    FTI  Class  referral_source_SVHC  referral_source_SVHD  referral_source_SVI  referral_source_other\n",
       "288    39.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  160.0  0.0   11.0  1.0    9.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "316    50.0  1.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  151.0  1.0   32.0  1.0   28.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "639    33.0  1.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  160.0  0.0   10.0  1.0   13.0    2.0                   0.0                   0.0                  1.0                    0.0\n",
       "937    53.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  165.0  0.0   17.0  1.0   14.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "1018   60.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  151.0  1.0   42.0  1.0   39.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "1307    2.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  472.0  2.0   34.0  1.0   29.0    2.0                   0.0                   0.0                  0.0                    0.0\n",
       "1564  455.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0    1.0  2.0  118.0  1.0  104.0    1.0                   0.0                   0.0                  1.0                    0.0\n",
       "1575   53.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  183.0  1.0   14.0  1.0   11.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "1902   60.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                1.0                 0.0      0.0     0.0    0.0            0.0    0.0  183.0  1.0   45.0  1.0   46.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "1972   25.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  468.0  1.0   21.0  1.0   19.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "2027   18.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  440.0  0.0   24.0  1.0   18.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "2049   59.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  530.0  2.0   10.0  1.0    8.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "2239   44.0  1.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  199.0  1.0   10.0  1.0   10.0    2.0                   0.0                   0.0                  1.0                    0.0\n",
       "2259   31.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  188.0  1.0   63.0  1.0   53.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "2777   25.0  1.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  236.0  0.0   16.0  1.0   17.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "3039   60.0  0.0           1.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  400.0  0.0   11.0  1.0    9.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "3054   35.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 1.0      0.0     0.0    0.0            0.0    0.0  230.0  2.0   36.0  1.0   27.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "3337   18.0  0.0           1.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  478.0  3.0   45.0  1.0   34.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "3736  455.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0    1.0  2.0  118.0  1.0  104.0    1.0                   0.0                   0.0                  1.0                    0.0\n",
       "3747   53.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  183.0  1.0   14.0  1.0   11.0    2.0                   0.0                   0.0                  0.0                    1.0\n",
       "3787   48.0  0.0           1.0                 0.0                        0.0   0.0       0.0              0.0             0.0                1.0                 0.0      0.0     0.0    0.0            0.0    0.0  178.0  1.0   63.0  1.0   59.0    2.0                   0.0                   0.0                  0.0                    1.0"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_df[(new_df['age']>100) | (new_df['TSH']>150)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "id": "b4dd1a89",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3951, 26)"
      ]
     },
     "execution_count": 125,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Subset data\n",
    "df2 = new_df[(new_df['age']<=100) & (new_df['TSH']<=150)]\n",
    "df2.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "id": "80160a9e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x720 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Create histograms\n",
    "cols = ['age','TSH','T3','TT4','T4U','FTI']\n",
    "\n",
    "plt.figure(figsize=(15,10),facecolor='white')\n",
    "plotnumber = 1\n",
    "\n",
    "for col in cols:\n",
    "    ax = plt.subplot(2,3,plotnumber)\n",
    "    sns.histplot(df2[col])\n",
    "    plt.xlabel(col, fontsize=10)\n",
    "    plotnumber+=1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8cf8a2a3",
   "metadata": {},
   "source": [
    "> Observations:    \n",
    "    - Removing outlier from `age` has significantly improved the distribution and it looks normal.    \n",
    "    - Removing outlier from `TSH` has also improved the distribution a little but it is still heavilty skewed to the right.    \n",
    "    - Similarly, other features also seem to be skewed to the right.\n",
    "    \n",
    "Let's apply some transforations to the data to see if the data can be normally distributed."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "de7f4dda",
   "metadata": {},
   "source": [
    "### Data Transformation\n",
    "\n",
    "Apply some transforations to the data to see if the data can be normally distributed."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "28bd9b60",
   "metadata": {},
   "source": [
    "#### Apply log transformation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "id": "50708b01",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x720 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Create histograms\n",
    "cols = ['age','TSH','T3','TT4','T4U','FTI']\n",
    "\n",
    "plt.figure(figsize=(15,10),facecolor='white')\n",
    "plotnumber = 1\n",
    "\n",
    "for col in cols:\n",
    "    ax = plt.subplot(2,3,plotnumber)\n",
    "    sns.histplot(np.log(df2[col]+1e-8))\n",
    "    plt.xlabel(col, fontsize=10)\n",
    "    plotnumber+=1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5bd6578a",
   "metadata": {},
   "source": [
    "> The data seems to be skewed to the left after applyting log transformation."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "794ea9f4",
   "metadata": {},
   "source": [
    "#### Apply Box-cox tranformation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "id": "ea90b467",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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/fv36+tf/3rQn+H8spaWFlVUVKi2tlaNjY364osv9NprrwU7rH4J1c/JSHXTTTdp8uTJ3f5UVFSos7NTLS0t2rt3r5544gnl5eX1+PvxZww//vGP9cMf/nDI99nf/Z/z4x//WBEREVq+fLlfYzknlD4HwTxHhMK5IBTy/XDO6cHUn892oITSZzoYgpVHwsPDVV1dLbfbrcrKSh04cCAg+w2F3LVnzx599NFHeuedd1RSUqI//vGPQYulNxHBDsDfbDabGhoafK/dbnfQh210dHRoyZIlWr58uRYvXixJio2NVVNTk6xWq5qamoIy1GvPnj166623tG3bNrW1tenEiRO64447QiI26ezv0maz+b5BuvXWW1VcXBwy8e3YsUOJiYmKjo6WJC1evFjvv/9+yMQn9f7vLBQ/JyPZjh07ev3Ziy++qMWLF8tisSgjI0NhYWE6evSo79+Vv2P43//9X9XW1vru+rndbk2bNk2VlZW66qqr/L7/c8rKyrR161bt3LkzYBdrofI56OkcEUi9nQsCWfj0lu8DqbecfscddwQ0juHmQp/tQAqVz3QwBDuPSFJUVJSysrLkdDoDMvFNKOSuc/++YmJitGjRIlVWVmr27NkB239/jPg7fzNmzJDL5VJtba3OnDmj8vJy5ebmBi0ewzC0evVqJScn6/777/e15+bmqqysTNLZi56FCxcGPLaioiK53W7V1dWpvLxcN954o1577bWQiE2SrrrqKo0fP15/+ctfJEk7d+5USkpKyMQXHx+vvXv36vTp0zIMQzt37lRycnLIxCf1/u8sNzdX5eXlam9vV21trVwulzIyMoIWp5l961vf0q5duySdHQJ65swZXXnllQHb/5QpU3TkyBHV1dWprq5ONptNH3300ZAWfhfidDr1k5/8RG+99ZZGjRoVsP2Gwvmit3NEIPV2Lgik3vJ9IPWW0zF8hMJnOhiCmUeam5t9MzS3trZqx44dmjRpUkD2Hezc9cUXX+jkyZO+v//+978PymyvFxSsmWYC6e233zYmTpxoTJgwwfjRj34U1Fj+9Kc/GZKMKVOmGFOnTjWmTp1qvP3228bRo0eNG2+80bDb7caNN95o/O1vfwtqnO+9955vlqRQim3//v3G9OnTjSlTphgLFy40jh07FlLx/fu//7uRlJRkOBwO44477jDa2tqCFt/SpUuNq666yoiIiDDGjRtn/PKXv+wzlh/96EfGhAkTjGuvvdbYtm1bQGJEd+3t7cby5csNh8NhXHfddcbOnTuDGk8wZi675pprDJvN5suR3/ve9wK272CfL3o7RwTLl88FgdZTvg+0nnI6Lt7vfvc7Y9y4ccall15qxMTEGHPnzvX7PoP1me7pHBwowcwjH3/8sZGWlmZMmTLFcDgcxsaNGwOy368KRu767LPPjNTUVCM1NdVISUkJes3RG4th+OFhEgAAAABASBnxwz4BAAAAABR/AAAAAGAKFH8AAAAAYAIUfwAAAABgAhR/AAAAAGACI36RdwAALsbf/vY3ZWdnS5L++te/Kjw83Lfg96JFi/TGG28oPDxcYWFheumll5SZmamsrCz99Kc/VXp6uiSprq5OCxYs0IEDB4J2HABGtt5yVVtbm0aNGiWv16vOzk7deuut2rhxY5CjRbBR/AEA0IMrrrhC1dXVkqQNGzZo9OjRevDBB/XBBx/o/vvv10cffaTIyEgdPXpUZ86cCXK0AMyqt1xlGIa++OILjR49Wh0dHbr++us1f/58zZw5M8gRI5gY9omQ8a1vfUvTp0+Xw+FQaWmpJGnTpk269tprlZWVpTvvvFPf//73JUnNzc1asmSJZsyYoRkzZmjPnj3BDB2AiTQ1NenKK69UZGSkJOnKK69UXFxckKMCgPNZLBaNHj1aktTR0aGOjg5ZLJYgR4Vg484fQsbLL7+ssWPHqrW1VTNmzNA3v/lN/cd//Ic++ugjjRkzRjfeeKOmTp0qSbrnnnt033336frrr1d9fb1uvvlmHTp0KMhHAMAM5s6dqx/+8Ie69tprddNNN+n222/XnDlzfD9fvny5vva1r0mSzpw5o7AwvmcFEBxer1fTp0/Xp59+qrvuukuZmZnBDglBxhkJIePZZ5/V1KlTNXPmTDU0NOjVV1/VnDlzNHbsWF1yySW67bbbfH137Nih73//+0pLS1Nubq5OnDihkydPBjF6AGYxevRo7du3T6WlpYqOjtbtt9+u//zP//T9/Ne//rWqq6tVXV2tbdu2BS9QAKYXHh6u6upqud1uVVZW8vwxuPOH0LB7927t2LFDH3zwgUaNGqWsrCwlJSX1ejevq6tLH3zwge/bdQAIpPDwcGVlZSkrK0tTpkxRWVmZVq5cGeywAKBHUVFRysrKktPp1OTJk4MdDoKIO38ICX//+9/1jW98Q6NGjdKf//xn7d27V6dPn9Yf/vAHtbS0qLOzU//1X//l6z937lw9//zzvtfnHnQGAH/7y1/+IpfL5XtdXV2tq6++OogRAUB3zc3NOn78uCSptbVVO3bs0KRJk4IcFYKNO38ICfPmzdPPf/5zpaamKikpSTNnztS4ceP0b//2b8rMzFRcXJxSUlJ0+eWXSzo7RPSuu+5SamqqOjs7NXv2bP385z8P8lEAMINTp07pBz/4gY4fP66IiAjZ7XbfJFUAECqampqUn58vr9errq4u5eXlacGCBcEOC0FmMQzDCHYQQG9OnTql0aNHq7OzU4sWLdKqVau0aNGiYIcFAAAADDsM+0RI27Bhg9LS0jR58mQlJibqW9/6VrBDAgAAAIYl7vwBAAAAgAlw5w8AAAAATIDiDwAAAABMgOIPAAAAAEyA4g8AAAAATIDiDwAAAABMgOIPAAAAAEyA4g8AAAAATIDiDwAAAABMgOIPAAAAAEyA4g8AAAAATIDiDwAAAABMgOIPAAAAAEyA4g8AAAAATIDiDwAAAABMgOIPAAAAAEyA4g/AiOb1enXddddpwYIFkqRjx44pJydHEydOVE5OjlpaWnx9i4qKZLfblZSUpO3bt/va9+3bpylTpshut+vuu++WYRgBPw4AAIDBovgDMKI988wzSk5O9r0uLi5Wdna2XC6XsrOzVVxcLEk6ePCgysvLVVNTI6fTqXXr1snr9UqS1q5dq9LSUrlcLrlcLjmdzqAcCwAAwGBEBDuAwbjyyiuVkJAQ7DAADLG6ujodPXp00O/jdrv19ttvq7CwUD/72c8kSRUVFdq9e7ckKT8/X1lZWfrJT36iiooKLV26VJGRkUpMTJTdbldlZaUSEhJ04sQJzZo1S5K0YsUKbdmyRfPnz+9z3+QnYOQZqtwUTOQmYOQZSG4a1sVfQkKCqqqqgh0GgCGWnp4+JO9z77336vHHH9fJkyd9bYcPH5bVapUkWa1WHTlyRJLk8Xg0c+ZMXz+bzSaPx6NLLrlENputW/uFkJ+AkWeoclMwkZuAkWcguYlhnwBGpK1btyomJkbTp0/vV/+enuOzWCy9tvektLRU6enpSk9PV3Nz88ACBgAA8DO/FX9tbW3KyMjQ1KlT5XA49Oijj0q6uMkWAGCg9uzZo7feeksJCQlaunSpdu3apTvuuEOxsbFqamqSJDU1NSkmJkbS2Tt6DQ0Nvu3dbrfi4uJks9nkdru7tfekoKBAVVVVqqqqUnR0tB+PDgAAYOD8VvxFRkZq165d+vjjj1VdXS2n06m9e/de1GQLADBQRUVFcrvdqqurU3l5uW688Ua99tprys3NVVlZmSSprKxMCxculCTl5uaqvLxc7e3tqq2tlcvlUkZGhqxWq8aMGaO9e/fKMAy98sorvm0AAACGE78VfxaLRaNHj5YkdXR0qKOjQxaLRRUVFcrPz5d0drKFLVu2SFKvky0AwFBav3693n33XU2cOFHvvvuu1q9fL0lyOBzKy8tTSkqK5s2bp5KSEoWHh0uSXnzxRa1Zs0Z2u13XXHPNBSd7AQAACEV+nfDF6/Vq+vTp+vTTT3XXXXcpMzNzwJMtAMBgZWVlKSsrS5J0xRVXaOfOnT32KywsVGFhYbf29PR0HThwwJ8hAgAA+J1fJ3wJDw9XdXW13G63Kisr+7x46u+kCkyoAAAAAAADF5DZPqOiopSVlSWn0zngyRa+igkVAAAAAGDg/Fb8NTc36/jx45Kk1tZW7dixQ5MmTRrwZAsAAAAAgMHz2zN/TU1Nys/Pl9frVVdXl/Ly8rRgwQLNmjVLeXl52rRpk+Lj47V582ZJ50+2EBERcd5kCwg9Xq9X9fX1vtfx8fH8vgAAAC6gq6vLt4SQzWZTWBjLbiNw/Fb8paamav/+/d3aL2ayBYSe+vp6rS55R6PGxur0scPadNd8JSYmBjssAAg548bHq9HdcOGOFxBnGy9PQ/2FOwIIaW63W6tKnJKkl++ap/j4+CBHBDPx62yfGNlGjY3V6Ct7XuwaAHBWo7tBt7/0/qDf5zff++chiAZAKPjaN5i3AsHBfWYAAAAAMAGKPwAAAAAwAYo/AAAAADABij8AAAAAMAGKPwAA/v/27j8q6uvO//hrGCKi4g/CDwcHCtmx/kCRKsH4PTmJBmnUpriJXWqaVlxM2FU3v9NdTjk9MXu2kbRNN2lkPSE1ZzHdympPIz2JwSYmdndtXIpKTtW2oRbLzEgUA0ZNEc3M5/uHO1OQAUdl+MyP5+OcnMjl8xnen5nh8nnPvfd9AQCIASR/uGGG1yOn06m2tja1tbXJ4/GYHRIAABHnwoULKiws1Jw5c5Sbm6unn35aktTV1aXi4mJNnTpVxcXF6u7u9p+zceNGORwOTZs2Tbt37zYrdAARguQPN6znzGl966cH9fC2g1pT81a/zd8BAEBwEhIS9O677+qDDz5QS0uLGhsbtX//flVXV6uoqEitra0qKipSdXW1JOno0aOqr6/XkSNH1NjYqHXr1vEBLIAhkfxhWCROStO4lAyNSU43OxQAACKSxWLRuHHjJEmXLl3SpUuXZLFY1NDQoLKyMklSWVmZdu7cKUlqaGjQypUrlZCQoJycHDkcDjU1NZkWP4DwR/IHAAAQJjwej/Lz85WWlqbi4mLNnz9fJ0+elM1mkyTZbDadOnVKkuR2u5WZmek/1263y+12D3jM2tpaFRQUqKCgQJ2dnSNzIQDCEskfAABAmLBarWppaZHL5VJTU5MOHz486LGGYQxos1gsA9oqKirU3Nys5uZmpaamDmu8ACILyR8AAECYmThxohYuXKjGxkalp6ero6NDktTR0aG0tLuURasAACAASURBVDRJl0f6nE6n/xyXy6WMjAxT4gUQGUj+AAAAwkBnZ6fOnDkjSerp6dE777yj6dOnq6SkRHV1dZKkuro6LV++XJJUUlKi+vp69fb2qq2tTa2trSosLDQtfgDhL97sAAAAAHB5VK+srEwej0der1elpaW65557tGDBApWWlmrLli3KysrSjh07JEm5ubkqLS3VzJkzFR8fr5qaGlmtVpOvAn15vV65XC5Jl0dq4+IYd4G5SP4AAADCQF5eng4dOjSg/eabb9aePXsCnlNVVaWqqqpQh4br5HK5VF7TKEl6df0SZWVlmRwRYh3JHwAAABAiiZMosoPwwdgzAAAAAMQAkj8AUenChQsqLCzUnDlzlJubq6efflqStGHDBk2ZMkX5+fnKz8/Xrl27/Ods3LhRDodD06ZN0+7du/3tBw4c0OzZs+VwOPTII48ELK8OAAAQ7pj2CSAqJSQk6N1339W4ceN06dIl3X777Vq6dKkk6fHHH9dTTz3V7/ijR4+qvr5eR44c0YkTJ7R48WJ9+OGHslqtWrt2rWpra3Xbbbdp2bJlamxs9D8WAABApGDkD0BUslgsGjdunCTp0qVLunTpUsDNj30aGhq0cuVKJSQkKCcnRw6HQ01NTero6NDZs2e1YMECWSwWrVq1Sjt37hypywAAABg2JH8AopbH41F+fr7S0tJUXFys+fPnS5I2bdqkvLw8lZeXq7u7W5LkdruVmZnpP9dut8vtdsvtdstutw9oBwAAiDQkfwCiltVqVUtLi1wul5qamnT48GGtXbtWx44dU0tLi2w2m5588klJCriOz2KxDNoeSG1trQoKClRQUKDOzs7hvRgAAIAbRPKHYWV4PXI6nWpra5PH4zE7HECSNHHiRC1cuFCNjY1KT0+X1WpVXFycHnroITU1NUm6PKLndDr957hcLmVkZMhut/s36O3bHkhFRYWam5vV3Nys1FRKewMABmd4vXK73Wpvb5fX6zU7HMQIkj8Mq54zp/Wtnx7Umpq31N7ebnY4iGGdnZ06c+aMJKmnp0fvvPOOpk+fro6ODv8xr7/+umbNmiVJKikpUX19vXp7e9XW1qbW1lYVFhbKZrMpKSlJ+/fvl2EY2rp1q5YvX27KNQEAoseFsx+rcvtBldc09vuQEQglqn1i2CVOSlNCQoLZYSDGdXR0qKysTB6PR16vV6Wlpbrnnnv0jW98Qy0tLbJYLMrOztbLL78sScrNzVVpaalmzpyp+Ph41dTUyGq1SpI2b96s1atXq6enR0uXLqXSJwBgWIyekKJRo0eZHQZiCMkfronH41F7e7ucTqfY6gzhLC8vT4cOHRrQ/tprrw16TlVVlaqqqga0FxQU6PDhw8MaHwAAwEgj+cM1aW9v15qat9TzyWmNy3CYHQ4AAACAIJH84ZqNSU43OwQAAAAA14iCLwAAAAAQAxj5AwAAAEzi2/LBx263Ky6O8RmEBskfAAAAEEJ9Ezy32y31KZp3ecuHjzQ+/SP1dHfq1fVLlJWVZVKkiHYh+1jB6XRq0aJFmjFjhnJzc/Xiiy9KkjZs2KApU6YoPz9f+fn52rVrl/+cjRs3yuFwaNq0adq9e3eoQgMAAABGjG9Pv/U/OaBvbv2lLvZe7Pf90RNSNDZ5shInpZoUIWJFyEb+4uPj9fzzz2vu3Lk6d+6c5s2bp+LiYknS448/rqeeeqrf8UePHlV9fb2OHDmiEydOaPHixfrwww/9+2wBAAAAkcqX4PWc6TQ7FMSwkI382Ww2zZ07V5KUlJSkGTNm9JvPfKWGhgatXLlSCQkJysnJkcPhUFNTU6jCAwAAAICYMiKrSY8fP65Dhw5p/vz5kqRNmzYpLy9P5eXl6u7ulnR5/nNmZqb/HLvdPmSyCAAAAAAIXsiTv/Pnz2vFihV64YUXNH78eK1du1bHjh1TS0uLbDabnnzySUmSYRgDzrVYLAPaamtrVVBQoIKCAnV2MmwOAAAAAMEIafJ36dIlrVixQg888IDuu+8+SVJ6erqsVqvi4uL00EMP+ad22u12OZ1O/7kul0sZGRkDHrOiokLNzc1qbm5WaiqLYgEAAAAgGCFL/gzD0Jo1azRjxgw98cQT/vaOjg7/v19//XXNmjVLklRSUqL6+nr19vaqra1Nra2tKiwsDFV4AAAAABBTQlbtc9++fXrttdc0e/Zs5efnS5KeffZZbdu2TS0tLbJYLMrOztbLL78sScrNzVVpaalmzpyp+Ph41dTUUOkTAAAAAIZJyJK/22+/PeA6vmXLlg16TlVVlaqqqkIVEgAAAADErBGp9gkAAAAAMBfJHwAAAADEAJI/AAAAAIgBJH8AAABhwOl0atGiRZoxY4Zyc3P14osvSpI2bNigKVOmKD8/X/n5+dq1a5f/nI0bN8rhcGjatGnavXu3WaEDiBAhK/gCAACA4MXHx+v555/X3Llzde7cOc2bN0/FxcWSpMcff1xPPfVUv+OPHj2q+vp6HTlyRCdOnNDixYv14YcfUi0dwKAY+QMAAAgDNptNc+fOlSQlJSVpxowZcrvdgx7f0NCglStXKiEhQTk5OXI4HGpqahqpcAFEIJI/AACAMHP8+HEdOnRI8+fPlyRt2rRJeXl5Ki8vV3d3tyTJ7XYrMzPTf47dbh8yWQQAkj+MGI/Ho7a2Nv9/Ho/H7JAAAAg758+f14oVK/TCCy9o/PjxWrt2rY4dO6aWlhbZbDY9+eSTkhRwP2WLxTKgrba2VgUFBSooKFBnZ2fI4wcQvkj+MGLa29u1puYtPbztoNbUvKX29nazQ0IUu3DhggoLCzVnzhzl5ubq6aefliR1dXWpuLhYU6dOVXFxsf8TdGnwwgkHDhzQ7Nmz5XA49MgjjwS84QKA4XDp0iWtWLFCDzzwgO677z5JUnp6uqxWq+Li4vTQQw/5p3ba7XY5nU7/uS6XSxkZGQMes6KiQs3NzWpublZqaurIXAiAsETyhxE1Jjld41IyNCY53exQEOUSEhL07rvv6oMPPlBLS4saGxu1f/9+VVdXq6ioSK2trSoqKlJ1dbWk/oUTGhsbtW7dOv/o9Nq1a1VbW6vW1la1traqsbHRzEsDEKUMw9CaNWs0Y8YMPfHEE/72jo4O/79ff/11zZo1S5JUUlKi+vp69fb2qq2tTa2trSosLBzxuAFEDqp9AohKFotF48aNk3T5k/RLly7JYrGooaFBe/fulSSVlZVp4cKFeu655wYtnJCdna2zZ89qwYIFkqRVq1Zp586dWrp0qVmXBiBK7du3T6+99ppmz56t/Px8SdKzzz6rbdu2qaWlRRaLRdnZ2Xr55ZclSbm5uSotLdXMmTMVHx+vmpoaKn0CGBLJH4Co5fF4NG/ePP3hD3/Q+vXrNX/+fJ08eVI2m03S5cp6p06dknS5cMJtt93mP9dXOOGmm26S3W4f0B5IbW2tamtrJYl1NQCu2e233x5wWvmyZcsGPaeqqkpVVVWhDAtAFGHaJ4CoZbVa1dLSIpfLpaamJh0+fHjQYwcrnBBsQQWJdTUAACC8kfwBiHoTJ07UwoUL1djYqPT0dP/6mY6ODqWlpUkavHCC3W6Xy+Ua0A4AABBpSP4ARKXOzk6dOXNGktTT06N33nlH06dPV0lJierq6iRJdXV1Wr58uaTBCyfYbDYlJSVp//79MgxDW7du9Z8DAAAQSVjzh6vyeDz+bRmcTqeoco9I0NHRobKyMnk8Hnm9XpWWluqee+7RggULVFpaqi1btigrK0s7duyQNHThhM2bN2v16tXq6enR0qVLKfYCAAAiEskfrsq3P9+Y5HR93HZE4zIcZocEXFVeXp4OHTo0oP3mm2/Wnj17Ap4zWOGEgoKCIdcLAgAARAKmfSIovv35EiekmB0KAAAAgOtA8gcAAAAAMYDkDwAAAABiAMkfAAAAAMQACr4gJAyvp9+eaVlZWSZGAwAAAIDkDyHRc+a0vvXTE5o4uVN/7jqpLespjQ8AAACYieQPIZM4KU3jUjLMDgMAAACAWPMHAAAAADGBkT+EXN/1f4ZhcjAAAABAjCL5Q8j51v95es5qXIbD7HAAAACAmETyhxGROClNnlGjzA4DAAAAiFkkfwAAAEAY8Xq9crlckiS73a64OMp0YHjwTgIAAADCiMvlUnlNo8prGv1JIDAcGPkDAAAAwkzipFSzQ0AUCtnIn9Pp1KJFizRjxgzl5ubqxRdflCR1dXWpuLhYU6dOVXFxsbq7u/3nbNy4UQ6HQ9OmTdPu3btDFRoAAAAQ9gyvV263W+3t7Wpvb5fX6zU7JES4kCV/8fHxev755/Xb3/5W+/fvV01NjY4eParq6moVFRWptbVVRUVFqq6uliQdPXpU9fX1OnLkiBobG7Vu3Tp5PJ5QhQcAAACEtQtnP1bl9oNa/5MDTAHFsAhZ8mez2TR37lxJUlJSkmbMmCG3262GhgaVlZVJksrKyrRz505JUkNDg1auXKmEhATl5OTI4XCoqakpVOEhCB6PR21tbXI6nezPBwAAYILRE1I0Nnky00AxLEZkzd/x48d16NAhzZ8/XydPnpTNZpN0OUE8deqUJMntduu2227zn2O32+V2u0ciPAyivb1da2reUs8np9mfDwAAAIhwIU/+zp8/rxUrVuiFF17Q+PHjBz3OCDC0ZLFYBrTV1taqtrZWktTZ2Tl8gSKgMcnpZocAAAAAYBiEdKuHS5cuacWKFXrggQd03333SZLS09PV0dEhSero6FBaWpqkyyN9TqfTf67L5VJGRsaAx6yoqFBzc7Oam5uVmsrwNwAAAAAEI2TJn2EYWrNmjWbMmKEnnnjC315SUqK6ujpJUl1dnZYvX+5vr6+vV29vr9ra2tTa2qrCwsJQhQcAAACEFV91T7fbLVFvASEQsuRv3759eu211/Tuu+8qPz9f+fn52rVrlyorK/X2229r6tSpevvtt1VZWSlJys3NVWlpqWbOnKklS5aopqZGVqs1VOEBiHKDbTezYcMGTZkypV+/5DPYdjMHDhzQ7Nmz5XA49MgjjwScpg4AwI3yVff85tZf6mLvRbPDQRQK2Zq/22+/fdAbpD179gRsr6qqUlVVVahCAhBDfNvNzJ07V+fOndO8efNUXFwsSXr88cf11FNP9Tu+73YzJ06c0OLFi/Xhhx/KarVq7dq1qq2t1W233aZly5apsbFRS5cuNeOyAABRbvSEFHkSbjI7DESpkK75AwCzDLbdzGAG226mo6NDZ8+e1YIFC2SxWLRq1Sr/FjUAAACRhOQPQNTru92MJG3atEl5eXkqLy9Xd3e3pMvbzWRmZvrP8W0343a7ZbfbB7QDwHAbbLp6V1eXiouLNXXqVBUXF/v7LWnw6eoAEAjJH4CoduV2M2vXrtWxY8fU0tIim82mJ598UtLg280Euw2NdHkrmoKCAhUUFLAVDYBr5puu/tvf/lb79+9XTU2Njh49qurqahUVFam1tVVFRUWqrq6W1H+6emNjo9atWyePx2PyVQAIZyR/AKLWYNvNWK1WxcXF6aGHHlJTU5OkwbebsdvtcrlcA9oDYSsaADdisOnqDQ0NKisrkySVlZX5p54PNl0dAAZD8gcgKg223Yxvn1FJev311zVr1ixJg283Y7PZlJSUpP3798swDG3dutW/RQ0AhErf6eonT56UzWaTdDlBPHXqlKTBp6tfiVkJAHxCVu0TAMzk225m9uzZys/PlyQ9++yz2rZtm1paWmSxWJSdna2XX35ZUv/tZuLj4/ttN7N582atXr1aPT09Wrp0KZU+AYTUldPVBxPstPSKigpVVFRIkgoKCoYvUAARh+QPQFQabLuZZcuWDXrOYNvNFBQU6PDhw8MaHwAEMth09Y6ODtlsNnV0dCgtLU3S4NPVAWAwTPsEAAAIA4NNVy8pKVFdXZ0kqa6uzj/1fLDp6gAwGEb+AAAAwsBg09UrKytVWlqqLVu2KCsrSzt27JA09HR1AAiE5A8AACAMDDZdXZL27NkTsH2w6eoAEAjTPgEAAAAgBpD8AQAAAEAMIPkDAAAAgBhA8gcAAAAAMYDkDwAAAABiAMkfAAAAAMQAkj8AAAAAiAEkfwAAAAAQA9jkHf14PB61t7dLkpxOpwbZaxYAAABAhAlq5G/fvn1BtSHytbe3a03NW3p420H902t7dfFir9khAfRBACIO/RaAcBRU8vfwww8H1YboMCY5XeNSMpQ4IcXsUABJ9EEAIg/9FoBwNOS0z/fff1+/+tWv1NnZqR/84Af+9rNnz8rj8YQ8OACxjT4IQKSh3wIQzoZM/i5evKjz58/rs88+07lz5/zt48eP109/+tOQBwcgttEHAYg09FsAwtmQyd+dd96pO++8U6tXr9bnPve5kYoJACTRBwGIPPRbAMJZUNU+e3t7VVFRoePHj+uzzz7zt7/77rshCwwAfOiDAEQa+i0MN8PrldvtliTZ7XbFxbFjG65dUMnf3/zN3+jv//7v9eCDD8pqtYY6JgDohz4IQKSh38Jwu3D2Y1Vu/0g3jfqNXl2/RFlZWWaHhAgUVPIXHx+vtWvXhjoWAAiIPghApKHfQiiMnpCiUaNHmR0GIlhQ48Vf/vKX9W//9m/q6OhQV1eX/z8AGAn0QQAiDf0WgHAU1MhfXV2dJOl73/uev81iseiPf/xjaKICgD7ogwBEGvotAOEoqOSvra0t1HEAwKCupw9yOp1atWqVPvroI8XFxamiokKPPvqourq69NWvflXHjx9Xdna2tm/frkmTJkmSNm7cqC1btshqteqHP/yh7r77bknSgQMHtHr1avX09GjZsmV68cUXZbFYhvUaAUQX7p0AhKOgkr+tW7cGbF+1atWwBgMAgVxPHxQfH6/nn39ec+fO1blz5zRv3jwVFxfr3//931VUVKTKykpVV1erurpazz33nI4ePar6+nodOXJEJ06c0OLFi/Xhhx/KarVq7dq1qq2t1W233aZly5apsbFRS5cuDdXlAogC3DsBCEdBJX+//vWv/f++cOGC9uzZo7lz5w7ZgZWXl+uNN95QWlqaDh8+LEnasGGDXnnlFaWmpkqSnn32WS1btkzS4J+4IzoZXo+cTqckKSsri0poGNL19EE2m002m02SlJSUpBkzZsjtdquhoUF79+6VJJWVlWnhwoV67rnn1NDQoJUrVyohIUE5OTlyOBxqampSdna2zp49qwULFki6fOO2c+dOkj8AQ7qefgsAQi2o5O+ll17q9/Unn3yib3zjG0Oes3r1av3DP/zDgE7u8ccf11NPPdWvbahP3BGdes6c1rd+ekKjRh3WlvVLlZOTY3ZICGPX0wf1dfz4cR06dEjz58/XyZMn/UmhzWbTqVOnJElut1u33Xab/xy73S63262bbrpJdrt9QHsgtbW1qq2tlSR1dnYGHR+A6HOj/RYij9frlcvl8n/d928HEC6ua3fIMWPGqLW1dchj7rjjDiUnJwf1eIN94o7oljgpTWOS080OAxEomD7I5/z581qxYoVeeOEFjR8/ftDjDMMY0GaxWAZtD6SiokLNzc1qbm72z3AAAOna+i1EJpfLpfKaRq3/yQGV1zT2SwSBcBHUyN+Xv/xl/82Ox+PRb3/7W5WWll7XD9y0aZO2bt2qgoICPf/885o0adKgn7gDgHT9fdClS5e0YsUKPfDAA7rvvvskSenp6ero6JDNZlNHR4fS0tIkXe53fFORpct/xDMyMmS32/v9Afe1A8BQhvPeCZEjcVKqxiZPluH1/uVeduBniIBpgkr++k7TjI+P1+c+97nrGspeu3atvv3tb8tisejb3/62nnzySb366qvX9Mk606qA2HM9fZBhGFqzZo1mzJihJ554wt9eUlKiuro6VVZWqq6uTsuXL/e3f+1rX9MTTzyhEydOqLW1VYWFhbJarUpKStL+/fs1f/58bd26VQ8//HBoLhRA1BiueydEpgtnP1bl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\n",
      "text/plain": [
       "<Figure size 1080x720 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Create histograms\n",
    "cols = ['age','TSH','T3','TT4','T4U','FTI']\n",
    "\n",
    "plt.figure(figsize=(15,10),facecolor='white')\n",
    "plotnumber = 1\n",
    "param=[]\n",
    "for col in cols:\n",
    "    ax = plt.subplot(2,3,plotnumber)\n",
    "    col_bx,p = stats.boxcox(df2[col]+1e-8)\n",
    "    sns.histplot(col_bx)\n",
    "    param.append(p)\n",
    "    plt.xlabel(col, fontsize=10)\n",
    "    plotnumber+=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "id": "15b27f01",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1.0550222277705679,\n",
       " 0.1537593101418859,\n",
       " 0.62709777401318,\n",
       " 0.6048130750519881,\n",
       " 0.7376933654702804,\n",
       " 0.656094585046508]"
      ]
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Transformation parameters for eahc feature\n",
    "param"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3682c66e",
   "metadata": {},
   "source": [
    "> Box Cox transformation does a good job of bringing the features close to a Normal distribution."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2f854b4c",
   "metadata": {},
   "source": [
    "### Distribution of `Class`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1290b78e",
   "metadata": {},
   "source": [
    "In this section, we will check the distribution of our dependent variable `Class`. We will aso use oversampling technqiue to handle imbalanced class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "id": "846d55b8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Check distribution of cateogircal `Class` feature\n",
    "sns.countplot(x='Class', data=df2);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8be15e0e",
   "metadata": {},
   "source": [
    "> The data is highly imbalanced with majority of data represented by Class = 1. \n",
    "\n",
    "Let's oversample the data."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ab4b8b3f",
   "metadata": {},
   "source": [
    "#### Oversample using `RandomOverSampler()`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "id": "108a5edd",
   "metadata": {},
   "outputs": [],
   "source": [
    "x = df2.drop(['Class'], axis=1)\n",
    "y = df2['Class']\n",
    "\n",
    "sampler = RandomOverSampler()\n",
    "x_sampled, y_sampled = sampler.fit_resample(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "id": "9be7e980",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(14664, 25)"
      ]
     },
     "execution_count": 132,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check shape\n",
    "x_sampled.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "id": "ceef8fcd",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/seaborn/_decorators.py:43: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n",
      "  FutureWarning\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Check data for each category\n",
    "sns.countplot(y_sampled);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "id": "330de3e9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>sex</th>\n",
       "      <th>on_thyroxine</th>\n",
       "      <th>query_on_thyroxine</th>\n",
       "      <th>on_antithyroid_medication</th>\n",
       "      <th>sick</th>\n",
       "      <th>pregnant</th>\n",
       "      <th>thyroid_surgery</th>\n",
       "      <th>I131_treatment</th>\n",
       "      <th>query_hypothyroid</th>\n",
       "      <th>query_hyperthyroid</th>\n",
       "      <th>lithium</th>\n",
       "      <th>goitre</th>\n",
       "      <th>tumor</th>\n",
       "      <th>hypopituitary</th>\n",
       "      <th>psych</th>\n",
       "      <th>TSH</th>\n",
       "      <th>T3</th>\n",
       "      <th>TT4</th>\n",
       "      <th>T4U</th>\n",
       "      <th>FTI</th>\n",
       "      <th>referral_source_SVHC</th>\n",
       "      <th>referral_source_SVHD</th>\n",
       "      <th>referral_source_SVI</th>\n",
       "      <th>referral_source_other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>49.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>93.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>46.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>125.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>122.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>80.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>83.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>76.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>80.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>94.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>100.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>26.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>108.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>90.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    age  sex  on_thyroxine  query_on_thyroxine  on_antithyroid_medication  sick  pregnant  thyroid_surgery  I131_treatment  query_hypothyroid  query_hyperthyroid  lithium  goitre  tumor  hypopituitary  psych  TSH   T3    TT4  T4U    FTI  referral_source_SVHC  referral_source_SVHD  referral_source_SVI  referral_source_other\n",
       "0  49.0  0.0           0.0                 0.0                        0.0   1.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  1.0  2.0   93.0  1.0   99.0                   0.0                   0.0                  0.0                    1.0\n",
       "1  46.0  1.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    1.0  1.0  3.0  125.0  1.0  122.0                   1.0                   0.0                  0.0                    0.0\n",
       "2  80.0  0.0           0.0                 0.0                        1.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  2.0  2.0   83.0  1.0   76.0                   0.0                   0.0                  0.0                    1.0\n",
       "3  80.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    1.0  1.0  2.0   94.0  1.0  100.0                   1.0                   0.0                  0.0                    0.0\n",
       "4  26.0  0.0           0.0                 0.0                        0.0   0.0       0.0              0.0             0.0                0.0                 0.0      0.0     0.0    0.0            0.0    0.0  2.0  3.0  108.0  1.0   90.0                   0.0                   0.0                  0.0                    1.0"
      ]
     },
     "execution_count": 134,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create df\n",
    "x_sampled = pd.DataFrame(x_sampled, columns=x.columns)\n",
    "x_sampled.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "49c4c76a",
   "metadata": {},
   "source": [
    "## Clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "id": "084444c3",
   "metadata": {},
   "outputs": [],
   "source": [
    "wcss = []\n",
    "for i in range(1,10):\n",
    "    kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)\n",
    "    pred = kmeans.fit(x_sampled)\n",
    "    wcss.append(pred.inertia_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "id": "7c841029",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fe968e19898>]"
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(range(1,10), wcss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8847dd77",
   "metadata": {},
   "outputs": [],
   "source": [
    "kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)\n",
    "pred = kmeans.fit(x_sampled)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e942543f",
   "metadata": {},
   "source": [
    "## Modeling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "5a552678",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(6127, 28)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tdf = pd.read_csv('test_cluster')\n",
    "tdf.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "1fd292fd",
   "metadata": {},
   "outputs": [],
   "source": [
    "tdf.drop(['Cluster','Unnamed: 0'], inplace=True, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "b6019c72",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['age', 'sex', 'on_thyroxine', 'query_on_thyroxine', 'on_antithyroid_medication', 'sick', 'pregnant', 'thyroid_surgery', 'I131_treatment', 'query_hypothyroid', 'query_hyperthyroid', 'lithium', 'goitre', 'tumor', 'hypopituitary', 'psych', 'TSH', 'T3', 'TT4', 'T4U', 'FTI', 'referral_source_SVHC', 'referral_source_SVHD', 'referral_source_SVI', 'referral_source_other', 'Label'], dtype='object')"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tdf.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "5e08142f",
   "metadata": {},
   "outputs": [],
   "source": [
    "X = tdf.drop('Label', axis=1)\n",
    "Y = tdf['Label']\n",
    "x_train, x_test, y_train, y_test = train_test_split(X, Y,\n",
    "                                                    test_size=1/3, random_state=101)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "8c0ff050",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(4084,)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "b7272f34",
   "metadata": {},
   "outputs": [],
   "source": [
    "from xgboost import XGBClassifier\n",
    "from sklearn.model_selection import train_test_split, GridSearchCV\n",
    "from sklearn.metrics import roc_auc_score"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "167c8fc6",
   "metadata": {},
   "source": [
    "### XGB"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "d7002903",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 64 candidates, totalling 320 fits\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.5, max_depth=3, n_estimators=10;, score=0.991 total time=   0.1s\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.5, max_depth=3, n_estimators=10;, score=0.990 total time=   0.1s\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=3, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.5, max_depth=3, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.5, max_depth=3, n_estimators=10;, score=0.996 total time=   0.0s\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=3, n_estimators=50;, score=0.994 total time=   0.1s\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.5, max_depth=3, n_estimators=50;, score=0.993 total time=   0.1s\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=3, n_estimators=50;, score=0.995 total time=   0.1s\n",
      "[18:19:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=3, n_estimators=50;, score=0.994 total time=   0.1s\n",
      "[18:19:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.5, max_depth=3, n_estimators=50;, score=0.998 total time=   0.1s\n",
      "[18:19:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=3, n_estimators=100;, score=0.995 total time=   0.2s\n",
      "[18:19:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.5, max_depth=3, n_estimators=100;, score=0.991 total time=   0.2s\n",
      "[18:19:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.5, max_depth=3, n_estimators=100;, score=0.995 total time=   0.2s\n",
      "[18:19:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.5, max_depth=3, n_estimators=100;, score=0.994 total time=   0.2s\n",
      "[18:19:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.5, max_depth=3, n_estimators=100;, score=0.998 total time=   0.2s\n",
      "[18:19:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=3, n_estimators=200;, score=0.995 total time=   0.3s\n",
      "[18:19:43] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.5, max_depth=3, n_estimators=200;, score=0.991 total time=   0.3s\n",
      "[18:19:43] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.5, max_depth=3, n_estimators=200;, score=0.995 total time=   0.4s\n",
      "[18:19:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=3, n_estimators=200;, score=0.994 total time=   0.4s\n",
      "[18:19:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.5, max_depth=3, n_estimators=200;, score=0.996 total time=   0.3s\n",
      "[18:19:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.5, max_depth=5, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:19:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.5, max_depth=5, n_estimators=10;, score=0.990 total time=   0.0s\n",
      "[18:19:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=5, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.5, max_depth=5, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.5, max_depth=5, n_estimators=10;, score=0.996 total time=   0.0s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:19:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.5, max_depth=5, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:19:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.5, max_depth=5, n_estimators=50;, score=0.991 total time=   0.1s\n",
      "[18:19:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=5, n_estimators=50;, score=0.994 total time=   0.1s\n",
      "[18:19:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=5, n_estimators=50;, score=0.994 total time=   0.1s\n",
      "[18:19:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.5, max_depth=5, n_estimators=50;, score=0.998 total time=   0.1s\n",
      "[18:19:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=5, n_estimators=100;, score=0.994 total time=   0.2s\n",
      "[18:19:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.5, max_depth=5, n_estimators=100;, score=0.991 total time=   0.2s\n",
      "[18:19:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.5, max_depth=5, n_estimators=100;, score=0.993 total time=   0.2s\n",
      "[18:19:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=5, n_estimators=100;, score=0.994 total time=   0.2s\n",
      "[18:19:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.5, max_depth=5, n_estimators=100;, score=0.998 total time=   0.3s\n",
      "[18:19:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=5, n_estimators=200;, score=0.994 total time=   0.3s\n",
      "[18:19:47] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.5, max_depth=5, n_estimators=200;, score=0.991 total time=   0.4s\n",
      "[18:19:47] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.5, max_depth=5, n_estimators=200;, score=0.993 total time=   0.4s\n",
      "[18:19:47] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=5, n_estimators=200;, score=0.994 total time=   0.4s\n",
      "[18:19:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.5, max_depth=5, n_estimators=200;, score=0.996 total time=   0.3s\n",
      "[18:19:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.5, max_depth=10, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.5, max_depth=10, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:19:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=10, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.5, max_depth=10, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.5, max_depth=10, n_estimators=10;, score=0.999 total time=   0.1s\n",
      "[18:19:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.5, max_depth=10, n_estimators=50;, score=0.994 total time=   0.1s\n",
      "[18:19:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.5, max_depth=10, n_estimators=50;, score=0.991 total time=   0.1s\n",
      "[18:19:49] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=10, n_estimators=50;, score=0.995 total time=   0.1s\n",
      "[18:19:49] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=10, n_estimators=50;, score=0.995 total time=   0.1s\n",
      "[18:19:49] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.5, max_depth=10, n_estimators=50;, score=0.999 total time=   0.1s\n",
      "[18:19:49] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=10, n_estimators=100;, score=0.994 total time=   0.2s\n",
      "[18:19:49] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.5, max_depth=10, n_estimators=100;, score=0.990 total time=   0.2s\n",
      "[18:19:49] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=10, n_estimators=100;, score=0.995 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:19:50] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.5, max_depth=10, n_estimators=100;, score=0.995 total time=   0.2s\n",
      "[18:19:50] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.5, max_depth=10, n_estimators=100;, score=0.999 total time=   0.2s\n",
      "[18:19:50] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=10, n_estimators=200;, score=0.994 total time=   0.3s\n",
      "[18:19:50] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.5, max_depth=10, n_estimators=200;, score=0.991 total time=   0.3s\n",
      "[18:19:51] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.5, max_depth=10, n_estimators=200;, score=0.995 total time=   0.4s\n",
      "[18:19:51] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=10, n_estimators=200;, score=0.995 total time=   0.4s\n",
      "[18:19:51] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.5, max_depth=10, n_estimators=200;, score=0.999 total time=   0.3s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.5, max_depth=20, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.5, max_depth=20, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=20, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.5, max_depth=20, n_estimators=10;, score=0.995 total time=   0.0s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.5, max_depth=20, n_estimators=10;, score=0.999 total time=   0.0s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.5, max_depth=20, n_estimators=50;, score=0.994 total time=   0.1s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.5, max_depth=20, n_estimators=50;, score=0.991 total time=   0.1s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.5, max_depth=20, n_estimators=50;, score=0.995 total time=   0.1s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=20, n_estimators=50;, score=0.995 total time=   0.1s\n",
      "[18:19:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.5, max_depth=20, n_estimators=50;, score=0.999 total time=   0.1s\n",
      "[18:19:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=20, n_estimators=100;, score=0.994 total time=   0.2s\n",
      "[18:19:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.5, max_depth=20, n_estimators=100;, score=0.990 total time=   0.2s\n",
      "[18:19:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.5, max_depth=20, n_estimators=100;, score=0.995 total time=   0.2s\n",
      "[18:19:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.5, max_depth=20, n_estimators=100;, score=0.995 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:19:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.5, max_depth=20, n_estimators=100;, score=0.999 total time=   0.2s\n",
      "[18:19:54] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.5, max_depth=20, n_estimators=200;, score=0.994 total time=   0.4s\n",
      "[18:19:54] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.5, max_depth=20, n_estimators=200;, score=0.990 total time=   0.3s\n",
      "[18:19:54] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.5, max_depth=20, n_estimators=200;, score=0.995 total time=   0.4s\n",
      "[18:19:55] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.5, max_depth=20, n_estimators=200;, score=0.995 total time=   0.4s\n",
      "[18:19:55] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.5, max_depth=20, n_estimators=200;, score=0.999 total time=   0.4s\n",
      "[18:19:55] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.1, max_depth=3, n_estimators=10;, score=0.987 total time=   0.0s\n",
      "[18:19:55] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.1, max_depth=3, n_estimators=10;, score=0.980 total time=   0.0s\n",
      "[18:19:55] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.1, max_depth=3, n_estimators=10;, score=0.987 total time=   0.0s\n",
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.1, max_depth=3, n_estimators=10;, score=0.987 total time=   0.0s\n",
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.1, max_depth=3, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.1, max_depth=3, n_estimators=50;, score=0.991 total time=   0.1s\n",
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.1, max_depth=3, n_estimators=50;, score=0.990 total time=   0.1s\n",
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.1, max_depth=3, n_estimators=50;, score=0.994 total time=   0.1s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.1, max_depth=3, n_estimators=50;, score=0.993 total time=   0.1s\n",
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=3, n_estimators=50;, score=0.996 total time=   0.1s\n",
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.1, max_depth=3, n_estimators=100;, score=0.991 total time=   0.2s\n",
      "[18:19:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.1, max_depth=3, n_estimators=100;, score=0.991 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:19:57] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.1, max_depth=3, n_estimators=100;, score=0.993 total time=   0.2s\n",
      "[18:19:57] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.1, max_depth=3, n_estimators=100;, score=0.993 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:19:57] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.1, max_depth=3, n_estimators=100;, score=0.996 total time=   0.2s\n",
      "[18:19:57] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.1, max_depth=3, n_estimators=200;, score=0.993 total time=   0.4s\n",
      "[18:19:58] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.1, max_depth=3, n_estimators=200;, score=0.991 total time=   0.4s\n",
      "[18:19:58] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=3, n_estimators=200;, score=0.994 total time=   0.4s\n",
      "[18:19:58] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=3, n_estimators=200;, score=0.994 total time=   0.4s\n",
      "[18:19:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=3, n_estimators=200;, score=0.998 total time=   0.4s\n",
      "[18:19:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.1, max_depth=5, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:19:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.1, max_depth=5, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:19:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.1, max_depth=5, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:19:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.1, max_depth=5, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:19:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.1, max_depth=5, n_estimators=10;, score=0.996 total time=   0.0s\n",
      "[18:19:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.1, max_depth=5, n_estimators=50;, score=0.991 total time=   0.2s\n",
      "[18:19:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.1, max_depth=5, n_estimators=50;, score=0.991 total time=   0.1s\n",
      "[18:20:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=5, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:20:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.1, max_depth=5, n_estimators=50;, score=0.993 total time=   0.1s\n",
      "[18:20:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=5, n_estimators=50;, score=0.996 total time=   0.2s\n",
      "[18:20:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.1, max_depth=5, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:20:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.1, max_depth=5, n_estimators=100;, score=0.991 total time=   0.3s\n",
      "[18:20:01] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=5, n_estimators=100;, score=0.994 total time=   0.3s\n",
      "[18:20:01] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=5, n_estimators=100;, score=0.994 total time=   0.3s\n",
      "[18:20:01] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=5, n_estimators=100;, score=0.996 total time=   0.3s\n",
      "[18:20:01] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.1, max_depth=5, n_estimators=200;, score=0.993 total time=   0.5s\n",
      "[18:20:02] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.1, max_depth=5, n_estimators=200;, score=0.991 total time=   0.5s\n",
      "[18:20:02] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=5, n_estimators=200;, score=0.994 total time=   0.5s\n",
      "[18:20:03] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=5, n_estimators=200;, score=0.994 total time=   0.5s\n",
      "[18:20:03] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=5, n_estimators=200;, score=0.998 total time=   0.5s\n",
      "[18:20:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.1, max_depth=10, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.1, max_depth=10, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.1, max_depth=10, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:20:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.1, max_depth=10, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=10, n_estimators=10;, score=0.996 total time=   0.0s\n",
      "[18:20:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.1, max_depth=10, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.1, max_depth=10, n_estimators=50;, score=0.991 total time=   0.2s\n",
      "[18:20:05] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.1, max_depth=10, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:20:05] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=10, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:20:05] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.1, max_depth=10, n_estimators=50;, score=0.998 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:05] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.1, max_depth=10, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:20:05] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.1, max_depth=10, n_estimators=100;, score=0.991 total time=   0.3s\n",
      "[18:20:06] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=10, n_estimators=100;, score=0.995 total time=   0.3s\n",
      "[18:20:06] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=10, n_estimators=100;, score=0.994 total time=   0.4s\n",
      "[18:20:07] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=10, n_estimators=100;, score=0.999 total time=   0.3s\n",
      "[18:20:07] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.1, max_depth=10, n_estimators=200;, score=0.994 total time=   0.5s\n",
      "[18:20:07] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.1, max_depth=10, n_estimators=200;, score=0.993 total time=   0.5s\n",
      "[18:20:08] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=10, n_estimators=200;, score=0.995 total time=   0.6s\n",
      "[18:20:09] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=10, n_estimators=200;, score=0.995 total time=   0.6s\n",
      "[18:20:09] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=10, n_estimators=200;, score=0.999 total time=   0.6s\n",
      "[18:20:10] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.1, max_depth=20, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:10] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.1, max_depth=20, n_estimators=10;, score=0.993 total time=   0.1s\n",
      "[18:20:10] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.1, max_depth=20, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:20:10] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.1, max_depth=20, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:10] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=20, n_estimators=10;, score=0.996 total time=   0.1s\n",
      "[18:20:10] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.1, max_depth=20, n_estimators=50;, score=0.994 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:10] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.1, max_depth=20, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:10] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=20, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:20:11] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=20, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:20:11] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=20, n_estimators=50;, score=0.999 total time=   0.3s\n",
      "[18:20:11] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.1, max_depth=20, n_estimators=100;, score=0.994 total time=   0.4s\n",
      "[18:20:11] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.1, max_depth=20, n_estimators=100;, score=0.990 total time=   0.4s\n",
      "[18:20:12] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=20, n_estimators=100;, score=0.995 total time=   0.4s\n",
      "[18:20:12] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=20, n_estimators=100;, score=0.994 total time=   0.4s\n",
      "[18:20:13] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=20, n_estimators=100;, score=0.999 total time=   0.4s\n",
      "[18:20:13] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.1, max_depth=20, n_estimators=200;, score=0.994 total time=   0.5s\n",
      "[18:20:13] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.1, max_depth=20, n_estimators=200;, score=0.991 total time=   0.6s\n",
      "[18:20:14] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.1, max_depth=20, n_estimators=200;, score=0.995 total time=   0.6s\n",
      "[18:20:15] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.1, max_depth=20, n_estimators=200;, score=0.994 total time=   0.6s\n",
      "[18:20:15] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.1, max_depth=20, n_estimators=200;, score=0.999 total time=   0.6s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.01, max_depth=3, n_estimators=10;, score=0.985 total time=   0.0s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.01, max_depth=3, n_estimators=10;, score=0.980 total time=   0.0s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.01, max_depth=3, n_estimators=10;, score=0.985 total time=   0.0s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.01, max_depth=3, n_estimators=10;, score=0.984 total time=   0.0s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.01, max_depth=3, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.01, max_depth=3, n_estimators=50;, score=0.985 total time=   0.1s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.01, max_depth=3, n_estimators=50;, score=0.980 total time=   0.1s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.01, max_depth=3, n_estimators=50;, score=0.985 total time=   0.1s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.01, max_depth=3, n_estimators=50;, score=0.984 total time=   0.1s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.01, max_depth=3, n_estimators=50;, score=0.993 total time=   0.1s\n",
      "[18:20:16] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.01, max_depth=3, n_estimators=100;, score=0.987 total time=   0.2s\n",
      "[18:20:17] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=3, n_estimators=100;, score=0.980 total time=   0.2s\n",
      "[18:20:17] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.01, max_depth=3, n_estimators=100;, score=0.987 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:17] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.01, max_depth=3, n_estimators=100;, score=0.987 total time=   0.2s\n",
      "[18:20:17] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.01, max_depth=3, n_estimators=100;, score=0.993 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:17] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.01, max_depth=3, n_estimators=200;, score=0.991 total time=   0.5s\n",
      "[18:20:18] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=3, n_estimators=200;, score=0.990 total time=   0.4s\n",
      "[18:20:18] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.01, max_depth=3, n_estimators=200;, score=0.994 total time=   0.4s\n",
      "[18:20:19] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=3, n_estimators=200;, score=0.993 total time=   0.4s\n",
      "[18:20:19] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=3, n_estimators=200;, score=0.996 total time=   0.4s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.01, max_depth=5, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.01, max_depth=5, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.01, max_depth=5, n_estimators=10;, score=0.987 total time=   0.0s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.01, max_depth=5, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.01, max_depth=5, n_estimators=10;, score=0.996 total time=   0.0s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.01, max_depth=5, n_estimators=50;, score=0.991 total time=   0.2s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.01, max_depth=5, n_estimators=50;, score=0.993 total time=   0.1s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.01, max_depth=5, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.01, max_depth=5, n_estimators=50;, score=0.993 total time=   0.1s\n",
      "[18:20:20] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=5, n_estimators=50;, score=0.996 total time=   0.2s\n",
      "[18:20:21] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.01, max_depth=5, n_estimators=100;, score=0.991 total time=   0.3s\n",
      "[18:20:21] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=5, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:20:21] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.01, max_depth=5, n_estimators=100;, score=0.994 total time=   0.3s\n",
      "[18:20:21] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=5, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:20:22] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=5, n_estimators=100;, score=0.996 total time=   0.3s\n",
      "[18:20:22] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.01, max_depth=5, n_estimators=200;, score=0.991 total time=   0.5s\n",
      "[18:20:23] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=5, n_estimators=200;, score=0.993 total time=   0.6s\n",
      "[18:20:23] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.01, max_depth=5, n_estimators=200;, score=0.994 total time=   0.5s\n",
      "[18:20:24] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=5, n_estimators=200;, score=0.993 total time=   0.6s\n",
      "[18:20:24] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=5, n_estimators=200;, score=0.996 total time=   0.5s\n",
      "[18:20:25] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.01, max_depth=10, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:20:25] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.01, max_depth=10, n_estimators=10;, score=0.993 total time=   0.1s\n",
      "[18:20:25] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.01, max_depth=10, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:20:25] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.01, max_depth=10, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:25] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.01, max_depth=10, n_estimators=10;, score=0.996 total time=   0.0s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:25] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.01, max_depth=10, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:25] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.01, max_depth=10, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:25] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.01, max_depth=10, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:20:26] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=10, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:26] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.01, max_depth=10, n_estimators=50;, score=0.996 total time=   0.2s\n",
      "[18:20:26] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.01, max_depth=10, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:20:26] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=10, n_estimators=100;, score=0.993 total time=   0.4s\n",
      "[18:20:27] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.01, max_depth=10, n_estimators=100;, score=0.994 total time=   0.4s\n",
      "[18:20:27] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=10, n_estimators=100;, score=0.993 total time=   0.4s\n",
      "[18:20:27] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=10, n_estimators=100;, score=0.996 total time=   0.4s\n",
      "[18:20:28] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.01, max_depth=10, n_estimators=200;, score=0.993 total time=   0.8s\n",
      "[18:20:28] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=10, n_estimators=200;, score=0.993 total time=   0.8s\n",
      "[18:20:29] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.01, max_depth=10, n_estimators=200;, score=0.994 total time=   0.9s\n",
      "[18:20:30] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=10, n_estimators=200;, score=0.994 total time=   0.9s\n",
      "[18:20:31] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=10, n_estimators=200;, score=0.996 total time=   0.9s\n",
      "[18:20:32] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.01, max_depth=20, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:20:32] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.01, max_depth=20, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:32] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.01, max_depth=20, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:20:32] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.01, max_depth=20, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:32] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=20, n_estimators=10;, score=0.996 total time=   0.0s\n",
      "[18:20:32] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.01, max_depth=20, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:32] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=20, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:33] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.01, max_depth=20, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:20:33] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=20, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:33] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.01, max_depth=20, n_estimators=50;, score=0.996 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:33] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.01, max_depth=20, n_estimators=100;, score=0.993 total time=   0.4s\n",
      "[18:20:34] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=20, n_estimators=100;, score=0.993 total time=   0.5s\n",
      "[18:20:34] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.01, max_depth=20, n_estimators=100;, score=0.994 total time=   0.4s\n",
      "[18:20:34] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=20, n_estimators=100;, score=0.993 total time=   0.7s\n",
      "[18:20:35] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=20, n_estimators=100;, score=0.996 total time=   0.6s\n",
      "[18:20:36] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.01, max_depth=20, n_estimators=200;, score=0.994 total time=   0.9s\n",
      "[18:20:37] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.01, max_depth=20, n_estimators=200;, score=0.993 total time=   1.0s\n",
      "[18:20:38] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.01, max_depth=20, n_estimators=200;, score=0.994 total time=   0.9s\n",
      "[18:20:38] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.01, max_depth=20, n_estimators=200;, score=0.994 total time=   1.0s\n",
      "[18:20:39] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.01, max_depth=20, n_estimators=200;, score=0.996 total time=   1.0s\n",
      "[18:20:40] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.001, max_depth=3, n_estimators=10;, score=0.985 total time=   0.0s\n",
      "[18:20:40] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.001, max_depth=3, n_estimators=10;, score=0.980 total time=   0.0s\n",
      "[18:20:40] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.001, max_depth=3, n_estimators=10;, score=0.985 total time=   0.0s\n",
      "[18:20:40] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.001, max_depth=3, n_estimators=10;, score=0.984 total time=   0.0s\n",
      "[18:20:40] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.001, max_depth=3, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=3, n_estimators=50;, score=0.985 total time=   0.1s\n",
      "[18:20:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.001, max_depth=3, n_estimators=50;, score=0.980 total time=   0.1s\n",
      "[18:20:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=3, n_estimators=50;, score=0.985 total time=   0.1s\n",
      "[18:20:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.001, max_depth=3, n_estimators=50;, score=0.984 total time=   0.1s\n",
      "[18:20:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=3, n_estimators=50;, score=0.993 total time=   0.1s\n",
      "[18:20:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=3, n_estimators=100;, score=0.985 total time=   0.3s\n",
      "[18:20:41] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=3, n_estimators=100;, score=0.980 total time=   0.3s\n",
      "[18:20:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=3, n_estimators=100;, score=0.985 total time=   0.2s\n",
      "[18:20:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=3, n_estimators=100;, score=0.984 total time=   0.3s\n",
      "[18:20:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=3, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:20:42] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=3, n_estimators=200;, score=0.985 total time=   0.5s\n",
      "[18:20:43] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=3, n_estimators=200;, score=0.980 total time=   0.5s\n",
      "[18:20:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=3, n_estimators=200;, score=0.985 total time=   0.6s\n",
      "[18:20:44] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=3, n_estimators=200;, score=0.984 total time=   0.6s\n",
      "[18:20:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=3, n_estimators=200;, score=0.993 total time=   0.5s\n",
      "[18:20:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.001, max_depth=5, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:20:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.001, max_depth=5, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.001, max_depth=5, n_estimators=10;, score=0.987 total time=   0.0s\n",
      "[18:20:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.001, max_depth=5, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:45] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=5, n_estimators=10;, score=0.996 total time=   0.1s\n",
      "[18:20:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.001, max_depth=5, n_estimators=50;, score=0.991 total time=   0.2s\n",
      "[18:20:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=5, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.001, max_depth=5, n_estimators=50;, score=0.987 total time=   0.1s\n",
      "[18:20:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=5, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.001, max_depth=5, n_estimators=50;, score=0.996 total time=   0.2s\n",
      "[18:20:46] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=5, n_estimators=100;, score=0.991 total time=   0.3s\n",
      "[18:20:47] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=5, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:20:47] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=5, n_estimators=100;, score=0.987 total time=   0.3s\n",
      "[18:20:47] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=5, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:20:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=5, n_estimators=100;, score=0.996 total time=   0.3s\n",
      "[18:20:48] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=5, n_estimators=200;, score=0.991 total time=   0.7s\n",
      "[18:20:49] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=5, n_estimators=200;, score=0.993 total time=   0.7s\n",
      "[18:20:49] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=5, n_estimators=200;, score=0.987 total time=   0.7s\n",
      "[18:20:50] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=5, n_estimators=200;, score=0.993 total time=   0.7s\n",
      "[18:20:51] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=5, n_estimators=200;, score=0.996 total time=   0.8s\n",
      "[18:20:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.001, max_depth=10, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:20:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.001, max_depth=10, n_estimators=10;, score=0.993 total time=   0.1s\n",
      "[18:20:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.001, max_depth=10, n_estimators=10;, score=0.994 total time=   0.1s\n",
      "[18:20:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=10, n_estimators=10;, score=0.993 total time=   0.1s\n",
      "[18:20:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.001, max_depth=10, n_estimators=10;, score=0.996 total time=   0.1s\n",
      "[18:20:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=10, n_estimators=50;, score=0.991 total time=   0.2s\n",
      "[18:20:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=10, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:52] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.001, max_depth=10, n_estimators=50;, score=0.994 total time=   0.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.001, max_depth=10, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=10, n_estimators=50;, score=0.996 total time=   0.2s\n",
      "[18:20:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=10, n_estimators=100;, score=0.991 total time=   0.4s\n",
      "[18:20:53] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=10, n_estimators=100;, score=0.993 total time=   0.5s\n",
      "[18:20:54] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=10, n_estimators=100;, score=0.994 total time=   0.4s\n",
      "[18:20:54] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=10, n_estimators=100;, score=0.993 total time=   0.4s\n",
      "[18:20:55] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=10, n_estimators=100;, score=0.996 total time=   0.5s\n",
      "[18:20:55] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=10, n_estimators=200;, score=0.991 total time=   0.7s\n",
      "[18:20:56] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=10, n_estimators=200;, score=0.993 total time=   0.9s\n",
      "[18:20:57] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=10, n_estimators=200;, score=0.994 total time=   0.7s\n",
      "[18:20:57] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=10, n_estimators=200;, score=0.993 total time=   0.6s\n",
      "[18:20:58] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=10, n_estimators=200;, score=0.996 total time=   0.7s\n",
      "[18:20:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.001, max_depth=20, n_estimators=10;, score=0.991 total time=   0.0s\n",
      "[18:20:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 2/5] END learning_rate=0.001, max_depth=20, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.001, max_depth=20, n_estimators=10;, score=0.994 total time=   0.0s\n",
      "[18:20:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 4/5] END learning_rate=0.001, max_depth=20, n_estimators=10;, score=0.993 total time=   0.0s\n",
      "[18:20:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.001, max_depth=20, n_estimators=10;, score=0.996 total time=   0.0s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:20:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 1/5] END learning_rate=0.001, max_depth=20, n_estimators=50;, score=0.991 total time=   0.2s\n",
      "[18:20:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=20, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:20:59] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 3/5] END learning_rate=0.001, max_depth=20, n_estimators=50;, score=0.994 total time=   0.2s\n",
      "[18:21:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=20, n_estimators=50;, score=0.993 total time=   0.2s\n",
      "[18:21:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[CV 5/5] END learning_rate=0.001, max_depth=20, n_estimators=50;, score=0.996 total time=   0.2s\n",
      "[18:21:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n",
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=20, n_estimators=100;, score=0.991 total time=   0.3s\n",
      "[18:21:00] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=20, n_estimators=100;, score=0.993 total time=   0.4s\n",
      "[18:21:01] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=20, n_estimators=100;, score=0.994 total time=   0.3s\n",
      "[18:21:01] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=20, n_estimators=100;, score=0.993 total time=   0.3s\n",
      "[18:21:01] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=20, n_estimators=100;, score=0.996 total time=   0.4s\n",
      "[18:21:02] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 1/5] END learning_rate=0.001, max_depth=20, n_estimators=200;, score=0.991 total time=   0.6s\n",
      "[18:21:02] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 2/5] END learning_rate=0.001, max_depth=20, n_estimators=200;, score=0.993 total time=   0.7s\n",
      "[18:21:03] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 3/5] END learning_rate=0.001, max_depth=20, n_estimators=200;, score=0.994 total time=   0.6s\n",
      "[18:21:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 4/5] END learning_rate=0.001, max_depth=20, n_estimators=200;, score=0.993 total time=   0.6s\n",
      "[18:21:04] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV 5/5] END learning_rate=0.001, max_depth=20, n_estimators=200;, score=0.996 total time=   0.7s\n",
      "[18:21:05] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/mohi9282/opt/anaconda3/envs/pytorchenv/lib/python3.7/site-packages/xgboost/sklearn.py:888: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 15min 33s, sys: 15.8 s, total: 15min 49s\n",
      "Wall time: 1min 24s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5,\n",
       "             estimator=XGBClassifier(base_score=None, booster=None,\n",
       "                                     colsample_bylevel=None,\n",
       "                                     colsample_bynode=None,\n",
       "                                     colsample_bytree=None, gamma=None,\n",
       "                                     gpu_id=None, importance_type='gain',\n",
       "                                     interaction_constraints=None,\n",
       "                                     learning_rate=None, max_delta_step=None,\n",
       "                                     max_depth=None, min_child_weight=None,\n",
       "                                     missing=nan, monotone_constraints=None,\n",
       "                                     n_estimators=100, n_jobs=None,\n",
       "                                     num_parallel_tree=None,\n",
       "                                     objective='multi:softmax',\n",
       "                                     random_state=None, reg_alpha=None,\n",
       "                                     reg_lambda=None, scale_pos_weight=None,\n",
       "                                     subsample=None, tree_method=None,\n",
       "                                     validate_parameters=None, verbosity=None),\n",
       "             param_grid={'learning_rate': [0.5, 0.1, 0.01, 0.001],\n",
       "                         'max_depth': [3, 5, 10, 20],\n",
       "                         'n_estimators': [10, 50, 100, 200]},\n",
       "             verbose=3)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "xgb = XGBClassifier(objective='multi:softmax')\n",
    "param_grid = {'learning_rate': [0.5, 0.1, 0.01, 0.001],\n",
    "              'max_depth': [3, 5, 10, 20],\n",
    "              'n_estimators': [10, 50, 100, 200]}\n",
    "\n",
    "grid_search = GridSearchCV(estimator=xgb, param_grid=param_grid,\n",
    "                           cv=5, verbose=3)\n",
    "grid_search.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "2c3b0bb0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'learning_rate': 0.1, 'max_depth': 10, 'n_estimators': 200}"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "7fb8ee90",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[18:22:38] WARNING: /opt/concourse/worker/volumes/live/7a2b9f41-3287-451b-6691-43e9a6c0910f/volume/xgboost-split_1619728204606/work/src/learner.cc:1061: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n",
       "              colsample_bynode=1, colsample_bytree=1, gamma=0, gpu_id=-1,\n",
       "              importance_type='gain', interaction_constraints='',\n",
       "              learning_rate=0.1, max_delta_step=0, max_depth=10,\n",
       "              min_child_weight=1, missing=nan, monotone_constraints='()',\n",
       "              n_estimators=200, n_jobs=12, num_parallel_tree=1,\n",
       "              objective='multi:softprob', random_state=0, reg_alpha=0,\n",
       "              reg_lambda=1, scale_pos_weight=None, subsample=1,\n",
       "              tree_method='exact', validate_parameters=1, verbosity=None)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xgb_model = XGBClassifier(max_depth=10, learning_rate=0.1,\n",
    "                          n_estimators=200)\n",
    "xgb_model.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "9f2381b1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9999967572787911"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pred_xgb = xgb_model.predict_proba(x_test)\n",
    "roc_auc_score(y_test, pred_xgb, multi_class='ovr')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9a00f25",
   "metadata": {},
   "source": [
    "### SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "644b55bb",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.svm import SVC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "89268ccf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 9 candidates, totalling 45 fits\n",
      "[CV 1/5] END ..................C=0.1, gamma=0.1;, score=0.869 total time=   4.2s\n",
      "[CV 2/5] END ..................C=0.1, gamma=0.1;, score=0.849 total time=   4.1s\n",
      "[CV 3/5] END ..................C=0.1, gamma=0.1;, score=0.846 total time=   4.0s\n",
      "[CV 4/5] END ..................C=0.1, gamma=0.1;, score=0.865 total time=   4.2s\n",
      "[CV 5/5] END ..................C=0.1, gamma=0.1;, score=0.884 total time=   4.2s\n",
      "[CV 1/5] END .................C=0.1, gamma=0.01;, score=0.971 total time=   2.8s\n",
      "[CV 2/5] END .................C=0.1, gamma=0.01;, score=0.977 total time=   2.9s\n",
      "[CV 3/5] END .................C=0.1, gamma=0.01;, score=0.977 total time=   2.7s\n",
      "[CV 4/5] END .................C=0.1, gamma=0.01;, score=0.976 total time=   2.7s\n",
      "[CV 5/5] END .................C=0.1, gamma=0.01;, score=0.982 total time=   2.9s\n",
      "[CV 1/5] END ................C=0.1, gamma=0.001;, score=0.955 total time=   2.0s\n",
      "[CV 2/5] END ................C=0.1, gamma=0.001;, score=0.957 total time=   1.9s\n",
      "[CV 3/5] END ................C=0.1, gamma=0.001;, score=0.963 total time=   1.8s\n",
      "[CV 4/5] END ................C=0.1, gamma=0.001;, score=0.944 total time=   1.8s\n",
      "[CV 5/5] END ................C=0.1, gamma=0.001;, score=0.962 total time=   1.8s\n",
      "[CV 1/5] END ....................C=1, gamma=0.1;, score=1.000 total time=   3.0s\n",
      "[CV 2/5] END ....................C=1, gamma=0.1;, score=1.000 total time=   3.0s\n",
      "[CV 3/5] END ....................C=1, gamma=0.1;, score=1.000 total time=   3.0s\n",
      "[CV 4/5] END ....................C=1, gamma=0.1;, score=1.000 total time=   3.0s\n",
      "[CV 5/5] END ....................C=1, gamma=0.1;, score=1.000 total time=   3.0s\n",
      "[CV 1/5] END ...................C=1, gamma=0.01;, score=0.993 total time=   1.5s\n",
      "[CV 2/5] END ...................C=1, gamma=0.01;, score=0.996 total time=   1.5s\n",
      "[CV 3/5] END ...................C=1, gamma=0.01;, score=0.982 total time=   1.4s\n",
      "[CV 4/5] END ...................C=1, gamma=0.01;, score=0.989 total time=   1.4s\n",
      "[CV 5/5] END ...................C=1, gamma=0.01;, score=0.979 total time=   1.5s\n",
      "[CV 1/5] END ..................C=1, gamma=0.001;, score=0.972 total time=   0.9s\n",
      "[CV 2/5] END ..................C=1, gamma=0.001;, score=0.976 total time=   0.9s\n",
      "[CV 3/5] END ..................C=1, gamma=0.001;, score=0.972 total time=   0.9s\n",
      "[CV 4/5] END ..................C=1, gamma=0.001;, score=0.966 total time=   0.8s\n",
      "[CV 5/5] END ..................C=1, gamma=0.001;, score=0.971 total time=   0.9s\n",
      "[CV 1/5] END ...................C=10, gamma=0.1;, score=1.000 total time=   2.8s\n",
      "[CV 2/5] END ...................C=10, gamma=0.1;, score=1.000 total time=   3.2s\n",
      "[CV 3/5] END ...................C=10, gamma=0.1;, score=1.000 total time=   2.9s\n",
      "[CV 4/5] END ...................C=10, gamma=0.1;, score=1.000 total time=   2.8s\n",
      "[CV 5/5] END ...................C=10, gamma=0.1;, score=1.000 total time=   2.8s\n",
      "[CV 1/5] END ..................C=10, gamma=0.01;, score=0.991 total time=   1.2s\n",
      "[CV 2/5] END ..................C=10, gamma=0.01;, score=0.998 total time=   1.2s\n",
      "[CV 3/5] END ..................C=10, gamma=0.01;, score=0.990 total time=   1.2s\n",
      "[CV 4/5] END ..................C=10, gamma=0.01;, score=0.991 total time=   1.2s\n",
      "[CV 5/5] END ..................C=10, gamma=0.01;, score=0.993 total time=   1.2s\n",
      "[CV 1/5] END .................C=10, gamma=0.001;, score=0.979 total time=   0.5s\n",
      "[CV 2/5] END .................C=10, gamma=0.001;, score=0.988 total time=   0.5s\n",
      "[CV 3/5] END .................C=10, gamma=0.001;, score=0.978 total time=   0.5s\n",
      "[CV 4/5] END .................C=10, gamma=0.001;, score=0.973 total time=   0.5s\n",
      "[CV 5/5] END .................C=10, gamma=0.001;, score=0.973 total time=   0.5s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, estimator=SVC(probability=True),\n",
       "             param_grid={'C': [0.1, 1, 10], 'gamma': [0.1, 0.01, 0.001]},\n",
       "             verbose=3)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc = SVC(kernel='rbf', probability=True)\n",
    "param_grid = {'C': [0.1,1, 10], 'gamma': [0.1,0.01,0.001]}\n",
    "# param_grid = {'C': [0.1], 'gamma': [0.1],'kernel': ['rbf', 'poly']}\n",
    "grid_search = GridSearchCV(estimator=svc, param_grid=param_grid,\n",
    "                           cv=5, verbose=3)\n",
    "grid_search.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "5daa90a8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'C': 1, 'gamma': 0.1}"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "24be7002",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SVC(C=1, gamma=0.1, probability=True)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svm_model = SVC(kernel='rbf', probability=True,\n",
    "                C=1, gamma=0.1)\n",
    "svm_model.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "3e5bfeeb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pred_svm = svm_model.predict_proba(x_test)\n",
    "roc_auc_score(y_test, pred_svm, multi_class='ovr')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "f734a674",
   "metadata": {},
   "outputs": [],
   "source": [
    "stats = {'a':1000, 'b':3000, 'c': 100}\n",
    "u = max(stats, key=stats.get)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "507902bf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3000"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats[u]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "76120520",
   "metadata": {},
   "outputs": [],
   "source": [
    "cluster = [0,1,2]\n",
    "score = [0.9,0.8,0.7]\n",
    "model = ['KNN','RF','SVM']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "eaac91ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(0, 'KNN', 0.9), (1, 'RF', 0.8), (2, 'SVM', 0.7)]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(zip(cluster, model, score))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}