{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# отключаем предупреждения Anaconda\n",
    "import warnings\n",
    "warnings.simplefilter('ignore')\n",
    "\n",
    "# импортируем необходимые библиотеки\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "plt.rc('font', family='Verdana')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Считывание CSV-файла в объект DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true,
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "# записываем CSV-файл в объект DataFrame\n",
    "data = pd.read_csv(\"C:/data/credit.csv\", encoding='cp1251', sep=';')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(170746, 15)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# смотрим форму датафрейма\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": false
   },
   "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>client_id</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>monthly_income</th>\n",
       "      <th>credit_count</th>\n",
       "      <th>overdue_credit_count</th>\n",
       "      <th>open_account_flg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>M</td>\n",
       "      <td>48.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>59998</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0,770249</td>\n",
       "      <td>GRD</td>\n",
       "      <td>КРАСНОДАРСКИЙ КРАЙ</td>\n",
       "      <td>30000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>F</td>\n",
       "      <td>28.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>10889</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>0,248514</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>43000.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>M</td>\n",
       "      <td>32.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>10728</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0,459589</td>\n",
       "      <td>SCH</td>\n",
       "      <td>САРАТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>23000.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>F</td>\n",
       "      <td>27.0</td>\n",
       "      <td>DIV</td>\n",
       "      <td>SPC</td>\n",
       "      <td>12009,09</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0,362536</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ВОЛГОГРАДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>17000.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>M</td>\n",
       "      <td>45.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>16908,89</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0,421385</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>25000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   client_id gender   age marital_status job_position credit_sum  \\\n",
       "0          1      M  48.0            MAR          UMN      59998   \n",
       "1          2      F  28.0            MAR          UMN      10889   \n",
       "2          3      M  32.0            MAR          SPC      10728   \n",
       "3          4      F  27.0            DIV          SPC   12009,09   \n",
       "4          5      M  45.0            MAR          SPC   16908,89   \n",
       "\n",
       "   credit_month  tariff_id score_shk education          living_region  \\\n",
       "0            10         28  0,770249       GRD     КРАСНОДАРСКИЙ КРАЙ   \n",
       "1             6          2  0,248514       GRD                 МОСКВА   \n",
       "2            12          2  0,459589       SCH    САРАТОВСКАЯ ОБЛАСТЬ   \n",
       "3            12          2  0,362536       GRD  ВОЛГОГРАДСКАЯ ОБЛАСТЬ   \n",
       "4            10          2  0,421385       SCH    ЧЕЛЯБИНСКАЯ ОБЛАСТЬ   \n",
       "\n",
       "   monthly_income  credit_count  overdue_credit_count  open_account_flg  \n",
       "0         30000.0           1.0                   1.0                 0  \n",
       "1         43000.0           2.0                   0.0                 0  \n",
       "2         23000.0           5.0                   0.0                 0  \n",
       "3         17000.0           2.0                   0.0                 0  \n",
       "4         25000.0           1.0                   0.0                 0  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# выводим первые 5 наблюдений датафрейма\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# удаляем переменную client_id\n",
    "del data['client_id']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Преобразование типов переменных"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 170746 entries, 0 to 170745\n",
      "Data columns (total 14 columns):\n",
      "gender                  170746 non-null object\n",
      "age                     170744 non-null float64\n",
      "marital_status          170744 non-null object\n",
      "job_position            170746 non-null object\n",
      "credit_sum              170745 non-null object\n",
      "credit_month            170746 non-null int64\n",
      "tariff_id               170746 non-null int64\n",
      "score_shk               170743 non-null object\n",
      "education               170743 non-null object\n",
      "living_region           170554 non-null object\n",
      "monthly_income          170745 non-null float64\n",
      "credit_count            161516 non-null float64\n",
      "overdue_credit_count    161516 non-null float64\n",
      "open_account_flg        170746 non-null int64\n",
      "dtypes: float64(4), int64(3), object(7)\n",
      "memory usage: 18.2+ MB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "# смотрим типы переменных\n",
    "print(data.info())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# преобразуем указанные переменные в тип object\n",
    "for i in ['gender', 'marital_status', 'job_position', 'education', \n",
    "          'tariff_id', 'living_region', 'okrug', 'open_account_flg']:\n",
    "    if i in data.columns:\n",
    "        data[i]=data[i].astype('object')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Можно было преобразовать в тип `str`, разница заключается в том, что если при преобразовании в тип `object` значения `NaN` так и остаются значениями `NaN` и нуждаются в импутации, то по итогам преобразования в тип `str` пропуски cформируют отдельную категорию `nan`. В ряде случаев это очень удобно, потому что часто пропуски для категориальных переменных выделяют в отдельную категорию."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# в указанных переменных заменяем запятые на точки и\n",
    "# преобразуем в тип float\n",
    "for i in ['credit_sum', 'score_shk']:\n",
    "    if i in data.columns:\n",
    "        data[i]=data[i].str.replace(',', '.').astype('float')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 170746 entries, 0 to 170745\n",
      "Data columns (total 14 columns):\n",
      "gender                  170746 non-null object\n",
      "age                     170744 non-null float64\n",
      "marital_status          170744 non-null object\n",
      "job_position            170746 non-null object\n",
      "credit_sum              170745 non-null float64\n",
      "credit_month            170746 non-null int64\n",
      "tariff_id               170746 non-null object\n",
      "score_shk               170743 non-null float64\n",
      "education               170743 non-null object\n",
      "living_region           170554 non-null object\n",
      "monthly_income          170745 non-null float64\n",
      "credit_count            161516 non-null float64\n",
      "overdue_credit_count    161516 non-null float64\n",
      "open_account_flg        170746 non-null object\n",
      "dtypes: float64(6), int64(1), object(7)\n",
      "memory usage: 18.2+ MB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "# смотрим типы переменных\n",
    "print(data.info())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>monthly_income</th>\n",
       "      <th>credit_count</th>\n",
       "      <th>overdue_credit_count</th>\n",
       "      <th>open_account_flg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>M</td>\n",
       "      <td>48.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>59998.00</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.770249</td>\n",
       "      <td>GRD</td>\n",
       "      <td>КРАСНОДАРСКИЙ КРАЙ</td>\n",
       "      <td>30000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>F</td>\n",
       "      <td>28.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>10889.00</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>0.248514</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>43000.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>M</td>\n",
       "      <td>32.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>10728.00</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.459589</td>\n",
       "      <td>SCH</td>\n",
       "      <td>САРАТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>23000.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>F</td>\n",
       "      <td>27.0</td>\n",
       "      <td>DIV</td>\n",
       "      <td>SPC</td>\n",
       "      <td>12009.09</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.362536</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ВОЛГОГРАДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>17000.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>M</td>\n",
       "      <td>45.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>16908.89</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.421385</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>25000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  gender   age marital_status job_position  credit_sum  credit_month  \\\n",
       "0      M  48.0            MAR          UMN    59998.00            10   \n",
       "1      F  28.0            MAR          UMN    10889.00             6   \n",
       "2      M  32.0            MAR          SPC    10728.00            12   \n",
       "3      F  27.0            DIV          SPC    12009.09            12   \n",
       "4      M  45.0            MAR          SPC    16908.89            10   \n",
       "\n",
       "  tariff_id  score_shk education          living_region  monthly_income  \\\n",
       "0        28   0.770249       GRD     КРАСНОДАРСКИЙ КРАЙ         30000.0   \n",
       "1         2   0.248514       GRD                 МОСКВА         43000.0   \n",
       "2         2   0.459589       SCH    САРАТОВСКАЯ ОБЛАСТЬ         23000.0   \n",
       "3         2   0.362536       GRD  ВОЛГОГРАДСКАЯ ОБЛАСТЬ         17000.0   \n",
       "4         2   0.421385       SCH    ЧЕЛЯБИНСКАЯ ОБЛАСТЬ         25000.0   \n",
       "\n",
       "   credit_count  overdue_credit_count open_account_flg  \n",
       "0           1.0                   1.0                0  \n",
       "1           2.0                   0.0                0  \n",
       "2           5.0                   0.0                0  \n",
       "3           2.0                   0.0                0  \n",
       "4           1.0                   0.0                0  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# выводим первые 5 наблюдений датафрейма\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Переименование категорий переменных"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>monthly_income</th>\n",
       "      <th>credit_count</th>\n",
       "      <th>overdue_credit_count</th>\n",
       "      <th>open_account_flg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Male</td>\n",
       "      <td>48.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>59998.00</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.770249</td>\n",
       "      <td>GRD</td>\n",
       "      <td>КРАСНОДАРСКИЙ КРАЙ</td>\n",
       "      <td>30000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Female</td>\n",
       "      <td>28.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>10889.00</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>0.248514</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>43000.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Male</td>\n",
       "      <td>32.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>10728.00</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.459589</td>\n",
       "      <td>SCH</td>\n",
       "      <td>САРАТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>23000.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Female</td>\n",
       "      <td>27.0</td>\n",
       "      <td>DIV</td>\n",
       "      <td>SPC</td>\n",
       "      <td>12009.09</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.362536</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ВОЛГОГРАДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>17000.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Male</td>\n",
       "      <td>45.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>16908.89</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.421385</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>25000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   gender   age marital_status job_position  credit_sum  credit_month  \\\n",
       "0    Male  48.0            MAR          UMN    59998.00            10   \n",
       "1  Female  28.0            MAR          UMN    10889.00             6   \n",
       "2    Male  32.0            MAR          SPC    10728.00            12   \n",
       "3  Female  27.0            DIV          SPC    12009.09            12   \n",
       "4    Male  45.0            MAR          SPC    16908.89            10   \n",
       "\n",
       "  tariff_id  score_shk education          living_region  monthly_income  \\\n",
       "0        28   0.770249       GRD     КРАСНОДАРСКИЙ КРАЙ         30000.0   \n",
       "1         2   0.248514       GRD                 МОСКВА         43000.0   \n",
       "2         2   0.459589       SCH    САРАТОВСКАЯ ОБЛАСТЬ         23000.0   \n",
       "3         2   0.362536       GRD  ВОЛГОГРАДСКАЯ ОБЛАСТЬ         17000.0   \n",
       "4         2   0.421385       SCH    ЧЕЛЯБИНСКАЯ ОБЛАСТЬ         25000.0   \n",
       "\n",
       "   credit_count  overdue_credit_count open_account_flg  \n",
       "0           1.0                   1.0                0  \n",
       "1           2.0                   0.0                0  \n",
       "2           5.0                   0.0                0  \n",
       "3           2.0                   0.0                0  \n",
       "4           1.0                   0.0                0  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# создаем словарь, в котором ключем является старое\n",
    "# название категории, значением – новое название\n",
    "# категории\n",
    "d = {'M':'Male', 'F':'Female'}\n",
    "\n",
    "# передаем словарь в метод map\n",
    "data['gender'] = data['gender'].map(d)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": true
   },
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>monthly_income</th>\n",
       "      <th>credit_count</th>\n",
       "      <th>overdue_credit_count</th>\n",
       "      <th>open_account_flg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>M</td>\n",
       "      <td>48.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>59998.00</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.770249</td>\n",
       "      <td>GRD</td>\n",
       "      <td>КРАСНОДАРСКИЙ КРАЙ</td>\n",
       "      <td>30000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>F</td>\n",
       "      <td>28.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>10889.00</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>0.248514</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>43000.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>M</td>\n",
       "      <td>32.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>10728.00</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.459589</td>\n",
       "      <td>SCH</td>\n",
       "      <td>САРАТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>23000.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>F</td>\n",
       "      <td>27.0</td>\n",
       "      <td>DIV</td>\n",
       "      <td>SPC</td>\n",
       "      <td>12009.09</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.362536</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ВОЛГОГРАДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>17000.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>M</td>\n",
       "      <td>45.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>16908.89</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.421385</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>25000.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  gender   age marital_status job_position  credit_sum  credit_month  \\\n",
       "0      M  48.0            MAR          UMN    59998.00            10   \n",
       "1      F  28.0            MAR          UMN    10889.00             6   \n",
       "2      M  32.0            MAR          SPC    10728.00            12   \n",
       "3      F  27.0            DIV          SPC    12009.09            12   \n",
       "4      M  45.0            MAR          SPC    16908.89            10   \n",
       "\n",
       "  tariff_id  score_shk education          living_region  monthly_income  \\\n",
       "0        28   0.770249       GRD     КРАСНОДАРСКИЙ КРАЙ         30000.0   \n",
       "1         2   0.248514       GRD                 МОСКВА         43000.0   \n",
       "2         2   0.459589       SCH    САРАТОВСКАЯ ОБЛАСТЬ         23000.0   \n",
       "3         2   0.362536       GRD  ВОЛГОГРАДСКАЯ ОБЛАСТЬ         17000.0   \n",
       "4         2   0.421385       SCH    ЧЕЛЯБИНСКАЯ ОБЛАСТЬ         25000.0   \n",
       "\n",
       "   credit_count  overdue_credit_count open_account_flg  \n",
       "0           1.0                   1.0                0  \n",
       "1           2.0                   0.0                0  \n",
       "2           5.0                   0.0                0  \n",
       "3           2.0                   0.0                0  \n",
       "4           1.0                   0.0                0  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# создаем словарь, в котором ключем является старое\n",
    "# название категории, значением – новое название\n",
    "# категории\n",
    "f = {'Male':'M', 'Female':'F'}\n",
    "\n",
    "# передаем в метод replace словарь, в котором ключем\n",
    "# будет название переменной, а значением - словарь со\n",
    "# старыми и новыми названиями категорий\n",
    "data = data.replace({'gender': f})\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Обработка редких категорий"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "F    88697\n",
      "M    82049\n",
      "Name: gender, dtype: int64\n",
      "MAR    93955\n",
      "UNM    52148\n",
      "DIV    16970\n",
      "CIV     4196\n",
      "WID     3475\n",
      "Name: marital_status, dtype: int64\n",
      "SPC    134680\n",
      "UMN     17674\n",
      "BIS      5591\n",
      "PNA      4107\n",
      "DIR      3750\n",
      "ATP      2791\n",
      "WRK       656\n",
      "NOR       537\n",
      "WOI       352\n",
      "INP       241\n",
      "BIU       126\n",
      "WRP       110\n",
      "PNI        65\n",
      "PNV        40\n",
      "PNS        12\n",
      "HSK         8\n",
      "INV         5\n",
      "ONB         1\n",
      "Name: job_position, dtype: int64\n",
      "2     69355\n",
      "28    39117\n",
      "19    15537\n",
      "20    10970\n",
      "25     7497\n",
      "30     5538\n",
      "22     3930\n",
      "18     3339\n",
      "3      3232\n",
      "1      2245\n",
      "23     2228\n",
      "6      2102\n",
      "29     1007\n",
      "8       766\n",
      "4       717\n",
      "9       579\n",
      "7       540\n",
      "32      414\n",
      "10      376\n",
      "11      370\n",
      "31      317\n",
      "12      303\n",
      "21      132\n",
      "13       56\n",
      "5        36\n",
      "14       11\n",
      "16       10\n",
      "26        7\n",
      "15        6\n",
      "24        5\n",
      "27        2\n",
      "33        1\n",
      "17        1\n",
      "Name: tariff_id, dtype: int64\n",
      "SCH    87536\n",
      "GRD    72594\n",
      "UGR     9941\n",
      "PGR      565\n",
      "ACD      107\n",
      "Name: education, dtype: int64\n",
      "МОСКОВСКАЯ ОБЛАСТЬ                     12844\n",
      "МОСКВА                                  9261\n",
      "ТЮМЕНСКАЯ ОБЛАСТЬ                       8735\n",
      "КРАСНОДАРСКИЙ КРАЙ                      8355\n",
      "САНКТ-ПЕТЕРБУРГ                         8303\n",
      "РЕСПУБЛИКА ТАТАРСТАН                    7667\n",
      "СВЕРДЛОВСКАЯ ОБЛАСТЬ                    7316\n",
      "РЕСПУБЛИКА БАШКОРТОСТАН                 6466\n",
      "ЧЕЛЯБИНСКАЯ ОБЛАСТЬ                     5155\n",
      "САМАРСКАЯ ОБЛАСТЬ                       5104\n",
      "СТАВРОПОЛЬСКИЙ КРАЙ                     4617\n",
      "РОСТОВСКАЯ ОБЛАСТЬ                      4328\n",
      "ИРКУТСКАЯ ОБЛАСТЬ                       4323\n",
      "НИЖЕГОРОДСКАЯ ОБЛАСТЬ                   3695\n",
      "ПЕРМСКИЙ КРАЙ                           3614\n",
      "ЛЕНИНГРАДСКАЯ ОБЛАСТЬ                   3529\n",
      "КРАСНОЯРСКИЙ КРАЙ                       3121\n",
      "КЕМЕРОВСКАЯ ОБЛАСТЬ                     2890\n",
      "АСТРАХАНСКАЯ ОБЛАСТЬ                    2719\n",
      "ВОЛОГОДСКАЯ ОБЛАСТЬ                     2605\n",
      "ВОЛГОГРАДСКАЯ ОБЛАСТЬ                   2293\n",
      "САРАТОВСКАЯ ОБЛАСТЬ                     2282\n",
      "НОВОСИБИРСКАЯ ОБЛАСТЬ                   2169\n",
      "АРХАНГЕЛЬСКАЯ ОБЛАСТЬ                   1895\n",
      "РЕСПУБЛИКА КОМИ                         1860\n",
      "РЕСПУБЛИКА САХА (ЯКУТИЯ)                1857\n",
      "ВОРОНЕЖСКАЯ ОБЛАСТЬ                     1723\n",
      "РЕСПУБЛИКА БУРЯТИЯ                      1643\n",
      "ХАБАРОВСКИЙ КРАЙ                        1560\n",
      "ТВЕРСКАЯ ОБЛАСТЬ                        1548\n",
      "                                       ...  \n",
      "БЕЛГОРОДСКАЯ ОБЛАСТЬ                     750\n",
      "ОРЛОВСКАЯ ОБЛАСТЬ                        748\n",
      "НОВГОРОДСКАЯ ОБЛАСТЬ                     745\n",
      "РЯЗАНСКАЯ ОБЛАСТЬ                        728\n",
      "КАЛИНИНГРАДСКАЯ ОБЛАСТЬ                  728\n",
      "РЕСПУБЛИКА МОРДОВИЯ                      717\n",
      "САХАЛИНСКАЯ ОБЛАСТЬ                      705\n",
      "РЕСПУБЛИКА МАРИЙ ЭЛ                      700\n",
      "РЕСПУБЛИКА КАРЕЛИЯ                       679\n",
      "КИРОВСКАЯ ОБЛАСТЬ                        647\n",
      "КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА          637\n",
      "ТОМСКАЯ ОБЛАСТЬ                          626\n",
      "КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА          576\n",
      "ПСКОВСКАЯ ОБЛАСТЬ                        575\n",
      "РЕСПУБЛИКА ТЫВА                          564\n",
      "РЕСПУБЛИКА АДЫГЕЯ                        554\n",
      "АЛТАЙСКИЙ КРАЙ                           553\n",
      "КОСТРОМСКАЯ ОБЛАСТЬ                      514\n",
      "РЕСПУБЛИКА ХАКАСИЯ                       480\n",
      "КАМЧАТСКИЙ КРАЙ                          412\n",
      "РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ      379\n",
      "РЕСПУБЛИКА КАЛМЫКИЯ                      305\n",
      "ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ             203\n",
      "МАГАДАНСКАЯ ОБЛАСТЬ                      159\n",
      "РЕСПУБЛИКА ДАГЕСТАН                       69\n",
      "РЕСПУБЛИКА АЛТАЙ                          54\n",
      "ЧУКОТСКИЙ АВТОНОМНЫЙ ОКРУГ                32\n",
      "ЧЕЧЕНСКАЯ РЕСПУБЛИКА                      31\n",
      "РЕСПУБЛИКА ИНГУШЕТИЯ                      19\n",
      "ЧИТИНСКАЯ ОБЛАСТЬ                         17\n",
      "Name: living_region, Length: 81, dtype: int64\n",
      "0    140690\n",
      "1     30056\n",
      "Name: open_account_flg, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты категорий по каждой\n",
    "# категориальной переменной\n",
    "categorical_columns = [c for c in data.columns if data[c].dtype.name == 'object']\n",
    "for c in categorical_columns:\n",
    "    print(data[c].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SPC    134680\n",
      "UMN     17674\n",
      "BIS      5591\n",
      "PNA      4107\n",
      "DIR      3750\n",
      "ATP      2791\n",
      "WRK       656\n",
      "NOR       537\n",
      "WOI       352\n",
      "INP       241\n",
      "BIU       126\n",
      "WRP       110\n",
      "PNI        65\n",
      "PNV        40\n",
      "PNS        12\n",
      "HSK         8\n",
      "INV         5\n",
      "ONB         1\n",
      "Name: job_position, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты категорий для переменной job_position,\n",
    "# dropna=False выведет частоту пропусков, если они есть \n",
    "print(data['job_position'].value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# записываем указанные категории переменной\n",
    "# job_position в отдельную категорию OTHER\n",
    "data.at[data['job_position'] == 'PNV', 'job_position'] = 'OTHER'\n",
    "data.at[data['job_position'] == 'PNS', 'job_position'] = 'OTHER'\n",
    "data.at[data['job_position'] == 'HSK', 'job_position'] = 'OTHER'\n",
    "data.at[data['job_position'] == 'INV', 'job_position'] = 'OTHER'\n",
    "data.at[data['job_position'] == 'ONB', 'job_position'] = 'OTHER'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SPC      134680\n",
      "UMN       17674\n",
      "BIS        5591\n",
      "PNA        4107\n",
      "DIR        3750\n",
      "ATP        2791\n",
      "WRK         656\n",
      "NOR         537\n",
      "WOI         352\n",
      "INP         241\n",
      "BIU         126\n",
      "WRP         110\n",
      "OTHER        66\n",
      "PNI          65\n",
      "Name: job_position, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты категорий для переменной job_position\n",
    "print(data['job_position'].value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2     69355\n",
      "28    39117\n",
      "19    15537\n",
      "20    10970\n",
      "25     7497\n",
      "30     5538\n",
      "22     3930\n",
      "18     3339\n",
      "3      3232\n",
      "1      2245\n",
      "23     2228\n",
      "6      2102\n",
      "29     1007\n",
      "8       766\n",
      "4       717\n",
      "9       579\n",
      "7       540\n",
      "32      414\n",
      "10      376\n",
      "11      370\n",
      "31      317\n",
      "12      303\n",
      "21      132\n",
      "13       56\n",
      "5        36\n",
      "14       11\n",
      "16       10\n",
      "26        7\n",
      "15        6\n",
      "24        5\n",
      "27        2\n",
      "33        1\n",
      "17        1\n",
      "Name: tariff_id, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты категорий для переменной tariff_id\n",
    "print(data['tariff_id'].value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# все категории переменной tariff_id с частотой \n",
    "# менее 55 наблюдений записываем в отдельную\n",
    "# категорию 99\n",
    "data.loc[data['tariff_id'].value_counts()[data['tariff_id']].values < 55, \n",
    "         'tariff_id'] = '99'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2     69355\n",
      "28    39117\n",
      "19    15537\n",
      "20    10970\n",
      "25     7497\n",
      "30     5538\n",
      "22     3930\n",
      "18     3339\n",
      "3      3232\n",
      "1      2245\n",
      "23     2228\n",
      "6      2102\n",
      "29     1007\n",
      "8       766\n",
      "4       717\n",
      "9       579\n",
      "7       540\n",
      "32      414\n",
      "10      376\n",
      "11      370\n",
      "31      317\n",
      "12      303\n",
      "21      132\n",
      "99       79\n",
      "13       56\n",
      "Name: tariff_id, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты категорий для переменной tariff_id\n",
    "print(data['tariff_id'].value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "РЕСПУБЛИКА КАЛМЫКИЯ             305\n",
      "ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ    203\n",
      "NaN                             192\n",
      "МАГАДАНСКАЯ ОБЛАСТЬ             159\n",
      "РЕСПУБЛИКА ДАГЕСТАН              69\n",
      "РЕСПУБЛИКА АЛТАЙ                 54\n",
      "ЧУКОТСКИЙ АВТОНОМНЫЙ ОКРУГ       32\n",
      "ЧЕЧЕНСКАЯ РЕСПУБЛИКА             31\n",
      "РЕСПУБЛИКА ИНГУШЕТИЯ             19\n",
      "ЧИТИНСКАЯ ОБЛАСТЬ                17\n",
      "Name: living_region, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты для последних 10 категорий\n",
    "# переменной living_region\n",
    "print(data['living_region'].value_counts(dropna=False).tail(10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# все категории переменной living_region с частотой \n",
    "# <= 50 наблюдений записываем в отдельную\n",
    "# категорию OTHER\n",
    "data['living_region'].loc[data.groupby ('living_region')['living_region'].\n",
    "                          transform ('count').fillna(data['living_region'].\n",
    "                          isnull().sum()) <= 50] = 'OTHER'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "РЕСПУБЛИКА ХАКАСИЯ                     480\n",
      "КАМЧАТСКИЙ КРАЙ                        412\n",
      "РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ    379\n",
      "РЕСПУБЛИКА КАЛМЫКИЯ                    305\n",
      "ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ           203\n",
      "NaN                                    192\n",
      "МАГАДАНСКАЯ ОБЛАСТЬ                    159\n",
      "OTHER                                   99\n",
      "РЕСПУБЛИКА ДАГЕСТАН                     69\n",
      "РЕСПУБЛИКА АЛТАЙ                        54\n",
      "Name: living_region, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты для последних 10 категорий \n",
    "# переменной living_region\n",
    "print(data['living_region'].value_counts(dropna=False).tail(10))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Разбиение набора данных на обучающую и контрольную"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# с помощью метода .sample() из исходного \n",
    "# датафрейма data случайно отбираем \n",
    "# 70% наблюдений в обучающий датафрейм train\n",
    "train=data.sample(frac=0.7,random_state=200)\n",
    "\n",
    "# в исходном датафрейме data оставляем только те \n",
    "# наблюдения, индексные метки которых отличаются \n",
    "# от индекса наблюдений, попавших в обучающий датафрейм \n",
    "# train, и записываем контрольный датафрейм test\n",
    "test=data.drop(train.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "gender                     0\n",
       "age                        2\n",
       "marital_status             1\n",
       "job_position               0\n",
       "credit_sum                 0\n",
       "credit_month               0\n",
       "tariff_id                  0\n",
       "score_shk                  3\n",
       "education                  2\n",
       "living_region            139\n",
       "monthly_income             1\n",
       "credit_count            6477\n",
       "overdue_credit_count    6477\n",
       "open_account_flg           0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# выводим информацию о количестве пропусков\n",
    "# по каждой переменной в обучающей выборке\n",
    "train.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "gender                     0\n",
       "age                        0\n",
       "marital_status             1\n",
       "job_position               0\n",
       "credit_sum                 1\n",
       "credit_month               0\n",
       "tariff_id                  0\n",
       "score_shk                  0\n",
       "education                  1\n",
       "living_region             53\n",
       "monthly_income             0\n",
       "credit_count            2753\n",
       "overdue_credit_count    2753\n",
       "open_account_flg           0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# выводим информацию о количестве пропусков\n",
    "# по каждой переменной в контрольной выборке\n",
    "test.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# заполняем пропуски в переменной age медианой\n",
    "train['age'].fillna(train['age'].median(), inplace=True)\n",
    "test['age'].fillna(train['age'].median(), inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# заполняем пропуски в переменных credit_sum, score_shk \n",
    "# и monthly_income медианами\n",
    "for i in ['credit_sum', 'score_shk', 'monthly_income']:\n",
    "    if i in train.columns:\n",
    "        train[i].fillna(train[i].median(), inplace=True)\n",
    "\n",
    "for i in ['credit_sum', 'score_shk', 'monthly_income']:\n",
    "    if i in test.columns:\n",
    "        test[i].fillna(train[i].median(), inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Импутацию средним, медианой и модой необходимо выполнять после разбиения набора данных на обучающую и контрольную выборки. Если выполнить импутацию на всем наборе, а потом разбить его на обучающую и контрольную выборки, получится, что для вычисления статистик, с помощью которых мы импутировали пропуски, использовались все наблюдения набора, часть из которых потом у нас вошла в контрольную выборку (по сути выборку новых данных). Поэтому получается, что статистики для импутации, которые мы получили на всем наборе, пришли к нам частично из «будущего» (из новой, контрольной выборки, которой по факту еще нет). Однако мы должны смоделировать наиболее близкую к реальности ситуацию, у нас есть обучающая выборка, никаких новых данных еще нет.\n",
    "\n",
    "Статистики, вычисленные на обучающей выборке, можно применить для импутации пропусков как в обучающей, так и в контрольной выборках, а можно отдельно вычислить статистики для обучающей выборки, отдельно вычислить статистики для контрольной выборки и выполнить импутацию. \n",
    "\n",
    "Помимо импутации средним значением, медианой  и модой пропуски можно заменить значениями-константами (например, часто используется значение -999), а пропуски в категориальных переменных часто кодируют отдельной категорией для пропусков. Импутацию константами и отдельной категорией можно выполнять как до, так и после разбиения на обучение и контроль, потому что в рамках этой операции мы не делаем вычислений, охватывающих все наблюдения исходного набора.\n",
    "\n",
    "Часто практикуется создание индикаторов пропусков, когда рядом с переменной, у которой пропущены значения,  создается специальная переменная, принимающая значение 1, если значение исходной переменной пропущено, и 0, если значение не пропущено. Их можно также создавать как до, так и после разбиения на обучение и контроль, потому что мы не делаем вычислений, охватывающих все наблюдения исходного набора."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# заполняем пропуски в переменных credit_count,\n",
    "# overdue_credit_count -1\n",
    "for i in ['credit_count', 'overdue_credit_count']:\n",
    "    if i in train.columns:\n",
    "        train[i].fillna(-1, inplace=True)\n",
    "\n",
    "for i in ['credit_count', 'overdue_credit_count']:\n",
    "    if i in test.columns:\n",
    "        test[i].fillna(-1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MAR    65652\n",
      "UNM    36580\n",
      "DIV    11919\n",
      "CIV     2942\n",
      "WID     2428\n",
      "NaN        1\n",
      "Name: marital_status, dtype: int64\n",
      "MAR    28303\n",
      "UNM    15568\n",
      "DIV     5051\n",
      "CIV     1254\n",
      "WID     1047\n",
      "NaN        1\n",
      "Name: marital_status, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты категорий\n",
    "# для переменной marital_status\n",
    "print(train['marital_status'].value_counts(dropna=False))\n",
    "print(test['marital_status'].value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# выполняем импутацию пропусков модой\n",
    "train['marital_status'] = train['marital_status'].fillna('MAR')\n",
    "test['marital_status'] = test['marital_status'].fillna('MAR')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MAR    65653\n",
      "UNM    36580\n",
      "DIV    11919\n",
      "CIV     2942\n",
      "WID     2428\n",
      "Name: marital_status, dtype: int64\n",
      "MAR    28304\n",
      "UNM    15568\n",
      "DIV     5051\n",
      "CIV     1254\n",
      "WID     1047\n",
      "Name: marital_status, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты категорий\n",
    "# для переменной marital_status\n",
    "print(train['marital_status'].value_counts(dropna=False))\n",
    "print(test['marital_status'].value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    SCH\n",
       "dtype: object"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# вычисляем моду для переменной\n",
    "# education\n",
    "train['education'].mode()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# выполняем импутацию пропусков модой\n",
    "train['education'] = train['education'].fillna('SCH')\n",
    "test['education'] = test['education'].fillna('SCH')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "КОСТРОМСКАЯ ОБЛАСТЬ                    343\n",
      "КАМЧАТСКИЙ КРАЙ                        294\n",
      "РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ    262\n",
      "РЕСПУБЛИКА КАЛМЫКИЯ                    210\n",
      "NaN                                    139\n",
      "ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ           132\n",
      "МАГАДАНСКАЯ ОБЛАСТЬ                    115\n",
      "OTHER                                   67\n",
      "РЕСПУБЛИКА ДАГЕСТАН                     48\n",
      "РЕСПУБЛИКА АЛТАЙ                        36\n",
      "Name: living_region, dtype: int64\n",
      "РЕСПУБЛИКА ХАКАСИЯ                     136\n",
      "КАМЧАТСКИЙ КРАЙ                        118\n",
      "РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ    117\n",
      "РЕСПУБЛИКА КАЛМЫКИЯ                     95\n",
      "ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ            71\n",
      "NaN                                     53\n",
      "МАГАДАНСКАЯ ОБЛАСТЬ                     44\n",
      "OTHER                                   32\n",
      "РЕСПУБЛИКА ДАГЕСТАН                     21\n",
      "РЕСПУБЛИКА АЛТАЙ                        18\n",
      "Name: living_region, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты для последних 10 категорий\n",
    "# переменной living_region\n",
    "print(train['living_region'].value_counts(dropna=False).tail(10))\n",
    "print(test['living_region'].value_counts(dropna=False).tail(10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# присваиваем переменной living_region тип str, \n",
    "# тем самым записывая пропуски в отдельную\n",
    "# категорию nan\n",
    "train['living_region']=train['living_region'].astype('str')\n",
    "test['living_region']=test['living_region'].astype('str')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "КОСТРОМСКАЯ ОБЛАСТЬ                    343\n",
      "КАМЧАТСКИЙ КРАЙ                        294\n",
      "РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ    262\n",
      "РЕСПУБЛИКА КАЛМЫКИЯ                    210\n",
      "nan                                    139\n",
      "ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ           132\n",
      "МАГАДАНСКАЯ ОБЛАСТЬ                    115\n",
      "OTHER                                   67\n",
      "РЕСПУБЛИКА ДАГЕСТАН                     48\n",
      "РЕСПУБЛИКА АЛТАЙ                        36\n",
      "Name: living_region, dtype: int64\n",
      "РЕСПУБЛИКА ХАКАСИЯ                     136\n",
      "КАМЧАТСКИЙ КРАЙ                        118\n",
      "РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ    117\n",
      "РЕСПУБЛИКА КАЛМЫКИЯ                     95\n",
      "ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ            71\n",
      "nan                                     53\n",
      "МАГАДАНСКАЯ ОБЛАСТЬ                     44\n",
      "OTHER                                   32\n",
      "РЕСПУБЛИКА ДАГЕСТАН                     21\n",
      "РЕСПУБЛИКА АЛТАЙ                        18\n",
      "Name: living_region, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# выводим частоты для последних 10 категорий\n",
    "# переменной living_region\n",
    "print(train['living_region'].value_counts(dropna=False).tail(10))\n",
    "print(test['living_region'].value_counts(dropna=False).tail(10))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Конструирование новых признаков"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# на основе категориальной переменной tariff_id создаем\n",
    "# количественную переменную tariff\n",
    "train['tariff']=train['tariff_id'].astype('int')\n",
    "test['tariff']=test['tariff_id'].astype('int')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# создаем переменную paym, которая \n",
    "# является отношением выданной суммы кредита \n",
    "# (credit_sum) к сроку кредита (credit_month), \n",
    "# то есть ежемесячной суммой кредита\n",
    "train['paym'] = train['credit_sum'] / train['credit_month']\n",
    "test['paym'] = test['credit_sum'] / test['credit_month']\n",
    "\n",
    "# создаем переменную pti, которая является \n",
    "# отношением ежемесячной суммы кредита \n",
    "# (paym) к ежемесячному заработку \n",
    "# (monthly_income) \n",
    "train['pti'] = train['paym'] / train['monthly_income']\n",
    "test['pti'] = test['paym'] / test['monthly_income']\n",
    "\n",
    "# заменяем бесконечные значения на 1\n",
    "train['pti'][train['pti'] == np.inf] = 1\n",
    "test['pti'][test['pti'] == np.inf] = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# создаем новые переменные, возведя некоторые\n",
    "# количественные переменные в квадрат\n",
    "train['tariff_sq'] = train['tariff']**2\n",
    "test['tariff_sq'] = test['tariff']**2\n",
    "\n",
    "train['age_sq'] = train['age']**2\n",
    "test['age_sq'] = test['age']**2\n",
    "\n",
    "train['credit_sum_sq'] = train['credit_sum']**2\n",
    "test['credit_sum_sq'] = test['credit_sum']**2\n",
    "\n",
    "train['score_sq'] = train['score_shk']**2\n",
    "test['score_sq'] = test['score_shk']**2\n",
    "\n",
    "train['income_sq'] = train['monthly_income']**2\n",
    "test['income_sq'] = test['monthly_income']**2\n",
    "\n",
    "train['credit_month_sq'] = train['credit_month']**2\n",
    "test['credit_month_sq'] = test['credit_month']**2\n",
    "\n",
    "train['credit_count_sq'] = train['credit_count']**2\n",
    "test['credit_count_sq'] = test['credit_count']**2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Создание переменной, у которой значения основаны на значениях исходной переменной"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['SPC' 'UMN' 'BIS' 'DIR' 'PNA' 'ATP' 'OTHER' 'WRK' 'BIU' 'NOR' 'WOI' 'INP'\n",
      " 'PNI' 'WRP']\n"
     ]
    }
   ],
   "source": [
    "# выводим уникальные значения исходной переменной, \n",
    "# в данном случае - значения переменной job_position\n",
    "print(train['job_position'].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>paym</th>\n",
       "      <th>pti</th>\n",
       "      <th>tariff_sq</th>\n",
       "      <th>age_sq</th>\n",
       "      <th>credit_sum_sq</th>\n",
       "      <th>score_sq</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.0</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.0</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431360</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>3357.900000</td>\n",
       "      <td>0.093275</td>\n",
       "      <td>400</td>\n",
       "      <td>784.0</td>\n",
       "      <td>1.127549e+09</td>\n",
       "      <td>0.186071</td>\n",
       "      <td>1.296000e+09</td>\n",
       "      <td>100</td>\n",
       "      <td>4.0</td>\n",
       "      <td>63000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.0</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.0</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358472</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>2351.100000</td>\n",
       "      <td>0.052247</td>\n",
       "      <td>361</td>\n",
       "      <td>1444.0</td>\n",
       "      <td>5.527671e+08</td>\n",
       "      <td>0.128502</td>\n",
       "      <td>2.025000e+09</td>\n",
       "      <td>100</td>\n",
       "      <td>4.0</td>\n",
       "      <td>63000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.0</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613475</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1666.250000</td>\n",
       "      <td>0.033325</td>\n",
       "      <td>625</td>\n",
       "      <td>625.0</td>\n",
       "      <td>1.599200e+09</td>\n",
       "      <td>0.376352</td>\n",
       "      <td>2.500000e+09</td>\n",
       "      <td>576</td>\n",
       "      <td>36.0</td>\n",
       "      <td>63000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.0</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.0</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371355</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>581.666667</td>\n",
       "      <td>0.016619</td>\n",
       "      <td>324</td>\n",
       "      <td>4225.0</td>\n",
       "      <td>1.218010e+07</td>\n",
       "      <td>0.137905</td>\n",
       "      <td>1.225000e+09</td>\n",
       "      <td>36</td>\n",
       "      <td>16.0</td>\n",
       "      <td>51000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.0</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.0</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645187</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>3635.800000</td>\n",
       "      <td>0.072716</td>\n",
       "      <td>784</td>\n",
       "      <td>2401.0</td>\n",
       "      <td>1.321904e+09</td>\n",
       "      <td>0.416266</td>\n",
       "      <td>2.500000e+09</td>\n",
       "      <td>100</td>\n",
       "      <td>4.0</td>\n",
       "      <td>86000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 25 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender   age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M  28.0            UNM          SPC     33579.0            10   \n",
       "143962      M  38.0            UNM          SPC     23511.0            10   \n",
       "146922      F  25.0            MAR          SPC     39990.0            24   \n",
       "63697       F  65.0            UNM          UMN      3490.0             6   \n",
       "54503       M  49.0            MAR          BIS     36358.0            10   \n",
       "\n",
       "       tariff_id  score_shk education        living_region     ...       \\\n",
       "53397         20   0.431360       SCH     АМУРСКАЯ ОБЛАСТЬ     ...        \n",
       "143962        19   0.358472       GRD  СТАВРОПОЛЬСКИЙ КРАЙ     ...        \n",
       "146922        25   0.613475       GRD   РОСТОВСКАЯ ОБЛАСТЬ     ...        \n",
       "63697         18   0.371355       GRD   РЕСПУБЛИКА ХАКАСИЯ     ...        \n",
       "54503         28   0.645187       SCH  ЧЕЛЯБИНСКАЯ ОБЛАСТЬ     ...        \n",
       "\n",
       "               paym       pti  tariff_sq  age_sq  credit_sum_sq  score_sq  \\\n",
       "53397   3357.900000  0.093275        400   784.0   1.127549e+09  0.186071   \n",
       "143962  2351.100000  0.052247        361  1444.0   5.527671e+08  0.128502   \n",
       "146922  1666.250000  0.033325        625   625.0   1.599200e+09  0.376352   \n",
       "63697    581.666667  0.016619        324  4225.0   1.218010e+07  0.137905   \n",
       "54503   3635.800000  0.072716        784  2401.0   1.321904e+09  0.416266   \n",
       "\n",
       "           income_sq  credit_month_sq  credit_count_sq  avrzarplata  \n",
       "53397   1.296000e+09              100              4.0        63000  \n",
       "143962  2.025000e+09              100              4.0        63000  \n",
       "146922  2.500000e+09              576             36.0        63000  \n",
       "63697   1.225000e+09               36             16.0        51000  \n",
       "54503   2.500000e+09              100              4.0        86000  \n",
       "\n",
       "[5 rows x 25 columns]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# затем создаем словарь, в котором ключом будет значение \n",
    "# исходной переменной job_position, а значением - значение \n",
    "# будущей переменной avrzarplata\n",
    "dct = {'UMN': 51000, 'SPC': 63000, 'INP': 55000, 'DIR': 60000, \n",
    "       'ATP': 46000, 'PNA': 71000, 'BIS': 86000, 'WOI': 76000,\n",
    "       'NOR': 54000,'WRK': 77000, 'WRP': 75000, 'PNV': 67000, \n",
    "       'BIU': 43000, 'PNI': 69000, 'HSK': 74000, 'PNS': 44000, \n",
    "       'INV': 88000, 'ONB': 62000, 'OTHER':20000}\n",
    "# Создаем новую переменную avrzarplata, у которой значения \n",
    "# сопоставлены значениям переменной job_position\n",
    "train['avrzarplata'] = train['job_position'].map(dct)\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>paym</th>\n",
       "      <th>pti</th>\n",
       "      <th>tariff_sq</th>\n",
       "      <th>age_sq</th>\n",
       "      <th>credit_sum_sq</th>\n",
       "      <th>score_sq</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>3357.900</td>\n",
       "      <td>0.093</td>\n",
       "      <td>400</td>\n",
       "      <td>784.000</td>\n",
       "      <td>1127549241.000</td>\n",
       "      <td>0.186</td>\n",
       "      <td>1296000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>2351.100</td>\n",
       "      <td>0.052</td>\n",
       "      <td>361</td>\n",
       "      <td>1444.000</td>\n",
       "      <td>552767121.000</td>\n",
       "      <td>0.129</td>\n",
       "      <td>2025000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1666.250</td>\n",
       "      <td>0.033</td>\n",
       "      <td>625</td>\n",
       "      <td>625.000</td>\n",
       "      <td>1599200100.000</td>\n",
       "      <td>0.376</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>63000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>581.667</td>\n",
       "      <td>0.017</td>\n",
       "      <td>324</td>\n",
       "      <td>4225.000</td>\n",
       "      <td>12180100.000</td>\n",
       "      <td>0.138</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>3635.800</td>\n",
       "      <td>0.073</td>\n",
       "      <td>784</td>\n",
       "      <td>2401.000</td>\n",
       "      <td>1321904164.000</td>\n",
       "      <td>0.416</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>86000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 25 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender    age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M 28.000            UNM          SPC   33579.000            10   \n",
       "143962      M 38.000            UNM          SPC   23511.000            10   \n",
       "146922      F 25.000            MAR          SPC   39990.000            24   \n",
       "63697       F 65.000            UNM          UMN    3490.000             6   \n",
       "54503       M 49.000            MAR          BIS   36358.000            10   \n",
       "\n",
       "       tariff_id  score_shk education        living_region     ...       \\\n",
       "53397         20      0.431       SCH     АМУРСКАЯ ОБЛАСТЬ     ...        \n",
       "143962        19      0.358       GRD  СТАВРОПОЛЬСКИЙ КРАЙ     ...        \n",
       "146922        25      0.613       GRD   РОСТОВСКАЯ ОБЛАСТЬ     ...        \n",
       "63697         18      0.371       GRD   РЕСПУБЛИКА ХАКАСИЯ     ...        \n",
       "54503         28      0.645       SCH  ЧЕЛЯБИНСКАЯ ОБЛАСТЬ     ...        \n",
       "\n",
       "           paym   pti  tariff_sq   age_sq  credit_sum_sq  score_sq  \\\n",
       "53397  3357.900 0.093        400  784.000 1127549241.000     0.186   \n",
       "143962 2351.100 0.052        361 1444.000  552767121.000     0.129   \n",
       "146922 1666.250 0.033        625  625.000 1599200100.000     0.376   \n",
       "63697   581.667 0.017        324 4225.000   12180100.000     0.138   \n",
       "54503  3635.800 0.073        784 2401.000 1321904164.000     0.416   \n",
       "\n",
       "            income_sq  credit_month_sq  credit_count_sq  avrzarplata  \n",
       "53397  1296000000.000              100            4.000        63000  \n",
       "143962 2025000000.000              100            4.000        63000  \n",
       "146922 2500000000.000              576           36.000        63000  \n",
       "63697  1225000000.000               36           16.000        51000  \n",
       "54503  2500000000.000              100            4.000        86000  \n",
       "\n",
       "[5 rows x 25 columns]"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# отключаем экспоненциальную запись\n",
    "pd.set_option('display.float_format', lambda x: '%.3f' % x)\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Создание переменной, у которой каждое значение – частота наблюдений в категории переменных"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>pti</th>\n",
       "      <th>tariff_sq</th>\n",
       "      <th>age_sq</th>\n",
       "      <th>credit_sum_sq</th>\n",
       "      <th>score_sq</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "      <th>region_cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.093</td>\n",
       "      <td>400</td>\n",
       "      <td>784.000</td>\n",
       "      <td>1127549241.000</td>\n",
       "      <td>0.186</td>\n",
       "      <td>1296000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>618</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.052</td>\n",
       "      <td>361</td>\n",
       "      <td>1444.000</td>\n",
       "      <td>552767121.000</td>\n",
       "      <td>0.129</td>\n",
       "      <td>2025000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3236</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.033</td>\n",
       "      <td>625</td>\n",
       "      <td>625.000</td>\n",
       "      <td>1599200100.000</td>\n",
       "      <td>0.376</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.017</td>\n",
       "      <td>324</td>\n",
       "      <td>4225.000</td>\n",
       "      <td>12180100.000</td>\n",
       "      <td>0.138</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>344</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.073</td>\n",
       "      <td>784</td>\n",
       "      <td>2401.000</td>\n",
       "      <td>1321904164.000</td>\n",
       "      <td>0.416</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>86000</td>\n",
       "      <td>3620</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender    age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M 28.000            UNM          SPC   33579.000            10   \n",
       "143962      M 38.000            UNM          SPC   23511.000            10   \n",
       "146922      F 25.000            MAR          SPC   39990.000            24   \n",
       "63697       F 65.000            UNM          UMN    3490.000             6   \n",
       "54503       M 49.000            MAR          BIS   36358.000            10   \n",
       "\n",
       "       tariff_id  score_shk education        living_region     ...       pti  \\\n",
       "53397         20      0.431       SCH     АМУРСКАЯ ОБЛАСТЬ     ...     0.093   \n",
       "143962        19      0.358       GRD  СТАВРОПОЛЬСКИЙ КРАЙ     ...     0.052   \n",
       "146922        25      0.613       GRD   РОСТОВСКАЯ ОБЛАСТЬ     ...     0.033   \n",
       "63697         18      0.371       GRD   РЕСПУБЛИКА ХАКАСИЯ     ...     0.017   \n",
       "54503         28      0.645       SCH  ЧЕЛЯБИНСКАЯ ОБЛАСТЬ     ...     0.073   \n",
       "\n",
       "        tariff_sq   age_sq  credit_sum_sq  score_sq      income_sq  \\\n",
       "53397         400  784.000 1127549241.000     0.186 1296000000.000   \n",
       "143962        361 1444.000  552767121.000     0.129 2025000000.000   \n",
       "146922        625  625.000 1599200100.000     0.376 2500000000.000   \n",
       "63697         324 4225.000   12180100.000     0.138 1225000000.000   \n",
       "54503         784 2401.000 1321904164.000     0.416 2500000000.000   \n",
       "\n",
       "        credit_month_sq  credit_count_sq  avrzarplata  region_cnt  \n",
       "53397               100            4.000        63000         618  \n",
       "143962              100            4.000        63000        3236  \n",
       "146922              576           36.000        63000        3024  \n",
       "63697                36           16.000        51000         344  \n",
       "54503               100            4.000        86000        3620  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# cоздаем переменную region_cnt, у которой каждое значение - \n",
    "# частота наблюдений в категории переменной living_region\n",
    "train['region_cnt'] = train['living_region'].map(train['living_region'].value_counts())\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Создание переменной, у которой каждое значение - среднее значение количественной переменной, взятое по уровню категориальной переменной"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>tariff_sq</th>\n",
       "      <th>age_sq</th>\n",
       "      <th>credit_sum_sq</th>\n",
       "      <th>score_sq</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "      <th>region_cnt</th>\n",
       "      <th>region_mean_income</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>400</td>\n",
       "      <td>784.000</td>\n",
       "      <td>1127549241.000</td>\n",
       "      <td>0.186</td>\n",
       "      <td>1296000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>618</td>\n",
       "      <td>38026.071</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>361</td>\n",
       "      <td>1444.000</td>\n",
       "      <td>552767121.000</td>\n",
       "      <td>0.129</td>\n",
       "      <td>2025000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3236</td>\n",
       "      <td>32589.184</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>625</td>\n",
       "      <td>625.000</td>\n",
       "      <td>1599200100.000</td>\n",
       "      <td>0.376</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3024</td>\n",
       "      <td>34645.748</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>324</td>\n",
       "      <td>4225.000</td>\n",
       "      <td>12180100.000</td>\n",
       "      <td>0.138</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>344</td>\n",
       "      <td>33443.198</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>784</td>\n",
       "      <td>2401.000</td>\n",
       "      <td>1321904164.000</td>\n",
       "      <td>0.416</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>86000</td>\n",
       "      <td>3620</td>\n",
       "      <td>34010.613</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 27 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender    age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M 28.000            UNM          SPC   33579.000            10   \n",
       "143962      M 38.000            UNM          SPC   23511.000            10   \n",
       "146922      F 25.000            MAR          SPC   39990.000            24   \n",
       "63697       F 65.000            UNM          UMN    3490.000             6   \n",
       "54503       M 49.000            MAR          BIS   36358.000            10   \n",
       "\n",
       "       tariff_id  score_shk education        living_region  \\\n",
       "53397         20      0.431       SCH     АМУРСКАЯ ОБЛАСТЬ   \n",
       "143962        19      0.358       GRD  СТАВРОПОЛЬСКИЙ КРАЙ   \n",
       "146922        25      0.613       GRD   РОСТОВСКАЯ ОБЛАСТЬ   \n",
       "63697         18      0.371       GRD   РЕСПУБЛИКА ХАКАСИЯ   \n",
       "54503         28      0.645       SCH  ЧЕЛЯБИНСКАЯ ОБЛАСТЬ   \n",
       "\n",
       "               ...          tariff_sq   age_sq  credit_sum_sq score_sq  \\\n",
       "53397          ...                400  784.000 1127549241.000    0.186   \n",
       "143962         ...                361 1444.000  552767121.000    0.129   \n",
       "146922         ...                625  625.000 1599200100.000    0.376   \n",
       "63697          ...                324 4225.000   12180100.000    0.138   \n",
       "54503          ...                784 2401.000 1321904164.000    0.416   \n",
       "\n",
       "            income_sq  credit_month_sq  credit_count_sq  avrzarplata  \\\n",
       "53397  1296000000.000              100            4.000        63000   \n",
       "143962 2025000000.000              100            4.000        63000   \n",
       "146922 2500000000.000              576           36.000        63000   \n",
       "63697  1225000000.000               36           16.000        51000   \n",
       "54503  2500000000.000              100            4.000        86000   \n",
       "\n",
       "        region_cnt  region_mean_income  \n",
       "53397          618           38026.071  \n",
       "143962        3236           32589.184  \n",
       "146922        3024           34645.748  \n",
       "63697          344           33443.198  \n",
       "54503         3620           34010.613  \n",
       "\n",
       "[5 rows x 27 columns]"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# пишем функцию, создающую переменную, у которой каждое \n",
    "# значение будет средним значением количественной\n",
    "# переменной (real_feature), взятым по уровню \n",
    "# категориальной переменной (cat_feature)\n",
    "def code_mean(df, cat_feature, real_feature):\n",
    "    return (df[cat_feature].map(df.groupby(cat_feature)[real_feature].mean()))\n",
    "\n",
    "# cоздаем переменную, у которой каждое значение - \n",
    "# среднее значение monthly_income в \n",
    "# категории переменной living_region\n",
    "train['region_mean_income'] = code_mean(train, 'living_region', 'monthly_income')\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Создание категориальной переменной в результате конъюнкции двух переменных"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>age_sq</th>\n",
       "      <th>credit_sum_sq</th>\n",
       "      <th>score_sq</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "      <th>region_cnt</th>\n",
       "      <th>region_mean_income</th>\n",
       "      <th>education + marital_status</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>784.000</td>\n",
       "      <td>1127549241.000</td>\n",
       "      <td>0.186</td>\n",
       "      <td>1296000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>618</td>\n",
       "      <td>38026.071</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>1444.000</td>\n",
       "      <td>552767121.000</td>\n",
       "      <td>0.129</td>\n",
       "      <td>2025000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3236</td>\n",
       "      <td>32589.184</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>625.000</td>\n",
       "      <td>1599200100.000</td>\n",
       "      <td>0.376</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3024</td>\n",
       "      <td>34645.748</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>4225.000</td>\n",
       "      <td>12180100.000</td>\n",
       "      <td>0.138</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>344</td>\n",
       "      <td>33443.198</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>2401.000</td>\n",
       "      <td>1321904164.000</td>\n",
       "      <td>0.416</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>86000</td>\n",
       "      <td>3620</td>\n",
       "      <td>34010.613</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>115316</th>\n",
       "      <td>F</td>\n",
       "      <td>39.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>13209.000</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.455</td>\n",
       "      <td>SCH</td>\n",
       "      <td>РЕСПУБЛИКА САХА (ЯКУТИЯ)</td>\n",
       "      <td>...</td>\n",
       "      <td>1521.000</td>\n",
       "      <td>174477681.000</td>\n",
       "      <td>0.207</td>\n",
       "      <td>3600000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>1281</td>\n",
       "      <td>55261.237</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16354</th>\n",
       "      <td>M</td>\n",
       "      <td>30.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>15192.050</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.452</td>\n",
       "      <td>SCH</td>\n",
       "      <td>РЕСПУБЛИКА ТАТАРСТАН</td>\n",
       "      <td>...</td>\n",
       "      <td>900.000</td>\n",
       "      <td>230798383.202</td>\n",
       "      <td>0.204</td>\n",
       "      <td>625000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5368</td>\n",
       "      <td>36299.226</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98227</th>\n",
       "      <td>F</td>\n",
       "      <td>44.000</td>\n",
       "      <td>WID</td>\n",
       "      <td>SPC</td>\n",
       "      <td>27894.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.493</td>\n",
       "      <td>SCH</td>\n",
       "      <td>РЕСПУБЛИКА КАРЕЛИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>1936.000</td>\n",
       "      <td>778075236.000</td>\n",
       "      <td>0.243</td>\n",
       "      <td>1814760000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>466</td>\n",
       "      <td>41057.567</td>\n",
       "      <td>SCH + WID</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69607</th>\n",
       "      <td>F</td>\n",
       "      <td>33.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>16116.470</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.479</td>\n",
       "      <td>SCH</td>\n",
       "      <td>КЕМЕРОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1089.000</td>\n",
       "      <td>259740605.261</td>\n",
       "      <td>0.230</td>\n",
       "      <td>400000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>16.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>2066</td>\n",
       "      <td>31852.985</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99745</th>\n",
       "      <td>F</td>\n",
       "      <td>30.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>3712.770</td>\n",
       "      <td>6</td>\n",
       "      <td>29</td>\n",
       "      <td>0.368</td>\n",
       "      <td>SCH</td>\n",
       "      <td>НИЖЕГОРОДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>900.000</td>\n",
       "      <td>13784661.073</td>\n",
       "      <td>0.135</td>\n",
       "      <td>400000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>9.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>2602</td>\n",
       "      <td>33974.939</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9710</th>\n",
       "      <td>F</td>\n",
       "      <td>52.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>58789.000</td>\n",
       "      <td>12</td>\n",
       "      <td>28</td>\n",
       "      <td>0.629</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ВОЛГОГРАДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>2704.000</td>\n",
       "      <td>3456146521.000</td>\n",
       "      <td>0.396</td>\n",
       "      <td>1089000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>1596</td>\n",
       "      <td>31503.996</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127187</th>\n",
       "      <td>F</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>53188.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.701</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ПРИМОРСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>784.000</td>\n",
       "      <td>2828963344.000</td>\n",
       "      <td>0.491</td>\n",
       "      <td>2704000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>912</td>\n",
       "      <td>42266.414</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>145418</th>\n",
       "      <td>F</td>\n",
       "      <td>39.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>32567.000</td>\n",
       "      <td>13</td>\n",
       "      <td>2</td>\n",
       "      <td>0.471</td>\n",
       "      <td>SCH</td>\n",
       "      <td>КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА</td>\n",
       "      <td>...</td>\n",
       "      <td>1521.000</td>\n",
       "      <td>1060609489.000</td>\n",
       "      <td>0.222</td>\n",
       "      <td>1089000000.000</td>\n",
       "      <td>169</td>\n",
       "      <td>9.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>460</td>\n",
       "      <td>33862.783</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>105210</th>\n",
       "      <td>F</td>\n",
       "      <td>45.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>36507.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.309</td>\n",
       "      <td>GRD</td>\n",
       "      <td>КРАСНОЯРСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>2025.000</td>\n",
       "      <td>1332761049.000</td>\n",
       "      <td>0.096</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>0.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>2181</td>\n",
       "      <td>41801.976</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44006</th>\n",
       "      <td>M</td>\n",
       "      <td>24.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>16069.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.561</td>\n",
       "      <td>UGR</td>\n",
       "      <td>РЕСПУБЛИКА БАШКОРТОСТАН</td>\n",
       "      <td>...</td>\n",
       "      <td>576.000</td>\n",
       "      <td>258212761.000</td>\n",
       "      <td>0.315</td>\n",
       "      <td>576000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>4527</td>\n",
       "      <td>34429.306</td>\n",
       "      <td>UGR + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93178</th>\n",
       "      <td>M</td>\n",
       "      <td>44.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>46568.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.487</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧУВАШСКАЯ РЕСПУБЛИКА</td>\n",
       "      <td>...</td>\n",
       "      <td>1936.000</td>\n",
       "      <td>2168578624.000</td>\n",
       "      <td>0.237</td>\n",
       "      <td>1600000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>1.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>640</td>\n",
       "      <td>28391.628</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66790</th>\n",
       "      <td>F</td>\n",
       "      <td>31.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>11190.000</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "      <td>0.381</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ТВЕРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>961.000</td>\n",
       "      <td>125216100.000</td>\n",
       "      <td>0.145</td>\n",
       "      <td>729000000.000</td>\n",
       "      <td>196</td>\n",
       "      <td>16.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>1071</td>\n",
       "      <td>33812.550</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132148</th>\n",
       "      <td>F</td>\n",
       "      <td>55.000</td>\n",
       "      <td>DIV</td>\n",
       "      <td>SPC</td>\n",
       "      <td>7578.000</td>\n",
       "      <td>12</td>\n",
       "      <td>25</td>\n",
       "      <td>0.517</td>\n",
       "      <td>SCH</td>\n",
       "      <td>РЯЗАНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>3025.000</td>\n",
       "      <td>57426084.000</td>\n",
       "      <td>0.267</td>\n",
       "      <td>529000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>499</td>\n",
       "      <td>33555.463</td>\n",
       "      <td>SCH + DIV</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52656</th>\n",
       "      <td>F</td>\n",
       "      <td>43.000</td>\n",
       "      <td>CIV</td>\n",
       "      <td>SPC</td>\n",
       "      <td>30248.000</td>\n",
       "      <td>13</td>\n",
       "      <td>2</td>\n",
       "      <td>0.326</td>\n",
       "      <td>SCH</td>\n",
       "      <td>РЕСПУБЛИКА БАШКОРТОСТАН</td>\n",
       "      <td>...</td>\n",
       "      <td>1849.000</td>\n",
       "      <td>914941504.000</td>\n",
       "      <td>0.106</td>\n",
       "      <td>625000000.000</td>\n",
       "      <td>169</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>4527</td>\n",
       "      <td>34429.306</td>\n",
       "      <td>SCH + CIV</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>124358</th>\n",
       "      <td>M</td>\n",
       "      <td>41.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>10019.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.375</td>\n",
       "      <td>SCH</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>...</td>\n",
       "      <td>1681.000</td>\n",
       "      <td>100380361.000</td>\n",
       "      <td>0.141</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>9.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>6479</td>\n",
       "      <td>62409.768</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139466</th>\n",
       "      <td>M</td>\n",
       "      <td>35.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>48369.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.474</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1225.000</td>\n",
       "      <td>2339560161.000</td>\n",
       "      <td>0.224</td>\n",
       "      <td>8100000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>8864</td>\n",
       "      <td>53279.124</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74846</th>\n",
       "      <td>F</td>\n",
       "      <td>33.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>44287.000</td>\n",
       "      <td>12</td>\n",
       "      <td>18</td>\n",
       "      <td>0.574</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>...</td>\n",
       "      <td>1089.000</td>\n",
       "      <td>1961338369.000</td>\n",
       "      <td>0.329</td>\n",
       "      <td>6400000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>9.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>6479</td>\n",
       "      <td>62409.768</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146802</th>\n",
       "      <td>F</td>\n",
       "      <td>29.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>DIR</td>\n",
       "      <td>42878.000</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.474</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ИРКУТСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>841.000</td>\n",
       "      <td>1838522884.000</td>\n",
       "      <td>0.224</td>\n",
       "      <td>4225000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>60000</td>\n",
       "      <td>3022</td>\n",
       "      <td>37558.886</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41451</th>\n",
       "      <td>M</td>\n",
       "      <td>37.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>17353.330</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.488</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ВОЛГОГРАДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1369.000</td>\n",
       "      <td>301138062.089</td>\n",
       "      <td>0.238</td>\n",
       "      <td>900000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>1596</td>\n",
       "      <td>31503.996</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94502</th>\n",
       "      <td>F</td>\n",
       "      <td>47.000</td>\n",
       "      <td>WID</td>\n",
       "      <td>SPC</td>\n",
       "      <td>58789.000</td>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>0.464</td>\n",
       "      <td>SCH</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>...</td>\n",
       "      <td>2209.000</td>\n",
       "      <td>3456146521.000</td>\n",
       "      <td>0.215</td>\n",
       "      <td>4096000000.000</td>\n",
       "      <td>324</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>6479</td>\n",
       "      <td>62409.768</td>\n",
       "      <td>SCH + WID</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13091</th>\n",
       "      <td>F</td>\n",
       "      <td>56.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>48834.000</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>0.444</td>\n",
       "      <td>GRD</td>\n",
       "      <td>САМАРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>3136.000</td>\n",
       "      <td>2384759556.000</td>\n",
       "      <td>0.198</td>\n",
       "      <td>484000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>16.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3551</td>\n",
       "      <td>34925.862</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40220</th>\n",
       "      <td>F</td>\n",
       "      <td>39.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>22889.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.409</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1521.000</td>\n",
       "      <td>523906321.000</td>\n",
       "      <td>0.168</td>\n",
       "      <td>625000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>16.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>618</td>\n",
       "      <td>38026.071</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98279</th>\n",
       "      <td>M</td>\n",
       "      <td>29.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>17704.550</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.381</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ОМСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>841.000</td>\n",
       "      <td>313451090.702</td>\n",
       "      <td>0.145</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>1.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>660</td>\n",
       "      <td>31604.333</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51512</th>\n",
       "      <td>F</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>4990.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.435</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА БАШКОРТОСТАН</td>\n",
       "      <td>...</td>\n",
       "      <td>784.000</td>\n",
       "      <td>24900100.000</td>\n",
       "      <td>0.189</td>\n",
       "      <td>225000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>4527</td>\n",
       "      <td>34429.306</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>169234</th>\n",
       "      <td>M</td>\n",
       "      <td>48.000</td>\n",
       "      <td>DIV</td>\n",
       "      <td>PNA</td>\n",
       "      <td>29278.000</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "      <td>0.564</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ВОРОНЕЖСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>2304.000</td>\n",
       "      <td>857201284.000</td>\n",
       "      <td>0.318</td>\n",
       "      <td>400000000.000</td>\n",
       "      <td>196</td>\n",
       "      <td>9.000</td>\n",
       "      <td>71000</td>\n",
       "      <td>1175</td>\n",
       "      <td>33642.059</td>\n",
       "      <td>SCH + DIV</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68237</th>\n",
       "      <td>F</td>\n",
       "      <td>27.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>15279.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.417</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ЧУВАШСКАЯ РЕСПУБЛИКА</td>\n",
       "      <td>...</td>\n",
       "      <td>729.000</td>\n",
       "      <td>233447841.000</td>\n",
       "      <td>0.174</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>640</td>\n",
       "      <td>28391.628</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76297</th>\n",
       "      <td>M</td>\n",
       "      <td>44.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>74322.000</td>\n",
       "      <td>10</td>\n",
       "      <td>6</td>\n",
       "      <td>0.428</td>\n",
       "      <td>GRD</td>\n",
       "      <td>САНКТ-ПЕТЕРБУРГ</td>\n",
       "      <td>...</td>\n",
       "      <td>1936.000</td>\n",
       "      <td>5523759684.000</td>\n",
       "      <td>0.183</td>\n",
       "      <td>8100000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5840</td>\n",
       "      <td>50687.023</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66924</th>\n",
       "      <td>F</td>\n",
       "      <td>26.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>14318.000</td>\n",
       "      <td>12</td>\n",
       "      <td>28</td>\n",
       "      <td>0.621</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>676.000</td>\n",
       "      <td>205005124.000</td>\n",
       "      <td>0.386</td>\n",
       "      <td>729000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>25.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3024</td>\n",
       "      <td>34645.748</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97023</th>\n",
       "      <td>F</td>\n",
       "      <td>54.000</td>\n",
       "      <td>DIV</td>\n",
       "      <td>SPC</td>\n",
       "      <td>21068.000</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.310</td>\n",
       "      <td>SCH</td>\n",
       "      <td>НИЖЕГОРОДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>2916.000</td>\n",
       "      <td>443860624.000</td>\n",
       "      <td>0.096</td>\n",
       "      <td>225000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>2602</td>\n",
       "      <td>33974.939</td>\n",
       "      <td>SCH + DIV</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>148262</th>\n",
       "      <td>F</td>\n",
       "      <td>36.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>13958.000</td>\n",
       "      <td>12</td>\n",
       "      <td>28</td>\n",
       "      <td>0.749</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ПЕРМСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>1296.000</td>\n",
       "      <td>194825764.000</td>\n",
       "      <td>0.561</td>\n",
       "      <td>289000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>2499</td>\n",
       "      <td>36624.497</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50236</th>\n",
       "      <td>F</td>\n",
       "      <td>29.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>19692.050</td>\n",
       "      <td>12</td>\n",
       "      <td>28</td>\n",
       "      <td>0.582</td>\n",
       "      <td>SCH</td>\n",
       "      <td>РЕСПУБЛИКА КОМИ</td>\n",
       "      <td>...</td>\n",
       "      <td>841.000</td>\n",
       "      <td>387776833.202</td>\n",
       "      <td>0.339</td>\n",
       "      <td>121000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>1290</td>\n",
       "      <td>44673.019</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20410</th>\n",
       "      <td>M</td>\n",
       "      <td>25.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>13039.000</td>\n",
       "      <td>13</td>\n",
       "      <td>2</td>\n",
       "      <td>0.378</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ИРКУТСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>625.000</td>\n",
       "      <td>170015521.000</td>\n",
       "      <td>0.143</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>169</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3022</td>\n",
       "      <td>37558.886</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121966</th>\n",
       "      <td>M</td>\n",
       "      <td>26.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>22289.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.624</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ПЕРМСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>676.000</td>\n",
       "      <td>496799521.000</td>\n",
       "      <td>0.389</td>\n",
       "      <td>625000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>2499</td>\n",
       "      <td>36624.497</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>105221</th>\n",
       "      <td>F</td>\n",
       "      <td>59.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>12160.000</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.401</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СВЕРДЛОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>3481.000</td>\n",
       "      <td>147865600.000</td>\n",
       "      <td>0.161</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5104</td>\n",
       "      <td>38225.178</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127949</th>\n",
       "      <td>M</td>\n",
       "      <td>26.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>49980.000</td>\n",
       "      <td>24</td>\n",
       "      <td>2</td>\n",
       "      <td>0.430</td>\n",
       "      <td>SCH</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>...</td>\n",
       "      <td>676.000</td>\n",
       "      <td>2498000400.000</td>\n",
       "      <td>0.185</td>\n",
       "      <td>4225000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>6479</td>\n",
       "      <td>62409.768</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127371</th>\n",
       "      <td>M</td>\n",
       "      <td>25.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>41174.000</td>\n",
       "      <td>10</td>\n",
       "      <td>3</td>\n",
       "      <td>0.427</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА БАШКОРТОСТАН</td>\n",
       "      <td>...</td>\n",
       "      <td>625.000</td>\n",
       "      <td>1695298276.000</td>\n",
       "      <td>0.182</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>4527</td>\n",
       "      <td>34429.306</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>110820</th>\n",
       "      <td>F</td>\n",
       "      <td>53.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>10860.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.635</td>\n",
       "      <td>SCH</td>\n",
       "      <td>КАЛУЖСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>2809.000</td>\n",
       "      <td>117939600.000</td>\n",
       "      <td>0.404</td>\n",
       "      <td>900000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>16.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>798</td>\n",
       "      <td>39051.223</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>157560</th>\n",
       "      <td>M</td>\n",
       "      <td>33.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>20223.000</td>\n",
       "      <td>10</td>\n",
       "      <td>3</td>\n",
       "      <td>0.316</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА БАШКОРТОСТАН</td>\n",
       "      <td>...</td>\n",
       "      <td>1089.000</td>\n",
       "      <td>408969729.000</td>\n",
       "      <td>0.100</td>\n",
       "      <td>6400000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>86000</td>\n",
       "      <td>4527</td>\n",
       "      <td>34429.306</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127214</th>\n",
       "      <td>F</td>\n",
       "      <td>29.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>15990.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.433</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ТАТАРСТАН</td>\n",
       "      <td>...</td>\n",
       "      <td>841.000</td>\n",
       "      <td>255680100.000</td>\n",
       "      <td>0.188</td>\n",
       "      <td>457960000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>16.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5368</td>\n",
       "      <td>36299.226</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>122482</th>\n",
       "      <td>F</td>\n",
       "      <td>32.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>28058.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.447</td>\n",
       "      <td>GRD</td>\n",
       "      <td>КРАСНОДАРСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>1024.000</td>\n",
       "      <td>787251364.000</td>\n",
       "      <td>0.200</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>16.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5859</td>\n",
       "      <td>37483.006</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83945</th>\n",
       "      <td>M</td>\n",
       "      <td>55.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>49472.000</td>\n",
       "      <td>10</td>\n",
       "      <td>31</td>\n",
       "      <td>0.334</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>3025.000</td>\n",
       "      <td>2447478784.000</td>\n",
       "      <td>0.111</td>\n",
       "      <td>6400000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>8864</td>\n",
       "      <td>53279.124</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81614</th>\n",
       "      <td>M</td>\n",
       "      <td>42.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>27887.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.430</td>\n",
       "      <td>GRD</td>\n",
       "      <td>САНКТ-ПЕТЕРБУРГ</td>\n",
       "      <td>...</td>\n",
       "      <td>1764.000</td>\n",
       "      <td>777684769.000</td>\n",
       "      <td>0.185</td>\n",
       "      <td>13689000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>16.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5840</td>\n",
       "      <td>50687.023</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24234</th>\n",
       "      <td>F</td>\n",
       "      <td>26.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>20468.000</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.294</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МУРМАНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>676.000</td>\n",
       "      <td>418939024.000</td>\n",
       "      <td>0.087</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>1002</td>\n",
       "      <td>49557.378</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121962</th>\n",
       "      <td>M</td>\n",
       "      <td>29.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>13818.000</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.386</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>...</td>\n",
       "      <td>841.000</td>\n",
       "      <td>190937124.000</td>\n",
       "      <td>0.149</td>\n",
       "      <td>5625000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>6479</td>\n",
       "      <td>62409.768</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15063</th>\n",
       "      <td>M</td>\n",
       "      <td>25.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>22668.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.403</td>\n",
       "      <td>SCH</td>\n",
       "      <td>КРАСНОДАРСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>625.000</td>\n",
       "      <td>513838224.000</td>\n",
       "      <td>0.162</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5859</td>\n",
       "      <td>37483.006</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>122853</th>\n",
       "      <td>M</td>\n",
       "      <td>43.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>15959.000</td>\n",
       "      <td>12</td>\n",
       "      <td>9</td>\n",
       "      <td>0.482</td>\n",
       "      <td>SCH</td>\n",
       "      <td>МОСКОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1849.000</td>\n",
       "      <td>254689681.000</td>\n",
       "      <td>0.232</td>\n",
       "      <td>6400000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>9.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>8864</td>\n",
       "      <td>53279.124</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64074</th>\n",
       "      <td>M</td>\n",
       "      <td>24.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>16389.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.554</td>\n",
       "      <td>GRD</td>\n",
       "      <td>КРАСНОДАРСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>576.000</td>\n",
       "      <td>268599321.000</td>\n",
       "      <td>0.307</td>\n",
       "      <td>3600000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>0.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5859</td>\n",
       "      <td>37483.006</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>150512</th>\n",
       "      <td>M</td>\n",
       "      <td>44.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>DIR</td>\n",
       "      <td>13889.000</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>0.366</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АЛТАЙСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>1936.000</td>\n",
       "      <td>192904321.000</td>\n",
       "      <td>0.134</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>16.000</td>\n",
       "      <td>60000</td>\n",
       "      <td>380</td>\n",
       "      <td>28905.887</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>156036</th>\n",
       "      <td>F</td>\n",
       "      <td>39.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>20406.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.516</td>\n",
       "      <td>SCH</td>\n",
       "      <td>СМОЛЕНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1521.000</td>\n",
       "      <td>416404836.000</td>\n",
       "      <td>0.266</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>688</td>\n",
       "      <td>29088.449</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>162237</th>\n",
       "      <td>M</td>\n",
       "      <td>34.000</td>\n",
       "      <td>DIV</td>\n",
       "      <td>SPC</td>\n",
       "      <td>16608.000</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>0.440</td>\n",
       "      <td>SCH</td>\n",
       "      <td>СВЕРДЛОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1156.000</td>\n",
       "      <td>275825664.000</td>\n",
       "      <td>0.194</td>\n",
       "      <td>900000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>5104</td>\n",
       "      <td>38225.178</td>\n",
       "      <td>SCH + DIV</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24478</th>\n",
       "      <td>F</td>\n",
       "      <td>24.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23664.000</td>\n",
       "      <td>4</td>\n",
       "      <td>25</td>\n",
       "      <td>0.187</td>\n",
       "      <td>GRD</td>\n",
       "      <td>ЯРОСЛАВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>576.000</td>\n",
       "      <td>559984896.000</td>\n",
       "      <td>0.035</td>\n",
       "      <td>676000000.000</td>\n",
       "      <td>16</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>648</td>\n",
       "      <td>34266.588</td>\n",
       "      <td>GRD + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12084</th>\n",
       "      <td>M</td>\n",
       "      <td>22.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>15248.000</td>\n",
       "      <td>12</td>\n",
       "      <td>22</td>\n",
       "      <td>0.676</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ПЕНЗЕНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>484.000</td>\n",
       "      <td>232501504.000</td>\n",
       "      <td>0.457</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>144</td>\n",
       "      <td>1.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>649</td>\n",
       "      <td>31304.746</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78434</th>\n",
       "      <td>F</td>\n",
       "      <td>27.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>60458.000</td>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>0.497</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЛЕНИНГРАДСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>729.000</td>\n",
       "      <td>3655169764.000</td>\n",
       "      <td>0.247</td>\n",
       "      <td>2450250000.000</td>\n",
       "      <td>324</td>\n",
       "      <td>9.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>2446</td>\n",
       "      <td>41985.454</td>\n",
       "      <td>SCH + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69901</th>\n",
       "      <td>M</td>\n",
       "      <td>29.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>UMN</td>\n",
       "      <td>70589.000</td>\n",
       "      <td>8</td>\n",
       "      <td>28</td>\n",
       "      <td>0.598</td>\n",
       "      <td>GRD</td>\n",
       "      <td>МОСКВА</td>\n",
       "      <td>...</td>\n",
       "      <td>841.000</td>\n",
       "      <td>4982806921.000</td>\n",
       "      <td>0.358</td>\n",
       "      <td>32400000000.000</td>\n",
       "      <td>64</td>\n",
       "      <td>9.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>6479</td>\n",
       "      <td>62409.768</td>\n",
       "      <td>GRD + MAR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149270</th>\n",
       "      <td>M</td>\n",
       "      <td>30.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>40321.110</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.768</td>\n",
       "      <td>SCH</td>\n",
       "      <td>МОСКОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>900.000</td>\n",
       "      <td>1625791911.632</td>\n",
       "      <td>0.589</td>\n",
       "      <td>1600000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>8864</td>\n",
       "      <td>53279.124</td>\n",
       "      <td>SCH + UNM</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>119522 rows × 28 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender    age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M 28.000            UNM          SPC   33579.000            10   \n",
       "143962      M 38.000            UNM          SPC   23511.000            10   \n",
       "146922      F 25.000            MAR          SPC   39990.000            24   \n",
       "63697       F 65.000            UNM          UMN    3490.000             6   \n",
       "54503       M 49.000            MAR          BIS   36358.000            10   \n",
       "115316      F 39.000            UNM          SPC   13209.000            10   \n",
       "16354       M 30.000            UNM          SPC   15192.050            12   \n",
       "98227       F 44.000            WID          SPC   27894.000            10   \n",
       "69607       F 33.000            MAR          SPC   16116.470            10   \n",
       "99745       F 30.000            UNM          SPC    3712.770             6   \n",
       "9710        F 52.000            UNM          SPC   58789.000            12   \n",
       "127187      F 28.000            UNM          SPC   53188.000            10   \n",
       "145418      F 39.000            MAR          SPC   32567.000            13   \n",
       "105210      F 45.000            UNM          UMN   36507.000            10   \n",
       "44006       M 24.000            UNM          SPC   16069.000            10   \n",
       "93178       M 44.000            MAR          UMN   46568.000            12   \n",
       "66790       F 31.000            UNM          SPC   11190.000            14   \n",
       "132148      F 55.000            DIV          SPC    7578.000            12   \n",
       "52656       F 43.000            CIV          SPC   30248.000            13   \n",
       "124358      M 41.000            MAR          SPC   10019.000            12   \n",
       "139466      M 35.000            MAR          SPC   48369.000            12   \n",
       "74846       F 33.000            UNM          SPC   44287.000            12   \n",
       "146802      F 29.000            UNM          DIR   42878.000            10   \n",
       "41451       M 37.000            MAR          SPC   17353.330            10   \n",
       "94502       F 47.000            WID          SPC   58789.000            18   \n",
       "13091       F 56.000            MAR          SPC   48834.000            10   \n",
       "40220       F 39.000            MAR          SPC   22889.000            12   \n",
       "98279       M 29.000            MAR          UMN   17704.550            12   \n",
       "51512       F 28.000            UNM          SPC    4990.000            12   \n",
       "169234      M 48.000            DIV          PNA   29278.000            14   \n",
       "...       ...    ...            ...          ...         ...           ...   \n",
       "68237       F 27.000            MAR          UMN   15279.000            10   \n",
       "76297       M 44.000            MAR          SPC   74322.000            10   \n",
       "66924       F 26.000            UNM          SPC   14318.000            12   \n",
       "97023       F 54.000            DIV          SPC   21068.000            10   \n",
       "148262      F 36.000            MAR          SPC   13958.000            12   \n",
       "50236       F 29.000            MAR          SPC   19692.050            12   \n",
       "20410       M 25.000            UNM          SPC   13039.000            13   \n",
       "121966      M 26.000            MAR          SPC   22289.000            10   \n",
       "105221      F 59.000            UNM          SPC   12160.000            10   \n",
       "127949      M 26.000            MAR          SPC   49980.000            24   \n",
       "127371      M 25.000            UNM          SPC   41174.000            10   \n",
       "110820      F 53.000            MAR          SPC   10860.000            10   \n",
       "157560      M 33.000            MAR          BIS   20223.000            10   \n",
       "127214      F 29.000            MAR          SPC   15990.000            12   \n",
       "122482      F 32.000            MAR          SPC   28058.000            12   \n",
       "83945       M 55.000            MAR          UMN   49472.000            10   \n",
       "81614       M 42.000            MAR          SPC   27887.000            12   \n",
       "24234       F 26.000            UNM          SPC   20468.000            10   \n",
       "121962      M 29.000            UNM          UMN   13818.000            10   \n",
       "15063       M 25.000            UNM          SPC   22668.000            12   \n",
       "122853      M 43.000            MAR          SPC   15959.000            12   \n",
       "64074       M 24.000            UNM          SPC   16389.000            10   \n",
       "150512      M 44.000            MAR          DIR   13889.000            12   \n",
       "156036      F 39.000            MAR          SPC   20406.000            10   \n",
       "162237      M 34.000            DIV          SPC   16608.000            10   \n",
       "24478       F 24.000            UNM          SPC   23664.000             4   \n",
       "12084       M 22.000            UNM          SPC   15248.000            12   \n",
       "78434       F 27.000            MAR          SPC   60458.000            18   \n",
       "69901       M 29.000            MAR          UMN   70589.000             8   \n",
       "149270      M 30.000            UNM          SPC   40321.110            10   \n",
       "\n",
       "       tariff_id  score_shk education                    living_region  \\\n",
       "53397         20      0.431       SCH                 АМУРСКАЯ ОБЛАСТЬ   \n",
       "143962        19      0.358       GRD              СТАВРОПОЛЬСКИЙ КРАЙ   \n",
       "146922        25      0.613       GRD               РОСТОВСКАЯ ОБЛАСТЬ   \n",
       "63697         18      0.371       GRD               РЕСПУБЛИКА ХАКАСИЯ   \n",
       "54503         28      0.645       SCH              ЧЕЛЯБИНСКАЯ ОБЛАСТЬ   \n",
       "115316         2      0.455       SCH         РЕСПУБЛИКА САХА (ЯКУТИЯ)   \n",
       "16354          2      0.452       SCH             РЕСПУБЛИКА ТАТАРСТАН   \n",
       "98227         19      0.493       SCH               РЕСПУБЛИКА КАРЕЛИЯ   \n",
       "69607          2      0.479       SCH              КЕМЕРОВСКАЯ ОБЛАСТЬ   \n",
       "99745         29      0.368       SCH            НИЖЕГОРОДСКАЯ ОБЛАСТЬ   \n",
       "9710          28      0.629       SCH            ВОЛГОГРАДСКАЯ ОБЛАСТЬ   \n",
       "127187        28      0.701       GRD                  ПРИМОРСКИЙ КРАЙ   \n",
       "145418         2      0.471       SCH  КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА   \n",
       "105210        19      0.309       GRD                КРАСНОЯРСКИЙ КРАЙ   \n",
       "44006         28      0.561       UGR          РЕСПУБЛИКА БАШКОРТОСТАН   \n",
       "93178          2      0.487       SCH             ЧУВАШСКАЯ РЕСПУБЛИКА   \n",
       "66790          2      0.381       SCH                 ТВЕРСКАЯ ОБЛАСТЬ   \n",
       "132148        25      0.517       SCH                РЯЗАНСКАЯ ОБЛАСТЬ   \n",
       "52656          2      0.326       SCH          РЕСПУБЛИКА БАШКОРТОСТАН   \n",
       "124358         2      0.375       SCH                           МОСКВА   \n",
       "139466         2      0.474       GRD               МОСКОВСКАЯ ОБЛАСТЬ   \n",
       "74846         18      0.574       GRD                           МОСКВА   \n",
       "146802         2      0.474       GRD                ИРКУТСКАЯ ОБЛАСТЬ   \n",
       "41451          2      0.488       SCH            ВОЛГОГРАДСКАЯ ОБЛАСТЬ   \n",
       "94502          2      0.464       SCH                           МОСКВА   \n",
       "13091         10      0.444       GRD                САМАРСКАЯ ОБЛАСТЬ   \n",
       "40220          2      0.409       SCH                 АМУРСКАЯ ОБЛАСТЬ   \n",
       "98279          2      0.381       GRD                   ОМСКАЯ ОБЛАСТЬ   \n",
       "51512          2      0.435       GRD          РЕСПУБЛИКА БАШКОРТОСТАН   \n",
       "169234         2      0.564       SCH              ВОРОНЕЖСКАЯ ОБЛАСТЬ   \n",
       "...          ...        ...       ...                              ...   \n",
       "68237         20      0.417       GRD             ЧУВАШСКАЯ РЕСПУБЛИКА   \n",
       "76297          6      0.428       GRD                  САНКТ-ПЕТЕРБУРГ   \n",
       "66924         28      0.621       GRD               РОСТОВСКАЯ ОБЛАСТЬ   \n",
       "97023          2      0.310       SCH            НИЖЕГОРОДСКАЯ ОБЛАСТЬ   \n",
       "148262        28      0.749       SCH                    ПЕРМСКИЙ КРАЙ   \n",
       "50236         28      0.582       SCH                  РЕСПУБЛИКА КОМИ   \n",
       "20410          2      0.378       GRD                ИРКУТСКАЯ ОБЛАСТЬ   \n",
       "121966        28      0.624       SCH                    ПЕРМСКИЙ КРАЙ   \n",
       "105221         2      0.401       GRD             СВЕРДЛОВСКАЯ ОБЛАСТЬ   \n",
       "127949         2      0.430       SCH                           МОСКВА   \n",
       "127371         3      0.427       GRD          РЕСПУБЛИКА БАШКОРТОСТАН   \n",
       "110820        28      0.635       SCH                КАЛУЖСКАЯ ОБЛАСТЬ   \n",
       "157560         3      0.316       GRD          РЕСПУБЛИКА БАШКОРТОСТАН   \n",
       "127214         2      0.433       GRD             РЕСПУБЛИКА ТАТАРСТАН   \n",
       "122482         2      0.447       GRD               КРАСНОДАРСКИЙ КРАЙ   \n",
       "83945         31      0.334       GRD               МОСКОВСКАЯ ОБЛАСТЬ   \n",
       "81614          2      0.430       GRD                  САНКТ-ПЕТЕРБУРГ   \n",
       "24234          2      0.294       GRD               МУРМАНСКАЯ ОБЛАСТЬ   \n",
       "121962         2      0.386       GRD                           МОСКВА   \n",
       "15063          2      0.403       SCH               КРАСНОДАРСКИЙ КРАЙ   \n",
       "122853         9      0.482       SCH               МОСКОВСКАЯ ОБЛАСТЬ   \n",
       "64074         28      0.554       GRD               КРАСНОДАРСКИЙ КРАЙ   \n",
       "150512         2      0.366       SCH                   АЛТАЙСКИЙ КРАЙ   \n",
       "156036        19      0.516       SCH               СМОЛЕНСКАЯ ОБЛАСТЬ   \n",
       "162237         2      0.440       SCH             СВЕРДЛОВСКАЯ ОБЛАСТЬ   \n",
       "24478         25      0.187       GRD              ЯРОСЛАВСКАЯ ОБЛАСТЬ   \n",
       "12084         22      0.676       SCH               ПЕНЗЕНСКАЯ ОБЛАСТЬ   \n",
       "78434          2      0.497       SCH            ЛЕНИНГРАДСКАЯ ОБЛАСТЬ   \n",
       "69901         28      0.598       GRD                           МОСКВА   \n",
       "149270        28      0.768       SCH               МОСКОВСКАЯ ОБЛАСТЬ   \n",
       "\n",
       "                   ...               age_sq  credit_sum_sq  score_sq  \\\n",
       "53397              ...              784.000 1127549241.000     0.186   \n",
       "143962             ...             1444.000  552767121.000     0.129   \n",
       "146922             ...              625.000 1599200100.000     0.376   \n",
       "63697              ...             4225.000   12180100.000     0.138   \n",
       "54503              ...             2401.000 1321904164.000     0.416   \n",
       "115316             ...             1521.000  174477681.000     0.207   \n",
       "16354              ...              900.000  230798383.202     0.204   \n",
       "98227              ...             1936.000  778075236.000     0.243   \n",
       "69607              ...             1089.000  259740605.261     0.230   \n",
       "99745              ...              900.000   13784661.073     0.135   \n",
       "9710               ...             2704.000 3456146521.000     0.396   \n",
       "127187             ...              784.000 2828963344.000     0.491   \n",
       "145418             ...             1521.000 1060609489.000     0.222   \n",
       "105210             ...             2025.000 1332761049.000     0.096   \n",
       "44006              ...              576.000  258212761.000     0.315   \n",
       "93178              ...             1936.000 2168578624.000     0.237   \n",
       "66790              ...              961.000  125216100.000     0.145   \n",
       "132148             ...             3025.000   57426084.000     0.267   \n",
       "52656              ...             1849.000  914941504.000     0.106   \n",
       "124358             ...             1681.000  100380361.000     0.141   \n",
       "139466             ...             1225.000 2339560161.000     0.224   \n",
       "74846              ...             1089.000 1961338369.000     0.329   \n",
       "146802             ...              841.000 1838522884.000     0.224   \n",
       "41451              ...             1369.000  301138062.089     0.238   \n",
       "94502              ...             2209.000 3456146521.000     0.215   \n",
       "13091              ...             3136.000 2384759556.000     0.198   \n",
       "40220              ...             1521.000  523906321.000     0.168   \n",
       "98279              ...              841.000  313451090.702     0.145   \n",
       "51512              ...              784.000   24900100.000     0.189   \n",
       "169234             ...             2304.000  857201284.000     0.318   \n",
       "...                ...                  ...            ...       ...   \n",
       "68237              ...              729.000  233447841.000     0.174   \n",
       "76297              ...             1936.000 5523759684.000     0.183   \n",
       "66924              ...              676.000  205005124.000     0.386   \n",
       "97023              ...             2916.000  443860624.000     0.096   \n",
       "148262             ...             1296.000  194825764.000     0.561   \n",
       "50236              ...              841.000  387776833.202     0.339   \n",
       "20410              ...              625.000  170015521.000     0.143   \n",
       "121966             ...              676.000  496799521.000     0.389   \n",
       "105221             ...             3481.000  147865600.000     0.161   \n",
       "127949             ...              676.000 2498000400.000     0.185   \n",
       "127371             ...              625.000 1695298276.000     0.182   \n",
       "110820             ...             2809.000  117939600.000     0.404   \n",
       "157560             ...             1089.000  408969729.000     0.100   \n",
       "127214             ...              841.000  255680100.000     0.188   \n",
       "122482             ...             1024.000  787251364.000     0.200   \n",
       "83945              ...             3025.000 2447478784.000     0.111   \n",
       "81614              ...             1764.000  777684769.000     0.185   \n",
       "24234              ...              676.000  418939024.000     0.087   \n",
       "121962             ...              841.000  190937124.000     0.149   \n",
       "15063              ...              625.000  513838224.000     0.162   \n",
       "122853             ...             1849.000  254689681.000     0.232   \n",
       "64074              ...              576.000  268599321.000     0.307   \n",
       "150512             ...             1936.000  192904321.000     0.134   \n",
       "156036             ...             1521.000  416404836.000     0.266   \n",
       "162237             ...             1156.000  275825664.000     0.194   \n",
       "24478              ...              576.000  559984896.000     0.035   \n",
       "12084              ...              484.000  232501504.000     0.457   \n",
       "78434              ...              729.000 3655169764.000     0.247   \n",
       "69901              ...              841.000 4982806921.000     0.358   \n",
       "149270             ...              900.000 1625791911.632     0.589   \n",
       "\n",
       "             income_sq  credit_month_sq  credit_count_sq  avrzarplata  \\\n",
       "53397   1296000000.000              100            4.000        63000   \n",
       "143962  2025000000.000              100            4.000        63000   \n",
       "146922  2500000000.000              576           36.000        63000   \n",
       "63697   1225000000.000               36           16.000        51000   \n",
       "54503   2500000000.000              100            4.000        86000   \n",
       "115316  3600000000.000              100            1.000        63000   \n",
       "16354    625000000.000              144            1.000        63000   \n",
       "98227   1814760000.000              100            0.000        63000   \n",
       "69607    400000000.000              100           16.000        63000   \n",
       "99745    400000000.000               36            9.000        63000   \n",
       "9710    1089000000.000              144            0.000        63000   \n",
       "127187  2704000000.000              100            1.000        63000   \n",
       "145418  1089000000.000              169            9.000        63000   \n",
       "105210  1225000000.000              100            0.000        51000   \n",
       "44006    576000000.000              100            0.000        63000   \n",
       "93178   1600000000.000              144            1.000        51000   \n",
       "66790    729000000.000              196           16.000        63000   \n",
       "132148   529000000.000              144            4.000        63000   \n",
       "52656    625000000.000              169            4.000        63000   \n",
       "124358  1225000000.000              144            9.000        63000   \n",
       "139466  8100000000.000              144            0.000        63000   \n",
       "74846   6400000000.000              144            9.000        63000   \n",
       "146802  4225000000.000              100            1.000        60000   \n",
       "41451    900000000.000              100            0.000        63000   \n",
       "94502   4096000000.000              324            1.000        63000   \n",
       "13091    484000000.000              100           16.000        63000   \n",
       "40220    625000000.000              144           16.000        63000   \n",
       "98279   1225000000.000              144            1.000        51000   \n",
       "51512    225000000.000              144            1.000        63000   \n",
       "169234   400000000.000              196            9.000        71000   \n",
       "...                ...              ...              ...          ...   \n",
       "68237   1225000000.000              100            4.000        51000   \n",
       "76297   8100000000.000              100            4.000        63000   \n",
       "66924    729000000.000              144           25.000        63000   \n",
       "97023    225000000.000              100            1.000        63000   \n",
       "148262   289000000.000              144            0.000        63000   \n",
       "50236    121000000.000              144            1.000        63000   \n",
       "20410   2500000000.000              169            1.000        63000   \n",
       "121966   625000000.000              100            4.000        63000   \n",
       "105221  1225000000.000              100            0.000        63000   \n",
       "127949  4225000000.000              576            0.000        63000   \n",
       "127371  2500000000.000              100            1.000        63000   \n",
       "110820   900000000.000              100           16.000        63000   \n",
       "157560  6400000000.000              100            1.000        86000   \n",
       "127214   457960000.000              144           16.000        63000   \n",
       "122482  1225000000.000              144           16.000        63000   \n",
       "83945   6400000000.000              100           16.000        51000   \n",
       "81614  13689000000.000              144           16.000        63000   \n",
       "24234   1225000000.000              100            4.000        63000   \n",
       "121962  5625000000.000              100            4.000        51000   \n",
       "15063   1225000000.000              144            4.000        63000   \n",
       "122853  6400000000.000              144            9.000        63000   \n",
       "64074   3600000000.000              100            0.000        63000   \n",
       "150512  2500000000.000              144           16.000        60000   \n",
       "156036  1225000000.000              100            1.000        63000   \n",
       "162237   900000000.000              100            1.000        63000   \n",
       "24478    676000000.000               16            1.000        63000   \n",
       "12084   1225000000.000              144            1.000        63000   \n",
       "78434   2450250000.000              324            9.000        63000   \n",
       "69901  32400000000.000               64            9.000        51000   \n",
       "149270  1600000000.000              100            4.000        63000   \n",
       "\n",
       "        region_cnt  region_mean_income  education + marital_status  \n",
       "53397          618           38026.071                   SCH + UNM  \n",
       "143962        3236           32589.184                   GRD + UNM  \n",
       "146922        3024           34645.748                   GRD + MAR  \n",
       "63697          344           33443.198                   GRD + UNM  \n",
       "54503         3620           34010.613                   SCH + MAR  \n",
       "115316        1281           55261.237                   SCH + UNM  \n",
       "16354         5368           36299.226                   SCH + UNM  \n",
       "98227          466           41057.567                   SCH + WID  \n",
       "69607         2066           31852.985                   SCH + MAR  \n",
       "99745         2602           33974.939                   SCH + UNM  \n",
       "9710          1596           31503.996                   SCH + UNM  \n",
       "127187         912           42266.414                   GRD + UNM  \n",
       "145418         460           33862.783                   SCH + MAR  \n",
       "105210        2181           41801.976                   GRD + UNM  \n",
       "44006         4527           34429.306                   UGR + UNM  \n",
       "93178          640           28391.628                   SCH + MAR  \n",
       "66790         1071           33812.550                   SCH + UNM  \n",
       "132148         499           33555.463                   SCH + DIV  \n",
       "52656         4527           34429.306                   SCH + CIV  \n",
       "124358        6479           62409.768                   SCH + MAR  \n",
       "139466        8864           53279.124                   GRD + MAR  \n",
       "74846         6479           62409.768                   GRD + UNM  \n",
       "146802        3022           37558.886                   GRD + UNM  \n",
       "41451         1596           31503.996                   SCH + MAR  \n",
       "94502         6479           62409.768                   SCH + WID  \n",
       "13091         3551           34925.862                   GRD + MAR  \n",
       "40220          618           38026.071                   SCH + MAR  \n",
       "98279          660           31604.333                   GRD + MAR  \n",
       "51512         4527           34429.306                   GRD + UNM  \n",
       "169234        1175           33642.059                   SCH + DIV  \n",
       "...            ...                 ...                         ...  \n",
       "68237          640           28391.628                   GRD + MAR  \n",
       "76297         5840           50687.023                   GRD + MAR  \n",
       "66924         3024           34645.748                   GRD + UNM  \n",
       "97023         2602           33974.939                   SCH + DIV  \n",
       "148262        2499           36624.497                   SCH + MAR  \n",
       "50236         1290           44673.019                   SCH + MAR  \n",
       "20410         3022           37558.886                   GRD + UNM  \n",
       "121966        2499           36624.497                   SCH + MAR  \n",
       "105221        5104           38225.178                   GRD + UNM  \n",
       "127949        6479           62409.768                   SCH + MAR  \n",
       "127371        4527           34429.306                   GRD + UNM  \n",
       "110820         798           39051.223                   SCH + MAR  \n",
       "157560        4527           34429.306                   GRD + MAR  \n",
       "127214        5368           36299.226                   GRD + MAR  \n",
       "122482        5859           37483.006                   GRD + MAR  \n",
       "83945         8864           53279.124                   GRD + MAR  \n",
       "81614         5840           50687.023                   GRD + MAR  \n",
       "24234         1002           49557.378                   GRD + UNM  \n",
       "121962        6479           62409.768                   GRD + UNM  \n",
       "15063         5859           37483.006                   SCH + UNM  \n",
       "122853        8864           53279.124                   SCH + MAR  \n",
       "64074         5859           37483.006                   GRD + UNM  \n",
       "150512         380           28905.887                   SCH + MAR  \n",
       "156036         688           29088.449                   SCH + MAR  \n",
       "162237        5104           38225.178                   SCH + DIV  \n",
       "24478          648           34266.588                   GRD + UNM  \n",
       "12084          649           31304.746                   SCH + UNM  \n",
       "78434         2446           41985.454                   SCH + MAR  \n",
       "69901         6479           62409.768                   GRD + MAR  \n",
       "149270        8864           53279.124                   SCH + UNM  \n",
       "\n",
       "[119522 rows x 28 columns]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# пишем функцию, которая создает переменную \n",
    "# в результате конъюнкции переменных \n",
    "# feature1 и feature2\n",
    "def make_conj(df, feature1, feature2):\n",
    "    df[feature1 + ' + ' + feature2] = df[feature1].astype(str) + ' + ' + df[feature2].astype(str)\n",
    "    return (df)\n",
    "make_conj(train, 'education', 'marital_status')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Создание количественной переменной, у которой каждое значение - усредненное значение нескольких количественных переменных"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>credit_sum_sq</th>\n",
       "      <th>score_sq</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "      <th>region_cnt</th>\n",
       "      <th>region_mean_income</th>\n",
       "      <th>education + marital_status</th>\n",
       "      <th>mean_age_tenure</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1127549241.000</td>\n",
       "      <td>0.186</td>\n",
       "      <td>1296000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>618</td>\n",
       "      <td>38026.071</td>\n",
       "      <td>SCH + UNM</td>\n",
       "      <td>19.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>552767121.000</td>\n",
       "      <td>0.129</td>\n",
       "      <td>2025000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3236</td>\n",
       "      <td>32589.184</td>\n",
       "      <td>GRD + UNM</td>\n",
       "      <td>24.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1599200100.000</td>\n",
       "      <td>0.376</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3024</td>\n",
       "      <td>34645.748</td>\n",
       "      <td>GRD + MAR</td>\n",
       "      <td>24.500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>12180100.000</td>\n",
       "      <td>0.138</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>344</td>\n",
       "      <td>33443.198</td>\n",
       "      <td>GRD + UNM</td>\n",
       "      <td>35.500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1321904164.000</td>\n",
       "      <td>0.416</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>86000</td>\n",
       "      <td>3620</td>\n",
       "      <td>34010.613</td>\n",
       "      <td>SCH + MAR</td>\n",
       "      <td>29.500</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 29 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender    age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M 28.000            UNM          SPC   33579.000            10   \n",
       "143962      M 38.000            UNM          SPC   23511.000            10   \n",
       "146922      F 25.000            MAR          SPC   39990.000            24   \n",
       "63697       F 65.000            UNM          UMN    3490.000             6   \n",
       "54503       M 49.000            MAR          BIS   36358.000            10   \n",
       "\n",
       "       tariff_id  score_shk education        living_region       ...         \\\n",
       "53397         20      0.431       SCH     АМУРСКАЯ ОБЛАСТЬ       ...          \n",
       "143962        19      0.358       GRD  СТАВРОПОЛЬСКИЙ КРАЙ       ...          \n",
       "146922        25      0.613       GRD   РОСТОВСКАЯ ОБЛАСТЬ       ...          \n",
       "63697         18      0.371       GRD   РЕСПУБЛИКА ХАКАСИЯ       ...          \n",
       "54503         28      0.645       SCH  ЧЕЛЯБИНСКАЯ ОБЛАСТЬ       ...          \n",
       "\n",
       "        credit_sum_sq  score_sq      income_sq credit_month_sq  \\\n",
       "53397  1127549241.000     0.186 1296000000.000             100   \n",
       "143962  552767121.000     0.129 2025000000.000             100   \n",
       "146922 1599200100.000     0.376 2500000000.000             576   \n",
       "63697    12180100.000     0.138 1225000000.000              36   \n",
       "54503  1321904164.000     0.416 2500000000.000             100   \n",
       "\n",
       "        credit_count_sq  avrzarplata  region_cnt  region_mean_income  \\\n",
       "53397             4.000        63000         618           38026.071   \n",
       "143962            4.000        63000        3236           32589.184   \n",
       "146922           36.000        63000        3024           34645.748   \n",
       "63697            16.000        51000         344           33443.198   \n",
       "54503             4.000        86000        3620           34010.613   \n",
       "\n",
       "        education + marital_status  mean_age_tenure  \n",
       "53397                    SCH + UNM           19.000  \n",
       "143962                   GRD + UNM           24.000  \n",
       "146922                   GRD + MAR           24.500  \n",
       "63697                    GRD + UNM           35.500  \n",
       "54503                    SCH + MAR           29.500  \n",
       "\n",
       "[5 rows x 29 columns]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# создаем переменную mean_age_tenure, у которой \n",
    "# каждое значение - усредненное значение \n",
    "# переменных age и credit_month \n",
    "train['mean_age_tenure'] = train[['age', 'credit_month']].mean(axis=1)\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Категоризация (биннинг) количественной переменной"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Категоризация на основе интервалов, заданных вручную"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "scrolled": false
   },
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>score_sq</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "      <th>region_cnt</th>\n",
       "      <th>region_mean_income</th>\n",
       "      <th>education + marital_status</th>\n",
       "      <th>mean_age_tenure</th>\n",
       "      <th>incomecat</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.186</td>\n",
       "      <td>1296000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>618</td>\n",
       "      <td>38026.071</td>\n",
       "      <td>SCH + UNM</td>\n",
       "      <td>19.000</td>\n",
       "      <td>Low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.129</td>\n",
       "      <td>2025000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3236</td>\n",
       "      <td>32589.184</td>\n",
       "      <td>GRD + UNM</td>\n",
       "      <td>24.000</td>\n",
       "      <td>Low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.376</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3024</td>\n",
       "      <td>34645.748</td>\n",
       "      <td>GRD + MAR</td>\n",
       "      <td>24.500</td>\n",
       "      <td>Low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.138</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>344</td>\n",
       "      <td>33443.198</td>\n",
       "      <td>GRD + UNM</td>\n",
       "      <td>35.500</td>\n",
       "      <td>Low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>0.416</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>86000</td>\n",
       "      <td>3620</td>\n",
       "      <td>34010.613</td>\n",
       "      <td>SCH + MAR</td>\n",
       "      <td>29.500</td>\n",
       "      <td>Low</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 30 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender    age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M 28.000            UNM          SPC   33579.000            10   \n",
       "143962      M 38.000            UNM          SPC   23511.000            10   \n",
       "146922      F 25.000            MAR          SPC   39990.000            24   \n",
       "63697       F 65.000            UNM          UMN    3490.000             6   \n",
       "54503       M 49.000            MAR          BIS   36358.000            10   \n",
       "\n",
       "       tariff_id  score_shk education        living_region    ...      \\\n",
       "53397         20      0.431       SCH     АМУРСКАЯ ОБЛАСТЬ    ...       \n",
       "143962        19      0.358       GRD  СТАВРОПОЛЬСКИЙ КРАЙ    ...       \n",
       "146922        25      0.613       GRD   РОСТОВСКАЯ ОБЛАСТЬ    ...       \n",
       "63697         18      0.371       GRD   РЕСПУБЛИКА ХАКАСИЯ    ...       \n",
       "54503         28      0.645       SCH  ЧЕЛЯБИНСКАЯ ОБЛАСТЬ    ...       \n",
       "\n",
       "        score_sq      income_sq  credit_month_sq credit_count_sq  avrzarplata  \\\n",
       "53397      0.186 1296000000.000              100           4.000        63000   \n",
       "143962     0.129 2025000000.000              100           4.000        63000   \n",
       "146922     0.376 2500000000.000              576          36.000        63000   \n",
       "63697      0.138 1225000000.000               36          16.000        51000   \n",
       "54503      0.416 2500000000.000              100           4.000        86000   \n",
       "\n",
       "        region_cnt  region_mean_income  education + marital_status  \\\n",
       "53397          618           38026.071                   SCH + UNM   \n",
       "143962        3236           32589.184                   GRD + UNM   \n",
       "146922        3024           34645.748                   GRD + MAR   \n",
       "63697          344           33443.198                   GRD + UNM   \n",
       "54503         3620           34010.613                   SCH + MAR   \n",
       "\n",
       "        mean_age_tenure  incomecat  \n",
       "53397            19.000        Low  \n",
       "143962           24.000        Low  \n",
       "146922           24.500        Low  \n",
       "63697            35.500        Low  \n",
       "54503            29.500        Low  \n",
       "\n",
       "[5 rows x 30 columns]"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# задаем точки, в которых будут находится границы категорий \n",
    "# (до 50000, от 50000 до 200000, от 200000 и выше) \n",
    "bins = [-np.inf, 50000, 200000, np.inf]\n",
    "# задаем метки для категорий будущей переменной\n",
    "group_names = ['Low', 'Average', 'High']\n",
    "# осуществляем биннинг переменной monthly_income \n",
    "# и записываем результаты в новую переменную incomecat\n",
    "train['incomecat'] = pd.cut(train['monthly_income'], bins, labels=group_names)\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Категоризация на основе децилей"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "scrolled": true
   },
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "      <th>region_cnt</th>\n",
       "      <th>region_mean_income</th>\n",
       "      <th>education + marital_status</th>\n",
       "      <th>mean_age_tenure</th>\n",
       "      <th>incomecat</th>\n",
       "      <th>income_decile</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>1296000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>618</td>\n",
       "      <td>38026.071</td>\n",
       "      <td>SCH + UNM</td>\n",
       "      <td>19.000</td>\n",
       "      <td>Low</td>\n",
       "      <td>(35000.0, 40000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>2025000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3236</td>\n",
       "      <td>32589.184</td>\n",
       "      <td>GRD + UNM</td>\n",
       "      <td>24.000</td>\n",
       "      <td>Low</td>\n",
       "      <td>(40000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3024</td>\n",
       "      <td>34645.748</td>\n",
       "      <td>GRD + MAR</td>\n",
       "      <td>24.500</td>\n",
       "      <td>Low</td>\n",
       "      <td>(45000.0, 50000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>344</td>\n",
       "      <td>33443.198</td>\n",
       "      <td>GRD + UNM</td>\n",
       "      <td>35.500</td>\n",
       "      <td>Low</td>\n",
       "      <td>(30000.0, 35000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>86000</td>\n",
       "      <td>3620</td>\n",
       "      <td>34010.613</td>\n",
       "      <td>SCH + MAR</td>\n",
       "      <td>29.500</td>\n",
       "      <td>Low</td>\n",
       "      <td>(45000.0, 50000.0]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 31 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender    age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M 28.000            UNM          SPC   33579.000            10   \n",
       "143962      M 38.000            UNM          SPC   23511.000            10   \n",
       "146922      F 25.000            MAR          SPC   39990.000            24   \n",
       "63697       F 65.000            UNM          UMN    3490.000             6   \n",
       "54503       M 49.000            MAR          BIS   36358.000            10   \n",
       "\n",
       "       tariff_id  score_shk education        living_region  \\\n",
       "53397         20      0.431       SCH     АМУРСКАЯ ОБЛАСТЬ   \n",
       "143962        19      0.358       GRD  СТАВРОПОЛЬСКИЙ КРАЙ   \n",
       "146922        25      0.613       GRD   РОСТОВСКАЯ ОБЛАСТЬ   \n",
       "63697         18      0.371       GRD   РЕСПУБЛИКА ХАКАСИЯ   \n",
       "54503         28      0.645       SCH  ЧЕЛЯБИНСКАЯ ОБЛАСТЬ   \n",
       "\n",
       "               ...              income_sq  credit_month_sq  credit_count_sq  \\\n",
       "53397          ...         1296000000.000              100            4.000   \n",
       "143962         ...         2025000000.000              100            4.000   \n",
       "146922         ...         2500000000.000              576           36.000   \n",
       "63697          ...         1225000000.000               36           16.000   \n",
       "54503          ...         2500000000.000              100            4.000   \n",
       "\n",
       "       avrzarplata  region_cnt  region_mean_income  \\\n",
       "53397        63000         618           38026.071   \n",
       "143962       63000        3236           32589.184   \n",
       "146922       63000        3024           34645.748   \n",
       "63697        51000         344           33443.198   \n",
       "54503        86000        3620           34010.613   \n",
       "\n",
       "        education + marital_status  mean_age_tenure  incomecat  \\\n",
       "53397                    SCH + UNM           19.000        Low   \n",
       "143962                   GRD + UNM           24.000        Low   \n",
       "146922                   GRD + MAR           24.500        Low   \n",
       "63697                    GRD + UNM           35.500        Low   \n",
       "54503                    SCH + MAR           29.500        Low   \n",
       "\n",
       "             income_decile  \n",
       "53397   (35000.0, 40000.0]  \n",
       "143962  (40000.0, 45000.0]  \n",
       "146922  (45000.0, 50000.0]  \n",
       "63697   (30000.0, 35000.0]  \n",
       "54503   (45000.0, 50000.0]  \n",
       "\n",
       "[5 rows x 31 columns]"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# осуществляем биннинг переменной monthly_income \n",
    "# на основе децилей и записываем результаты \n",
    "# в новую переменную income_decile\n",
    "train['income_decile'] = pd.qcut(train['monthly_income'], 10)\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Создание бинарной переменной на основе значений количественной переменной"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "scrolled": true
   },
   "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>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>job_position</th>\n",
       "      <th>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>tariff_id</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>education</th>\n",
       "      <th>living_region</th>\n",
       "      <th>...</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>avrzarplata</th>\n",
       "      <th>region_cnt</th>\n",
       "      <th>region_mean_income</th>\n",
       "      <th>education + marital_status</th>\n",
       "      <th>mean_age_tenure</th>\n",
       "      <th>incomecat</th>\n",
       "      <th>income_decile</th>\n",
       "      <th>retired</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>M</td>\n",
       "      <td>28.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>0.431</td>\n",
       "      <td>SCH</td>\n",
       "      <td>АМУРСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>618</td>\n",
       "      <td>38026.071</td>\n",
       "      <td>SCH + UNM</td>\n",
       "      <td>19.000</td>\n",
       "      <td>Low</td>\n",
       "      <td>(35000.0, 40000.0]</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>M</td>\n",
       "      <td>38.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>SPC</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>0.358</td>\n",
       "      <td>GRD</td>\n",
       "      <td>СТАВРОПОЛЬСКИЙ КРАЙ</td>\n",
       "      <td>...</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3236</td>\n",
       "      <td>32589.184</td>\n",
       "      <td>GRD + UNM</td>\n",
       "      <td>24.000</td>\n",
       "      <td>Low</td>\n",
       "      <td>(40000.0, 45000.0]</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>F</td>\n",
       "      <td>25.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>SPC</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>25</td>\n",
       "      <td>0.613</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РОСТОВСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>63000</td>\n",
       "      <td>3024</td>\n",
       "      <td>34645.748</td>\n",
       "      <td>GRD + MAR</td>\n",
       "      <td>24.500</td>\n",
       "      <td>Low</td>\n",
       "      <td>(45000.0, 50000.0]</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>F</td>\n",
       "      <td>65.000</td>\n",
       "      <td>UNM</td>\n",
       "      <td>UMN</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>0.371</td>\n",
       "      <td>GRD</td>\n",
       "      <td>РЕСПУБЛИКА ХАКАСИЯ</td>\n",
       "      <td>...</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>51000</td>\n",
       "      <td>344</td>\n",
       "      <td>33443.198</td>\n",
       "      <td>GRD + UNM</td>\n",
       "      <td>35.500</td>\n",
       "      <td>Low</td>\n",
       "      <td>(30000.0, 35000.0]</td>\n",
       "      <td>Yes</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>M</td>\n",
       "      <td>49.000</td>\n",
       "      <td>MAR</td>\n",
       "      <td>BIS</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>28</td>\n",
       "      <td>0.645</td>\n",
       "      <td>SCH</td>\n",
       "      <td>ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</td>\n",
       "      <td>...</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>86000</td>\n",
       "      <td>3620</td>\n",
       "      <td>34010.613</td>\n",
       "      <td>SCH + MAR</td>\n",
       "      <td>29.500</td>\n",
       "      <td>Low</td>\n",
       "      <td>(45000.0, 50000.0]</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 32 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender    age marital_status job_position  credit_sum  credit_month  \\\n",
       "53397       M 28.000            UNM          SPC   33579.000            10   \n",
       "143962      M 38.000            UNM          SPC   23511.000            10   \n",
       "146922      F 25.000            MAR          SPC   39990.000            24   \n",
       "63697       F 65.000            UNM          UMN    3490.000             6   \n",
       "54503       M 49.000            MAR          BIS   36358.000            10   \n",
       "\n",
       "       tariff_id  score_shk education        living_region   ...     \\\n",
       "53397         20      0.431       SCH     АМУРСКАЯ ОБЛАСТЬ   ...      \n",
       "143962        19      0.358       GRD  СТАВРОПОЛЬСКИЙ КРАЙ   ...      \n",
       "146922        25      0.613       GRD   РОСТОВСКАЯ ОБЛАСТЬ   ...      \n",
       "63697         18      0.371       GRD   РЕСПУБЛИКА ХАКАСИЯ   ...      \n",
       "54503         28      0.645       SCH  ЧЕЛЯБИНСКАЯ ОБЛАСТЬ   ...      \n",
       "\n",
       "        credit_month_sq  credit_count_sq  avrzarplata region_cnt  \\\n",
       "53397               100            4.000        63000        618   \n",
       "143962              100            4.000        63000       3236   \n",
       "146922              576           36.000        63000       3024   \n",
       "63697                36           16.000        51000        344   \n",
       "54503               100            4.000        86000       3620   \n",
       "\n",
       "        region_mean_income  education + marital_status  mean_age_tenure  \\\n",
       "53397            38026.071                   SCH + UNM           19.000   \n",
       "143962           32589.184                   GRD + UNM           24.000   \n",
       "146922           34645.748                   GRD + MAR           24.500   \n",
       "63697            33443.198                   GRD + UNM           35.500   \n",
       "54503            34010.613                   SCH + MAR           29.500   \n",
       "\n",
       "        incomecat       income_decile  retired  \n",
       "53397         Low  (35000.0, 40000.0]       No  \n",
       "143962        Low  (40000.0, 45000.0]       No  \n",
       "146922        Low  (45000.0, 50000.0]       No  \n",
       "63697         Low  (30000.0, 35000.0]      Yes  \n",
       "54503         Low  (45000.0, 50000.0]       No  \n",
       "\n",
       "[5 rows x 32 columns]"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# создаем новую переменную retired, которая принимает \n",
    "# значение \"Yes\", если значение переменной age больше 60, \n",
    "# и значение \"No\" в противном случае\n",
    "train['retired'] = np.where(train['age']>=60, 'Yes', 'No')\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# удаляем переменные, созданные в ходе наших \"экспериментов\"\n",
    "train.drop(['avrzarplata', 'region_cnt', 'region_mean_income', \n",
    "            'education + marital_status', 'mean_age_tenure', 'incomecat', \n",
    "            'income_decile', 'retired'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 119522 entries, 53397 to 149270\n",
      "Data columns (total 24 columns):\n",
      "gender                  119522 non-null object\n",
      "age                     119522 non-null float64\n",
      "marital_status          119522 non-null object\n",
      "job_position            119522 non-null object\n",
      "credit_sum              119522 non-null float64\n",
      "credit_month            119522 non-null int64\n",
      "tariff_id               119522 non-null object\n",
      "score_shk               119522 non-null float64\n",
      "education               119522 non-null object\n",
      "living_region           119522 non-null object\n",
      "monthly_income          119522 non-null float64\n",
      "credit_count            119522 non-null float64\n",
      "overdue_credit_count    119522 non-null float64\n",
      "open_account_flg        119522 non-null object\n",
      "tariff                  119522 non-null int32\n",
      "paym                    119522 non-null float64\n",
      "pti                     119522 non-null float64\n",
      "tariff_sq               119522 non-null int32\n",
      "age_sq                  119522 non-null float64\n",
      "credit_sum_sq           119522 non-null float64\n",
      "score_sq                119522 non-null float64\n",
      "income_sq               119522 non-null float64\n",
      "credit_month_sq         119522 non-null int64\n",
      "credit_count_sq         119522 non-null float64\n",
      "dtypes: float64(13), int32(2), int64(2), object(7)\n",
      "memory usage: 21.9+ MB\n",
      "None\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 51224 entries, 0 to 170745\n",
      "Data columns (total 24 columns):\n",
      "gender                  51224 non-null object\n",
      "age                     51224 non-null float64\n",
      "marital_status          51224 non-null object\n",
      "job_position            51224 non-null object\n",
      "credit_sum              51224 non-null float64\n",
      "credit_month            51224 non-null int64\n",
      "tariff_id               51224 non-null object\n",
      "score_shk               51224 non-null float64\n",
      "education               51224 non-null object\n",
      "living_region           51224 non-null object\n",
      "monthly_income          51224 non-null float64\n",
      "credit_count            51224 non-null float64\n",
      "overdue_credit_count    51224 non-null float64\n",
      "open_account_flg        51224 non-null object\n",
      "tariff                  51224 non-null int32\n",
      "paym                    51224 non-null float64\n",
      "pti                     51224 non-null float64\n",
      "tariff_sq               51224 non-null int32\n",
      "age_sq                  51224 non-null float64\n",
      "credit_sum_sq           51224 non-null float64\n",
      "score_sq                51224 non-null float64\n",
      "income_sq               51224 non-null float64\n",
      "credit_month_sq         51224 non-null int64\n",
      "credit_count_sq         51224 non-null float64\n",
      "dtypes: float64(13), int32(2), int64(2), object(7)\n",
      "memory usage: 9.4+ MB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "# убеждаемся в отсутствии пропусков в переменных, а также \n",
    "# в одинаковом количестве переменных в обучающей \n",
    "# и контрольной выборках\n",
    "print(train.info())\n",
    "print(test.info())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Исходные переменные:\n",
      " ['gender', 'age', 'marital_status', 'job_position', 'credit_sum', 'credit_month', 'tariff_id', 'score_shk', 'education', 'living_region', 'monthly_income', 'credit_count', 'overdue_credit_count', 'open_account_flg', 'tariff', 'paym', 'pti', 'tariff_sq', 'age_sq', 'credit_sum_sq', 'score_sq', 'income_sq', 'credit_month_sq', 'credit_count_sq'] \n",
      "\n",
      "Переменные после get_dummies:\n",
      " ['age', 'credit_sum', 'credit_month', 'score_shk', 'monthly_income', 'credit_count', 'overdue_credit_count', 'tariff', 'paym', 'pti', 'tariff_sq', 'age_sq', 'credit_sum_sq', 'score_sq', 'income_sq', 'credit_month_sq', 'credit_count_sq', 'gender_F', 'gender_M', 'marital_status_CIV', 'marital_status_DIV', 'marital_status_MAR', 'marital_status_UNM', 'marital_status_WID', 'job_position_ATP', 'job_position_BIS', 'job_position_BIU', 'job_position_DIR', 'job_position_INP', 'job_position_NOR', 'job_position_OTHER', 'job_position_PNA', 'job_position_PNI', 'job_position_SPC', 'job_position_UMN', 'job_position_WOI', 'job_position_WRK', 'job_position_WRP', 'tariff_id_1', 'tariff_id_2', 'tariff_id_3', 'tariff_id_4', 'tariff_id_6', 'tariff_id_7', 'tariff_id_8', 'tariff_id_9', 'tariff_id_10', 'tariff_id_11', 'tariff_id_12', 'tariff_id_13', 'tariff_id_18', 'tariff_id_19', 'tariff_id_20', 'tariff_id_21', 'tariff_id_22', 'tariff_id_23', 'tariff_id_25', 'tariff_id_28', 'tariff_id_29', 'tariff_id_30', 'tariff_id_31', 'tariff_id_32', 'tariff_id_99', 'education_ACD', 'education_GRD', 'education_PGR', 'education_SCH', 'education_UGR', 'living_region_OTHER', 'living_region_nan', 'living_region_АЛТАЙСКИЙ КРАЙ', 'living_region_АМУРСКАЯ ОБЛАСТЬ', 'living_region_АРХАНГЕЛЬСКАЯ ОБЛАСТЬ', 'living_region_АСТРАХАНСКАЯ ОБЛАСТЬ', 'living_region_БЕЛГОРОДСКАЯ ОБЛАСТЬ', 'living_region_БРЯНСКАЯ ОБЛАСТЬ', 'living_region_ВЛАДИМИРСКАЯ ОБЛАСТЬ', 'living_region_ВОЛГОГРАДСКАЯ ОБЛАСТЬ', 'living_region_ВОЛОГОДСКАЯ ОБЛАСТЬ', 'living_region_ВОРОНЕЖСКАЯ ОБЛАСТЬ', 'living_region_ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ', 'living_region_ЗАБАЙКАЛЬСКИЙ КРАЙ', 'living_region_ИВАНОВСКАЯ ОБЛАСТЬ', 'living_region_ИРКУТСКАЯ ОБЛАСТЬ', 'living_region_КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА', 'living_region_КАЛИНИНГРАДСКАЯ ОБЛАСТЬ', 'living_region_КАЛУЖСКАЯ ОБЛАСТЬ', 'living_region_КАМЧАТСКИЙ КРАЙ', 'living_region_КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА', 'living_region_КЕМЕРОВСКАЯ ОБЛАСТЬ', 'living_region_КИРОВСКАЯ ОБЛАСТЬ', 'living_region_КОСТРОМСКАЯ ОБЛАСТЬ', 'living_region_КРАСНОДАРСКИЙ КРАЙ', 'living_region_КРАСНОЯРСКИЙ КРАЙ', 'living_region_КУРГАНСКАЯ ОБЛАСТЬ', 'living_region_КУРСКАЯ ОБЛАСТЬ', 'living_region_ЛЕНИНГРАДСКАЯ ОБЛАСТЬ', 'living_region_ЛИПЕЦКАЯ ОБЛАСТЬ', 'living_region_МАГАДАНСКАЯ ОБЛАСТЬ', 'living_region_МОСКВА', 'living_region_МОСКОВСКАЯ ОБЛАСТЬ', 'living_region_МУРМАНСКАЯ ОБЛАСТЬ', 'living_region_НИЖЕГОРОДСКАЯ ОБЛАСТЬ', 'living_region_НОВГОРОДСКАЯ ОБЛАСТЬ', 'living_region_НОВОСИБИРСКАЯ ОБЛАСТЬ', 'living_region_ОМСКАЯ ОБЛАСТЬ', 'living_region_ОРЕНБУРГСКАЯ ОБЛАСТЬ', 'living_region_ОРЛОВСКАЯ ОБЛАСТЬ', 'living_region_ПЕНЗЕНСКАЯ ОБЛАСТЬ', 'living_region_ПЕРМСКИЙ КРАЙ', 'living_region_ПРИМОРСКИЙ КРАЙ', 'living_region_ПСКОВСКАЯ ОБЛАСТЬ', 'living_region_РЕСПУБЛИКА АДЫГЕЯ', 'living_region_РЕСПУБЛИКА АЛТАЙ', 'living_region_РЕСПУБЛИКА БАШКОРТОСТАН', 'living_region_РЕСПУБЛИКА БУРЯТИЯ', 'living_region_РЕСПУБЛИКА ДАГЕСТАН', 'living_region_РЕСПУБЛИКА КАЛМЫКИЯ', 'living_region_РЕСПУБЛИКА КАРЕЛИЯ', 'living_region_РЕСПУБЛИКА КОМИ', 'living_region_РЕСПУБЛИКА МАРИЙ ЭЛ', 'living_region_РЕСПУБЛИКА МОРДОВИЯ', 'living_region_РЕСПУБЛИКА САХА (ЯКУТИЯ)', 'living_region_РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ', 'living_region_РЕСПУБЛИКА ТАТАРСТАН', 'living_region_РЕСПУБЛИКА ТЫВА', 'living_region_РЕСПУБЛИКА ХАКАСИЯ', 'living_region_РОСТОВСКАЯ ОБЛАСТЬ', 'living_region_РЯЗАНСКАЯ ОБЛАСТЬ', 'living_region_САМАРСКАЯ ОБЛАСТЬ', 'living_region_САНКТ-ПЕТЕРБУРГ', 'living_region_САРАТОВСКАЯ ОБЛАСТЬ', 'living_region_САХАЛИНСКАЯ ОБЛАСТЬ', 'living_region_СВЕРДЛОВСКАЯ ОБЛАСТЬ', 'living_region_СМОЛЕНСКАЯ ОБЛАСТЬ', 'living_region_СТАВРОПОЛЬСКИЙ КРАЙ', 'living_region_ТАМБОВСКАЯ ОБЛАСТЬ', 'living_region_ТВЕРСКАЯ ОБЛАСТЬ', 'living_region_ТОМСКАЯ ОБЛАСТЬ', 'living_region_ТУЛЬСКАЯ ОБЛАСТЬ', 'living_region_ТЮМЕНСКАЯ ОБЛАСТЬ', 'living_region_УДМУРТСКАЯ РЕСПУБЛИКА', 'living_region_УЛЬЯНОВСКАЯ ОБЛАСТЬ', 'living_region_ХАБАРОВСКИЙ КРАЙ', 'living_region_ЧЕЛЯБИНСКАЯ ОБЛАСТЬ', 'living_region_ЧУВАШСКАЯ РЕСПУБЛИКА', 'living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ', 'open_account_flg_0', 'open_account_flg_1']\n",
      "Исходные переменные:\n",
      " ['gender', 'age', 'marital_status', 'job_position', 'credit_sum', 'credit_month', 'tariff_id', 'score_shk', 'education', 'living_region', 'monthly_income', 'credit_count', 'overdue_credit_count', 'open_account_flg', 'tariff', 'paym', 'pti', 'tariff_sq', 'age_sq', 'credit_sum_sq', 'score_sq', 'income_sq', 'credit_month_sq', 'credit_count_sq'] \n",
      "\n",
      "Переменные после get_dummies:\n",
      " ['age', 'credit_sum', 'credit_month', 'score_shk', 'monthly_income', 'credit_count', 'overdue_credit_count', 'tariff', 'paym', 'pti', 'tariff_sq', 'age_sq', 'credit_sum_sq', 'score_sq', 'income_sq', 'credit_month_sq', 'credit_count_sq', 'gender_F', 'gender_M', 'marital_status_CIV', 'marital_status_DIV', 'marital_status_MAR', 'marital_status_UNM', 'marital_status_WID', 'job_position_ATP', 'job_position_BIS', 'job_position_BIU', 'job_position_DIR', 'job_position_INP', 'job_position_NOR', 'job_position_OTHER', 'job_position_PNA', 'job_position_PNI', 'job_position_SPC', 'job_position_UMN', 'job_position_WOI', 'job_position_WRK', 'job_position_WRP', 'tariff_id_1', 'tariff_id_2', 'tariff_id_3', 'tariff_id_4', 'tariff_id_6', 'tariff_id_7', 'tariff_id_8', 'tariff_id_9', 'tariff_id_10', 'tariff_id_11', 'tariff_id_12', 'tariff_id_13', 'tariff_id_18', 'tariff_id_19', 'tariff_id_20', 'tariff_id_21', 'tariff_id_22', 'tariff_id_23', 'tariff_id_25', 'tariff_id_28', 'tariff_id_29', 'tariff_id_30', 'tariff_id_31', 'tariff_id_32', 'tariff_id_99', 'education_ACD', 'education_GRD', 'education_PGR', 'education_SCH', 'education_UGR', 'living_region_OTHER', 'living_region_nan', 'living_region_АЛТАЙСКИЙ КРАЙ', 'living_region_АМУРСКАЯ ОБЛАСТЬ', 'living_region_АРХАНГЕЛЬСКАЯ ОБЛАСТЬ', 'living_region_АСТРАХАНСКАЯ ОБЛАСТЬ', 'living_region_БЕЛГОРОДСКАЯ ОБЛАСТЬ', 'living_region_БРЯНСКАЯ ОБЛАСТЬ', 'living_region_ВЛАДИМИРСКАЯ ОБЛАСТЬ', 'living_region_ВОЛГОГРАДСКАЯ ОБЛАСТЬ', 'living_region_ВОЛОГОДСКАЯ ОБЛАСТЬ', 'living_region_ВОРОНЕЖСКАЯ ОБЛАСТЬ', 'living_region_ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ', 'living_region_ЗАБАЙКАЛЬСКИЙ КРАЙ', 'living_region_ИВАНОВСКАЯ ОБЛАСТЬ', 'living_region_ИРКУТСКАЯ ОБЛАСТЬ', 'living_region_КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА', 'living_region_КАЛИНИНГРАДСКАЯ ОБЛАСТЬ', 'living_region_КАЛУЖСКАЯ ОБЛАСТЬ', 'living_region_КАМЧАТСКИЙ КРАЙ', 'living_region_КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА', 'living_region_КЕМЕРОВСКАЯ ОБЛАСТЬ', 'living_region_КИРОВСКАЯ ОБЛАСТЬ', 'living_region_КОСТРОМСКАЯ ОБЛАСТЬ', 'living_region_КРАСНОДАРСКИЙ КРАЙ', 'living_region_КРАСНОЯРСКИЙ КРАЙ', 'living_region_КУРГАНСКАЯ ОБЛАСТЬ', 'living_region_КУРСКАЯ ОБЛАСТЬ', 'living_region_ЛЕНИНГРАДСКАЯ ОБЛАСТЬ', 'living_region_ЛИПЕЦКАЯ ОБЛАСТЬ', 'living_region_МАГАДАНСКАЯ ОБЛАСТЬ', 'living_region_МОСКВА', 'living_region_МОСКОВСКАЯ ОБЛАСТЬ', 'living_region_МУРМАНСКАЯ ОБЛАСТЬ', 'living_region_НИЖЕГОРОДСКАЯ ОБЛАСТЬ', 'living_region_НОВГОРОДСКАЯ ОБЛАСТЬ', 'living_region_НОВОСИБИРСКАЯ ОБЛАСТЬ', 'living_region_ОМСКАЯ ОБЛАСТЬ', 'living_region_ОРЕНБУРГСКАЯ ОБЛАСТЬ', 'living_region_ОРЛОВСКАЯ ОБЛАСТЬ', 'living_region_ПЕНЗЕНСКАЯ ОБЛАСТЬ', 'living_region_ПЕРМСКИЙ КРАЙ', 'living_region_ПРИМОРСКИЙ КРАЙ', 'living_region_ПСКОВСКАЯ ОБЛАСТЬ', 'living_region_РЕСПУБЛИКА АДЫГЕЯ', 'living_region_РЕСПУБЛИКА АЛТАЙ', 'living_region_РЕСПУБЛИКА БАШКОРТОСТАН', 'living_region_РЕСПУБЛИКА БУРЯТИЯ', 'living_region_РЕСПУБЛИКА ДАГЕСТАН', 'living_region_РЕСПУБЛИКА КАЛМЫКИЯ', 'living_region_РЕСПУБЛИКА КАРЕЛИЯ', 'living_region_РЕСПУБЛИКА КОМИ', 'living_region_РЕСПУБЛИКА МАРИЙ ЭЛ', 'living_region_РЕСПУБЛИКА МОРДОВИЯ', 'living_region_РЕСПУБЛИКА САХА (ЯКУТИЯ)', 'living_region_РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ', 'living_region_РЕСПУБЛИКА ТАТАРСТАН', 'living_region_РЕСПУБЛИКА ТЫВА', 'living_region_РЕСПУБЛИКА ХАКАСИЯ', 'living_region_РОСТОВСКАЯ ОБЛАСТЬ', 'living_region_РЯЗАНСКАЯ ОБЛАСТЬ', 'living_region_САМАРСКАЯ ОБЛАСТЬ', 'living_region_САНКТ-ПЕТЕРБУРГ', 'living_region_САРАТОВСКАЯ ОБЛАСТЬ', 'living_region_САХАЛИНСКАЯ ОБЛАСТЬ', 'living_region_СВЕРДЛОВСКАЯ ОБЛАСТЬ', 'living_region_СМОЛЕНСКАЯ ОБЛАСТЬ', 'living_region_СТАВРОПОЛЬСКИЙ КРАЙ', 'living_region_ТАМБОВСКАЯ ОБЛАСТЬ', 'living_region_ТВЕРСКАЯ ОБЛАСТЬ', 'living_region_ТОМСКАЯ ОБЛАСТЬ', 'living_region_ТУЛЬСКАЯ ОБЛАСТЬ', 'living_region_ТЮМЕНСКАЯ ОБЛАСТЬ', 'living_region_УДМУРТСКАЯ РЕСПУБЛИКА', 'living_region_УЛЬЯНОВСКАЯ ОБЛАСТЬ', 'living_region_ХАБАРОВСКИЙ КРАЙ', 'living_region_ЧЕЛЯБИНСКАЯ ОБЛАСТЬ', 'living_region_ЧУВАШСКАЯ РЕСПУБЛИКА', 'living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ', 'open_account_flg_0', 'open_account_flg_1']\n"
     ]
    }
   ],
   "source": [
    "# печатаем названия столбцов до и после\n",
    "# дамми-кодирования\n",
    "print(\"Исходные переменные:\\n\", list(train.columns), \"\\n\")\n",
    "train_dummies = pd.get_dummies(train)\n",
    "print(\"Переменные после get_dummies:\\n\", list(train_dummies.columns))\n",
    "\n",
    "print(\"Исходные переменные:\\n\", list(test.columns), \"\\n\")\n",
    "test_dummies = pd.get_dummies(test)\n",
    "print(\"Переменные после get_dummies:\\n\", list(test_dummies.columns))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "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>credit_sum</th>\n",
       "      <th>credit_month</th>\n",
       "      <th>score_shk</th>\n",
       "      <th>monthly_income</th>\n",
       "      <th>credit_count</th>\n",
       "      <th>overdue_credit_count</th>\n",
       "      <th>tariff</th>\n",
       "      <th>paym</th>\n",
       "      <th>pti</th>\n",
       "      <th>tariff_sq</th>\n",
       "      <th>age_sq</th>\n",
       "      <th>credit_sum_sq</th>\n",
       "      <th>score_sq</th>\n",
       "      <th>income_sq</th>\n",
       "      <th>credit_month_sq</th>\n",
       "      <th>credit_count_sq</th>\n",
       "      <th>gender_F</th>\n",
       "      <th>gender_M</th>\n",
       "      <th>marital_status_CIV</th>\n",
       "      <th>marital_status_DIV</th>\n",
       "      <th>marital_status_MAR</th>\n",
       "      <th>marital_status_UNM</th>\n",
       "      <th>marital_status_WID</th>\n",
       "      <th>job_position_ATP</th>\n",
       "      <th>job_position_BIS</th>\n",
       "      <th>job_position_BIU</th>\n",
       "      <th>job_position_DIR</th>\n",
       "      <th>job_position_INP</th>\n",
       "      <th>job_position_NOR</th>\n",
       "      <th>job_position_OTHER</th>\n",
       "      <th>job_position_PNA</th>\n",
       "      <th>job_position_PNI</th>\n",
       "      <th>job_position_SPC</th>\n",
       "      <th>job_position_UMN</th>\n",
       "      <th>job_position_WOI</th>\n",
       "      <th>job_position_WRK</th>\n",
       "      <th>job_position_WRP</th>\n",
       "      <th>tariff_id_1</th>\n",
       "      <th>tariff_id_2</th>\n",
       "      <th>tariff_id_3</th>\n",
       "      <th>tariff_id_4</th>\n",
       "      <th>tariff_id_6</th>\n",
       "      <th>tariff_id_7</th>\n",
       "      <th>tariff_id_8</th>\n",
       "      <th>tariff_id_9</th>\n",
       "      <th>tariff_id_10</th>\n",
       "      <th>tariff_id_11</th>\n",
       "      <th>tariff_id_12</th>\n",
       "      <th>tariff_id_13</th>\n",
       "      <th>tariff_id_18</th>\n",
       "      <th>tariff_id_19</th>\n",
       "      <th>tariff_id_20</th>\n",
       "      <th>tariff_id_21</th>\n",
       "      <th>tariff_id_22</th>\n",
       "      <th>tariff_id_23</th>\n",
       "      <th>tariff_id_25</th>\n",
       "      <th>tariff_id_28</th>\n",
       "      <th>tariff_id_29</th>\n",
       "      <th>tariff_id_30</th>\n",
       "      <th>tariff_id_31</th>\n",
       "      <th>tariff_id_32</th>\n",
       "      <th>tariff_id_99</th>\n",
       "      <th>education_ACD</th>\n",
       "      <th>education_GRD</th>\n",
       "      <th>education_PGR</th>\n",
       "      <th>education_SCH</th>\n",
       "      <th>education_UGR</th>\n",
       "      <th>living_region_OTHER</th>\n",
       "      <th>living_region_nan</th>\n",
       "      <th>living_region_АЛТАЙСКИЙ КРАЙ</th>\n",
       "      <th>living_region_АМУРСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_АРХАНГЕЛЬСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_АСТРАХАНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_БЕЛГОРОДСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_БРЯНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ВЛАДИМИРСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ВОЛГОГРАДСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ВОЛОГОДСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ВОРОНЕЖСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ЗАБАЙКАЛЬСКИЙ КРАЙ</th>\n",
       "      <th>living_region_ИВАНОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ИРКУТСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА</th>\n",
       "      <th>living_region_КАЛИНИНГРАДСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_КАЛУЖСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_КАМЧАТСКИЙ КРАЙ</th>\n",
       "      <th>living_region_КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА</th>\n",
       "      <th>living_region_КЕМЕРОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_КИРОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_КОСТРОМСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_КРАСНОДАРСКИЙ КРАЙ</th>\n",
       "      <th>living_region_КРАСНОЯРСКИЙ КРАЙ</th>\n",
       "      <th>living_region_КУРГАНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_КУРСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ЛЕНИНГРАДСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ЛИПЕЦКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_МАГАДАНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_МОСКВА</th>\n",
       "      <th>living_region_МОСКОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_МУРМАНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_НИЖЕГОРОДСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_НОВГОРОДСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_НОВОСИБИРСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ОМСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ОРЕНБУРГСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ОРЛОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ПЕНЗЕНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ПЕРМСКИЙ КРАЙ</th>\n",
       "      <th>living_region_ПРИМОРСКИЙ КРАЙ</th>\n",
       "      <th>living_region_ПСКОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА АДЫГЕЯ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА АЛТАЙ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА БАШКОРТОСТАН</th>\n",
       "      <th>living_region_РЕСПУБЛИКА БУРЯТИЯ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА ДАГЕСТАН</th>\n",
       "      <th>living_region_РЕСПУБЛИКА КАЛМЫКИЯ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА КАРЕЛИЯ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА КОМИ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА МАРИЙ ЭЛ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА МОРДОВИЯ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА САХА (ЯКУТИЯ)</th>\n",
       "      <th>living_region_РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ</th>\n",
       "      <th>living_region_РЕСПУБЛИКА ТАТАРСТАН</th>\n",
       "      <th>living_region_РЕСПУБЛИКА ТЫВА</th>\n",
       "      <th>living_region_РЕСПУБЛИКА ХАКАСИЯ</th>\n",
       "      <th>living_region_РОСТОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_РЯЗАНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_САМАРСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_САНКТ-ПЕТЕРБУРГ</th>\n",
       "      <th>living_region_САРАТОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_САХАЛИНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_СВЕРДЛОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_СМОЛЕНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_СТАВРОПОЛЬСКИЙ КРАЙ</th>\n",
       "      <th>living_region_ТАМБОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ТВЕРСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ТОМСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ТУЛЬСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ТЮМЕНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_УДМУРТСКАЯ РЕСПУБЛИКА</th>\n",
       "      <th>living_region_УЛЬЯНОВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ХАБАРОВСКИЙ КРАЙ</th>\n",
       "      <th>living_region_ЧЕЛЯБИНСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>living_region_ЧУВАШСКАЯ РЕСПУБЛИКА</th>\n",
       "      <th>living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ</th>\n",
       "      <th>open_account_flg_0</th>\n",
       "      <th>open_account_flg_1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53397</th>\n",
       "      <td>28.000</td>\n",
       "      <td>33579.000</td>\n",
       "      <td>10</td>\n",
       "      <td>0.431</td>\n",
       "      <td>36000.000</td>\n",
       "      <td>2.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>20</td>\n",
       "      <td>3357.900</td>\n",
       "      <td>0.093</td>\n",
       "      <td>400</td>\n",
       "      <td>784.000</td>\n",
       "      <td>1127549241.000</td>\n",
       "      <td>0.186</td>\n",
       "      <td>1296000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</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</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>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>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>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>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>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>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>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>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143962</th>\n",
       "      <td>38.000</td>\n",
       "      <td>23511.000</td>\n",
       "      <td>10</td>\n",
       "      <td>0.358</td>\n",
       "      <td>45000.000</td>\n",
       "      <td>2.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>19</td>\n",
       "      <td>2351.100</td>\n",
       "      <td>0.052</td>\n",
       "      <td>361</td>\n",
       "      <td>1444.000</td>\n",
       "      <td>552767121.000</td>\n",
       "      <td>0.129</td>\n",
       "      <td>2025000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</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</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>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>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>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>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>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>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>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>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146922</th>\n",
       "      <td>25.000</td>\n",
       "      <td>39990.000</td>\n",
       "      <td>24</td>\n",
       "      <td>0.613</td>\n",
       "      <td>50000.000</td>\n",
       "      <td>6.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>25</td>\n",
       "      <td>1666.250</td>\n",
       "      <td>0.033</td>\n",
       "      <td>625</td>\n",
       "      <td>625.000</td>\n",
       "      <td>1599200100.000</td>\n",
       "      <td>0.376</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>576</td>\n",
       "      <td>36.000</td>\n",
       "      <td>1</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>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>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>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>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>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>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>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>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>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>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63697</th>\n",
       "      <td>65.000</td>\n",
       "      <td>3490.000</td>\n",
       "      <td>6</td>\n",
       "      <td>0.371</td>\n",
       "      <td>35000.000</td>\n",
       "      <td>4.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>18</td>\n",
       "      <td>581.667</td>\n",
       "      <td>0.017</td>\n",
       "      <td>324</td>\n",
       "      <td>4225.000</td>\n",
       "      <td>12180100.000</td>\n",
       "      <td>0.138</td>\n",
       "      <td>1225000000.000</td>\n",
       "      <td>36</td>\n",
       "      <td>16.000</td>\n",
       "      <td>1</td>\n",
       "      <td>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>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>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>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>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>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>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>0</td>\n",
       "      <td>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>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>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54503</th>\n",
       "      <td>49.000</td>\n",
       "      <td>36358.000</td>\n",
       "      <td>10</td>\n",
       "      <td>0.645</td>\n",
       "      <td>50000.000</td>\n",
       "      <td>2.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>28</td>\n",
       "      <td>3635.800</td>\n",
       "      <td>0.073</td>\n",
       "      <td>784</td>\n",
       "      <td>2401.000</td>\n",
       "      <td>1321904164.000</td>\n",
       "      <td>0.416</td>\n",
       "      <td>2500000000.000</td>\n",
       "      <td>100</td>\n",
       "      <td>4.000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</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>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>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>0</td>\n",
       "      <td>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>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>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>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>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>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>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>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          age  credit_sum  credit_month  score_shk  monthly_income  \\\n",
       "53397  28.000   33579.000            10      0.431       36000.000   \n",
       "143962 38.000   23511.000            10      0.358       45000.000   \n",
       "146922 25.000   39990.000            24      0.613       50000.000   \n",
       "63697  65.000    3490.000             6      0.371       35000.000   \n",
       "54503  49.000   36358.000            10      0.645       50000.000   \n",
       "\n",
       "        credit_count  overdue_credit_count  tariff     paym   pti  tariff_sq  \\\n",
       "53397          2.000                 0.000      20 3357.900 0.093        400   \n",
       "143962         2.000                 0.000      19 2351.100 0.052        361   \n",
       "146922         6.000                 0.000      25 1666.250 0.033        625   \n",
       "63697          4.000                 0.000      18  581.667 0.017        324   \n",
       "54503          2.000                 0.000      28 3635.800 0.073        784   \n",
       "\n",
       "         age_sq  credit_sum_sq  score_sq      income_sq  credit_month_sq  \\\n",
       "53397   784.000 1127549241.000     0.186 1296000000.000              100   \n",
       "143962 1444.000  552767121.000     0.129 2025000000.000              100   \n",
       "146922  625.000 1599200100.000     0.376 2500000000.000              576   \n",
       "63697  4225.000   12180100.000     0.138 1225000000.000               36   \n",
       "54503  2401.000 1321904164.000     0.416 2500000000.000              100   \n",
       "\n",
       "        credit_count_sq  gender_F  gender_M  marital_status_CIV  \\\n",
       "53397             4.000         0         1                   0   \n",
       "143962            4.000         0         1                   0   \n",
       "146922           36.000         1         0                   0   \n",
       "63697            16.000         1         0                   0   \n",
       "54503             4.000         0         1                   0   \n",
       "\n",
       "        marital_status_DIV  marital_status_MAR  marital_status_UNM  \\\n",
       "53397                    0                   0                   1   \n",
       "143962                   0                   0                   1   \n",
       "146922                   0                   1                   0   \n",
       "63697                    0                   0                   1   \n",
       "54503                    0                   1                   0   \n",
       "\n",
       "        marital_status_WID  job_position_ATP  job_position_BIS  \\\n",
       "53397                    0                 0                 0   \n",
       "143962                   0                 0                 0   \n",
       "146922                   0                 0                 0   \n",
       "63697                    0                 0                 0   \n",
       "54503                    0                 0                 1   \n",
       "\n",
       "        job_position_BIU  job_position_DIR  job_position_INP  \\\n",
       "53397                  0                 0                 0   \n",
       "143962                 0                 0                 0   \n",
       "146922                 0                 0                 0   \n",
       "63697                  0                 0                 0   \n",
       "54503                  0                 0                 0   \n",
       "\n",
       "        job_position_NOR  job_position_OTHER  job_position_PNA  \\\n",
       "53397                  0                   0                 0   \n",
       "143962                 0                   0                 0   \n",
       "146922                 0                   0                 0   \n",
       "63697                  0                   0                 0   \n",
       "54503                  0                   0                 0   \n",
       "\n",
       "        job_position_PNI  job_position_SPC  job_position_UMN  \\\n",
       "53397                  0                 1                 0   \n",
       "143962                 0                 1                 0   \n",
       "146922                 0                 1                 0   \n",
       "63697                  0                 0                 1   \n",
       "54503                  0                 0                 0   \n",
       "\n",
       "        job_position_WOI  job_position_WRK  job_position_WRP  tariff_id_1  \\\n",
       "53397                  0                 0                 0            0   \n",
       "143962                 0                 0                 0            0   \n",
       "146922                 0                 0                 0            0   \n",
       "63697                  0                 0                 0            0   \n",
       "54503                  0                 0                 0            0   \n",
       "\n",
       "        tariff_id_2  tariff_id_3  tariff_id_4  tariff_id_6  tariff_id_7  \\\n",
       "53397             0            0            0            0            0   \n",
       "143962            0            0            0            0            0   \n",
       "146922            0            0            0            0            0   \n",
       "63697             0            0            0            0            0   \n",
       "54503             0            0            0            0            0   \n",
       "\n",
       "        tariff_id_8  tariff_id_9  tariff_id_10  tariff_id_11  tariff_id_12  \\\n",
       "53397             0            0             0             0             0   \n",
       "143962            0            0             0             0             0   \n",
       "146922            0            0             0             0             0   \n",
       "63697             0            0             0             0             0   \n",
       "54503             0            0             0             0             0   \n",
       "\n",
       "        tariff_id_13  tariff_id_18  tariff_id_19  tariff_id_20  tariff_id_21  \\\n",
       "53397              0             0             0             1             0   \n",
       "143962             0             0             1             0             0   \n",
       "146922             0             0             0             0             0   \n",
       "63697              0             1             0             0             0   \n",
       "54503              0             0             0             0             0   \n",
       "\n",
       "        tariff_id_22  tariff_id_23  tariff_id_25  tariff_id_28  tariff_id_29  \\\n",
       "53397              0             0             0             0             0   \n",
       "143962             0             0             0             0             0   \n",
       "146922             0             0             1             0             0   \n",
       "63697              0             0             0             0             0   \n",
       "54503              0             0             0             1             0   \n",
       "\n",
       "        tariff_id_30  tariff_id_31  tariff_id_32  tariff_id_99  education_ACD  \\\n",
       "53397              0             0             0             0              0   \n",
       "143962             0             0             0             0              0   \n",
       "146922             0             0             0             0              0   \n",
       "63697              0             0             0             0              0   \n",
       "54503              0             0             0             0              0   \n",
       "\n",
       "        education_GRD  education_PGR  education_SCH  education_UGR  \\\n",
       "53397               0              0              1              0   \n",
       "143962              1              0              0              0   \n",
       "146922              1              0              0              0   \n",
       "63697               1              0              0              0   \n",
       "54503               0              0              1              0   \n",
       "\n",
       "        living_region_OTHER  living_region_nan  living_region_АЛТАЙСКИЙ КРАЙ  \\\n",
       "53397                     0                  0                             0   \n",
       "143962                    0                  0                             0   \n",
       "146922                    0                  0                             0   \n",
       "63697                     0                  0                             0   \n",
       "54503                     0                  0                             0   \n",
       "\n",
       "        living_region_АМУРСКАЯ ОБЛАСТЬ  living_region_АРХАНГЕЛЬСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                1                                    0   \n",
       "143962                               0                                    0   \n",
       "146922                               0                                    0   \n",
       "63697                                0                                    0   \n",
       "54503                                0                                    0   \n",
       "\n",
       "        living_region_АСТРАХАНСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                    0   \n",
       "143962                                   0   \n",
       "146922                                   0   \n",
       "63697                                    0   \n",
       "54503                                    0   \n",
       "\n",
       "        living_region_БЕЛГОРОДСКАЯ ОБЛАСТЬ  living_region_БРЯНСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                    0                               0   \n",
       "143962                                   0                               0   \n",
       "146922                                   0                               0   \n",
       "63697                                    0                               0   \n",
       "54503                                    0                               0   \n",
       "\n",
       "        living_region_ВЛАДИМИРСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                    0   \n",
       "143962                                   0   \n",
       "146922                                   0   \n",
       "63697                                    0   \n",
       "54503                                    0   \n",
       "\n",
       "        living_region_ВОЛГОГРАДСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                     0   \n",
       "143962                                    0   \n",
       "146922                                    0   \n",
       "63697                                     0   \n",
       "54503                                     0   \n",
       "\n",
       "        living_region_ВОЛОГОДСКАЯ ОБЛАСТЬ  living_region_ВОРОНЕЖСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                   0                                  0   \n",
       "143962                                  0                                  0   \n",
       "146922                                  0                                  0   \n",
       "63697                                   0                                  0   \n",
       "54503                                   0                                  0   \n",
       "\n",
       "        living_region_ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ  \\\n",
       "53397                                            0   \n",
       "143962                                           0   \n",
       "146922                                           0   \n",
       "63697                                            0   \n",
       "54503                                            0   \n",
       "\n",
       "        living_region_ЗАБАЙКАЛЬСКИЙ КРАЙ  living_region_ИВАНОВСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                  0                                 0   \n",
       "143962                                 0                                 0   \n",
       "146922                                 0                                 0   \n",
       "63697                                  0                                 0   \n",
       "54503                                  0                                 0   \n",
       "\n",
       "        living_region_ИРКУТСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                 0   \n",
       "143962                                0   \n",
       "146922                                0   \n",
       "63697                                 0   \n",
       "54503                                 0   \n",
       "\n",
       "        living_region_КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА  \\\n",
       "53397                                               0   \n",
       "143962                                              0   \n",
       "146922                                              0   \n",
       "63697                                               0   \n",
       "54503                                               0   \n",
       "\n",
       "        living_region_КАЛИНИНГРАДСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                       0   \n",
       "143962                                      0   \n",
       "146922                                      0   \n",
       "63697                                       0   \n",
       "54503                                       0   \n",
       "\n",
       "        living_region_КАЛУЖСКАЯ ОБЛАСТЬ  living_region_КАМЧАТСКИЙ КРАЙ  \\\n",
       "53397                                 0                              0   \n",
       "143962                                0                              0   \n",
       "146922                                0                              0   \n",
       "63697                                 0                              0   \n",
       "54503                                 0                              0   \n",
       "\n",
       "        living_region_КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА  \\\n",
       "53397                                               0   \n",
       "143962                                              0   \n",
       "146922                                              0   \n",
       "63697                                               0   \n",
       "54503                                               0   \n",
       "\n",
       "        living_region_КЕМЕРОВСКАЯ ОБЛАСТЬ  living_region_КИРОВСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                   0                                0   \n",
       "143962                                  0                                0   \n",
       "146922                                  0                                0   \n",
       "63697                                   0                                0   \n",
       "54503                                   0                                0   \n",
       "\n",
       "        living_region_КОСТРОМСКАЯ ОБЛАСТЬ  living_region_КРАСНОДАРСКИЙ КРАЙ  \\\n",
       "53397                                   0                                 0   \n",
       "143962                                  0                                 0   \n",
       "146922                                  0                                 0   \n",
       "63697                                   0                                 0   \n",
       "54503                                   0                                 0   \n",
       "\n",
       "        living_region_КРАСНОЯРСКИЙ КРАЙ  living_region_КУРГАНСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                 0                                 0   \n",
       "143962                                0                                 0   \n",
       "146922                                0                                 0   \n",
       "63697                                 0                                 0   \n",
       "54503                                 0                                 0   \n",
       "\n",
       "        living_region_КУРСКАЯ ОБЛАСТЬ  living_region_ЛЕНИНГРАДСКАЯ ОБЛАСТЬ  \\\n",
       "53397                               0                                    0   \n",
       "143962                              0                                    0   \n",
       "146922                              0                                    0   \n",
       "63697                               0                                    0   \n",
       "54503                               0                                    0   \n",
       "\n",
       "        living_region_ЛИПЕЦКАЯ ОБЛАСТЬ  living_region_МАГАДАНСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                0                                  0   \n",
       "143962                               0                                  0   \n",
       "146922                               0                                  0   \n",
       "63697                                0                                  0   \n",
       "54503                                0                                  0   \n",
       "\n",
       "        living_region_МОСКВА  living_region_МОСКОВСКАЯ ОБЛАСТЬ  \\\n",
       "53397                      0                                 0   \n",
       "143962                     0                                 0   \n",
       "146922                     0                                 0   \n",
       "63697                      0                                 0   \n",
       "54503                      0                                 0   \n",
       "\n",
       "        living_region_МУРМАНСКАЯ ОБЛАСТЬ  living_region_НИЖЕГОРОДСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                  0                                    0   \n",
       "143962                                 0                                    0   \n",
       "146922                                 0                                    0   \n",
       "63697                                  0                                    0   \n",
       "54503                                  0                                    0   \n",
       "\n",
       "        living_region_НОВГОРОДСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                    0   \n",
       "143962                                   0   \n",
       "146922                                   0   \n",
       "63697                                    0   \n",
       "54503                                    0   \n",
       "\n",
       "        living_region_НОВОСИБИРСКАЯ ОБЛАСТЬ  living_region_ОМСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                     0                             0   \n",
       "143962                                    0                             0   \n",
       "146922                                    0                             0   \n",
       "63697                                     0                             0   \n",
       "54503                                     0                             0   \n",
       "\n",
       "        living_region_ОРЕНБУРГСКАЯ ОБЛАСТЬ  living_region_ОРЛОВСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                    0                                0   \n",
       "143962                                   0                                0   \n",
       "146922                                   0                                0   \n",
       "63697                                    0                                0   \n",
       "54503                                    0                                0   \n",
       "\n",
       "        living_region_ПЕНЗЕНСКАЯ ОБЛАСТЬ  living_region_ПЕРМСКИЙ КРАЙ  \\\n",
       "53397                                  0                            0   \n",
       "143962                                 0                            0   \n",
       "146922                                 0                            0   \n",
       "63697                                  0                            0   \n",
       "54503                                  0                            0   \n",
       "\n",
       "        living_region_ПРИМОРСКИЙ КРАЙ  living_region_ПСКОВСКАЯ ОБЛАСТЬ  \\\n",
       "53397                               0                                0   \n",
       "143962                              0                                0   \n",
       "146922                              0                                0   \n",
       "63697                               0                                0   \n",
       "54503                               0                                0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА АДЫГЕЯ  living_region_РЕСПУБЛИКА АЛТАЙ  \\\n",
       "53397                                 0                               0   \n",
       "143962                                0                               0   \n",
       "146922                                0                               0   \n",
       "63697                                 0                               0   \n",
       "54503                                 0                               0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА БАШКОРТОСТАН  \\\n",
       "53397                                       0   \n",
       "143962                                      0   \n",
       "146922                                      0   \n",
       "63697                                       0   \n",
       "54503                                       0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА БУРЯТИЯ  living_region_РЕСПУБЛИКА ДАГЕСТАН  \\\n",
       "53397                                  0                                  0   \n",
       "143962                                 0                                  0   \n",
       "146922                                 0                                  0   \n",
       "63697                                  0                                  0   \n",
       "54503                                  0                                  0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА КАЛМЫКИЯ  living_region_РЕСПУБЛИКА КАРЕЛИЯ  \\\n",
       "53397                                   0                                 0   \n",
       "143962                                  0                                 0   \n",
       "146922                                  0                                 0   \n",
       "63697                                   0                                 0   \n",
       "54503                                   0                                 0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА КОМИ  living_region_РЕСПУБЛИКА МАРИЙ ЭЛ  \\\n",
       "53397                               0                                  0   \n",
       "143962                              0                                  0   \n",
       "146922                              0                                  0   \n",
       "63697                               0                                  0   \n",
       "54503                               0                                  0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА МОРДОВИЯ  \\\n",
       "53397                                   0   \n",
       "143962                                  0   \n",
       "146922                                  0   \n",
       "63697                                   0   \n",
       "54503                                   0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА САХА (ЯКУТИЯ)  \\\n",
       "53397                                        0   \n",
       "143962                                       0   \n",
       "146922                                       0   \n",
       "63697                                        0   \n",
       "54503                                        0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ  \\\n",
       "53397                                                   0   \n",
       "143962                                                  0   \n",
       "146922                                                  0   \n",
       "63697                                                   0   \n",
       "54503                                                   0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА ТАТАРСТАН  living_region_РЕСПУБЛИКА ТЫВА  \\\n",
       "53397                                    0                              0   \n",
       "143962                                   0                              0   \n",
       "146922                                   0                              0   \n",
       "63697                                    0                              0   \n",
       "54503                                    0                              0   \n",
       "\n",
       "        living_region_РЕСПУБЛИКА ХАКАСИЯ  living_region_РОСТОВСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                  0                                 0   \n",
       "143962                                 0                                 0   \n",
       "146922                                 0                                 1   \n",
       "63697                                  1                                 0   \n",
       "54503                                  0                                 0   \n",
       "\n",
       "        living_region_РЯЗАНСКАЯ ОБЛАСТЬ  living_region_САМАРСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                 0                                0   \n",
       "143962                                0                                0   \n",
       "146922                                0                                0   \n",
       "63697                                 0                                0   \n",
       "54503                                 0                                0   \n",
       "\n",
       "        living_region_САНКТ-ПЕТЕРБУРГ  living_region_САРАТОВСКАЯ ОБЛАСТЬ  \\\n",
       "53397                               0                                  0   \n",
       "143962                              0                                  0   \n",
       "146922                              0                                  0   \n",
       "63697                               0                                  0   \n",
       "54503                               0                                  0   \n",
       "\n",
       "        living_region_САХАЛИНСКАЯ ОБЛАСТЬ  living_region_СВЕРДЛОВСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                   0                                   0   \n",
       "143962                                  0                                   0   \n",
       "146922                                  0                                   0   \n",
       "63697                                   0                                   0   \n",
       "54503                                   0                                   0   \n",
       "\n",
       "        living_region_СМОЛЕНСКАЯ ОБЛАСТЬ  living_region_СТАВРОПОЛЬСКИЙ КРАЙ  \\\n",
       "53397                                  0                                  0   \n",
       "143962                                 0                                  1   \n",
       "146922                                 0                                  0   \n",
       "63697                                  0                                  0   \n",
       "54503                                  0                                  0   \n",
       "\n",
       "        living_region_ТАМБОВСКАЯ ОБЛАСТЬ  living_region_ТВЕРСКАЯ ОБЛАСТЬ  \\\n",
       "53397                                  0                               0   \n",
       "143962                                 0                               0   \n",
       "146922                                 0                               0   \n",
       "63697                                  0                               0   \n",
       "54503                                  0                               0   \n",
       "\n",
       "        living_region_ТОМСКАЯ ОБЛАСТЬ  living_region_ТУЛЬСКАЯ ОБЛАСТЬ  \\\n",
       "53397                               0                               0   \n",
       "143962                              0                               0   \n",
       "146922                              0                               0   \n",
       "63697                               0                               0   \n",
       "54503                               0                               0   \n",
       "\n",
       "        living_region_ТЮМЕНСКАЯ ОБЛАСТЬ  living_region_УДМУРТСКАЯ РЕСПУБЛИКА  \\\n",
       "53397                                 0                                    0   \n",
       "143962                                0                                    0   \n",
       "146922                                0                                    0   \n",
       "63697                                 0                                    0   \n",
       "54503                                 0                                    0   \n",
       "\n",
       "        living_region_УЛЬЯНОВСКАЯ ОБЛАСТЬ  living_region_ХАБАРОВСКИЙ КРАЙ  \\\n",
       "53397                                   0                               0   \n",
       "143962                                  0                               0   \n",
       "146922                                  0                               0   \n",
       "63697                                   0                               0   \n",
       "54503                                   0                               0   \n",
       "\n",
       "        living_region_ЧЕЛЯБИНСКАЯ ОБЛАСТЬ  living_region_ЧУВАШСКАЯ РЕСПУБЛИКА  \\\n",
       "53397                                   0                                   0   \n",
       "143962                                  0                                   0   \n",
       "146922                                  0                                   0   \n",
       "63697                                   0                                   0   \n",
       "54503                                   1                                   0   \n",
       "\n",
       "        living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ  open_account_flg_0  \\\n",
       "53397                                   0                   1   \n",
       "143962                                  0                   1   \n",
       "146922                                  0                   1   \n",
       "63697                                   0                   1   \n",
       "54503                                   0                   1   \n",
       "\n",
       "        open_account_flg_1  \n",
       "53397                    0  \n",
       "143962                   0  \n",
       "146922                   0  \n",
       "63697                    0  \n",
       "54503                    0  "
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# увеличиваем количество выводимых столбцов\n",
    "pd.set_option('display.max_columns', 150)\n",
    "train_dummies.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# создаем обучающий и контрольный массивы значений\n",
    "# зависимой переменной\n",
    "y_train = train_dummies.loc[:, 'open_account_flg_1']\n",
    "y_test = test_dummies.loc[:, 'open_account_flg_1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# создаем обучающий и контрольный массивы \n",
    "# значений признаков\n",
    "X_train = train_dummies.loc[:, 'age':'living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ']\n",
    "X_test = test_dummies.loc[:, 'age':'living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Построение случайного леса и логистической регрессии"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC на обучающей выборке: 0.896\n",
      "AUC на контрольной выборке: 0.766\n"
     ]
    }
   ],
   "source": [
    "# импортируем класс RandomForestClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "# создаем экземпляр класса RandomForestClassifier\n",
    "forest=RandomForestClassifier(n_estimators=800, max_depth=17, random_state=152, n_jobs=-1)\n",
    "# подгоняем модель\n",
    "forest.fit(X_train, y_train)\n",
    "# импортируем функцию roc_auc_score\n",
    "from sklearn.metrics import roc_auc_score\n",
    "# оцениваем дискриминирующую способность \n",
    "# модели случайного леса\n",
    "print(\"AUC на обучающей выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_train, forest.predict_proba(X_train)[:, 1])))\n",
    "print(\"AUC на контрольной выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_test, forest.predict_proba(X_test)[:, 1])))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC на обучающей выборке: 0.546\n",
      "AUC на контрольной выборке: 0.545\n"
     ]
    }
   ],
   "source": [
    "# импортируем класс LogisticRegression\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "# создаем экземпляр класса LogisticRegression\n",
    "# и подгоняем модель\n",
    "logreg = LogisticRegression().fit(X_train, y_train)\n",
    "# оцениваем дискриминирующую способность \n",
    "# модели логистической регрессии\n",
    "print(\"AUC на обучающей выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_train, logreg.predict_proba(X_train)[:, 1])))\n",
    "print(\"AUC на контрольной выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_test, logreg.predict_proba(X_test)[:, 1])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Масштабирование"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Важнейшей предпосылкой регрессионного анализа является единый масштаб измерения переменных. Давайте отмасштабируем переменные. Самое простое масштабирование подразумевает, что из каждого значения переменной мы вычтем среднее значение и полученный результат разделим на стандартное отклонение:\n",
    "\n",
    "$$\\frac{\\Large x_i - mean(x)}{\\Large stdev(x)}$$\n",
    "\n",
    "В итоге мы получаем распределение со средним 0 и стандартным отклонением 1. Именно это и делает класс `StandardScaler`.\n",
    "Сначала импортируем класс `StandardScaler`, который осуществляет предварительную обработку, а затем создаем его экземпляр."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# импортируем класс StandardScaler\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "# создаем экземпляр класса StandardScaler\n",
    "scaler = StandardScaler()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Затем с помощью метода `fit` мы подгоняем `scaler` на обучающих данных. В отличие от обычных моделей машинного обучения, при вызове метода `fit` `scaler` работает с данными (`X_train`), а ответы (`y_train`) не используются."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "StandardScaler(copy=True, with_mean=True, with_std=True)"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# подгоняем модель\n",
    "scaler.fit(X_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Чтобы применить преобразование, которое мы только что подогнали, то есть фактически отмасштабировать (scale) обучающие и контрольные данные, мы воспользуемся методом `transform`. Метод `transform` используется в `scikit-learn`, когда модель возвращает новое представление данных. Обратите внимамние, мы всегда применяем одинаковое преобразование к обучающему и тестовому наборам. Это означает, что метод `transform` всегда вычитает среднее значение, вычисленное для обучающего набора, и делит на стандартное отклонение, вычисленное также для обучающего набора. Среднее значение и стандартное отклонение переменной для обучающего набора могут отличаться от среднего значения и стандартного отклонения переменной для тестового набора."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# преобразовываем данные\n",
    "X_train_scaled = scaler.transform(X_train)\n",
    "X_test_scaled = scaler.transform(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Построение логистической регрессии на отмасштабированных данных"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC на обучающей выборке: 0.726\n",
      "AUC на контрольной выборке: 0.728\n"
     ]
    }
   ],
   "source": [
    "# строим модель логистической регрессии на данных,\n",
    "# отмасштабированных с помощью StandardScaler\n",
    "logreg = LogisticRegression().fit(X_train_scaled, y_train)\n",
    "print(\"AUC на обучающей выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_train, logreg.predict_proba(X_train_scaled)[:, 1])))\n",
    "print(\"AUC на контрольной выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_test, logreg.predict_proba(X_test_scaled)[:, 1])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Другие виды масштабирования"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`StandardScaler` хорошо работает, когда данные подчиняются нормальному распределению. \n",
    "Теперь воспользуемся классом `MinMaxScaler`. Из каждого значения переменной мы вычитаем минимальное значение и полученный результат делим на ширину диапазона (разницу между минимальным и максимальным значениями):\n",
    "\n",
    "$$\\frac{\\Large x_i - min(x)}{\\Large max(x)-min(x)}$$\n",
    "\n",
    "В итоге мы сжимаем значения переменных в диапазон от 0 до 1 (или от -1 до 1, если есть отрицательные значения). Этот способ работает лучше в тех случаях, когда `StandardScaler` дает не очень хороший результат. Если распределение не является нормальным или стандартное отклонение является очень маленьким, `MinMaxScaler` сработает лучше."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# применяем MinMaxScaler\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "scaler2 = MinMaxScaler()\n",
    "scaler2.fit(X_train)\n",
    "X_train_scaled2 = scaler2.transform(X_train)\n",
    "X_test_scaled2 = scaler2.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC на обучающей выборке: 0.725\n",
      "AUC на контрольной выборке: 0.727\n"
     ]
    }
   ],
   "source": [
    "# строим модель логистической регрессии на данных,\n",
    "# отмасштабированных с помощью MinMaxScaler\n",
    "logreg = LogisticRegression().fit(X_train_scaled2, y_train)\n",
    "print(\"AUC на обучающей выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_train, logreg.predict_proba(X_train_scaled2)[:, 1])))\n",
    "print(\"AUC на контрольной выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_test, logreg.predict_proba(X_test_scaled2)[:, 1])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Однако обратите внимание, что `MinMaxScaler` чувствителен к выбросам, поэтому если данные содержат выбросы, класс `RobustScaler` может дать лучший результат.\n",
    "Класс `RobustScaler` похож на класс `MinMaxScaler`, но вместо ширины диапазона использует межквартильный размах и поэтому устойчив к выбросам. В основе выполняемого преобразования лежит следующая формула:\n",
    "\n",
    "$$\\frac{\\Large x_i - Q_1(x)}{\\Large Q_3(x)-Q_1(x)}$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# применяем RobustScaler\n",
    "from sklearn.preprocessing import RobustScaler\n",
    "scaler3 = RobustScaler()\n",
    "scaler3.fit(X_train)\n",
    "X_train_scaled3 = scaler3.transform(X_train)\n",
    "X_test_scaled3 = scaler3.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC на обучающей выборке: 0.726\n",
      "AUC на контрольной выборке: 0.728\n"
     ]
    }
   ],
   "source": [
    "# строим модель логистической регрессии на данных,\n",
    "# отмасштабированных с помощью RobustScaler\n",
    "logreg = LogisticRegression().fit(X_train_scaled3, y_train)\n",
    "print(\"AUC на обучающей выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_train, logreg.predict_proba(X_train_scaled3)[:, 1])))\n",
    "print(\"AUC на контрольной выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_test, logreg.predict_proba(X_test_scaled3)[:, 1])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Отдельная предварительная подготовка данных для логистической регрессии"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# записываем CSV-файл в объект DataFrame\n",
    "data = pd.read_csv(\"C:/data/credit.csv\", encoding='cp1251', sep=';')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# удаляем переменную client_id\n",
    "del data['client_id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# все категориальные переменные преобразуем в тип str, \n",
    "# записав пропуски в отдельную категорию nan\n",
    "for i in ['gender', 'marital_status', 'job_position', 'education', \n",
    "          'tariff_id', 'living_region', 'open_account_flg']:\n",
    "    if i in data.columns:\n",
    "        data[i]=data[i].astype('str')\n",
    "        \n",
    "# в указанных переменных заменяем запятые на точки и\n",
    "# преобразуем в тип float\n",
    "for i in ['credit_sum', 'score_shk']:\n",
    "    if i in data.columns:\n",
    "        data[i]=data[i].str.replace(',', '.').astype('float')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# укрупняем редкие категории\n",
    "data.at[data['job_position'] == 'PNS', 'job_position'] = 'OTHER'\n",
    "data.at[data['job_position'] == 'HSK', 'job_position'] = 'OTHER'\n",
    "data.at[data['job_position'] == 'INV', 'job_position'] = 'OTHER'\n",
    "data.at[data['job_position'] == 'ONB', 'job_position'] = 'OTHER'\n",
    "\n",
    "data.at[data['tariff_id'] == '14', 'tariff_id'] = '99'\n",
    "data.at[data['tariff_id'] == '15', 'tariff_id'] = '99'\n",
    "data.at[data['tariff_id'] == '16', 'tariff_id'] = '99'\n",
    "data.at[data['tariff_id'] == '17', 'tariff_id'] = '99'\n",
    "data.at[data['tariff_id'] == '24', 'tariff_id'] = '99'\n",
    "data.at[data['tariff_id'] == '26', 'tariff_id'] = '99'\n",
    "data.at[data['tariff_id'] == '27', 'tariff_id'] = '99'\n",
    "data.at[data['tariff_id'] == '33', 'tariff_id'] = '99'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# разбиваем данные на обучающую и контрольную выборки\n",
    "train=data.sample(frac=0.7,random_state=200)\n",
    "test=data.drop(train.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# создаем индикатор пропусков для переменной overdue_credit_count,\n",
    "# если переменная содержит пропуск, индикатор принимает значение 1,\n",
    "# если не содержит, индикатор принимает значение 0\n",
    "dct = {'True': 1, 'False': 0}\n",
    "train['overdue_credit_count_ind'] = train['overdue_credit_count'].isnull().astype('str').map(dct)\n",
    "test['overdue_credit_count_ind'] = test['overdue_credit_count'].isnull().astype('str').map(dct)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# импутируем пропуски в указанных переменных медианами\n",
    "for i in ['age', 'credit_sum', 'score_shk', 'monthly_income',\n",
    "         'credit_count', 'overdue_credit_count']:\n",
    "    if i in train.columns:\n",
    "        train[i].fillna(train[i].median(), inplace=True)\n",
    "\n",
    "for i in ['age', 'credit_sum', 'score_shk', 'monthly_income',\n",
    "         'credit_count', 'overdue_credit_count']:\n",
    "    if i in test.columns:\n",
    "        test[i].fillna(test[i].median(), inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# категорию nan в переменных marital_status и education\n",
    "# заменяем на самую часто встречающуюся категорию\n",
    "train.at[train['marital_status'] == 'nan', 'marital_status'] = 'MAR'\n",
    "test.at[test['marital_status'] == 'nan', 'marital_status'] = 'MAR'\n",
    "\n",
    "train.at[train['education'] == 'nan', 'education'] = 'SCH'\n",
    "test.at[test['education'] == 'nan', 'education'] = 'SCH'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Важнейшей предпосылкой регрессионного анализа является нормальность распределения переменных. Давайте попробуем приблизить распределение некоторых количественных переменных к нормальному. Чтобы взглянуть на распределение нужно построить гистрограмму распределения, а также график квантиль-квантиль, на котором показана связь между наблюдаемыми значениями переменной и квантилями теоретического распределения (по умолчанию используется нормальное распределение). Если наблюдаемые значения попадают на прямую линию, то теоретическое распределение хорошо подходит к наблюдаемым данным."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d92ac9f0b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAFlCAYAAAB2nuuNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VPXd///nZCYJZKEQJewJpBqVm7IG0BJA3FAKSpDK\nolj1VlARAYWCfCEUqyIqFARRrO3tDUU2IVb00v6UKhTDjUjBBQJUlmxsEUJMAmSZOb8/QoaEzGSB\nzJI5r8d15TJz5pyZ9/mAfN7ns1oMwzAQERER0wrydQAiIiLiW0oGRERETE7JgIiIiMkpGRARETE5\nJQMiIiImp2RARETE5JQMiASYrKwsbrjhBu655x7nz9133837779f588aM2YMn376aZ2uWbx4Mc8/\n/7zL9x577DF+/PFHtm/fzuDBgwFYtGgRH3zwAQBLlizh888/r/V31XSvGzZsYNy4cTV+zsyZM/nh\nhx9q/b0igcbm6wBEpP41atSIv//9787XJ06cYPDgwXTq1Inrr7/eZ3H9+c9/BuDUqVPOYxMnTnT+\nvn37dq655po6fWZ191pbqampjBgxok7fKxJI1DIgYgItWrQgNjaWI0eOsGHDBkaPHk1SUhJjxowB\n4I033mDQoEEMGTKEp59+mpycHOe1n332GcOGDWPQoEG8+eabzuNvvfUWw4cPZ8iQIdx222189tln\nzvcOHjzI/fffz+DBg5k6dSoFBQUA3HLLLXz//feVYps+fTp/+ctfWLlyJT/88AOvvPIKH374IT17\n9uTw4cPO8x5++OFatRpUvNeKjh8/zuOPP86QIUMYPHgw77zzDgB/+tOfOHnyJFOmTOHbb7+tZYmK\nBBYlAyImsGvXLjIyMujSpQsAP/74IytWrGDFihWsX7+ef/3rX7z//vts3LiRa6+9lunTpzuvLSws\nZO3ataxdu5YPP/yQzZs3k52dTWpqKn/729/YuHEjkydP5vXXX3dek5GRweLFi9m4cSOGYVRKIty5\n//776dSpE7///e+5++67GTp0KOvWrXN+3uHDhxkwYECd77XclClT6N27Nxs3bmTVqlV8+OGHfPzx\nx0yePJno6Ghee+21KteImIW6CUQC0Pnz57nnnnsAsNvtNGvWjFdffZVWrVoBcN111xEREQHAli1b\nGDZsGGFhYQA8+OCDvPXWWxQXFwMwfPhwbDYbERERDBw4kNTUVPr378+8efPYuHEj6enpfPvttxQW\nFjq///bbbycqKgqAe++9l1deeaXO9zB69GgeeOABJk+ezJo1axg+fDhWq7XO9wpw9uxZ/v3vf/PX\nv/4VgMjISIYNG8aWLVv4zW9+U+fYRAKNkgGRAHRpP/qlyit+gEu3J3E4HJSWljpfV6yADcPAZrOx\nZ88ennzySR566CH69OlDz549mTNnTrXX1FWHDh247rrr2LRpExs3bnS2Elyqpnstv6ea7lPEzNRN\nIGJyiYmJbNiwgbNnzwKwYsUKevbsSUhICAAffPABhmGQl5fHJ598Qr9+/dixYwedOnXi4Ycfplev\nXmzatAm73e78zH/+85/k5eVht9tZs2YN/fr1q1UsVqu1UgU9evRoXnnlFbp06UKLFi0u+x4jIiLo\n0qULK1euBCA/P58PPviAX//61y6/V8RslAyImNzw4cO56aab+O1vf8tdd93F3r17ee2115zvlzep\njxw5kgceeIDevXszePBgcnNzGTRokLOLIS8vzzlQ8Je//CXjxo1jyJAhNGnShLFjx9YqlgEDBjBv\n3jxSUlKcr8+ePcvIkSOv+D5fe+01tm3bxpAhQxg+fDh33HEHw4YNA+C2225j8uTJbN269Yq/R6Qh\nsmgLYxHxV//+97+ZNWsWH330ERaLxdfhiAQsjRkQEb80bdo0vv76a+bNm6dEQMTD1DIgIiJichoz\nICIiYnJKBkRERExOyYCIiIjJmXYAYU5Ovq9DcKlZszByc8/6OgxTUZl7l8rb+1Tm3uWv5d28eaTb\n99Qy4GdstqrLrYpnqcy9S+XtfSpz72qI5a1kQERExOSUDIiIiJickgERERGTUzIgIiJickoGRERE\nTE7JgIiIiMkpGRARETE5JQMiIiImp2RARETEj6Sk2OjfP4xWrSLo3z+MlBTPLxZs2uWIRURE/E1K\nio1x4xo7X6elWS+8PkdSUqnHvlctAyIiIn5i4cIQl8cXLXJ9vL4oGRAREfETBw64rpbdHa8vSgZE\nRET8RHy8o07H64uSARERET8xaVKxy+MTJ7o+Xl+UDIiIiPiJpKRSli07R8eOdmw2g44d7Sxb5tnB\ng6DZBCIiIn4lKanU45X/pdQyICIiYnJKBkRERExOyYCIiIjJKRkQERExOSUDIiIiJqdkQERExOSU\nDIiIiJickgERERGTUzIgIiJickoGRERETE7JgIiIiMkpGRARETE5JQMiIiImp2RARETE5JQMiIiI\nmJySAREREZNTMiAiImJySgZERERMTsmAiIiIySkZEBERMTklAyIiIiZn89QHl5SUMH36dLKzswkK\nCuKPf/wjNpuN6dOnY7FYuPbaa5k9ezZBQUGsXbuW1atXY7PZeOKJJxgwYADnz59n6tSpnDp1ivDw\ncObNm0dUVBS7d+/mxRdfxGq1kpiYyFNPPQXAkiVL+PLLL7HZbMyYMYPOnTt76tZERERcSkmxsWQJ\n7N0bQYsWBhYLHD9uIT7ewaRJxQAsXBjCgQNBzmNJSaU+jtqDycDmzZspLS1l9erVfPXVVyxcuJCS\nkhImTZpE7969SU5OZtOmTXTt2pUVK1awfv16ioqKGD16NH369GHVqlXEx8czYcIEPv74Y5YuXcrM\nmTOZPXs2ixcvpl27dowdO5a9e/diGAZff/0169at49ixY0yYMIH169d76tZERESqSEmxMW5c4wuv\nLBw9anG+l5ZmrfDepcfO+Twh8Fg3QYcOHbDb7TgcDgoKCrDZbOzZs4devXoB0K9fP1JTU/nuu+/o\n1q0bISEhREZGEhMTw759+9i5cyd9+/Z1nrtt2zYKCgooLi4mJiYGi8VCYmIiqamp7Ny5k8TERCwW\nC61bt8Zut3P69GlP3ZqIiEgVCxeGXNZ1ixZd3nX1yWMtA2FhYWRnZ3PXXXeRm5vLW2+9xY4dO7BY\nyjKl8PBw8vPzKSgoIDIy0nldeHg4BQUFlY5XPDciIqLSuZmZmYSGhtK0adNKx/Pz84mKinIbX7Nm\nYdhs1vq+7XrRvHlkzSdJvVKZe5fK2/tU5p534MDlXmf1+Z+Px5KBd999l8TERJ599lmOHTvG7373\nO0pKSpzvFxYW0qRJEyIiIigsLKx0PDIystLx6s5t0qQJwcHBLj+jOrm5Z+vrVutV8+aR5OTk+zoM\nU1GZe5fK2/tU5t4RHx9GWlrdHzLj4+3k5Hi+Tqou4fBYN0GTJk2cFfIvfvELSktL6dixI9u3bwdg\ny5YtJCQk0LlzZ3bu3ElRURH5+fkcPHiQ+Ph4unfvzubNm53n9ujRg4iICIKDg8nIyMAwDLZu3UpC\nQgLdu3dn69atOBwOjh49isPhqLZVQEREpL6VDxCsq4kTL++6+mQxDMPwxAcXFhYyY8YMcnJyKCkp\n4cEHH6RTp07MmjWLkpIS4uLieOGFF7Baraxdu5Y1a9ZgGAbjxo1j4MCBnDt3jmnTppGTk0NwcDDz\n58+nefPm7N69m5deegm73U5iYiKTJ08GYPHixWzZsgWHw8Fzzz1HQkJCtfH5a5asDN77VObepfL2\nPpW596Sk2Hjjjcbs3WtUmU1QXukvWnRxNsHEid6bTVBdy4DHkgF/56//Y+h/Wu9TmXuXytv7VObe\n5a/l7ZNuAhEREWkYlAyIiIiYnJIBERERk1MyICIiYnJKBkRERExOyYCIiIjJKRkQERG5AikpNvr3\nD6NVqwj69w9j9WpfR1R3SgZEREQuU/lOhWlpVux2C2lpVkaNKjvekCgZEBERuUzudir0h50I60LJ\ngIiIyGU6cMB1NeruuL9qWNGKiIj4kfh4R52O+yslAyIiIpfJ3U6F/rATYV0oGRAREblMSUmlLFt2\njo4d7dhsBh072lm1Cq/tRFhfGtZwRxERET+TlFRaqfIv27XQhwFdBrUMiIiImJySAREREZNTMiAi\nImJySgZERERMTsmAiIiIySkZEBERMTklAyIiIpfh0t0KG9rmRBU13MhFRER8pHy3wnJpadYLr88x\ndqzv4rpcahkQERGpo0DZrbCckgEREZE6CpTdCss1zKhFRER8KFB2KyynZEBERKSOAmW3wnJKBkRE\nROogJcXGwoUhWCwGoaEGQUFluxUuW3auwe1WWE6zCURERGrp0lkERUVl/504sbjBJgKglgEREZFa\nC7RZBOWUDIiIiNRSoM0iKNewoxcREfGiQJtFUE7JgIiISC0F2iyCckoGREREaikpqZRly87RsaMd\nm63hzyIop9kEIiIidZCUVNrgK/9LqWVARETE5JQMiIiImJySAREREZNTMiAiImJySgZERERMTsmA\niIiIySkZEBERMTklAyIiIianZEBERMTklAyIiIiYnJIBERERk1MyICIiYnJKBkRERExOyYCIiIjJ\nKRkQERExOY8mA8uWLWPEiBEMGzaMdevWkZ6ezqhRoxg9ejSzZ8/G4XAAsHbtWoYNG8Z9993HF198\nAcD58+eZMGECo0eP5rHHHuP06dMA7N69m9/+9reMHDmSJUuWOL9ryZIlDB8+nJEjR/Ldd9958rZE\nRMREUlJsdO0aTnR0hPOnW7dwUlJsvg6t3ngsGdi+fTu7du1i1apVrFixguPHjzN37lwmTZrEe++9\nh2EYbNq0iZycHFasWMHq1av5y1/+woIFCyguLmbVqlXEx8fz3nvvMXToUJYuXQrA7NmzmT9/PqtW\n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\nsgC1GDPQqFEjjh8/7lyB8JtvviEkxJwbOYiIiH+7dIyAO7XYfNdUaiyO6dOnM27cODIyMrjnnnvI\ny8tj4cKF3ohNRESkThYurN3D6kMPlXg4koalxmSgc+fOvP/++xw5cgS73U5cXJxaBkRExC/t319j\n7zdg8NJLRR6PpSFxmww899xz1V44d+7ceg9GRETkSgQHQ1EN9bxFYwercJtC9erVi169elFYWMjJ\nkye58cYbSUxM5Oeff6aG7QxERER8orgWmw7WZRdDs3DbMpCUlATAe++9x5o1a5zbFt91113cd999\n3olORESkDlq3NsjOdvXoX/YQO2CAnTVrznk3qAagxjED+fn5nDlzhqioKAB++uknzp496/HARERE\n6spdw3WbNga7dhV6N5gGpMZk4PHHH+fuu++me/fuOBwOvv32W2bNmuWN2EREROrk+HHXAwKOHdNA\ngerUmAxcf/31bNiwgV27dmGxWJgzZw5XXXWVN2ITERGpk6AgcDiqHg8O9n4sDUmNycDkyZP55JNP\nGDhwoDfiERERuSwpKTZKS123AJRoWYFq1ZgMXHPNNSxZsoQuXbrQqFEj5/GePXt6NDAREZG6qG7B\noeuvd9FcIE41JgNnzpxh+/btbN++3XnMYrGwfPlyjwYmIiJSF9UtODRxYi3mHJpYjcnAihUrvBGH\niIjIZUtJseFwuO4iCA01SEoq9XJEDUu1ycCOHTtYunQp33//PQC/+tWvGD9+PAkJCV4JTkREpKIO\nHcIpLKzbzICaViSUalYg3LZtG8888wy33347q1atYvny5dx2221Mnjy5UpeBiIiIN5QlAkGAxc2P\nXC63LQNvvPEGb7/9NjfccIPzWMeOHenSpQtz585l5cqVXglQREQEqHOLQDntRVAzty0DBQUFlRKB\ncp06dSIvL8+jQYmIiNQX7UVQM7fJwNmzZyktrTrgorS01OVxERERT5kxI5TL6wowtBdBLbhNBhIT\nE3nttdcqHbPb7cydO5ebb77Z03GJiIg4vfvu5S0hOGCAWgVqw+2YgSlTpvD4449z++2306lTJ+x2\nOz/88INzESIRERFvcd8g7WZnIrRDYV24TQbCwsJYvnw5X3/9Nd9//z0Wi4UHH3xQ0wpFRMSrRoxo\nTHVdBCdPFngvmABV46JDvXr1olevXt6IRUREpIovv7T6OoSA537tRhERET9guO8JkHqiZEBERPxW\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d92ac9f828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# импортируем библиотеку seaborn, предварительно \n",
    "# установив ее в Anaconda Prompt с помощью команды\n",
    "# conda install -c anaconda seaborn=0.7.1\n",
    "import seaborn as sns\n",
    "\n",
    "# импортируем norm и stats\n",
    "from scipy.stats import norm\n",
    "from scipy import stats\n",
    "\n",
    "# строим гистограмму распределения и график\n",
    "# квантиль-квантиль для переменной monthly_income\n",
    "sns.distplot(train['monthly_income'], fit=norm);\n",
    "fig = plt.figure()\n",
    "res = stats.probplot(train['monthly_income'], plot=plt)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Для распределения, скошенного вправо (положительный коэффициент асимметрии), обычно применяются следующие преобразования: квадратный корень, кубический корень, свернутый корень и логарифм. Для распределения, скошенного влево (отрицательный коэффициент асимметрии), обычно применяются следующие преобразования: квадратный корень (константа – x), кубический корень (константа – x) и логарифм (константа – x). Поскольку логарифм нуля, а равно и любого отрицательного числа, неопределен, перед использованием логарифмического преобразования ко всем значениям нужно добавить константу, чтобы сделать их положительными. При использовании корней обычно корень берут от модуля числа (чтобы не вычислять корни отрицательных чисел) и затем учитывают знак числа."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.1706215640670719"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# вычисляем коэффициент асимметрии\n",
    "train['monthly_income'].skew()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "81.083851580075702"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# вычисляем коэффициент эксцесса\n",
    "train['monthly_income'].kurtosis()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeEAAAFXCAYAAACV2fZmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4XOWd5v1v7VVSlXZZtmxLXuUVbGxjA8YLBpuwBYIT\nDGRIejoZJr28SU+n028y3XHTNA100pNONwlkkn6TTMgkBhySYHa8YrxhjOV931dZsrWVSrWeev8o\nVUmyVi/SkVT357q4kOqcKv10XNKt5znPYonH43FERESk11nNLkBERCRdKYRFRERMohAWERExiUJY\nRETEJAphERERkyiERURETGLv7S9YWVnf21+yz8rNzaC6OmB2GX2erlP36Dp1j65T9+g6de1KrlFh\noa/dx9USNpHdbjO7hH5B16l7dJ26R9epe3SdunY9rpFCWERExCQKYREREZMohEVEREyiEBYRETFJ\nt0J4x44dPPHEE20ef/PNN/nCF77Ao48+ytKlSzEM47oXKCIiMlB1GcI/+9nP+Pu//3tCoVCrx4PB\nID/84Q/51a9+xbJly/D7/axZs6bHChURERlougzhkpISXnjhhTaPO51Oli1bhsfjASAajeJyua5/\nhSIiIgNUl4t13H333Zw+fbrN41arlYKCAgBefvllAoEAs2fP7vIL5uZmaP5ZCx1N4JbWdJ26R9ep\ne3SdukfXqWvXeo2uacUswzD4/ve/z7Fjx3jhhRewWCxdPkcrsDQrLPRpBbFu0HXqHl2n7tF16h5d\np65dyTXqKKyvKYSXLl2K0+nkxRdfxGrVQGsREZErccUhvGLFCgKBAJMnT2b58uXMmDGDL3/5ywB8\n6UtfYuHChde9SBERkYGoWyE8bNgwXn31VQAeeOCB1OP79+/vmapERETSQK/voiTSF6wtP9Pp8flT\nh/ZSJSKSznQjV0RExCQKYREREZMohEVEREyiEBYRETGJQlhERMQkCmERERGTKIRFRERMohAWEREx\niUJYRETEJAphERERkyiERURETKIQFhERMYlCWERExCQKYREREZMohEVEREyiEBYRETGJQlhERMQk\nCmERERGTKIRFRERMohAWERExiUJYRETEJAphERERkyiERURETKIQFhERMYlCWERExCQKYREREZMo\nhEVEREyiEBYRETGJQlhERMQkCmERERGTKIQlbR09W8ebG48TiRpmlyIiaUohLGnrbFUDl+pC1DWE\nzS5FRNKUQljSVigSAyAcjZlciYikK4WwpK1wUwirO1pEzKIQlrQViiTCNxxRCIuIORTCkrbC6o4W\nEZMphCUtxePx5nvCagmLiEkUwpKWorE48XjiY90TFhGzKIQlLSVbwaDuaBExT7dCeMeOHTzxxBNt\nHl+9ejWLFy9myZIlvPrqq9e9OJGeEm4ZwuqOFhGT2Ls64Wc/+xlvvPEGHo+n1eORSITnnnuO5cuX\n4/F4eOyxx1iwYAEFBQU9VqxIS2vLz3R4bP7UoZ0+t2XwqjtaRMzSZUu4pKSEF154oc3jR44coaSk\nhOzsbJxOJ9OnT2fr1q09UqTI9abuaBHpC7psCd99992cPn26zeN+vx+fz5f6PDMzE7/f3+UXzM3N\nwG63XWGZA1dhoa/rk6Td6+Tzuq/o/Jastua/P6OxeJvX6q//Lv217t6m69Q9uk5du9Zr1GUId8Tr\n9dLQ0JD6vKGhoVUod6S6OnC1X3LAKSz0UVlZb3YZfV5H16neH+zwOV1d19r65ucGw9E2r9Uf/130\nfuoeXafu0XXq2pVco47C+qpHR48ePZoTJ05QU1NDOBzmk08+4aabbrralxPpVcl7whZL4p5wPDlf\nSUSkF11xS3jFihUEAgGWLFnCt7/9bb7yla8Qj8dZvHgxRUVFPVGjyHWXvCec6Xbgb4wQjcVx2C0m\nVyUi6aZbITxs2LDUFKQHHngg9fiCBQtYsGBBz1Qm0oPCTSOivRmJEA5HYzjsmjYvIr1Lv3UkLSVb\nwl6PA9BcYRExh0JY0lI4EsNus+BxJkbqRzRNSURMoBCWtBSOGDgdtlQXtFrCImIGhbCkpVAkhsth\nw+lItITDWjVLREygEJa0EzMMIlEDp93a3BJWd7SImEAhLGknEIwC4HLacDat3hZRd7SImEAhLGkn\nGcJOuw2nI9kSVgiLSO9TCEva8QcjADgdVpypgVnqjhaR3nfVa0eL9Fep7ugeGpjV2RaL0PU2iyKS\nPtQSlrTT0JhsCTdPUdI8YRExg0JY0k5DqiVsxWa1YLVYNE9YREyhEJa00xBsbglbLBacDisRDcwS\nERMohCXttLwnDOCwWzVPWERMoRCWtNN8T9ja9H+buqNFxBQKYUk7DZe1hJ12KzEjTsxQEItI71II\nS9pJ3hNOjox2ahMHETGJQljSTkMwitNhxWKxAOBwJLczVAiLSO9SCEvaaQhGUl3R0KIlrMFZItLL\nFMKSdhoao6mVsoDmVbPUHS0ivUwhLGklHIkRjRm4HM1v/eZVsxTCItK7FMKSVhpa7KCUpE0cRMQs\nCmFJK8mR0S5nO93RagmLSC9TCEtaSS3UYW9+6zcPzFIIi0jvUghLWrl8yUpoXjlL3dEi0tsUwpJW\n/C02b0hy2DVPWETMoRCWtJJsCTsd7XRHqyUsIr1MISxpJTUwq1VLWFOURMQcCmFJKw2NyZZwcwhb\nLJam7QwVwiLSuxTCMiAYRpwT5+sxjHin57XXEoZEl7S6o0WktymEZUA4fr6edeVnOXG+vtPzGtq5\nJ5z43KaWsIj0OrvZBYhcD7UNYaC5pduRQDCC3WbFbrsshO1WIlGDeDyOxWJhbfmZDl9j/tSh116w\niAhqCcsAkVyEI9TFJgyNoRgZLlubxzU4S0TMoBCWAcGfDOFw5/d1g+EoblfbDiAtXSkiZlAIy4CQ\nCuEuBlc1hmO4nR23hDU4S0R6k0JY+r2YEU8twtFZCBvxOKFwDI+z45awuqNFpDcphKXfC7QYjNVZ\nd3TymKe97mht4iAiJlAIS7+X7IqGzlvCjaFEa7m97ujklKWu7imLiFxPCmHp91qFcDhGPN7+gh2N\nTQHb3sCs5OIdXd1TFhG5nhTC0u/5m5aidNitxOm4SznY1BL2tNMSTraO1RIWkd6kEJZ+LzlHOD/L\nDXQcpMFkS7jdEE60joNqCYtIL1IIS7/nb4xgsUCuzwV03KWcuifcWXe0WsIi0ou6XLbSMAyeeuop\nDhw4gNPp5JlnnqG0tDR1/I033uAXv/gFVquVxYsX8/jjj/dowSKX8zdGyHDZ8bg6D9LGcLI72k7U\naN1l7XRYsdDcWr5SVbWN/P7DYxQXZBAIRcnPcmO1Wq7qtUQkfXQZwitXriQcDvPKK69QXl7O888/\nz0svvZQ6/r3vfY8333yTjIwM7rvvPu677z6ys7N7tGiRpOQc4aJcDy5n54OrWnZH+4OtQ9hiseBy\n2q56YNaHO86xac/51OcOm5U5U4YwbJD3ql5PRNJDl93R27ZtY86cOQBMnTqV3bt3tzo+btw46uvr\nCYfDqcXvRXpLco6w1+Posks5NTCrne5oSHRJX2139LFzdQB85b4JjCrOIhIzOF3pv6rXEpH00WVL\n2O/34/U2/zVvs9mIRqPY7Ymnjh07lsWLF+PxeFi4cCFZWVmdvl5ubgZ2e9uBMemqsNBndgn9QnvX\nyed1U9OQCOG8bA+52R4ADCztnm+xJd53Q4p8BGNtpzFlehzUNoTJzHRhbfpj8lJVBZ9uWUfFuZPU\nXKrCl5XNuX2TuOuuu5g4cSIA8Xic4+frGVKQyUMLysBm5egbewhH4/i87m59L0nvbjre6XX4zK0j\nOj2u91P36Dp1j65T1671GnUZwl6vl4aGhtTnhmGkAnj//v2sXbuWVatWkZGRwbe+9S3eeecd7rnn\nng5fr7o6cE0FDySFhT4qKzvf/1Y6vk71/iCV1Yn3psNmIRZNtGLrG0Ltnn+pthGAxkCYen+wzXG7\nLRG8F6sbaKit5L0//JIDuz8hHm/ddb394w956aWXuPHGKTz55F9QNKyMhsYIN4zMo7KynnAogt1m\noa4h1O7X6ezfvL3zu/tcvZ+6R9epe3SdunYl16ijsO4yhKdNm8aaNWu49957KS8vp6ysLHXM5/Ph\ndrtxuVzYbDby8vKoq6vrZvki1y45R9jrcTTP9e3onnAn84Qh0R0dj8f5+KP3WPf2y0TCIYaWjGHm\nnHsoGTWB7JwC/PU15DtqeeON37Nly0a+/vWvMW/hYuKWKYwckugFslgsZLjsqfWsRUQ60mUIL1y4\nkA0bNvDoo48Sj8d59tlnWbFiBYFAgCVLlrBkyRIef/xxHA4HJSUlfO5zn+uNukWA5jnCmR47TnsX\no6O7vCdspWrvCo6c2Ijbk8mDX/4Lbpw+p9U5O09GcNq9fO97/8aePbt45pl/YM17r+EpKGfooz9I\nnZfhdlB3KUAsZmCzaSagiLSvyxC2Wq08/fTTrR4bPXp06uPHHnuMxx577PpXJtIN/sYIFiDT7cBq\nteC0W7scHe1qpyVsGAa7PvwNtSc2kls4jD/9y38gO7eg1TkXa4McP5/oejp2rp7Jk2/k5z//NU88\n+XUqT+7iJz98in/5l0QQZ7gTP1qBUBRfhvN6fbsiMsDoT3Tp1/yNETLc9tSc3M6mGTWGo7icttSg\nq5ZWvfl/ObJrHa6sYu585G/bBDDA7mOXUh9/vK8CAKfLQ94Nj1JYOpXy8m0sXfodDCNGZjKE1SUt\nIp1QCEu/lZwj7PU4Uo8lpxm1t4lDMBRr937wzm3rWb/ydbLzBlM886tY7BltzqkPhDl5vp5cnwuP\ny87W/Rcw4nFOXfATi9v47OPfYNasW9myZSOr3votnqYQblAIi0gnFMLSbyXnCGe2DGGnDSPe/spX\njeFoao3opPNnjvHH3/wIl8vDA1/8G2zOjHafu+dYNXFg8qg8ppUVUF0f4siZWo6eTQxEHDMsj6VL\n/4mhQ4ez/oPfUXFse6LGkEJYRDqmEJZ+K7mF4eUt4ZbHWgqGY6mlLQGi0Qi/e/nfiUTCLP7SX1E8\ntARoO7q6MRTlyJlavB4HpUU+Zk4oAuDjfRdSi3SMHJKFz5fFc899H6fTzUdv/5xosC71h4KISHsU\nwtJvtRfCyWlKl4dwNGYQiRqtWsLr3nuNirMnmHHbIsbfMLN52cvLWsL7T1QTM+JMHJmL1WphQmku\nXo+DrfsvcORMLR6XjcH5iS7sESNGsejBLxNqbODC7t+nRm+LiLRHISz9Vss5wkkdtYQv38bw7Mkj\nrP/gd+TkFXL3Q38CJBbrsFktrbYzNOJxDpyqweWwMWZodtN5VqaVFVLXEKaiupERg7NaDfaaMXsR\no8puJHBhHyf3b77O37WIDCQKYem3gqmtCZu7mJOtWX8g0u65HpcdwzB487WfYhgGDz72F7jcieUu\nU5s4tGgJBxqjhCMGQwoysLeY7ztrwqDUx6OKWy/VarVaeejxv8Bqc3L80z8QbGxARKQ9CmHptyKx\nxHKSDnvz27ijlnBjU7B6nHZWrnyP0ycOMmnqbYweN6XVeS6HjWC4eTBVXSAMQNZlc33HleSSlZl4\nLLlSVks5eYMYNnkRsXADa9599aq+PxEZ+BTC0m9Fo00h3KKFmmwJ118ewk0tYSsRfvKTH2F3OLn7\noS+3eU2300Y0FifWFPCpEM50tDrParUwb0oxGS47Y4e1v3Xn6Cl3YffkseXDt6i6cOZqvkURGeAU\nwtJvRZpC2N5OS/jyAVHJe8I7N79FVVUlt9/5EDl5g7hcajvESHIziMTrtLfq1YNzRvLDr9/e4YpY\nPq+Hggn3YsRivP/HX13R9yYi6UEhLP1WJGZgt1laDYrqeGBWlFi4ga3r3yI3N4/Zdz7U7msmB24l\nQ7uj7mgAq8XS6j7x5TLdDjKLJlE0bCz7d33MmROHruC7E5F0oBCWfisSNdqEoKuDKUqNoSjVR9cT\nDjXyxS9+CZfL0+5rui4L4fqGME6Htd31pruS4bZjsViYeEsi8Fe9/dsrfg0RGdgUwtJvRWNGq0FZ\nADarBYfN2iaEK6suUntiA9k5+Tz44MMdvqarxXaIhhGnvjHSbiu4O5KbOPgGjWHk2Mkc3redk0f3\nd3i+EY9z/mKADbvOsXztEU5f8F/V1xWR/kMhLP1WJNo2hCERpJeH8IbVfyAei3Dvg4/hcrk7fE23\no3nBjoZghHic1CjoK9VyE4cF9yZ2GlvzzrJ2zz1ZUc+3f7KJ97ee4siZOgLBKOcuBq7q64pI/6EQ\nln7JiMeJxuKtRkYnuRyJEE5u4lBfX8/Oj1dic/m4a9G9nb5uy+7outSgLEdnT+mQ22nHQmITh9LR\nExlZdgNHDuzgwIG2reGP912gqjZI6WAfs28YDEC4g92gRGTgUAhLv5RcUMPeQUs4EjUIRxKjp//4\nx9eJhIPkjLgdX2bbHZJaSi5rGYrEOh2U1R1WqwWPy56aHnX7nZ8DYNmyX7c593Rlout51sRBDB/k\nTdUgIgObQlj6peTAqfZbwonH/I0RQqEQy5cvw+H0kFUyq92tDFs/t7klXN+QnCN8dSEMifvCgWCi\nVT5m/FSKikewZs1Kzp5tPW/4TGUD2ZlO3E47DrsVi0UhLJIOFMLSLyVXtWrvnnCyNetvjPDBB+9w\n6dJFRkyei83hxu2ytzm/pZabONQ1LX3py7y67mhIhHBya0WLxcLtdz6EYRi88spvUuc0hqJcrAsy\nrDATaFo+02Frs5GEiAw8CmHpl1It4fa6o5tawvWBMK+99go2m42h4+djsYCznfNbslktOOxWQpEY\n9YEwbqcNp/3KpyclZboTAR4IJv5omDxtNoMGFfHuu2/i9ye6oM9UJtaWHlrobfE92Ag1daeLyMCl\nEJZ+KbkhQ3uLZTibWrM7d2zn2LEjzJ9/Jzi8eJyJebtdcTlsBIJR/I2RDlfD6q7kNKWGpn2FbTY7\nDz30eRobG3n77RUAnK5KhPHQppYwJFrk4UgsNbhMRAYmhbD0S521hJPTjNategOAhx9+hMZQDI+r\ney1at9NGKBJrmp509V3RABmu5mlKSfff/yBOp5Pf/345hmFw5kKiJTzsspZwHFKDy0RkYFIIS7/U\naXe000aksYb9u7ZQVjaeyZNvIBiOpu4Vd6Xl6lhXOzI6KdkSDoSaQzgnJ4e77rqbM2dOsWXLJk5X\n+rEAxQUtWsKXrWEtIgOTQlj6pdTArHa6o91OO3UnNxOPx1m8+JGm82Ot9h3uTLIlDeC7hpHR0CKE\nW7SEAT73uS8A8Prrr3KmqoHCXE8qeAGcTfe1FcIiA5tCWPqlzlrCGS4Ldac/weHKYMGCu4hEDWJG\nHM9VtYSvsTva7cBqgVp/uNXj48aNZ9KkyXz88WaqL11o1RXdsgaFsMjA1r3fSiI9YG1553vszp86\ntMNjjZ0s1nFk3zZiIT+5Y+bgdLpSU43c3dyEoWUIX+vALJvVQkGOh8rqRsKRGM4Wrd0HHvgce/bs\npu7UVobeeVPrGlosnykiA5dawtIvddYd/cmGDwDwDJlBXUM4NZK6qznCScmw9rhs7ba0r9TgvAzi\nQEV1Y6vH77jjLlzuDOpOf8KQ/Na7OumesEh6UAhLv9RRd3T1xQscOVDOkJIyXL4izlQ1pM7tdnd0\nUwBe66CspMF5iaUyz1+2IYPH42HEhFuIBeuoOrWndQ2p7miNjhYZyBTC0i91FMKfbl5JPB5n7h33\nAImFMJJrN3e3Ozp53rUOykoqzHFjs1o4f6ntrkjZJTMB+GjdO60eV3e0SHpQCEu/lOyObrlYh2EY\nlH+8FqfLzd2LFgFwpspPY9O5nm52RxdkexhfmsP4kpzrUqvNZqUw10N1fShVd6LeOP54Hr784WzZ\nvJHq6kupY+qOFkkPCmHpl4LhGBbAbmteAevEkb3UVlcyaeptjCjOx2a1tOqO7u4UJavVwswJReRl\ndbzv8JVKdklXXGq+L1xZ00g4ajBuylxisRirVn2QOqbR0SLpQSEs/VIwFMNut7ZahnLH1rUATLl5\nPnablaK8DM5WXXl3dE8Y0hTC51rcF05uX3jb7Xdgs9l47723UsdsVgt2m0Xd0SIDnEJY+qVgONpq\nZHQkHGLP9o1k5xYwYswkAIYWZNIYinG2KrEsZHcHZvWE/Gw3dpuFihb3hZMbN5SNHMqsWbdy4MB+\nLpw7lTqe2MRBISwykCmEpV8KhmOtBmXt3/UxoVAjN86Yh9WaeDy5IcKRM3VA9+8J9wSr1UJRbga1\nDWGq60OcvxRg9fYzWCxQWuRl0aLEQLJkax6aN3EQkYFLISz9UjAca7VQR/nWdQBMvXle6rGhTWsx\nn7qQ6PY1szsaYHB+okt64+5z/Ouy7dQ1hHn8rjKyvS5mz56D1+tlxyfrMIzEtCSXw0Y0FidmaJqS\nyEClEJZ+JxoziMaMVHd0fV01R/ZvZ2jJGAoHD0+dl9yf12jaDrC7i3X0lOTgrN+tO8qluhCL543i\nzunDAHC53Myffyd1NRc5fnh34rHUNCWFsMhApRCWfufyOcK7tq3HMAym3Dy/1XmDcjytpjB5TG4J\n52a5cDbVfO8tpdx364hWx++++14AdjS16jVCWmTgUwhLv5NasrIp0HZsXYfVauOGabe3Os9qtVDc\n1AUMdHsrw55itViYObGIR+4Yw+J5o9ocv+GGKeTkDWJP+UbC4ZAW7BBJAwph6XeSLWG7zUrF2ROc\nO32UsROnkenLbnNucnCW3Wa5LutAX6tRxVl8ZlZJq6lVSVarlSk3zyMcCrJ/5xYt2CGSBsz/rSRy\nhVp2R+9IDcia3+65xU2Ds8xuBXfXlKaBZeUfr8Xl1J7CIgOdQlj6neYlKy3s3r4Bl8tD2eQZ7Z6b\nHJxl9sjo7ioYNJRhpWUcObADI5yYR6zuaJGBq8sQNgyDpUuXsmTJEp544glOnDjR6vjOnTt5/PHH\neeyxx/j6179OKBTqsWJFILFaFoD/4ilqLl1g3OSbcTja32whOU3JzDnCV2rytNnE4wanDm0D1BIW\nGci6/M20cuVKwuEwr7zyCuXl5Tz//PO89NJLAMTjcb773e/yH//xH5SWlvLaa69x5swZRo1qO+hE\n5HpJdkefOfIpABOn3trhufnZbopyPQxrahH3B5Om3sa7v/8FR/ZswTm+rFUIry0/0+HzfF4308fk\n90aJInKddBnC27ZtY86cOQBMnTqV3bt3p44dO3aMnJwcfvnLX3Lo0CHmzZunAJYeFwxHicfjnDy4\nFYfTxZgJN3V4rtVi4emvzMJmbTsQqq/Kzi2gZNR4Th3bR+nIekKR/vMHhIhcmS5D2O/34/U2/xKw\n2WxEo1HsdjvV1dVs376dpUuXUlJSwte+9jUmT57Mrbd23DLJzc3Abu8f9+d6Q2Ghz+wSTOPzdr5L\nUctr0/Jjm8NOuL6CuksVTJkxh/y8tqOiu7quXX3t7tZ1Na/d2fOTz51+y3xOHt1Pw7ldxIqLul1v\nOr+froSuU/foOnXtWq9RlyHs9XppaGhIfW4YBnZ74mk5OTmUlpYyevRoAObMmcPu3bs7DeHq6rYb\nm6erwkIflZX1Zpdhmnp/sNPjyWtz+XW6WB3Af34XAGWTZ7b7Ol1d166+dnfqutrX7uz5yeeOnnAz\nFsv/pqFiF4Hg/G7V6/O60/r91F3p/nPXXbpOXbuSa9RRWHc5MGvatGl8+OGHAJSXl1NWVpY6Nnz4\ncBoaGlKDtT755BPGjh3brYJErlYwHKXh/G5sdgdlE6ebXU6PyMrOo3T0RAIXj+Ovu2R2OSLSQ7ps\nCS9cuJANGzbw6KOPEo/HefbZZ1mxYgWBQIAlS5bwz//8z3zzm98kHo9z0003MX/+/F4oW9JZxblT\nhP0VjJk4A5fbY3Y5V6yzwVUtTb7pdo4f3sPFU+XE49PaXeBDRPq3LkPYarXy9NNPt3os2f0McOut\nt7J8+fLrX5lIB47s2wrAhCm3mFxJz5o45RbeXP5T/Gd3EokaOB0aSyEy0GixDul3Th38BCw2Jt4w\n0+xSepQ3K4e8IWUEa05SWVlhdjki0gMUwtKvnD17htqqU2QWjCHTO/BHbg4bm1gJbE/5RpMrEZGe\noBCWfmXdutUA5A6/0eRKeseIcTPAYuXAzk1mlyIiPUAhLH2CYcQ5WVFPzOh8A/t169aAxcqg0im9\nVJm5srJy8OSPpvLsUWouXTC7HBG5zhTC0ifsOXaJtdvPcuxsx3PuKioq2Lt3N96C0fiy2i7QMRC5\nnDa8gycDsHfHZpOrEZHrTSEspotEDfYerwbA3xjp8LwPP1wDQEbR5H6zK9K1cjlsZBZNAizs3aEu\naZGBRiEspjt4qia1SUEgFO3wvHXrVmOxWMgomthv9ge+Vi6nFbvLS96QMZw6doD6Wi3cITKQKITF\nVNGYwZ5jl7DbEgtRNHYQwhcvVrFr1w4mTroRu8uXVi1hgIKSKcTjcfbt/NjkikTkelIIi6kOnaol\nGI4xoTQXm9XSYQivX7+WeDzOzFvmAqRPCDd9n9lDbwBg707dFxYZSBTCYppYzGD3sYvYbRYmjMjF\n47J3GMJr1yamJk2dMRsgbbqjbVYrToeVuN3H0NKxHD+0i0BDndllich1ohAW0xw5W0djKMa4klzc\nTjsZbjvBUAwjHm91XnV1NTt2bGfSpMlk+vKA9GkJA3icdhpDMSZOuRXDMDiw+xOzSxKR60QhLKa5\nWJvYnm9UcRYAHpedOBAMxVqdt2rVKmKxGHPnLiAYTrSU0yqEXXZCkRjjb5gFwJ5yjZIWGSgUwmKa\n5Ihoj8ve9P9EsF7eJf3+++8DMG/eHQTDieekS3c0gLvpumRkF1JUPIIj+8sJNmpfbpGBQCEspmkM\nxbBYwOVIvA2TYdwyhOvr69i8eTNlZeMpLh7aIoTTqCXsTF6XGBOn3EIsFuXQ3m0mVyUi14NCWEwT\nDEdxOWypfXIz2gnhDRvWE4lEmDfvjsRzmo4lAzsdJHsIgqEoE5u2b9TCHSIDg0JYTBMMx1q1aNtr\nCa9bl1gla/78BannQJq1hFtcl0FDSsgvHMLBvZ8SCYdMrkxErpVCWEwRiRpEogbuFi3aZNgEmgZm\nBQINbN2WGet2AAAgAElEQVS6mbFjxzJ8eClAWt4TToVwOIbFYmHilFuJhEMc3l9ucmUicq0UwmKK\n+kAY4LKWcOuBWZs2bSAcDnP33XenzknP0dGtr8vEqbcCsFejpEX6PYWwmKI+kNiowdOiRety2LBa\nmsMmuXfwwoULU+eke3c0QPHw0WTnFnJgz1ai0Y43vBCRvk8hLKZoryVssVhwN62aFQ6H2Lx5I8OH\nlzB27NjUOenYHZ0YvNYcwoku6VsINgY4dnCXydWJyLVQCIsp6ppC2HVZizbDlVgd6tDeTwkGg8yf\nvyA1ehrSszvaYrHgblo1K2lCcpS01pIW6dcUwmKKuoZEN+rlYepx2THicXZv3wjA3LkLWh2vD0TI\ndNuxWi2kE4/LRjAcJd60pGfJyHF4fTns37kFw4h18WwR6asUwmKKZHe057JuZY/LTrxpMYohQ4op\nKxvX6niNP0SO19VrdfYVHpedaCxONJYIYavVxvgbZ9Lgr+PEkX0mVyciV0shLKZIdkcnl2RMynDZ\nCFQdIhxqZN681l3R4UiMhmCUHK+zV2vtC5pXzWqeQz1xStMo6R3qkhbprxTCYork6OjLB1h5XHb8\n5xODjZKrZCXVNCSCOz1bwm3X1R45djKeDC/7dmzGMAyzShORa6AQFlPUB8LYrBbsttb3dp12aKjY\ni8eby4QJk1odq6lPrBCVnYYh7G6xYEeSzWZn3OSbqau9yJmTh80qTUSugUJYTFHXEMHttLXqbga4\neOYARjRI0cipWK2t3541/kQIp2V3dDKEg613mGruktbCHSL9kUJYel08Hqc+EG53mtGx/VsByBs+\ntc2xGn8ad0c3XavGcOsQHj1+Ck6Xm73lm1Ijp0Wk/1AIS68LRWKEo0ab+8GxWIxDe7dic3pxZZe0\neV6qJexLwxBuZ3MLAIfDSdmkGVRfrODsqWNmlCYi10AhLL2uLtD+HOETR/YS8NeRPXQywUjbgUbq\njoZgqO2c4OT2hju3fdSrNYnItVMIS6+rb2h/elLyvmZh6U00hqJtuldTA7My068l7LBbsdssbbqj\nAcZOnIbd4WTHtg0mVCYi10IhLL2uvelJhmGwb8dmMjJ9FA0fRzQWT60TnVTjD+P1OHDY0/Nt62la\nV/tyLpeHMeOnUnH2JCdOHO/9wkTkqqXnbzMxVV07mzecOn6A+rpqxt8wiwxPoqWb7H5OStfVspLc\nTjvBcAyjnQFYZZNnAbBu3ZreLktEroFCWHpd8w5KzS3h5N64E6fekrr/Wds0GhoSA5KC4Rg5vvS7\nH5zkcdmIxyEUbntf2O8oBYuVd99/34TKRORqKYSl112+eUM8Hmfvjs24PRmMKruRjKZ7xTUNzS3h\n2jReLSspNTjrsvvCDY0RTl2MkpE/htMnj3Du3FkzyhORq6AQll53+V7CZ08epra6knGTZ2K3O9pt\nCScHZSmEIRBs3RLee7yaeBwyB08G4MMP1SUt0l8ohKXXXX5PeE+yK7ppqk27Idx0fzg3DacnJSUX\n7GjZEg6Goxw6XUOG20528WSwWHRfWKQfUQhLr6sPRPC4bNhs1qau6E04XW7GjE+skuXLcABw9mJD\n6jnpvFpWUnsLduw/UUM0FmfSiDwGFebjyRvJ7t07qaqqMqtMEbkCCmHpdXWBML6MRIu24uxxLlWd\np2zSDBzORMC6nXYy3XaOn6tLzRVO59WyklKbODQt2BGJGuw/WY3LYWPMsGzystxkFiU2vVi/fq1Z\nZYrIFVAIS68y4nH8gQhZTSGc7Iqe1LQRQVJ+tpu6QISLdUGg5WpZ6RvCLbczNIw4Ow5XEY4YjC/N\nwWG3kpflxluUuC+8bt1qM0sVkW7qMoQNw2Dp0qUsWbKEJ554ghMnTrR73ne/+13+9V//9boXKANL\nIBglZsRTXc57yzfhcDgZO3Faq/MKst0AHD9XDyQGZlmArExHr9bblySndF2qC/L25hPsPV6Nx2Vj\nXEkuAHlZbuyebIYMH8OOHdupqakxs1wR6YYuQ3jlypWEw2FeeeUVvvnNb/L888+3OWfZsmUcPHiw\nRwqUgSU5MtqX4eTCuZNUVpxm7MRpOF3uVucVZHsAOHquDkjcE87KdGKzpm/njc1qweWwUReIcKku\nxOjiLB6YPSI1wC03K3ENi0beRCwWY8OGD80sV0S6ocvfaNu2bWPOnDkATJ06ld27d7c6/umnn7Jj\nxw6WLFnSMxXKgFLXNN83K9PB7u0bAZg09bY25+Vlu7BA6r5wuq+WlTQkP4Ncn4tFM4cz+8YhrRY8\n8WU4cDltOPMnAFo9S6Q/sHd1gt/vx+v1pj632WxEo1HsdjsXLlzgxz/+MT/60Y945513uvUFc3Mz\nsNvb7iObrgoLfWaX0KsONnUvDxnk47c7E13R02fdjsvtbnPusCIvJyr81AcihKMGg/IzWl0vn7ft\nc5K6uq6dPbcrPfnaXbnv9lGdHi8d7OPoGYNx48axbdvHuN3g86XXe6w70u3n7mrpOnXtWq9RlyHs\n9XppaGieKmIYBnZ74mnvvvsu1dXVPPnkk1RWVhIMBhk1ahQPP/xwh69XXR24poIHksJCH5WV9WaX\n0avOnKsFoPL0CSrOnmTCjbMIRy2E/cE25w4v9HKqws+uw4npNhlOW6vrVd/Oc5K6uq6dPbcrPfna\n18LndTMo28PBkzVMm3YbBw4cYMWKd1m48DOm1NNXpePP3dXQderalVyjjsK6y+7oadOm8eGHiXtL\n5eXllJWVpY596Utf4vXXX+fll1/mySef5P777+80gEWSewnv39U0Kvqm2R2eO3JIFgCb95wD0ntk\ndHcVF2QCMGLcDEBd0iJ9XZct4YULF7JhwwYeffRR4vE4zz77LCtWrCAQCOg+sFyx5GpZ27eux253\nMG7SjA7PTYbwJ3srAMhJ49WyuisZwjFHPiUlpWzZspFgMIi7ne5+ETFflyFstVp5+umnWz02evTo\nNuepBSzdUd8QJlxfwZnTJ5hw4yxcbk+H5w4f5MVmteBvTLSe1RLu2tCmED57McC8eXfw8su/ZPPm\nDcyff6fJlYlIe9J3voeYorYhjP/8LqD9UdEtOexWhg9qHhSoEO5aXpYLt9PG2aoG7rjjLgBWr/7A\n5KpEpCMKYelVVbVBGi/sxul0Mm7yzV2en+yShvResrK7LBYLxQWZnL8UoHTEaEpKStm0aQOBgAZE\nivRFCmHpNdGYwYVzp2isPc/Mmbd02hWdNGJIYkSh1WJJrbIlnSvOzyRmxKmsCbJgwUJCoRAbN643\nuywRaYdCWHrNpbog9ed2AjB//l3des6oppZwtteJ1WLpsdoGkuTgrLNVDSxYoC5pkb5MISy9pqo2\niP/cLmx2B7Nn396t5wzJzyQvy83Qwswerm7gSF6r05V+RowYxciRo9myZRP19ZrzKdLXKISl1+zZ\nf5Cwv4KxE24iM9Pb9RMAq9XCv/2Pefz3z07q4eoGjpKmwWwnK/wA3HnnQiKRCB99tM7MskSkHV1O\nURK5XrZsSCwccfvcK5suk5flJhaKXNFz1pafuaLzB5Jsr4tsr5MTFYmW74IFC/nP//wJq1ev5J57\n7je5OhFpSS1h6RXxeJy95R9hsTlZMH++2eUMeKVFPqrrQ9QHwgwbNpyysvF88skWamu1vaFIX6IQ\nll6xb98e/LWVeIsmMrgg2+xyBrySotZd0gsW3EUsFmP9+rUmViUil1MIS69YufJ9AIaMmYHdprdd\nTystSkztSnZJNy/csdK0mkSkLf02lB4Xi8VYvfoDrI4MRpXdZHY5aaGkKYRPNoXwkCHFTJw4mU8/\n/YTq6ktmliYiLSiEpceVl2/j0qWLeAffwKA8TTXqDQXZbjJcdk40dUdDYoCWYRhqDYv0IQph6XHJ\nrmhf8RQKsrWbT2+wWCyUFHm5cClAYygKJELYarXywQfvmlydiCQphKVHhcNh1q1bTVZOPu68EeQr\nhHtNSZGPOHDqQqI1XFBQwIwZM9m7dzenTp0wtzgRARTC0sO2bNmE3+9nzKRbsFisFGR3vV60XB+l\nl90XBli06B4APvjgPVNqEpHWFMLSo1auTPyyHzx6BoC6o3vR5dOUAObMmY/H4+H9998hHo+bVZqI\nNFEIS48JBBrYuHE9w4eXYLiKsFggV9sR9prB+Rk47dbUNCUAj8fD3LnzOXv2DLt37zKxOhEBhbD0\noLVrVxMKhVi06B4u1oXI87k0R7gX2axWhg3ycraqgUjUSD2+cGGiS/r99982qzQRaaLfiNJj3nnn\nTQDuvOsz1NSHyNf94F5XUuQjZsQ5W9WQemz69JvJy8tn9eqVhMNhE6sTEW3gIJ3qaiOE+VOHtvv4\nmTOn2bFjO9OmzcCZkUsc3Q82Q2nTfeETFfWUDk4M1LLZbNx11928+upv2LJlI3PmzDexQpH0ppaw\nXBEjHidmGF2e9957ia7Oe+65n6raIKAQNkNy5awPd5yl/FAVkWgMgLvvvheA9957x7TaREQtYblC\nH++t4HRlA5+bMxJbB/d3DcPg3XffwuPJYO7cO9h6sBpAc4RNMHyQl6GFmRw9W8d//G4nLqeNu6YP\n43NzxjBy5Cg2bfqI+vo6fL4ss0sVSUtqCcsVOXcxQCAYpbIm2OE55eWfcv78Oe644048Hk+LlrDu\nCfc2u83KP/7pTP7uS9P5zKwSMlx23tp0gvU7z7Fo0T1EIhFWrXrf7DJF0pZCWLotGjOoD0QAOH8p\n0OF5yQFZyQ3kL9Y2AuqONovVYmF0cTaP3DGG//lfppPptvN/PzjEpJvmYrPZeOutN8wuUSRtKYSl\n22r9zSNpz11sP4QDgQbWrVtNcfFQbrxxKgBVtUHNEe4j8rPd/LcHJhGNGfz2w3PcPPNWDhzYz8GD\nB8wuTSQt6Z6wdFuNP5T6uKq2sdXc06S1a1cTDAa55577sVgsTecGB9Qc4a5GjPd1N47O5/7bSnlz\n4wmKCqYCH/HWW29QVvYts0sTSTsD47ei9Irq+kQID8r1EI/DherGNucku6KTo2/9jRGq60MMzsvo\nvUKlXWvLz6T+y/G5KMr1cD4yhExfDu+8+xbBYMf3+UWkZ6glLN2W7I4eX5LDherGNveFT58+lZob\nPHjwEACOn6sDYGRx9hV/vWSL0+d1U+9XQFxPVouFSSPzqKhuZMiYWzi8/V3WrVud+uNJRHqHWsLS\nbdX+EB6XnWGDvFgtcP6y+8J//OPrANx//4Opx44mQ3iIr/cKlW4pLsjE7bRhyU/cu3/zzT+aXJFI\n+lFLWLolHIkRCEYZkp+B3WalIMdDZXUjgWCEDLeDUCjEO++sICcnl7lz70g979jZZAhrHmpfY7Va\nGDkki30nYhSPmMiOHdtZ/v7HFAxqfxW0jlZHE5Grp5awdEuyKzo5wnlwXgZx4MCpGgDWrl1FXV0d\n9933WZxOJwDxeJxj5+rIy3KR49XI6L5o1NDEH0e5pTMB2LZppZnliKQdhbB0S3XTyOjspjAdnJ8Y\naLXvRGI1rD/84XdYLBYeeOCh1HMu1YWoC0TUCu7D8nwucrxOQp7ReDK8lH+8hmg0YnZZImlDISzd\nkmoJexOt3MIcNzarhf0najh8+CB79uxi5sxbKS5u7rI81nQ/eJRCuM+yWCyMGpoNVgcl42+hob6W\nA7u2ml2WSNpQCEu3XN4StlmtFOZ6OF3p59XlrwHw0EOLWz2neVCWQrgvGzUkCwvgGjwDgC3rtc+w\nSG9RCEu31NSH8HocOOzNb5nBeRkYkSCrV73HoEFF3HLLba2ec+xsHRZIbaEnfVOG286QggwC5FAy\n+gaOH97D+TPHzC5LJC0ohKVLwXCUYDhGTlNXdNKgXA/1Z8sJh4I88MBD2Gy21DHDiHP8fD1DCjLx\nuDQIv68bX5ILQObwWwDYvE6tYZHeoBCWLtU03Q++fIRzfpaL2pObsVis3Hffg62OnbvYQCgS0/zg\nfmJoYSbDCjMJe0biyxnEzm0f0uCvM7sskQFPTRTpUk3TcpU5vtYt4TPH9xOuP4938A34snJbHUve\nD47GjH6/1nI6sFgszJxYxPlLATKH3UL97jfYtvED5i5a3PWTReSqqSUsXeqoJbxhdWKFpewRszl6\ntrbVsWPn6gHtIdyfeD0ObhxTgGfINGwOFx9/9A6xWNTsskQGNIWwdKnGH8ICZGc2t4QrK05zYPdW\nRowajzu3lEOnLwvhs3XYbVZytH1hvzKxNJf83Cy8xdOoq7nIvh1bzC5JZEDrMoQNw2Dp0qUsWbKE\nJ554ghMnTrQ6/uabb/KFL3yBRx99lKVLl2IYbbe3k/6t1h/Gm+HA1mIrwo1NreDHH38Ci8XCodM1\nqWPhSIzTlX5KirzYrJZer1euntVq4ZZJg8kuTYx037TuTZMrEhnYugzhlStXEg6HeeWVV/jmN7/J\n888/nzoWDAb54Q9/yK9+9SuWLVuG3+9nzZo1PVqw9K5I1CAUieHLaG4F19dVU/7xWvIKh7DwzgUM\nyc/g8Nk6Yk1/gG3ZW0HMiDOuJMessuUaDMr1MGn8GDIKx3Hq2H7OnjxidkkiA1aXIbxt2zbmzJkD\nwNSpU9m9e3fqmNPpZNmyZXg8ift+0WgUl0vdjwOJvzGxhKHX0zyG7+P1iXuFt83/LDabjbHDsgmF\nY5y+0IBhxHl78wnsNgt3TR9uVtlyjaaVFVI4JvFzv/aD102uRmTg6nJ0tN/vx+v1pj632WxEo1Hs\ndjtWq5WCggIAXn75ZQKBALNnz+709XJzM7DbbZ2ek04KC/v2FB4jnuhOzs/OwOd1EwoF2frRu2R6\ns5iz4DMUFvqYNmEwH+44x9maRgJRg4rqRu6+pZSyUQUcrfBflzp8Xvd1eZ2BrrP305VcQx9w98L5\n/HLPW+zfsYlAfSWFheOvQ4V9Q1//uesrdJ26dq3XqMsQ9nq9NDQ0pD43DAO73d7q8+9///scO3aM\nF154AYul83uA1dWBTo+nk8JCH5WV9WaX0akL1Yl/e7sN6v1Btnz4NoGGeuZ/ZgmhCFRW1jM4O9H7\n8em+CiouBbBaLNwxtZjKynrq/cFrrsHndV+X1xnofF53p++nK72GQ/MzGDn1Mxz48Bf87pWXuXfO\n1GstsU/oDz93fYGuU9eu5Bp1FNZddkdPmzaNDz/8EIDy8nLKyspaHV+6dCmhUIgXX3wx1S0tA0dD\nqjvaQSwWY+OaN7A7nMyac0/qnMIcD9mZTrYfrOJ0ZQOzJg5iUI7eC/2dxWLhvkULcXgHcWjXBs6d\nO2t2SSIDTpchvHDhQpxOJ48++ijPPfcc3/nOd1ixYgWvvPIKe/bsYfny5Rw8eJAvf/nLPPHEE3zw\nwQe9Ubf0En+LEN5TvpHqixVMnTmfTF926hyLxcLYYdkY8TgA995Sakqtcv3lZHkYceMiiBv84v/8\nwuxyRAacLrujrVYrTz/9dKvHRo8enfp4//79178q6TP8jRFsVgtOO6x791WsViu33/m5NueNHZbD\nJwcqmVZWyNBCbzuvJP3V9FnzOFb+Nh+89xZPfvVJCgoKzS5JZMDQspXSKX9jBK/Hwd7yTVRWnOam\nWQvIKxjc5rxbJw/mVKWf+28b0ftFSkpPLBE6sjiH3NHzqdz1OsuW/Zq//Mv/cd2/hki60opZ0qHG\nUJRwxCDTZWPte69htVqZt+jz7Z7r9Tj403sn6F7wAORx2RkzaTZ2dzZ/+OPr1NRUm12SyIChEJYO\nVdUmRtPWndtJ5flTTLl5PnmFQ0yuSswwcmguOaPmEg6F+O1vf212OSIDhkJYOlRV20jciHH4kzew\n2ezMu/sLZpckJikp8pE9fCbuzBxef/1VqqoqzS5JZEBQCEuHqmqD1J3air+2khmzF7V7L1jSQ4bb\nzrjSArJGLiAUCvHLX/6n2SWJDAgKYenQ+apaLh1ehcPpYt4itYLT3Yzxg/ANm05+YTFvvfUGp06d\nNLskkX5Po6OlQ5vWvEEsVM+sOx/Gm9X+Zgw9MRpX+qbp4wbx25WHGD7lPi6u/Bk//emL/NM/Pd/1\nE0WkQ2oJS7uqqirZu/VtbE4v8xY9bHY50gfk+lyML82l3jGKseMmsW7dasrLPzW7LJF+TSEs7frZ\nz17CiIYZduO9eDyZZpcjfcT8m4ZisViYPDtxe+KFF/6NWCxmclUi/Ze6o6WN/fv38s47b+L0DaF0\nQue7Ykl6uWlsAdmZTg5X27nzrs+wauW7vPvuW2QOnd7p8+ZPHdpLFYr0L2oJSyuxWIwf/OBfACiY\neD++TO0PLc3sNitzpxTTGIoybe7ncbvd/OQnPyLQoN12RK6GQlhaeeON37N//z6mz5pPRv5ovB6H\n2SVJHzNvajEWC3x6LMSf/MlXqa2tYeUKLeAhcjUUwpJy6dJFfvazF/F6vcz9zH8BUAhLG3lZbqaO\nKeBERT0zbr+fkSNH8cnG9zl17IDZpYn0OwphSfnhD7+P3+/nq1/9M4LxxBrQmQphaccd0xL3eNfv\nOs9f//X/C8Afl71INBLBiMepuBSgriFMvGl7SxFpnwZmCQBr165i7drV3HDDFB56aDE//v1uALwe\nvUWkrYkj8hiU42HzngpGF5cxY/bdfLLhPVa98yrWIXM5dzEAgNtpozDHw9ih2driUqQdagkLNTU1\n/OAH38PpdPHtb/89VquVqtogLocNl8NmdnnSR6wtP5P678MdZ5k6tgCbzcKv3juAd9QivNn5bFj1\nOsePHmJIfgYjhviwWS2cuuDn/7yrrmqR9iiE01w8Huf733+WmppqvvKV/87w4aVAYt3ogmw3FovF\n5Aqlrxqcn8H9t42gMMfN6YsRssoegrhB7b7fMe/GQuZOKWbx/NEMzsvg8JlaKmsazS5ZpM9RCKe5\nN9/8I+vXr2Xq1Gk88shjAPgbIzSGouRnu02uTvo6r8fB3TNLmDwqj0ElE5k44y7qLp3l/Td+lTpn\nVHEWAJv3VphVpkifpRBOYydOHOeFF36A1+vj7/7uH7HZEl3Pe49fAmDEYJ+Z5Uk/YbVamFZWyMPz\nRrH40a8yaMhwPl7/Dvt3bQWgpMiL3WZl857zGqglchmFcJpqbGxk6dJvEwwG+da3vkNRUVHq2KcH\nE3vFTisrNKs86accThdf+PI3sdsd/P7//gfVFytwOmxMHZPPuYsBTlb4zS5RpE9RCKehxH3gf+bY\nsaMsXvwId9xxV+pYJGqw88hFCrLdDB+k0axy5YqKS7nvC0/SGPCz7P/7HpFwiFsmJfai3rTnvMnV\nifQtCuE09Oqrv2HlyveZNOkG/vzPv9Hq2L4TlwiGY0wrK9SgLLlq02+9i+m33sW500dZ8epPmDwy\njwyXnS37KjAMdUmLJCmE08yGDet58cX/ID+/gKeffg6Ho/ViHOqKluvl3s//N4aWjKH847W8+srL\n3DxhELX+MPtPVptdmkifoRBOIwcO7Ofpp/8ep9PJ88//LwoLB7U6bhhxth+qIivTyZih2SZVKQOF\nw+Hk8Sf/J9m5hfz0py9iq9sPwOY9GiUtkqQQThOnTp3gW9/6BsFgkO9+92nGjZvQ5pxDp2uoD0S4\naWwBVqu6ouXa+bJy+S///e/IyMjkF//7+9gDJ9i6/wKBYNTs0kT6BIVwGqioqOCv//r/oaammr/+\n679l7tw72j3v04NVgLqi5foqKi7l2We/j8Vi4cjGn1Nz4agGaIk0UQgPcOfPn+Mb3/gaFRXnefLJ\nP+fBBxe3e148HufTgxfwuGxMKM3t5SploJs2bQZPPfUssWiUc1t/zh/eW685wyJoA4cB7cyZ0/zV\nX/05FRXn+ZM/+Spf/OKX2X6okk8PVpKf5WZwXgaZHgdry89QWd3IxboQI4b4+GjXObNLlwHo9tvn\nsnTp0/zjP36XnR/8mDemFfPgZ+aZXZaIqRTCA9SBA/v427/9H1RXX+LO+x5n1LT7+Pnb+9iwq+Nu\nQI/LzriSnF6sUtLNggULqawN8+MfPsO//ct3yHY/w/z5C8wuS8Q0CuEBaNOmj3jqqb8jGAzyjW/8\nDfmjZ3PkTC0bdp3H6bAyd0oxAHUNYYLhGLk+FwXZbjLcds0Nlh73yEP3sn53JbtW/yf/8A/f4c//\n/Os88sjjeu9JWlIIDyCGYfDyy7/g5z//KQ6Hk3/6p+eZO/eOVAvYabeycMbw1MYMxQWZJlcs6chi\nsfD5BxZSHbBxaeev+fGP/53Dhw/yN3/zHVwubRoi6UUh3E+sLT/T5rFwJEZDMMJDt4+itraG5557\nmk2bNlBUNJhnnvke48aNZ8fhKjbsOpcI4JuHa2ck6RNunTiY1waV4Lv9L/Hvf5X33nuHI0cOs3Tp\nM4wYMdLs8kR6jUK4n4lEDY6fq+NEhZ/zFxsw4rBl8yb2ffRrqqsvMWPGTJYu/SdycnI5craWl/6w\nG6vFwoLpwxTA0me4nDYenjuaZasO4Sh7gmGudzm8/yO++tUv8dUn/5LPP/x57Hab2WWK9DiFcD8S\njRm8v/UUF2uDAHgdEU7v+AOHj2/DYrFx/+L/yjf+7Ks4HXbOXWzg31/bSSRmMP+moQzK9ZhcvUhr\nd04fxqSRefxu3RG22e5ncMYILuz6HS/+6H/xi9+8zux7/iu33zyZBdOGmV2qSI9RCPcT8XicjbvO\nc7E2SMmgDOJVn7Dp/d8RbGyguGQM7pEPsL+xiD/7wXpsTatdxYw4f3LPeAzNx5Q+anBeBn/xuRt4\nbc1hjp/PpW7cRPZseIWqkztY+Zt/ZM+2uYz6h79hxFAtICMDk0K4n9h19BLHztViqdlL+ccruVR1\nHrcnk3sXf4Vv/eVXqawN8dbG49Q0hAmGo4QjBnOnFDN3SnG795NF+pLCXA+FuR5gEHfe+hQ7P93I\nm8t/zrn9a/ivX97CnXc/xDe+9hV8Pl+b57b3/jaMeGrp1flTh/Z0+SJXTSHcD3y0/Shr3vs99ac2\nE264iM1mZ+ace7jjnkfJ9GZhs9kYnJfBV+6faHapIu260j8Eb5x2G+MnT+ftN5azY9NbvL/iN6x5\n73mu/qIAAA6dSURBVHUefvgLPP7YF8nNzWt1fjwep6o2yOkLfk5d8FPjDzOqOIvp49SClr5NIdxH\nxeNxDh8+xP/+xa/ZumkV8VgEm93BjNmLmLtwMTl5g7p+EZF+zOl08dDnv8hf/dmf8vQPfsqxHSt5\nZdnLLF/+W2bOup0HP/tZxk+axu6jFzl0upb6QAQAq9WC1+Pg6Nk6Tl3w43LYmD91qDYlkT5JIdyH\nxONxDh06yLp1q1izZhWnT58CwJGRy4zb7mbenfeQkZllcpUivWvE0AJ++r1v8+qqh1j++u+pO7mJ\nTRvWsmnDWmwuH77iKfgGT2LchMmMGJLNkPxMbDYLB0/WsP1QFb9+/yBb913gyc9OItfnMvvbEWnF\nEu/lVdQrK+t788v1aYWFPnbvPsz27Z+wffs2tm/fxvnziXWbbXYnnoJxDB83i6e+8SgHTqfvdfN5\n3dT7g2aX0ecN1OvU8p7u0bN17D1+kV179rBz61oqjn5CNBwAwOXOYMz4KYyZMI2SUePJLywmFDE4\nfLqW7Yeq8GU4+G/3T+SOWSP0e6gbCgt9uk5duJJrVFjYdjwDKIR7jWEYVFZeYP/+/ezau48DBw9w\n6sQRLlU1b3DucGXizh9NZtENZAwax41jB/O1z04mw21P68FVAzVcrrd0vE7RSISjh3ZyaO+nHNyz\njeqLzT9Pbk8mw0rLmD1rGg3ksu2EgdWdx/zpIxg71MeE0rwOW8bxeJz6QITK2kYu1gYJRwyMeBzD\niJPrczFmWDaZbkdvfZumUAh3rVdC2DAMnnrqKQ4cOIDT6eSZZ56htLQ0dXz16tX8+Mc/xm63s3jx\nYh555JFOCxmI/6jxeBy/v54LlZWcPH2eU2fPce58JRcqL1BZcZ5LVeeor7lA3Gi9kbnNmYkrp4SM\n/FF48kfj9A2mIDuD4UVehg/KJMfr0nq6pGe4XI10v07xeJyLF85y9OBOTh0/yKnjB7hU2XpHMIvF\nij0jH7snB4cnh8ysPDyZeXh8ebgzc8CegWF1EQobhKNGp18v2+tkyugCxg7LZsywbAbleHrk57Xl\nSO/epBDu2vUI4S7vCa9cuZJwOMwrr7xCeXk5zz//PC+99BIAkUiE5557juXLl+PxeHjsscdYsGAB\nBQUFV/BtXJvqugDHT57EiMUwjDgxI0bciBMzDIymjw3DwDAMYoZB3DAw4gZGrOn/hkEsFiMaiRAO\nhwmHw4TCIUKhxMfhSJhwKPn/IMHGAIFAAw0NfoKNAYLBAOFgoE3AtmS1u3D6isjIKiQrr5i8olIG\nDx3J0KFDsFksuF023A4bLqcNu01bPItcDYvFQkHRUAqKhjJzzj0ANPjrOHvyMBfOn6Ly/Gkqz5+i\nsuIMjVWVNAJ1HbyWzeHB4c7E7c7EneHF+f+3d+8xVdd/HMef58rlnAPCDxWUY79hWKKjIjW1oUtt\nlLraL1YI5WaXObO0ZrZIQI1CRPMUIxfi9tsaTMELZIRrmFiui5iWSMp0uIHpskAB5Sgcz+X3B3B+\ncCBRvHwP+n5sKN/z/Z7P53U+g72/38P3fD56X7Q6PVqdHgda2u1qmu0q6o5qUWv0qNQa9Dotfr56\nfH30+Oq1oNLgQtX5pcaFGicqdFoNvnodPnoNOq0GjVqFWq3C5YI2m5M2m522q06utDtoszmw2Z1o\nNWr8fLT4+Wjw89Hh56PFv/N/Px8N/r46fHQa1Go1KhWoVSpUnYVbrVKhUqlQAarOf1Sd46VSdTym\novv3HTe3BQb6c+nSFfdzO0eZrvMMdec3Xdvu4zrb4DpOSPo7pK/dvR5T9bO/j448j+m+rdXqCB8Z\nhr/vnbllqt9eDh8+TGxsLAAPP/wwv//+u3vfqVOnGDVqFIGBgQA8+uij/PLLLzz99NO3KW5PJ043\nsSx5BZfOHL4j/XWnUmtRa31R6/zwCQjE1z8AH/8ADKYhGAOCGTIkmKDgfzE8NIx/BQfjq9f0Oku+\n169chLjdDMYAIqNiiIyKcT9mMvrSeL6Ji83naWlq5GJTIy3N57nY3Mhl6yWuXG7t+LK2Ym05R3ND\nu4KvQCghNPo//Hf9cox+t/9PDv0W4dbWVoxGo3tbo9Fgt9vRarW0trb2+PC8wWCgtbX1mu390yX5\nQAwdauLgnoJb1p4Q4l7xb6UDiLvEzda0ft/7NBqNWK1W97bT6USr1fa5z2q19jmjjRBCCCF667cI\nx8TEsH//fgCOHDnCmDFj3PtGjx5NfX09zc3N2Gw2Dh06xCOPPHL70gohhBB3keu+O/rkyZO4XC7W\nrFnD8ePHuXz5MgkJCe67o10uF/Hx8bz44ot3KrsQQggxqN3xzwkLIYQQooN8HkYIIYRQiBRhIYQQ\nQiFShBVgs9l45513eOGFF3jllVeoq6tTOpLXqaqqYv78+QDU19eTmJhIUlISq1atwum89kxG95Lu\n49RlzZo1bN26VaFE3qf7GNXU1JCUlMT8+fN59dVXaWxsVDid9+g+TrW1tSQmJjJv3jySk5Ox2/95\nMqJ7TV+/c6WlpSQkJAyoPSnCCti2bRv+/v5s27aN1NRUPvzwQ6UjeZXNmzeTmppKe3vHJAmZmZm8\n/fbbbNmyBZfLxd69exVO6B08x+nChQu89tprVFRUKJzMe3iOUUZGBmlpaeTn5/Pkk0+yefNmhRN6\nB89xslgsLFu2jMLCQgD27dunZDyv4TlOAMePH2fHjh0M9PYqKcIKqK2tZdq0aQBERERw6tQphRN5\nl1GjRpGTk+PePnbsGJMmTQJg2rRp/PTTT0pF8yqe42S1WlmyZAnPPvusgqm8i+cYWSwWxo4dC4DD\n4cDHR5Y2hN7jlJOTw8SJE7HZbDQ0NPSYsOle5jlOTU1NWCwWVqxYMeA2pQgrYOzYsezbtw+Xy8WR\nI0f466+/cDgcSsfyGnFxce4JYaBjYv6uKT8NBgOXLsmk8tB7nMxmMw899JCCibyP5xgNGzYMgF9/\n/ZWCggIWLFigUDLv4jlOGo2Gs2fPMnfuXJqamnjwwQcVTOc9uo+Tw+EgJSWF999/H4PBMOA2pQgr\nID4+HqPRSFJSEnv27GHcuHFoNBqlY3kttfr/P6ZWq5WAgAAF04jBbvfu3axatYq8vDyCg4OVjuO1\nRo4cSXl5OYmJiaxdu1bpOF7n2LFj1NfXs3r1apYtW0ZtbS0ZGRk33I4UYQVUV1czZcoUtm7dylNP\nPYXZbFY6kleLioqisrISgP379zNhwgSFE4nBateuXRQUFJCfny+/d9ewaNEi9w2jBoOhx4mw6BAd\nHU1ZWRn5+flYLBbuv/9+UlJSbridO7NWk+jhvvvuIzs7m9zcXEwm04DOnu4l7733HmlpaVgsFiIi\nIoiLi1M6khiEHA4HGRkZhIWFsWTJEgAmTpzI0qVLFU7mfRYuXEhycjI6nQ4/Pz8++ugjpSPdtWTG\nLCGEEEIh8h6DEEIIoRApwkIIIYRCpAgLIYQQCpEiLIQQQihEirAQQgihECnCQni5oqIivv76awCS\nk5MpLi7udUxOTk6P6fSu1969e8nOzr7pjEKIgZEiLISX++2337DZbLel7ZkzZ/LWW2/dlraFEP2T\nyTqEuIUqKyvJzc3F5XJx+vRp4uLiMJlMfPvttwDk5eVRXV3Np59+itPpxGw2k56eTkhICDNmzOCZ\nZ57hhx9+4MqVK2RlZXHx4kUqKio4cOAAQ4cOBeC7775jy5YtnD9/nkWLFvVYQm379u0cOHCADRs2\nAPDZZ5+h1+tZuHBhn3mLi4s5ePAga9eu7bP/8ePHU1NTw8qVK2lrayMwMJCPP/6Y0NBQcnNz+eqr\nr9BoNDz++OO8++67/Pnnn7zxxhuYzWZOnjzJ+PHjmTRpEiUlJbS0tLBx40ZGjx7N0aNHyczMpK2t\njaCgID744AOZwUrck+RKWIhbrKqqiszMTMrKyigsLCQ4OJji4mIeeOABCgsLWblyJRs3bqS0tJSY\nmBjS09Pdzx0yZAg7duxg3rx5bNq0ialTpzJjxgyWLl1KbGws0LEe9fbt29m0aROffPJJj75nz57N\nzz//jNVqxeVyUVpaekOrKnn2D7B8+XIWL15MaWkps2fP5osvvuD777+noqKC4uJiSkpKqK+vdy97\nd+LECRYvXsw333xDdXU1Z8+epaioiLlz51JUVITNZiM1NZUNGzZQUlLCyy+/TFpa2s0OuxCDklwJ\nC3GLjRkzhrCwMACCgoKYMmUKACNGjKCiooLo6GjCw8MBSEhIIC8vz/3crkIbGRlJeXl5n+3PnDkT\nlUpFZGQkTU1NPfYZDAamT59OeXk5ZrMZs9nM8OHDrzu7Z/8XLlygoaGBJ554AoCkpCQAsrKymDNn\nDr6+vkDHoiRffvkl06dPJyQkhKioKABCQ0N7vP4zZ85QV1fHH3/8weuvv+7ut7W19bozCnE3kSIs\nxC2m0+l6bHdfIctzlliXy4Xdbndvd61v27V0Y1+62vunY+Lj4/n8888JDw/nueeeu6Hsnv17vpb2\n9nb+/vtvnE5nr+d2vQ69Xt9n3i5Op5Pw8HB27doFdMzp3NjYeEM5hbhbyNvRQtxB0dHRVFVVcebM\nGaDjzufHHnvsms/RaDQ3tN70hAkTOHfuHJWVlcyaNeum8ppMJkJDQ/nxxx+BjlWIsrOzmTx5MmVl\nZbS1tWG329m5cyeTJ0++rjYjIiJoaWnh0KFDAOzcuZPly5ffVE4hBiu5EhbiDgoJCSE9PZ0333yT\nq1evMmLEiH5X0Zo6dSoWiwWTyXTd/cyaNYuWlpZeV6UDsX79elavXs26desICgpi3bp1DBs2jJqa\nGuLj47Hb7cTGxvLSSy9x7ty5ftvT6/VkZ2eTkZFBe3s7RqORrKysm84pxGAkqygJcRdxuVxcvXqV\nBQsWkJKSwrhx45SOJIS4BrkSFuIu0tDQwJw5c3j++efdBXj37t3uO509df1dVgihDLkSFkIIIRQi\nN2YJIYQQCpEiLIQQQihEirAQQgihECnCQgghhEKkCAshhBAKkSIshBBCKOR/C3IiVxrZy2AAAAAA\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d9038695f8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe0AAAFlCAYAAADGV7BOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt8zvX/x/HHtV3b2OacKaRETolSpL7KoYOSc4poSucI\nIXawjWFsSKSDQ/VVUiGW6Fv9SkrFV8qhA+nrmBEmM7axw3Vdvz+WNbPtuja7Ptfpeb/ddmvXtc/h\ndX3Ic+/35/15v002m82GiIiIuD0/VxcgIiIijlFoi4iIeAiFtoiIiIdQaIuIiHgIhbaIiIiHUGiL\niIh4CIW2iIukpKTQvHlzevXqVfDVs2dPPvjggzIfKzw8nE8//bRM+8ydO5dJkyYV+7MnnniC3bt3\ns2nTJrp37w7AnDlz+PDDDwF4+eWX+eKLLxw+l73PunLlSp566im7x4mJieGXX35x+Lwi3sbs6gJE\nfFmlSpVYtWpVweujR4/SvXt3WrZsSbNmzVxW18KFCwH466+/Ct4bOXJkwfebNm2icePGZTpmaZ/V\nURs2bKB///5lOq+IN1FLW8SN1KlThyuuuIL9+/ezcuVKBg4cSJ8+fQgPDwfglVdeoVu3bvTo0YMR\nI0aQmppasO/nn39O37596datG6+99lrB+/PmzaNfv3706NGDO+64g88//7zgZ3v27GHQoEF0796d\nsWPHkpGRAUCXLl34+eefz6stMjKSN954gyVLlvDLL78wffp0PvroI9q2bcu+ffsKthsyZIhDrfDC\nn7WwI0eO8PTTT9OjRw+6d+/O66+/DsCLL77IsWPHeP7559m+fbuDV1TEuyi0RdzI1q1b+eOPP2jd\nujUAu3fvZvHixSxevJgVK1bwzTff8MEHH7B69WquvvpqIiMjC/bNzMxk2bJlLFu2jI8++oivv/6a\nQ4cOsWHDBt555x1Wr17NqFGjeOmllwr2+eOPP5g7dy6rV6/GZrOdF/YlGTRoEC1btmTcuHH07NmT\n3r17s3z58oLj7du3j86dO5f5s57z/PPPc9NNN7F69Wree+89PvroIz7++GNGjRpFWFgYM2fOvGAf\nEV+h7nERFzp79iy9evUCwGKxUKNGDWbMmMFll10GQNOmTQkNDQVg/fr19O3bl+DgYAAGDx7MvHnz\nyMnJAaBfv36YzWZCQ0Pp2rUrGzZsoGPHjiQlJbF69WoOHDjA9u3byczMLDj/nXfeSc2aNQG47777\nmD59epk/w8CBA3nooYcYNWoUS5cupV+/fvj7+5f5swJkZWWxZcsW3nzzTQCqVKlC3759Wb9+Pffe\ne2+ZaxPxNgptERcqep+3qHMBDVB0mQCr1UpeXl7B68JBabPZMJvN/PrrrwwdOpRHHnmEf/3rX7Rt\n25b4+PhS9ymrhg0b0rRpU9auXcvq1asLWt1F2fus5z6Tvc8p4svUPS7iITp06MDKlSvJysoCYPHi\nxbRt25bAwEAAPvzwQ2w2G+np6XzyySfcdtttbN68mZYtWzJkyBDatWvH2rVrsVgsBcf88ssvSU9P\nx2KxsHTpUm677TaHavH39z8vSAcOHMj06dNp3bo1derUKfdnDA0NpXXr1ixZsgSA06dP8+GHH3LL\nLbcUe14RX6PQFvEQ/fr14+abb+b+++/nnnvuYceOHcycObPg5+e6kgcMGMBDDz3ETTfdRPfu3UlL\nS6Nbt24FXevp6ekFA84aNWrEU089RY8ePahatSpPPvmkQ7V07tyZpKQkkpOTC15nZWUxYMCAi/6c\nM2fOZOPGjfTo0YN+/fpx11130bdvXwDuuOMORo0axbfffnvR5xHxRCYtzSkiF2vLli3ExsayZs0a\nTCaTq8sR8Vq6py0iFyUiIoLvv/+epKQkBbaIk6mlLSIi4iF0T1tERMRDKLRFREQ8hEJbRETEQ7j1\nQLTU1NOuLqFENWoEk5aW5eoyfIaut/F0zY2l6208d73mtWtXKfFnammXk9l84TSN4jy63sbTNTeW\nrrfxPPGaK7RFREQ8hEJbRETEQyi0RUREPIRCW0RExEMotEVERDyEQltERMRDKLRFREQ8hEJbRETE\nQyi0RUREyiE52UzHjsFcdlkoHTsGk5zs/ElG3XoaUxEREXeUnGzmqacqF7zeudP/79dn6NMnz2nn\nVUtbRESkjGbPDiz2/Tlzin+/oii0RUREyuj334uPz5LerygKbRERkTJq0sRapvcrikJbRESkjJ57\nLqfY90eOLP79iqLQFhERn3Ju1LfZDNddF8L114ecNwLckVHhffrkMX/+GVq0sGA222jRwsL8+c4d\nhAZgstlsNqee4SKkpp52dQklql27ilvX5210vY2na24sXW9jFB317SgjAvmc2rWrlPgztbRFRMRn\nlDTq2x5njwp3lEJbRES83rku7507yxd7zh4V7ihNriIiIl6tvF3ihTl7VLij3ONXBxEREScpb5d4\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d92ab54390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# строим гистограмму распределения и график\n",
    "# квантиль-квантиль, применив логарифмическое \n",
    "# преобразование для переменной monthly_income,\n",
    "# используем константу a, чтобы не брать\n",
    "# логарифм нуля\n",
    "a=0.001\n",
    "sns.distplot(np.log(train['monthly_income']+a), fit=norm);\n",
    "fig = plt.figure()\n",
    "\n",
    "res = stats.probplot(np.log(train['monthly_income']+a), plot=plt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d92ad187b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nAidPnmTUqFEMHTrU12UFvaKiItLS0qhXr56vS6kWjcjrkGEYTJs2jQcffJD69ev7upyQMH78eMaN\nGweAzWYjMjLSxxUFp6+++or+/fsD0K1bN7Zv3+7jioLb8OHDeeCBBwDHf1fCw8N9XFFomDlzJuPG\njaNp06a+LqVaNCKvoX//+9/885//POOxFi1aMGLECDp27OijqoJbRed8+vTpdOnShaysLB555BGm\nTJnio+qCW15eHtHR0c6fw8PDKS4uxmzWf0I8ISoqCnCc9/vvv5+JEyf6uKLgt2TJEpo0aUL//v15\n4403fF1OtWiJ1jo0bNgwLrzwQgC2bdtGly5dmD9/vo+rCn579uzhwQcf5NFHH2XgwIG+LicozZgx\ng65duzJixAgABgwYwPr1631cVXA7cuQI9913n/M6uXjWzTffjMlkwmQysWvXLi655BJee+01YmNj\nfV2aW/rndB1avXq18/dDhgzh7bff9mE1oeGHH37ggQceYM6cOeqEeNCVV17JunXrGDFiBNu2baN9\n+/a+LimonThxgttvv520tDT69Onj63JCQvlBV2pqKk8++WRAhDgoyCXAvfjii1itVp599lkAoqOj\nNQnLA4YNG8aGDRsYN24chmEwffp0X5cU1F5//XV+++03Xn31VV599VUA/v73vwfcJCzxDrXWRURE\nAphmrYuIiAQwBbmIiEgAU5CLiIgEMAW5iIhIAFOQi4iIBDAFuYiHPfXUU1x//fWMGDGCzp07c/31\n13P99dezePFiXn75ZV5++WWv1ZKbm8u9994LwLFjx7jzzjtr9D4dOnSoy7Kq7PHHH+fw4cMA3Hnn\nnRw7dowlS5YwefJkn9Qj4g90H7mIhz3xxBMAHDp0iFtvvZX//Oc/zmPeDHGAnJwcdu/eDUCzZs34\n+9//7tXPr63Nmzdz3333AQRc7SKeohG5iI99++23jBs3jsGDBzuD3WazMWPGDJKTkxk5ciTvvPOO\n8/mvv/46I0aMICkpieeeew6bzcahQ4cYPnw4N910E+PHj3f5+meeeYbjx49z3333cejQIYYMGQLA\n4cOHufXWW0lMTGTMmDHOsP/LX/7CjTfeSHx8POPGjSMrK8vl98jOzubOO+8kMTGRBx98kJEjR3Lo\n0KFzRsypqals3ryZ4uJipk6dytixYxk6dCh33HEHp0+f5tChQ4waNYpHHnmExMRE/vCHP3Dy5Ene\neOMNjh8/zl133UV2djZDhgzh0KFD55zLm266ieTkZG6//XZ++uknwLFL3siRIxk1ahRpaWm1/jMT\n8ScKchEf++WXX3j33XdZvHgxb731Fnl5eSxatAiA9PR0PvjgAzIzM/nyyy/55JNPWLt2LUuWLCE9\nPZ2DBw+yYMECAPbv388LL7zAO++84/L1U6dOpWnTprzyyitn1PDUU08RHx/P0qVL+dOf/sRrr73G\nwYMH2bdvHwsWLGDlypW0bt2ajIwMl9/jpZdeomPHjixdupSxY8eyZ8+eSr/31q1biYiIYOHChaxe\nvZrCwkI++eQTAHbv3s1tt93G0qVLadiwIRkZGdx11100bdqUN954g8aNG5/zflarlalTp/Liiy+S\nnp7ObbfdxrRp0yguLmbu3LksXryYJUuWYDKZOHbsWNX/gET8nFrrIj7Wv39/LBYLTZo0oXHjxuTk\n5LBp0yZ27drF559/DkBBQQF79uzh0KFDXHfddc6lOm+44QY+/PBDBg4cyPnnn0+rVq0AXL6+dFOf\ns23ZsoXZs2cDMHDgQOfmM4899hj//ve/2b9/P9u2baN169Yuv8eWLVt48cUXAejVqxeXXHJJpd+7\nR48eNGrUiPnz57Nv3z4OHDhAQUEBAOeffz6dOnUCoF27duTk5Lg9jwcOHOCnn35iwoQJzsfy8vIw\nm810796dMWPGMHToUG6++WaaNWvm9v1EAoWCXMTHym8FajKZMAwDm83GI488QlxcHAC//vorDRo0\n4C9/+cs5ry8uLgY4Yx1uV68/ceKE2xoMw2Dv3r2cPn2ahx56iPHjxxMfH09YWBiVreh89l7wpe9Z\n+p1KFRUVAZCZmclf//pXbr31VkaPHk12drbzeeXf6+zXu2K322nVqpVzDoLNZnN+31dffZVt27ax\nfv167rjjDmbNmkXPnj3dvqdIIFBrXcQP9e7dm0WLFlFUVER+fj4pKSl888039O7dm2XLlnH69GmK\ni4tZvHgxvXv3rvLrzWazM/jLu/rqq1m2bBkAGzduZNq0aWzZsoWePXty0003cdlll7FhwwZsNpvL\nmvv160d6ejoAO3bsYP/+/QA0btyYvXv3YhgGP/30k7PlvmnTJhISErjhhhu44IIL2LJlS6XvD459\n0F09p23btuTk5PDll18CsHjxYh5++GF+/fVXEhISaN++PQ888AB9+/Z12/YXCSQakYv4oXHjxnHw\n4EGSk5MpLi5m9OjR9OrVC4Bdu3Zxww03UFxcTP/+/bnllls4evRolV5fVFREixYtSE1NZcaMGc7n\np6WlMXXqVN577z3q16/PM888Q0xMDH/84x9JSkoiIiKCDh06nDO5rLx77rmHJ554gqSkJFq3bk2j\nRo0AuOaaa1i8eDHDhw+nTZs2XHXVVQD8/ve/5+GHH2bFihVYLBa6detW6fsDDBo0iLvuuos333zz\nnGMWi4WXXnqJZ599lsLCQqKjo5k5cyZNmjRh3LhxjBkzhvr169O8eXOSk5Or9gchEgC0+5mIeMSQ\nIUN49913ndftRcQz1FoXEREJYBqRi4iIBDCNyEVERAKYglxERCSAKchFREQCmIJcREQkgCnIRURE\nApiCXEREJID9f9a3jE9zZCDoAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d92ad186d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# строим гистограмму распределения и график\n",
    "# квантиль-квантиль, применив преобразование \n",
    "# квадратным корнем для переменной monthly_income,\n",
    "# используем модуль, чтобы не вычислять корни\n",
    "# отрицательных чисел, и затем учитываем знак числа\n",
    "\n",
    "sns.distplot(np.sign(train['monthly_income']) * \n",
    "             (train['monthly_income'].abs()**(1/2)), fit=norm);\n",
    "\n",
    "fig = plt.figure()\n",
    "res = stats.probplot(np.sign(train['monthly_income']) * \n",
    "                     (train['monthly_income'].abs()**(1/2)), plot=plt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d92b353f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d93ac7eeb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# строим гистограмму распределения и график\n",
    "# квантиль-квантиль, применив преобразование \n",
    "# кубическим корнем для переменной monthly_income,\n",
    "# используем модуль, чтобы не вычислять корни\n",
    "# отрицательных чисел, и затем учитываем знак числа\n",
    "sns.distplot(np.sign(train['monthly_income']) * \n",
    "             (train['monthly_income'].abs()**(1/3)), fit=norm);\n",
    "\n",
    "fig = plt.figure()\n",
    "res = stats.probplot(np.sign(train['monthly_income']) * \n",
    "                     (train['monthly_income'].abs()**(1/3)), plot=plt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# выполняем логарифмическое преобразование \n",
    "# указанных переменных\n",
    "train['credit_sum'] = np.log(train['credit_sum']+a)\n",
    "train['monthly_income'] = np.log(train['monthly_income']+a)\n",
    "train['age'] = np.log(train['age']+a)\n",
    "\n",
    "test['credit_sum'] = np.log(test['credit_sum']+a)\n",
    "test['monthly_income'] = np.log(test['monthly_income']+a)\n",
    "test['age'] = np.log(test['age']+a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# задаем точки, в которых будут находится границы категорий \n",
    "# будущей переменной monthcat\n",
    "bins = [-np.inf, 7.95, 9.6, 11.25, 13.725, 14.55,\n",
    "        17.85, 20.325, 23.625, 24.45, 26.925, np.inf]\n",
    "# осуществляем биннинг переменной credit_month и записываем\n",
    "# результаты в новую переменную monthcat\n",
    "train['monthcat'] = pd.cut(train['credit_month'], bins)\n",
    "test['monthcat'] = pd.cut(test['credit_month'], bins)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "scrolled": true
   },
   "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>open_account_flg</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>monthcat</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>(-inf, 7.95]</th>\n",
       "      <td>7197</td>\n",
       "      <td>2378</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(7.95, 9.6]</th>\n",
       "      <td>928</td>\n",
       "      <td>234</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(9.6, 11.25]</th>\n",
       "      <td>57896</td>\n",
       "      <td>9455</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(11.25, 13.725]</th>\n",
       "      <td>25404</td>\n",
       "      <td>7007</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(13.725, 14.55]</th>\n",
       "      <td>1657</td>\n",
       "      <td>133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(14.55, 17.85]</th>\n",
       "      <td>331</td>\n",
       "      <td>112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(17.85, 20.325]</th>\n",
       "      <td>1454</td>\n",
       "      <td>722</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(20.325, 23.625]</th>\n",
       "      <td>21</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(23.625, 24.45]</th>\n",
       "      <td>3324</td>\n",
       "      <td>905</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(24.45, 26.925]</th>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(26.925, inf]</th>\n",
       "      <td>282</td>\n",
       "      <td>71</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "open_account_flg      0     1\n",
       "monthcat                     \n",
       "(-inf, 7.95]       7197  2378\n",
       "(7.95, 9.6]         928   234\n",
       "(9.6, 11.25]      57896  9455\n",
       "(11.25, 13.725]   25404  7007\n",
       "(13.725, 14.55]    1657   133\n",
       "(14.55, 17.85]      331   112\n",
       "(17.85, 20.325]    1454   722\n",
       "(20.325, 23.625]     21     2\n",
       "(23.625, 24.45]    3324   905\n",
       "(24.45, 26.925]       9     0\n",
       "(26.925, inf]       282    71"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# строим таблицу сопряженности monthcat * open_account_flg\n",
    "biv = pd.crosstab(train['monthcat'], train['open_account_flg'])\n",
    "biv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "monthcat\n",
       "(-inf, 7.95]       -0.437\n",
       "(7.95, 9.6]        -0.165\n",
       "(9.6, 11.25]        0.267\n",
       "(11.25, 13.725]    -0.257\n",
       "(13.725, 14.55]     0.968\n",
       "(14.55, 17.85]     -0.450\n",
       "(17.85, 20.325]    -0.841\n",
       "(20.325, 23.625]    0.473\n",
       "(23.625, 24.45]    -0.243\n",
       "(24.45, 26.925]     0.649\n",
       "(26.925, inf]      -0.160\n",
       "dtype: float64"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# вычисляем WoE для каждой категории переменной monthcat, \n",
    "# при этом используем умножение на 1.0,\n",
    "# чтобы преобразовать во float и добавляем \"a=0.0001\", \n",
    "# чтобы избежать деления на 0\n",
    "a= 0.0001\n",
    "WoE = np.log((1.0*biv['0']/sum(biv['0'])+a) / (1.0*biv['1']/sum(biv['1'])+a))\n",
    "WoE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "monthcat\n",
       "(-inf, 7.95]       0.018\n",
       "(7.95, 9.6]        0.000\n",
       "(9.6, 11.25]       0.037\n",
       "(11.25, 13.725]    0.019\n",
       "(13.725, 14.55]    0.010\n",
       "(14.55, 17.85]     0.001\n",
       "(17.85, 20.325]    0.016\n",
       "(20.325, 23.625]   0.000\n",
       "(23.625, 24.45]    0.002\n",
       "(24.45, 26.925]    0.000\n",
       "(26.925, inf]      0.000\n",
       "dtype: float64"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# вычисляем IV для каждой категории переменной monthcat, \n",
    "# при этом используем умножение на 1.0,\n",
    "# чтобы преобразовать во float и добавляем \"a=0.0001\", \n",
    "# чтобы избежать деления на 0\n",
    "IV_cat=((1.0*biv['0']/sum(biv['0'])+a) - \n",
    "          (1.0*biv['1']/sum(biv['1'])+a))*np.log((1.0*biv['0']/sum(biv['0'])+a) \n",
    "                                                  / (1.0*biv['1']/sum(biv['1'])+a))\n",
    "IV_cat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.104003366646915"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# вычисляем итоговое IV для переменной monthcat\n",
    "IV = sum(((1.0*biv['0']/sum(biv['0'])+a) - \n",
    "          (1.0*biv['1']/sum(biv['1'])+a))*np.log((1.0*biv['0']/sum(biv['0'])+a) \n",
    "                                                  / (1.0*biv['1']/sum(biv['1'])+a)))\n",
    "IV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# пишем функцию, вычисляющую IV\n",
    "# по всем предикторам\n",
    "def auto_IV(df): \n",
    "    iv_list = [] \n",
    "    a= 0.0001\n",
    "    df_drop = df.drop(\"open_account_flg\", axis=1) \n",
    "    for var_name in df_drop: \n",
    "        biv = pd.crosstab(df[var_name],df[\"open_account_flg\"])        \n",
    "        IV = sum(((1.0*biv['0']/sum(biv['0'])+a) - (1.0*biv['1']/sum(biv['1'])+a))*\n",
    "                 np.log((1.0*biv['0']/sum(biv['0'])+a) / (1.0*biv['1']/sum(biv['1'])+a)))\n",
    "        iv_list.append(IV)\n",
    "    col_list =list(df_drop)\n",
    "    results = pd.DataFrame({'Название переменной' : col_list,'IV' : iv_list})\n",
    "    results['Полезность'] = ['Подозрительно высокая' if x > 0.5 else 'Сильная' \n",
    "                             if x <= 0.5 and x > 0.3 else 'Средняя'\n",
    "                             if x <= 0.3 and x > 0.1 else 'Слабая' \n",
    "                             if x <= 0.1 and x > 0.02 else 'Бесполезная' \n",
    "                             for x in results['IV']]  # по Наиму Сиддики\n",
    "    return(results.sort_values(by = 'IV', ascending = False))  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "scrolled": true
   },
   "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>IV</th>\n",
       "      <th>Название переменной</th>\n",
       "      <th>Полезность</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.500</td>\n",
       "      <td>credit_sum</td>\n",
       "      <td>Сильная</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.326</td>\n",
       "      <td>score_shk</td>\n",
       "      <td>Сильная</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.261</td>\n",
       "      <td>tariff_id</td>\n",
       "      <td>Средняя</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.110</td>\n",
       "      <td>credit_month</td>\n",
       "      <td>Средняя</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0.104</td>\n",
       "      <td>monthcat</td>\n",
       "      <td>Средняя</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.092</td>\n",
       "      <td>age</td>\n",
       "      <td>Слабая</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.083</td>\n",
       "      <td>overdue_credit_count_ind</td>\n",
       "      <td>Слабая</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.069</td>\n",
       "      <td>living_region</td>\n",
       "      <td>Слабая</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.050</td>\n",
       "      <td>job_position</td>\n",
       "      <td>Слабая</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.050</td>\n",
       "      <td>education</td>\n",
       "      <td>Слабая</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.035</td>\n",
       "      <td>marital_status</td>\n",
       "      <td>Слабая</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.027</td>\n",
       "      <td>monthly_income</td>\n",
       "      <td>Слабая</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.019</td>\n",
       "      <td>credit_count</td>\n",
       "      <td>Бесполезная</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.014</td>\n",
       "      <td>gender</td>\n",
       "      <td>Бесполезная</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.002</td>\n",
       "      <td>overdue_credit_count</td>\n",
       "      <td>Бесполезная</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      IV       Название переменной   Полезность\n",
       "4  0.500                credit_sum      Сильная\n",
       "7  0.326                 score_shk      Сильная\n",
       "6  0.261                 tariff_id      Средняя\n",
       "5  0.110              credit_month      Средняя\n",
       "14 0.104                  monthcat      Средняя\n",
       "1  0.092                       age       Слабая\n",
       "13 0.083  overdue_credit_count_ind       Слабая\n",
       "9  0.069             living_region       Слабая\n",
       "3  0.050              job_position       Слабая\n",
       "8  0.050                 education       Слабая\n",
       "2  0.035            marital_status       Слабая\n",
       "10 0.027            monthly_income       Слабая\n",
       "11 0.019              credit_count  Бесполезная\n",
       "0  0.014                    gender  Бесполезная\n",
       "12 0.002      overdue_credit_count  Бесполезная"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "auto_IV(train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 1) tariff_id_19                        0.111485\n",
      " 2) credit_sum                          0.094933\n",
      " 3) score_shk                           0.083552\n",
      " 4) age                                 0.079816\n",
      " 5) monthly_income                      0.051416\n",
      " 6) overdue_credit_count_ind            0.047378\n",
      " 7) credit_month                        0.038886\n",
      " 8) monthcat_(9.6, 11.25]               0.033289\n",
      " 9) credit_count                        0.032985\n",
      "10) tariff_id_2                         0.027301\n",
      "11) education_GRD                       0.019246\n",
      "12) education_SCH                       0.019213\n",
      "13) job_position_PNA                    0.017731\n",
      "14) marital_status_MAR                  0.014512\n",
      "15) tariff_id_28                        0.012689\n",
      "16) monthcat_(11.25, 13.725]            0.012588\n",
      "17) marital_status_UNM                  0.012346\n",
      "18) gender_M                            0.011594\n",
      "19) job_position_SPC                    0.011184\n",
      "20) gender_F                            0.010953\n",
      "21) monthcat_(-inf, 7.95]               0.009141\n",
      "22) tariff_id_30                        0.008535\n",
      "23) tariff_id_18                        0.008464\n",
      "24) tariff_id_20                        0.008264\n",
      "25) tariff_id_25                        0.006749\n",
      "26) living_region_МОСКВА                0.006690\n",
      "27) monthcat_(17.85, 20.325]            0.006648\n",
      "28) overdue_credit_count                0.005847\n",
      "29) job_position_UMN                    0.005671\n",
      "30) living_region_МОСКОВСКАЯ ОБЛАСТЬ    0.005517\n",
      "31) education_UGR                       0.005390\n",
      "32) marital_status_DIV                  0.005201\n",
      "33) job_position_ATP                    0.004976\n",
      "34) living_region_КРАСНОДАРСКИЙ КРАЙ    0.004419\n",
      "35) living_region_ТЮМЕНСКАЯ ОБЛАСТЬ     0.004387\n",
      "36) living_region_САНКТ-ПЕТЕРБУРГ       0.003647\n",
      "37) monthcat_(23.625, 24.45]            0.003606\n",
      "38) marital_status_CIV                  0.003356\n",
      "39) living_region_СТАВРОПОЛЬСКИЙ КРАЙ   0.003262\n",
      "40) living_region_РЕСПУБЛИКА ТАТАРСТАН  0.003192\n",
      "41) living_region_ИРКУТСКАЯ ОБЛАСТЬ     0.003122\n",
      "42) living_region_ЧЕЛЯБИНСКАЯ ОБЛАСТЬ   0.003080\n",
      "43) job_position_BIS                    0.003053\n",
      "44) living_region_РЕСПУБЛИКА БАШКОРТОСТАН 0.003019\n",
      "45) living_region_СВЕРДЛОВСКАЯ ОБЛАСТЬ  0.003019\n",
      "46) living_region_РОСТОВСКАЯ ОБЛАСТЬ    0.002878\n",
      "47) job_position_NOR                    0.002830\n",
      "48) living_region_САМАРСКАЯ ОБЛАСТЬ     0.002739\n",
      "49) tariff_id_1                         0.002662\n",
      "50) marital_status_WID                  0.002456\n",
      "51) tariff_id_22                        0.002406\n",
      "52) living_region_КРАСНОЯРСКИЙ КРАЙ     0.002399\n",
      "53) living_region_ПЕРМСКИЙ КРАЙ         0.002286\n",
      "54) living_region_КЕМЕРОВСКАЯ ОБЛАСТЬ   0.002272\n",
      "55) living_region_ЛЕНИНГРАДСКАЯ ОБЛАСТЬ 0.002267\n",
      "56) living_region_ВОЛОГОДСКАЯ ОБЛАСТЬ   0.002212\n",
      "57) monthcat_(13.725, 14.55]            0.002179\n",
      "58) living_region_НИЖЕГОРОДСКАЯ ОБЛАСТЬ 0.002177\n",
      "59) living_region_КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА 0.002159\n",
      "60) job_position_DIR                    0.002145\n",
      "61) living_region_НОВОСИБИРСКАЯ ОБЛАСТЬ 0.002128\n",
      "62) living_region_КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА 0.002077\n",
      "63) living_region_РЕСПУБЛИКА САХА (ЯКУТИЯ) 0.002013\n",
      "64) living_region_ХАБАРОВСКИЙ КРАЙ      0.001988\n",
      "65) living_region_ЗАБАЙКАЛЬСКИЙ КРАЙ    0.001986\n",
      "66) living_region_ВОЛГОГРАДСКАЯ ОБЛАСТЬ 0.001877\n",
      "67) living_region_РЕСПУБЛИКА ТЫВА       0.001839\n",
      "68) living_region_АРХАНГЕЛЬСКАЯ ОБЛАСТЬ 0.001809\n",
      "69) living_region_САРАТОВСКАЯ ОБЛАСТЬ   0.001807\n",
      "70) living_region_АСТРАХАНСКАЯ ОБЛАСТЬ  0.001772\n",
      "71) living_region_ТВЕРСКАЯ ОБЛАСТЬ      0.001739\n",
      "72) living_region_РЕСПУБЛИКА БУРЯТИЯ    0.001733\n",
      "73) living_region_ВОРОНЕЖСКАЯ ОБЛАСТЬ   0.001731\n",
      "74) living_region_КАЛУЖСКАЯ ОБЛАСТЬ     0.001594\n",
      "75) tariff_id_5                         0.001577\n",
      "76) monthcat_(7.95, 9.6]                0.001547\n",
      "77) living_region_УДМУРТСКАЯ РЕСПУБЛИКА 0.001516\n",
      "78) tariff_id_23                        0.001509\n",
      "79) living_region_КУРГАНСКАЯ ОБЛАСТЬ    0.001503\n",
      "80) living_region_ТУЛЬСКАЯ ОБЛАСТЬ      0.001475\n",
      "81) living_region_ПРИМОРСКИЙ КРАЙ       0.001467\n",
      "82) living_region_ВЛАДИМИРСКАЯ ОБЛАСТЬ  0.001443\n",
      "83) living_region_РЕСПУБЛИКА КОМИ       0.001392\n",
      "84) living_region_ОРЕНБУРГСКАЯ ОБЛАСТЬ  0.001334\n",
      "85) living_region_ОМСКАЯ ОБЛАСТЬ        0.001324\n",
      "86) living_region_РЕСПУБЛИКА АДЫГЕЯ     0.001309\n",
      "87) living_region_БРЯНСКАЯ ОБЛАСТЬ      0.001301\n",
      "88) living_region_МУРМАНСКАЯ ОБЛАСТЬ    0.001297\n",
      "89) job_position_WRK                    0.001269\n",
      "90) living_region_АМУРСКАЯ ОБЛАСТЬ      0.001256\n",
      "91) living_region_ОРЛОВСКАЯ ОБЛАСТЬ     0.001254\n",
      "92) tariff_id_3                         0.001244\n",
      "93) living_region_ИВАНОВСКАЯ ОБЛАСТЬ    0.001207\n",
      "94) living_region_ЛИПЕЦКАЯ ОБЛАСТЬ      0.001180\n",
      "95) living_region_ТОМСКАЯ ОБЛАСТЬ       0.001168\n",
      "96) tariff_id_31                        0.001143\n",
      "97) living_region_СМОЛЕНСКАЯ ОБЛАСТЬ    0.001140\n",
      "98) tariff_id_6                         0.001128\n",
      "99) living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ   0.001099\n",
      "100) living_region_ЧУВАШСКАЯ РЕСПУБЛИКА  0.001098\n",
      "101) living_region_КУРСКАЯ ОБЛАСТЬ       0.001077\n",
      "102) living_region_САХАЛИНСКАЯ ОБЛАСТЬ   0.001058\n",
      "103) living_region_КАЛИНИНГРАДСКАЯ ОБЛАСТЬ 0.001047\n",
      "104) living_region_РЯЗАНСКАЯ ОБЛАСТЬ     0.001032\n",
      "105) living_region_ТАМБОВСКАЯ ОБЛАСТЬ    0.001016\n",
      "106) living_region_РЕСПУБЛИКА КАЛМЫКИЯ   0.001004\n",
      "107) job_position_INP                    0.000996\n",
      "108) living_region_ПЕНЗЕНСКАЯ ОБЛАСТЬ    0.000987\n",
      "109) living_region_УЛЬЯНОВСКАЯ ОБЛАСТЬ   0.000982\n",
      "110) living_region_КИРОВСКАЯ ОБЛАСТЬ     0.000972\n",
      "111) living_region_БЕЛГОРОДСКАЯ ОБЛАСТЬ  0.000972\n",
      "112) education_PGR                       0.000926\n",
      "113) monthcat_(14.55, 17.85]             0.000920\n",
      "114) tariff_id_29                        0.000919\n",
      "115) living_region_РЕСПУБЛИКА ДАГЕСТАН   0.000889\n",
      "116) living_region_РЕСПУБЛИКА МОРДОВИЯ   0.000870\n",
      "117) job_position_WOI                    0.000846\n",
      "118) living_region_РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ 0.000839\n",
      "119) job_position_BIU                    0.000799\n",
      "120) living_region_АЛТАЙСКИЙ КРАЙ        0.000773\n",
      "121) living_region_НОВГОРОДСКАЯ ОБЛАСТЬ  0.000767\n",
      "122) living_region_РЕСПУБЛИКА КАРЕЛИЯ    0.000749\n",
      "123) living_region_ЧУКОТСКИЙ АВТОНОМНЫЙ ОКРУГ 0.000744\n",
      "124) living_region_КОСТРОМСКАЯ ОБЛАСТЬ   0.000743\n",
      "125) living_region_РЕСПУБЛИКА МАРИЙ ЭЛ   0.000729\n",
      "126) living_region_МАГАДАНСКАЯ ОБЛАСТЬ   0.000694\n",
      "127) living_region_ПСКОВСКАЯ ОБЛАСТЬ     0.000687\n",
      "128) living_region_РЕСПУБЛИКА ХАКАСИЯ    0.000658\n",
      "129) living_region_ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ 0.000653\n",
      "130) tariff_id_7                         0.000599\n",
      "131) monthcat_(26.925, inf]              0.000588\n",
      "132) living_region_КАМЧАТСКИЙ КРАЙ       0.000563\n",
      "133) tariff_id_4                         0.000522\n",
      "134) job_position_PNI                    0.000505\n",
      "135) tariff_id_8                         0.000343\n",
      "136) job_position_WRP                    0.000329\n",
      "137) job_position_PNV                    0.000328\n",
      "138) tariff_id_32                        0.000325\n",
      "139) tariff_id_21                        0.000273\n",
      "140) living_region_РЕСПУБЛИКА ИНГУШЕТИЯ  0.000268\n",
      "141) education_ACD                       0.000266\n",
      "142) tariff_id_9                         0.000261\n",
      "143) tariff_id_12                        0.000260\n",
      "144) living_region_ЧЕЧЕНСКАЯ РЕСПУБЛИКА  0.000256\n",
      "145) living_region_РЕСПУБЛИКА АЛТАЙ      0.000212\n",
      "146) tariff_id_10                        0.000207\n",
      "147) job_position_OTHER                  0.000176\n",
      "148) tariff_id_11                        0.000170\n",
      "149) living_region_ЧИТИНСКАЯ ОБЛАСТЬ     0.000163\n",
      "150) living_region_nan                   0.000137\n",
      "151) tariff_id_13                        0.000120\n",
      "152) monthcat_(20.325, 23.625]           0.000065\n",
      "153) tariff_id_99                        0.000025\n",
      "154) monthcat_(24.45, 26.925]            0.000005\n"
     ]
    }
   ],
   "source": [
    "# выполняем дамми-кодирование\n",
    "train_dummies = pd.get_dummies(train)\n",
    "test_dummies = pd.get_dummies(test)\n",
    "# создаем обучающий и контрольный массивы меток\n",
    "y_train = train_dummies.loc[:, 'open_account_flg_1']\n",
    "y_test = test_dummies.loc[:, 'open_account_flg_1']\n",
    "# удаляем из будущих массивов признаков результаты\n",
    "# дамми-кодирования зависимой переменной -\n",
    "# open_account_flg_0 и open_account_flg_1\n",
    "train_dummies.drop(['open_account_flg_0', 'open_account_flg_1'], axis=1, inplace=True)\n",
    "test_dummies.drop(['open_account_flg_0', 'open_account_flg_1'], axis=1, inplace=True)\n",
    "# создаем обучающий и контрольный массивы признаков\n",
    "X_train = train_dummies.loc[:, 'age':'monthcat_(26.925, inf]']\n",
    "X_test = test_dummies.loc[:, 'age':'monthcat_(26.925, inf]']\n",
    "# создаем экземпляр класса RandomForestClassifier\n",
    "forest=RandomForestClassifier(n_estimators=500, max_depth=17, random_state=152, n_jobs=-1)\n",
    "# подгоняем модель\n",
    "forest.fit(X_train, y_train)\n",
    "# cоздаем объект с названиями предикторов\n",
    "feat_labels = X_train.columns\n",
    "# cоздаем объект со значениями важностей, вычисленными \n",
    "# моделью forest (обратите внимание, речь идет о \n",
    "# важностях на основе усредненного уменьшения\n",
    "# неоднородности)\n",
    "importances = forest.feature_importances_\n",
    "# задаем сортировку значений важности и сопоставляем \n",
    "# названия предикторов важностям\n",
    "indices = np.argsort(importances)[::-1]\n",
    "for f in range(X_train.shape[1]):\n",
    "    print(\"%2d) %-*s %f\" % (f + 1, 35,\n",
    "                            feat_labels[indices[f]],\n",
    "                            importances[indices[f]]))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# задаем точки, в которых будут находится границы категорий \n",
    "# будущей переменной credsumcat\n",
    "bins = [-np.inf, 8.343, 8.558, 8.880, \n",
    "        8.987, 9.309, 9.416, 9.631, \n",
    "        9.738, 9.953, 10.167, 10.275,\n",
    "        10.489, 10.704, 11.133, 11.348, 11.562, np.inf]\n",
    "# осуществляем биннинг переменной credit_sum и записываем\n",
    "# результаты в новую переменную credsumcat\n",
    "train['credsumcat'] = pd.cut(train['credit_sum'], bins)\n",
    "test['credsumcat'] = pd.cut(test['credit_sum'], bins)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# на основе категориальной переменной tariff_id создаем\n",
    "# количественную переменную tariff\n",
    "train['tariff']=train['tariff_id'].astype('int')\n",
    "test['tariff']=test['tariff_id'].astype('int')\n",
    "\n",
    "# создаем переменную paym, которая \n",
    "# является отношением выданной суммы кредита \n",
    "# (credit_sum) к сроку кредита (credit_month), \n",
    "# то есть ежемесячной суммой кредита\n",
    "train['paym'] = train['credit_sum'] / train['credit_month']\n",
    "test['paym'] = test['credit_sum'] / test['credit_month']\n",
    "\n",
    "# создаем переменную pti, которая является \n",
    "# отношением ежемесячной суммы кредита \n",
    "# (paym) к ежемесячному заработку \n",
    "# (monthly_income) \n",
    "train['pti'] = train['paym'] / train['monthly_income']\n",
    "test['pti'] = test['paym'] / test['monthly_income']\n",
    "\n",
    "# заменяем бесконечные значения на 1\n",
    "train['pti'][train['pti'] == np.inf] = 1\n",
    "test['pti'][test['pti'] == np.inf] = 1\n",
    "\n",
    "# создаем новые переменные, возведя некоторые\n",
    "# количественные переменные в квадрат\n",
    "train['tariff_sq'] = train['tariff']**2\n",
    "test['tariff_sq'] = test['tariff']**2\n",
    "\n",
    "train['age_sq'] = train['age']**2\n",
    "test['age_sq'] = test['age']**2\n",
    "\n",
    "train['credit_sum_sq'] = train['credit_sum']**2\n",
    "test['credit_sum_sq'] = test['credit_sum']**2\n",
    "\n",
    "train['score_sq'] = train['score_shk']**2\n",
    "test['score_sq'] = test['score_shk']**2\n",
    "\n",
    "train['income_sq'] = train['monthly_income']**2\n",
    "test['income_sq'] = test['monthly_income']**2\n",
    "\n",
    "train['credit_month_sq'] = train['credit_month']**2\n",
    "test['credit_month_sq'] = test['credit_month']**2\n",
    "\n",
    "train['credit_count_sq'] = train['credit_count']**2\n",
    "test['credit_count_sq'] = test['credit_count']**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# задаем точки, в которых будут находится границы категорий \n",
    "# будущей переменной paymcat\n",
    "bins = [-np.inf, 0.42, 0.52, 0.70, 0.88,\n",
    "        1.06, 1.16, 1.52, 1.70, 1.98, 2.25,\n",
    "        2.34, 2.62, 2.89, np.inf]\n",
    "# осуществляем биннинг переменной paym и записываем\n",
    "# результаты в новую переменную paymcat\n",
    "train['paymcat'] = pd.cut(train['paym'], bins)\n",
    "test['paymcat'] = pd.cut(test['paym'], bins)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 119522 entries, 53397 to 149270\n",
      "Data columns (total 28 columns):\n",
      "gender                      119522 non-null object\n",
      "age                         119522 non-null float64\n",
      "marital_status              119522 non-null object\n",
      "job_position                119522 non-null object\n",
      "credit_sum                  119522 non-null float64\n",
      "credit_month                119522 non-null int64\n",
      "tariff_id                   119522 non-null object\n",
      "score_shk                   119522 non-null float64\n",
      "education                   119522 non-null object\n",
      "living_region               119522 non-null object\n",
      "monthly_income              119522 non-null float64\n",
      "credit_count                119522 non-null float64\n",
      "overdue_credit_count        119522 non-null float64\n",
      "open_account_flg            119522 non-null object\n",
      "overdue_credit_count_ind    119522 non-null int64\n",
      "monthcat                    119522 non-null category\n",
      "credsumcat                  119522 non-null category\n",
      "tariff                      119522 non-null int32\n",
      "paym                        119522 non-null float64\n",
      "pti                         119522 non-null float64\n",
      "tariff_sq                   119522 non-null int32\n",
      "age_sq                      119522 non-null float64\n",
      "credit_sum_sq               119522 non-null float64\n",
      "score_sq                    119522 non-null float64\n",
      "income_sq                   119522 non-null float64\n",
      "credit_month_sq             119522 non-null int64\n",
      "credit_count_sq             119522 non-null float64\n",
      "paymcat                     119522 non-null category\n",
      "dtypes: category(3), float64(13), int32(2), int64(3), object(7)\n",
      "memory usage: 23.1+ MB\n",
      "None\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 51224 entries, 0 to 170745\n",
      "Data columns (total 28 columns):\n",
      "gender                      51224 non-null object\n",
      "age                         51224 non-null float64\n",
      "marital_status              51224 non-null object\n",
      "job_position                51224 non-null object\n",
      "credit_sum                  51224 non-null float64\n",
      "credit_month                51224 non-null int64\n",
      "tariff_id                   51224 non-null object\n",
      "score_shk                   51224 non-null float64\n",
      "education                   51224 non-null object\n",
      "living_region               51224 non-null object\n",
      "monthly_income              51224 non-null float64\n",
      "credit_count                51224 non-null float64\n",
      "overdue_credit_count        51224 non-null float64\n",
      "open_account_flg            51224 non-null object\n",
      "overdue_credit_count_ind    51224 non-null int64\n",
      "monthcat                    51224 non-null category\n",
      "credsumcat                  51224 non-null category\n",
      "tariff                      51224 non-null int32\n",
      "paym                        51224 non-null float64\n",
      "pti                         51224 non-null float64\n",
      "tariff_sq                   51224 non-null int32\n",
      "age_sq                      51224 non-null float64\n",
      "credit_sum_sq               51224 non-null float64\n",
      "score_sq                    51224 non-null float64\n",
      "income_sq                   51224 non-null float64\n",
      "credit_month_sq             51224 non-null int64\n",
      "credit_count_sq             51224 non-null float64\n",
      "paymcat                     51224 non-null category\n",
      "dtypes: category(3), float64(13), int32(2), int64(3), object(7)\n",
      "memory usage: 9.9+ MB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "# убеждаемся в отсутствии пропусков в переменных, а также \n",
    "# в одинаковом количестве переменных в обучающей \n",
    "# и контрольной выборках\n",
    "print(train.info())\n",
    "print(test.info())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Исходные переменные:\n",
      " ['gender', 'age', 'marital_status', 'job_position', 'credit_sum', 'credit_month', 'tariff_id', 'score_shk', 'education', 'living_region', 'monthly_income', 'credit_count', 'overdue_credit_count', 'open_account_flg', 'overdue_credit_count_ind', 'monthcat', 'credsumcat', 'tariff', 'paym', 'pti', 'tariff_sq', 'age_sq', 'credit_sum_sq', 'score_sq', 'income_sq', 'credit_month_sq', 'credit_count_sq', 'paymcat'] \n",
      "\n",
      "Переменные после get_dummies:\n",
      " ['age', 'credit_sum', 'credit_month', 'score_shk', 'monthly_income', 'credit_count', 'overdue_credit_count', 'overdue_credit_count_ind', 'tariff', 'paym', 'pti', 'tariff_sq', 'age_sq', 'credit_sum_sq', 'score_sq', 'income_sq', 'credit_month_sq', 'credit_count_sq', 'gender_F', 'gender_M', 'marital_status_CIV', 'marital_status_DIV', 'marital_status_MAR', 'marital_status_UNM', 'marital_status_WID', 'job_position_ATP', 'job_position_BIS', 'job_position_BIU', 'job_position_DIR', 'job_position_INP', 'job_position_NOR', 'job_position_OTHER', 'job_position_PNA', 'job_position_PNI', 'job_position_PNV', 'job_position_SPC', 'job_position_UMN', 'job_position_WOI', 'job_position_WRK', 'job_position_WRP', 'tariff_id_1', 'tariff_id_10', 'tariff_id_11', 'tariff_id_12', 'tariff_id_13', 'tariff_id_18', 'tariff_id_19', 'tariff_id_2', 'tariff_id_20', 'tariff_id_21', 'tariff_id_22', 'tariff_id_23', 'tariff_id_25', 'tariff_id_28', 'tariff_id_29', 'tariff_id_3', 'tariff_id_30', 'tariff_id_31', 'tariff_id_32', 'tariff_id_4', 'tariff_id_5', 'tariff_id_6', 'tariff_id_7', 'tariff_id_8', 'tariff_id_9', 'tariff_id_99', 'education_ACD', 'education_GRD', 'education_PGR', 'education_SCH', 'education_UGR', 'living_region_nan', 'living_region_АЛТАЙСКИЙ КРАЙ', 'living_region_АМУРСКАЯ ОБЛАСТЬ', 'living_region_АРХАНГЕЛЬСКАЯ ОБЛАСТЬ', 'living_region_АСТРАХАНСКАЯ ОБЛАСТЬ', 'living_region_БЕЛГОРОДСКАЯ ОБЛАСТЬ', 'living_region_БРЯНСКАЯ ОБЛАСТЬ', 'living_region_ВЛАДИМИРСКАЯ ОБЛАСТЬ', 'living_region_ВОЛГОГРАДСКАЯ ОБЛАСТЬ', 'living_region_ВОЛОГОДСКАЯ ОБЛАСТЬ', 'living_region_ВОРОНЕЖСКАЯ ОБЛАСТЬ', 'living_region_ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ', 'living_region_ЗАБАЙКАЛЬСКИЙ КРАЙ', 'living_region_ИВАНОВСКАЯ ОБЛАСТЬ', 'living_region_ИРКУТСКАЯ ОБЛАСТЬ', 'living_region_КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА', 'living_region_КАЛИНИНГРАДСКАЯ ОБЛАСТЬ', 'living_region_КАЛУЖСКАЯ ОБЛАСТЬ', 'living_region_КАМЧАТСКИЙ КРАЙ', 'living_region_КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА', 'living_region_КЕМЕРОВСКАЯ ОБЛАСТЬ', 'living_region_КИРОВСКАЯ ОБЛАСТЬ', 'living_region_КОСТРОМСКАЯ ОБЛАСТЬ', 'living_region_КРАСНОДАРСКИЙ КРАЙ', 'living_region_КРАСНОЯРСКИЙ КРАЙ', 'living_region_КУРГАНСКАЯ ОБЛАСТЬ', 'living_region_КУРСКАЯ ОБЛАСТЬ', 'living_region_ЛЕНИНГРАДСКАЯ ОБЛАСТЬ', 'living_region_ЛИПЕЦКАЯ ОБЛАСТЬ', 'living_region_МАГАДАНСКАЯ ОБЛАСТЬ', 'living_region_МОСКВА', 'living_region_МОСКОВСКАЯ ОБЛАСТЬ', 'living_region_МУРМАНСКАЯ ОБЛАСТЬ', 'living_region_НИЖЕГОРОДСКАЯ ОБЛАСТЬ', 'living_region_НОВГОРОДСКАЯ ОБЛАСТЬ', 'living_region_НОВОСИБИРСКАЯ ОБЛАСТЬ', 'living_region_ОМСКАЯ ОБЛАСТЬ', 'living_region_ОРЕНБУРГСКАЯ ОБЛАСТЬ', 'living_region_ОРЛОВСКАЯ ОБЛАСТЬ', 'living_region_ПЕНЗЕНСКАЯ ОБЛАСТЬ', 'living_region_ПЕРМСКИЙ КРАЙ', 'living_region_ПРИМОРСКИЙ КРАЙ', 'living_region_ПСКОВСКАЯ ОБЛАСТЬ', 'living_region_РЕСПУБЛИКА АДЫГЕЯ', 'living_region_РЕСПУБЛИКА АЛТАЙ', 'living_region_РЕСПУБЛИКА БАШКОРТОСТАН', 'living_region_РЕСПУБЛИКА БУРЯТИЯ', 'living_region_РЕСПУБЛИКА ДАГЕСТАН', 'living_region_РЕСПУБЛИКА ИНГУШЕТИЯ', 'living_region_РЕСПУБЛИКА КАЛМЫКИЯ', 'living_region_РЕСПУБЛИКА КАРЕЛИЯ', 'living_region_РЕСПУБЛИКА КОМИ', 'living_region_РЕСПУБЛИКА МАРИЙ ЭЛ', 'living_region_РЕСПУБЛИКА МОРДОВИЯ', 'living_region_РЕСПУБЛИКА САХА (ЯКУТИЯ)', 'living_region_РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ', 'living_region_РЕСПУБЛИКА ТАТАРСТАН', 'living_region_РЕСПУБЛИКА ТЫВА', 'living_region_РЕСПУБЛИКА ХАКАСИЯ', 'living_region_РОСТОВСКАЯ ОБЛАСТЬ', 'living_region_РЯЗАНСКАЯ ОБЛАСТЬ', 'living_region_САМАРСКАЯ ОБЛАСТЬ', 'living_region_САНКТ-ПЕТЕРБУРГ', 'living_region_САРАТОВСКАЯ ОБЛАСТЬ', 'living_region_САХАЛИНСКАЯ ОБЛАСТЬ', 'living_region_СВЕРДЛОВСКАЯ ОБЛАСТЬ', 'living_region_СМОЛЕНСКАЯ ОБЛАСТЬ', 'living_region_СТАВРОПОЛЬСКИЙ КРАЙ', 'living_region_ТАМБОВСКАЯ ОБЛАСТЬ', 'living_region_ТВЕРСКАЯ ОБЛАСТЬ', 'living_region_ТОМСКАЯ ОБЛАСТЬ', 'living_region_ТУЛЬСКАЯ ОБЛАСТЬ', 'living_region_ТЮМЕНСКАЯ ОБЛАСТЬ', 'living_region_УДМУРТСКАЯ РЕСПУБЛИКА', 'living_region_УЛЬЯНОВСКАЯ ОБЛАСТЬ', 'living_region_ХАБАРОВСКИЙ КРАЙ', 'living_region_ЧЕЛЯБИНСКАЯ ОБЛАСТЬ', 'living_region_ЧЕЧЕНСКАЯ РЕСПУБЛИКА', 'living_region_ЧИТИНСКАЯ ОБЛАСТЬ', 'living_region_ЧУВАШСКАЯ РЕСПУБЛИКА', 'living_region_ЧУКОТСКИЙ АВТОНОМНЫЙ ОКРУГ', 'living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ', 'open_account_flg_0', 'open_account_flg_1', 'monthcat_(-inf, 7.95]', 'monthcat_(7.95, 9.6]', 'monthcat_(9.6, 11.25]', 'monthcat_(11.25, 13.725]', 'monthcat_(13.725, 14.55]', 'monthcat_(14.55, 17.85]', 'monthcat_(17.85, 20.325]', 'monthcat_(20.325, 23.625]', 'monthcat_(23.625, 24.45]', 'monthcat_(24.45, 26.925]', 'monthcat_(26.925, inf]', 'credsumcat_(-inf, 8.343]', 'credsumcat_(8.343, 8.558]', 'credsumcat_(8.558, 8.88]', 'credsumcat_(8.88, 8.987]', 'credsumcat_(8.987, 9.309]', 'credsumcat_(9.309, 9.416]', 'credsumcat_(9.416, 9.631]', 'credsumcat_(9.631, 9.738]', 'credsumcat_(9.738, 9.953]', 'credsumcat_(9.953, 10.167]', 'credsumcat_(10.167, 10.275]', 'credsumcat_(10.275, 10.489]', 'credsumcat_(10.489, 10.704]', 'credsumcat_(10.704, 11.133]', 'credsumcat_(11.133, 11.348]', 'credsumcat_(11.348, 11.562]', 'credsumcat_(11.562, inf]', 'paymcat_(-inf, 0.42]', 'paymcat_(0.42, 0.52]', 'paymcat_(0.52, 0.7]', 'paymcat_(0.7, 0.88]', 'paymcat_(0.88, 1.06]', 'paymcat_(1.06, 1.16]', 'paymcat_(1.16, 1.52]', 'paymcat_(1.52, 1.7]', 'paymcat_(1.7, 1.98]', 'paymcat_(1.98, 2.25]', 'paymcat_(2.25, 2.34]', 'paymcat_(2.34, 2.62]', 'paymcat_(2.62, 2.89]', 'paymcat_(2.89, inf]']\n",
      "Исходные переменные:\n",
      " ['gender', 'age', 'marital_status', 'job_position', 'credit_sum', 'credit_month', 'tariff_id', 'score_shk', 'education', 'living_region', 'monthly_income', 'credit_count', 'overdue_credit_count', 'open_account_flg', 'overdue_credit_count_ind', 'monthcat', 'credsumcat', 'tariff', 'paym', 'pti', 'tariff_sq', 'age_sq', 'credit_sum_sq', 'score_sq', 'income_sq', 'credit_month_sq', 'credit_count_sq', 'paymcat'] \n",
      "\n",
      "Переменные после get_dummies:\n",
      " ['age', 'credit_sum', 'credit_month', 'score_shk', 'monthly_income', 'credit_count', 'overdue_credit_count', 'overdue_credit_count_ind', 'tariff', 'paym', 'pti', 'tariff_sq', 'age_sq', 'credit_sum_sq', 'score_sq', 'income_sq', 'credit_month_sq', 'credit_count_sq', 'gender_F', 'gender_M', 'marital_status_CIV', 'marital_status_DIV', 'marital_status_MAR', 'marital_status_UNM', 'marital_status_WID', 'job_position_ATP', 'job_position_BIS', 'job_position_BIU', 'job_position_DIR', 'job_position_INP', 'job_position_NOR', 'job_position_OTHER', 'job_position_PNA', 'job_position_PNI', 'job_position_PNV', 'job_position_SPC', 'job_position_UMN', 'job_position_WOI', 'job_position_WRK', 'job_position_WRP', 'tariff_id_1', 'tariff_id_10', 'tariff_id_11', 'tariff_id_12', 'tariff_id_13', 'tariff_id_18', 'tariff_id_19', 'tariff_id_2', 'tariff_id_20', 'tariff_id_21', 'tariff_id_22', 'tariff_id_23', 'tariff_id_25', 'tariff_id_28', 'tariff_id_29', 'tariff_id_3', 'tariff_id_30', 'tariff_id_31', 'tariff_id_32', 'tariff_id_4', 'tariff_id_5', 'tariff_id_6', 'tariff_id_7', 'tariff_id_8', 'tariff_id_9', 'tariff_id_99', 'education_ACD', 'education_GRD', 'education_PGR', 'education_SCH', 'education_UGR', 'living_region_nan', 'living_region_АЛТАЙСКИЙ КРАЙ', 'living_region_АМУРСКАЯ ОБЛАСТЬ', 'living_region_АРХАНГЕЛЬСКАЯ ОБЛАСТЬ', 'living_region_АСТРАХАНСКАЯ ОБЛАСТЬ', 'living_region_БЕЛГОРОДСКАЯ ОБЛАСТЬ', 'living_region_БРЯНСКАЯ ОБЛАСТЬ', 'living_region_ВЛАДИМИРСКАЯ ОБЛАСТЬ', 'living_region_ВОЛГОГРАДСКАЯ ОБЛАСТЬ', 'living_region_ВОЛОГОДСКАЯ ОБЛАСТЬ', 'living_region_ВОРОНЕЖСКАЯ ОБЛАСТЬ', 'living_region_ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ', 'living_region_ЗАБАЙКАЛЬСКИЙ КРАЙ', 'living_region_ИВАНОВСКАЯ ОБЛАСТЬ', 'living_region_ИРКУТСКАЯ ОБЛАСТЬ', 'living_region_КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА', 'living_region_КАЛИНИНГРАДСКАЯ ОБЛАСТЬ', 'living_region_КАЛУЖСКАЯ ОБЛАСТЬ', 'living_region_КАМЧАТСКИЙ КРАЙ', 'living_region_КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА', 'living_region_КЕМЕРОВСКАЯ ОБЛАСТЬ', 'living_region_КИРОВСКАЯ ОБЛАСТЬ', 'living_region_КОСТРОМСКАЯ ОБЛАСТЬ', 'living_region_КРАСНОДАРСКИЙ КРАЙ', 'living_region_КРАСНОЯРСКИЙ КРАЙ', 'living_region_КУРГАНСКАЯ ОБЛАСТЬ', 'living_region_КУРСКАЯ ОБЛАСТЬ', 'living_region_ЛЕНИНГРАДСКАЯ ОБЛАСТЬ', 'living_region_ЛИПЕЦКАЯ ОБЛАСТЬ', 'living_region_МАГАДАНСКАЯ ОБЛАСТЬ', 'living_region_МОСКВА', 'living_region_МОСКОВСКАЯ ОБЛАСТЬ', 'living_region_МУРМАНСКАЯ ОБЛАСТЬ', 'living_region_НИЖЕГОРОДСКАЯ ОБЛАСТЬ', 'living_region_НОВГОРОДСКАЯ ОБЛАСТЬ', 'living_region_НОВОСИБИРСКАЯ ОБЛАСТЬ', 'living_region_ОМСКАЯ ОБЛАСТЬ', 'living_region_ОРЕНБУРГСКАЯ ОБЛАСТЬ', 'living_region_ОРЛОВСКАЯ ОБЛАСТЬ', 'living_region_ПЕНЗЕНСКАЯ ОБЛАСТЬ', 'living_region_ПЕРМСКИЙ КРАЙ', 'living_region_ПРИМОРСКИЙ КРАЙ', 'living_region_ПСКОВСКАЯ ОБЛАСТЬ', 'living_region_РЕСПУБЛИКА АДЫГЕЯ', 'living_region_РЕСПУБЛИКА АЛТАЙ', 'living_region_РЕСПУБЛИКА БАШКОРТОСТАН', 'living_region_РЕСПУБЛИКА БУРЯТИЯ', 'living_region_РЕСПУБЛИКА ДАГЕСТАН', 'living_region_РЕСПУБЛИКА ИНГУШЕТИЯ', 'living_region_РЕСПУБЛИКА КАЛМЫКИЯ', 'living_region_РЕСПУБЛИКА КАРЕЛИЯ', 'living_region_РЕСПУБЛИКА КОМИ', 'living_region_РЕСПУБЛИКА МАРИЙ ЭЛ', 'living_region_РЕСПУБЛИКА МОРДОВИЯ', 'living_region_РЕСПУБЛИКА САХА (ЯКУТИЯ)', 'living_region_РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ - АЛАНИЯ', 'living_region_РЕСПУБЛИКА ТАТАРСТАН', 'living_region_РЕСПУБЛИКА ТЫВА', 'living_region_РЕСПУБЛИКА ХАКАСИЯ', 'living_region_РОСТОВСКАЯ ОБЛАСТЬ', 'living_region_РЯЗАНСКАЯ ОБЛАСТЬ', 'living_region_САМАРСКАЯ ОБЛАСТЬ', 'living_region_САНКТ-ПЕТЕРБУРГ', 'living_region_САРАТОВСКАЯ ОБЛАСТЬ', 'living_region_САХАЛИНСКАЯ ОБЛАСТЬ', 'living_region_СВЕРДЛОВСКАЯ ОБЛАСТЬ', 'living_region_СМОЛЕНСКАЯ ОБЛАСТЬ', 'living_region_СТАВРОПОЛЬСКИЙ КРАЙ', 'living_region_ТАМБОВСКАЯ ОБЛАСТЬ', 'living_region_ТВЕРСКАЯ ОБЛАСТЬ', 'living_region_ТОМСКАЯ ОБЛАСТЬ', 'living_region_ТУЛЬСКАЯ ОБЛАСТЬ', 'living_region_ТЮМЕНСКАЯ ОБЛАСТЬ', 'living_region_УДМУРТСКАЯ РЕСПУБЛИКА', 'living_region_УЛЬЯНОВСКАЯ ОБЛАСТЬ', 'living_region_ХАБАРОВСКИЙ КРАЙ', 'living_region_ЧЕЛЯБИНСКАЯ ОБЛАСТЬ', 'living_region_ЧЕЧЕНСКАЯ РЕСПУБЛИКА', 'living_region_ЧИТИНСКАЯ ОБЛАСТЬ', 'living_region_ЧУВАШСКАЯ РЕСПУБЛИКА', 'living_region_ЧУКОТСКИЙ АВТОНОМНЫЙ ОКРУГ', 'living_region_ЯРОСЛАВСКАЯ ОБЛАСТЬ', 'open_account_flg_0', 'open_account_flg_1', 'monthcat_(-inf, 7.95]', 'monthcat_(7.95, 9.6]', 'monthcat_(9.6, 11.25]', 'monthcat_(11.25, 13.725]', 'monthcat_(13.725, 14.55]', 'monthcat_(14.55, 17.85]', 'monthcat_(17.85, 20.325]', 'monthcat_(20.325, 23.625]', 'monthcat_(23.625, 24.45]', 'monthcat_(24.45, 26.925]', 'monthcat_(26.925, inf]', 'credsumcat_(-inf, 8.343]', 'credsumcat_(8.343, 8.558]', 'credsumcat_(8.558, 8.88]', 'credsumcat_(8.88, 8.987]', 'credsumcat_(8.987, 9.309]', 'credsumcat_(9.309, 9.416]', 'credsumcat_(9.416, 9.631]', 'credsumcat_(9.631, 9.738]', 'credsumcat_(9.738, 9.953]', 'credsumcat_(9.953, 10.167]', 'credsumcat_(10.167, 10.275]', 'credsumcat_(10.275, 10.489]', 'credsumcat_(10.489, 10.704]', 'credsumcat_(10.704, 11.133]', 'credsumcat_(11.133, 11.348]', 'credsumcat_(11.348, 11.562]', 'credsumcat_(11.562, inf]', 'paymcat_(-inf, 0.42]', 'paymcat_(0.42, 0.52]', 'paymcat_(0.52, 0.7]', 'paymcat_(0.7, 0.88]', 'paymcat_(0.88, 1.06]', 'paymcat_(1.06, 1.16]', 'paymcat_(1.16, 1.52]', 'paymcat_(1.52, 1.7]', 'paymcat_(1.7, 1.98]', 'paymcat_(1.98, 2.25]', 'paymcat_(2.25, 2.34]', 'paymcat_(2.34, 2.62]', 'paymcat_(2.62, 2.89]', 'paymcat_(2.89, inf]']\n"
     ]
    }
   ],
   "source": [
    "# печатаем названия столбцов до и после\n",
    "# дамми-кодирования\n",
    "print(\"Исходные переменные:\\n\", list(train.columns), \"\\n\")\n",
    "train_dummies = pd.get_dummies(train)\n",
    "print(\"Переменные после get_dummies:\\n\", list(train_dummies.columns))\n",
    "\n",
    "print(\"Исходные переменные:\\n\", list(test.columns), \"\\n\")\n",
    "test_dummies = pd.get_dummies(test)\n",
    "print(\"Переменные после get_dummies:\\n\", list(test_dummies.columns))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# создаем обучающий и контрольный массивы меток\n",
    "y_train = train_dummies.loc[:, 'open_account_flg_1']\n",
    "y_test = test_dummies.loc[:, 'open_account_flg_1']\n",
    "# удаляем из будущих массивов признаков результаты\n",
    "# дамми-кодирования зависимой переменной -\n",
    "# open_account_flg_0 и open_account_flg_1\n",
    "train_dummies.drop(['open_account_flg_0', 'open_account_flg_1'], axis=1, inplace=True)\n",
    "test_dummies.drop(['open_account_flg_0', 'open_account_flg_1'], axis=1, inplace=True)\n",
    "# создаем обучающий и контрольный массивы признаков\n",
    "X_train = train_dummies.loc[:, 'age':'paymcat_(2.89, inf]']\n",
    "X_test = test_dummies.loc[:, 'age':'paymcat_(2.89, inf]']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC на обучающей выборке: 0.758\n",
      "AUC на контрольной выборке: 0.760\n"
     ]
    }
   ],
   "source": [
    "# применяем RobustScaler\n",
    "scaler = RobustScaler()\n",
    "scaler.fit(X_train)\n",
    "X_train_scaled = scaler.transform(X_train)\n",
    "X_test_scaled = scaler.transform(X_test)\n",
    "\n",
    "# строим логистическую регрессию на данных,\n",
    "# отмасштабированных с помощью RobustScaler\n",
    "logreg = LogisticRegression().fit(X_train_scaled, y_train)\n",
    "print(\"AUC на обучающей выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_train, logreg.predict_proba(X_train_scaled)[:, 1])))\n",
    "print(\"AUC на контрольной выборке: {:.3f}\".\n",
    "      format(roc_auc_score(y_test, logreg.predict_proba(X_test_scaled)[:, 1])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Построение логистической регрессии в H2O"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Checking whether there is an H2O instance running at http://localhost:54321..... not found.\n",
      "Attempting to start a local H2O server...\n",
      "; Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)\n",
      "  Starting server from C:\\Anaconda3\\lib\\site-packages\\h2o\\backend\\bin\\h2o.jar\n",
      "  Ice root: C:\\Users\\Gewissta\\AppData\\Local\\Temp\\tmpoeuinmv7\n",
      "  JVM stdout: C:\\Users\\Gewissta\\AppData\\Local\\Temp\\tmpoeuinmv7\\h2o_Gewissta_started_from_python.out\n",
      "  JVM stderr: C:\\Users\\Gewissta\\AppData\\Local\\Temp\\tmpoeuinmv7\\h2o_Gewissta_started_from_python.err\n",
      "  Server is running at http://127.0.0.1:54321\n",
      "Connecting to H2O server at http://127.0.0.1:54321... successful.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td>H2O cluster uptime:</td>\n",
       "<td>06 secs</td></tr>\n",
       "<tr><td>H2O cluster version:</td>\n",
       "<td>3.17.0.4124</td></tr>\n",
       "<tr><td>H2O cluster version age:</td>\n",
       "<td>1 month and 10 days </td></tr>\n",
       "<tr><td>H2O cluster name:</td>\n",
       "<td>H2O_from_python_Gewissta_0uoc6z</td></tr>\n",
       "<tr><td>H2O cluster total nodes:</td>\n",
       "<td>1</td></tr>\n",
       "<tr><td>H2O cluster free memory:</td>\n",
       "<td>7.111 Gb</td></tr>\n",
       "<tr><td>H2O cluster total cores:</td>\n",
       "<td>4</td></tr>\n",
       "<tr><td>H2O cluster allowed cores:</td>\n",
       "<td>4</td></tr>\n",
       "<tr><td>H2O cluster status:</td>\n",
       "<td>accepting new members, healthy</td></tr>\n",
       "<tr><td>H2O connection url:</td>\n",
       "<td>http://127.0.0.1:54321</td></tr>\n",
       "<tr><td>H2O connection proxy:</td>\n",
       "<td>None</td></tr>\n",
       "<tr><td>H2O internal security:</td>\n",
       "<td>False</td></tr>\n",
       "<tr><td>H2O API Extensions:</td>\n",
       "<td>Algos, AutoML, Core V3, Core V4</td></tr>\n",
       "<tr><td>Python version:</td>\n",
       "<td>3.6.1 final</td></tr></table></div>"
      ],
      "text/plain": [
       "--------------------------  -------------------------------\n",
       "H2O cluster uptime:         06 secs\n",
       "H2O cluster version:        3.17.0.4124\n",
       "H2O cluster version age:    1 month and 10 days\n",
       "H2O cluster name:           H2O_from_python_Gewissta_0uoc6z\n",
       "H2O cluster total nodes:    1\n",
       "H2O cluster free memory:    7.111 Gb\n",
       "H2O cluster total cores:    4\n",
       "H2O cluster allowed cores:  4\n",
       "H2O cluster status:         accepting new members, healthy\n",
       "H2O connection url:         http://127.0.0.1:54321\n",
       "H2O connection proxy:\n",
       "H2O internal security:      False\n",
       "H2O API Extensions:         Algos, AutoML, Core V3, Core V4\n",
       "Python version:             3.6.1 final\n",
       "--------------------------  -------------------------------"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# перед импортом библиотеки h2o и модуля os убедитесь, что библиотека h2o установлена \n",
    "# (сначала установите Java SE Development Kit 8, обратите внимание, \n",
    "# 9-я версия H2O не поддерживается, а затем после установки Java \n",
    "# запустите Anaconda Prompt и установите h2o с помощью \n",
    "# строки pip install h2o)\n",
    "import h2o\n",
    "import os\n",
    "h2o.init(nthreads = -1, max_mem_size = 8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Parse progress: |█████████████████████████████████████████████████████████| 100%\n",
      "Parse progress: |█████████████████████████████████████████████████████████| 100%\n"
     ]
    }
   ],
   "source": [
    "# преобразовываем датафреймы pandas во фреймы h2o -\n",
    "# специальную структуру данных, используемую h2o\n",
    "tr = h2o.H2OFrame(train)\n",
    "valid = h2o.H2OFrame(test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rows:119522\n",
      "Cols:28\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table>\n",
       "<thead>\n",
       "<tr><th>       </th><th>gender  </th><th>age               </th><th>marital_status  </th><th>job_position  </th><th>credit_sum        </th><th>credit_month      </th><th>tariff_id         </th><th>score_shk          </th><th>education  </th><th>living_region                                           </th><th>monthly_income    </th><th>credit_count      </th><th>overdue_credit_count  </th><th>open_account_flg  </th><th>overdue_credit_count_ind  </th><th>monthcat       </th><th>credsumcat      </th><th>tariff            </th><th>paym               </th><th>pti                 </th><th>tariff_sq         </th><th>age_sq            </th><th>credit_sum_sq     </th><th>score_sq           </th><th>income_sq         </th><th>credit_month_sq   </th><th>credit_count_sq   </th><th>paymcat     </th></tr>\n",
       "</thead>\n",
       "<tbody>\n",
       "<tr><td>type   </td><td>enum    </td><td>real              </td><td>enum            </td><td>enum          </td><td>real              </td><td>int               </td><td>int               </td><td>real               </td><td>enum       </td><td>enum                                                    </td><td>real              </td><td>int               </td><td>int                   </td><td>int               </td><td>int                       </td><td>enum           </td><td>enum            </td><td>int               </td><td>real               </td><td>real                </td><td>int               </td><td>real              </td><td>real              </td><td>real               </td><td>real              </td><td>int               </td><td>int               </td><td>enum        </td></tr>\n",
       "<tr><td>mins   </td><td>        </td><td>2.8904273119085677</td><td>                </td><td>              </td><td>7.914252644239451 </td><td>3.0               </td><td>1.0               </td><td>0.0                </td><td>           </td><td>                                                        </td><td>8.517193391416217 </td><td>0.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>               </td><td>                </td><td>1.0               </td><td>0.24160685716817745</td><td>0.02233011161325693 </td><td>1.0               </td><td>8.354570045426989 </td><td>62.63539491685113 </td><td>0.0                </td><td>72.54258326678409 </td><td>9.0               </td><td>0.0               </td><td>            </td></tr>\n",
       "<tr><td>mean   </td><td>        </td><td>3.5568175924143346</td><td>                </td><td>              </td><td>9.992300858447027 </td><td>10.976665383778718</td><td>14.16159368149798 </td><td>0.46972772229380333</td><td>           </td><td>                                                        </td><td>10.465659116156557</td><td>2.0998142601362106</td><td>0.04309666839577654   </td><td>0.175858837703519 </td><td>0.05419086026003581       </td><td>               </td><td>                </td><td>14.16159368149798 </td><td>0.9855645991497233 </td><td>0.09430144481686441 </td><td>335.3108381720518 </td><td>12.729841598449577</td><td>100.20653190697433</td><td>0.23605992004028928</td><td>109.78233659026652</td><td>132.85777513763153</td><td>7.4066866350964835</td><td>            </td></tr>\n",
       "<tr><td>maxs   </td><td>        </td><td>4.262693961449172 </td><td>                </td><td>              </td><td>12.206072650530174</td><td>36.0              </td><td>99.0              </td><td>1.128291           </td><td>           </td><td>                                                        </td><td>13.71015004341756 </td><td>21.0              </td><td>3.0                   </td><td>1.0               </td><td>1.0                       </td><td>               </td><td>                </td><td>99.0              </td><td>3.8981377831186297 </td><td>0.3936126281533768  </td><td>9801.0            </td><td>18.17055980897524 </td><td>148.9882095500207 </td><td>1.273040580681     </td><td>187.96821421302252</td><td>1296.0            </td><td>441.0             </td><td>            </td></tr>\n",
       "<tr><td>sigma  </td><td>        </td><td>0.280875190778149 </td><td>                </td><td>              </td><td>0.6003819426719852</td><td>3.51719997890324  </td><td>11.608670469682284</td><td>0.12416084700379561</td><td>           </td><td>                                                        </td><td>0.5023126175347544</td><td>1.73132659744524  </td><td>0.2049620204244241    </td><td>0.380701614806553 </td><td>0.2263948757248815        </td><td>               </td><td>                </td><td>11.608670469682284</td><td>0.310631110473252  </td><td>0.029779597508943528</td><td>364.66979869323876</td><td>2.0152344444562194</td><td>11.985100245613381</td><td>0.12199803707621293</td><td>10.586509178224766</td><td>114.75763296620578</td><td>12.846698934504007</td><td>            </td></tr>\n",
       "<tr><td>zeros  </td><td>        </td><td>0                 </td><td>                </td><td>              </td><td>0                 </td><td>0                 </td><td>0                 </td><td>1                  </td><td>           </td><td>                                                        </td><td>0                 </td><td>18134             </td><td>114412                </td><td>98503             </td><td>113045                    </td><td>               </td><td>                </td><td>0                 </td><td>0                  </td><td>0                   </td><td>0                 </td><td>0                 </td><td>0                 </td><td>1                  </td><td>0                 </td><td>0                 </td><td>18134             </td><td>            </td></tr>\n",
       "<tr><td>missing</td><td>0       </td><td>0                 </td><td>0               </td><td>0             </td><td>0                 </td><td>0                 </td><td>0                 </td><td>0                  </td><td>0          </td><td>0                                                       </td><td>0                 </td><td>0                 </td><td>0                     </td><td>0                 </td><td>0                         </td><td>0              </td><td>0               </td><td>0                 </td><td>0                  </td><td>0                   </td><td>0                 </td><td>0                 </td><td>0                 </td><td>0                  </td><td>0                 </td><td>0                 </td><td>0                 </td><td>0           </td></tr>\n",
       "<tr><td>0      </td><td>M       </td><td>3.3322402238231783</td><td>UNM             </td><td>SPC           </td><td>10.421656180337894</td><td>10.0              </td><td>20.0              </td><td>0.43136            </td><td>SCH        </td><td><0xC0CCD3D0D1CAC0DF> <0xCEC1CBC0D1D2DC>                 </td><td>10.491274245216024</td><td>2.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(10.275, 10.489]</td><td>20.0              </td><td>1.0421656180337897 </td><td>0.09933641935907    </td><td>400.0             </td><td>11.103824909265146</td><td>108.61091754117504</td><td>0.1860714496       </td><td>110.06683528833304</td><td>100.0             </td><td>4.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>1      </td><td>M       </td><td>3.6376124751696057</td><td>UNM             </td><td>SPC           </td><td>10.065223718254256</td><td>10.0              </td><td>19.0              </td><td>0.358472           </td><td>GRD        </td><td><0xD1D2C0C2D0CECFCECBDCD1CAC8C9> <0xCAD0C0C9>           </td><td>10.71441779097468 </td><td>2.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(9.953, 10.167] </td><td>19.0              </td><td>1.0065223718254257 </td><td>0.09394093001238692 </td><td>361.0             </td><td>13.232224519509542</td><td>101.30872849850802</td><td>0.128502174784     </td><td>114.79874859955471</td><td>100.0             </td><td>4.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>2      </td><td>F       </td><td>3.218915824068222 </td><td>MAR             </td><td>SPC           </td><td>10.596384726847116</td><td>24.0              </td><td>25.0              </td><td>0.613475           </td><td>GRD        </td><td><0xD0CED1D2CEC2D1CAC0DF> <0xCEC1CBC0D1D2DC>             </td><td>10.819778304410285</td><td>6.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>(23.625, 24.45]</td><td>(10.489, 10.704]</td><td>25.0              </td><td>0.44151603028529646</td><td>0.04080638418490781 </td><td>625.0             </td><td>10.361419082436802</td><td>112.2833692793588 </td><td>0.376351575625     </td><td>117.06760255658746</td><td>576.0             </td><td>36.0              </td><td>(0.42, 0.52]</td></tr>\n",
       "<tr><td>3      </td><td>F       </td><td>4.17440265439268  </td><td>UNM             </td><td>UMN           </td><td>8.157657301729383 </td><td>6.0               </td><td>18.0              </td><td>0.371355           </td><td>GRD        </td><td><0xD0C5D1CFD3C1CBC8CAC0> <0xD5C0CAC0D1C8DF>             </td><td>10.46310336904298 </td><td>4.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>(-inf, 7.95]   </td><td>(-inf, 8.343]   </td><td>18.0              </td><td>1.3596095502882306 </td><td>0.12994323981457415 </td><td>324.0             </td><td>17.425637521000656</td><td>66.54737265245872 </td><td>0.137904536025     </td><td>109.47653211127854</td><td>36.0              </td><td>16.0              </td><td>(1.16, 1.52]</td></tr>\n",
       "<tr><td>4      </td><td>M       </td><td>3.891840706065648 </td><td>MAR             </td><td>BIS           </td><td>10.50116956878227 </td><td>10.0              </td><td>28.0              </td><td>0.645187           </td><td>SCH        </td><td><0xD7C5CBDFC1C8CDD1CAC0DF> <0xCEC1CBC0D1D2DC>           </td><td>10.819778304410285</td><td>2.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(10.489, 10.704]</td><td>28.0              </td><td>1.050116956878227  </td><td>0.09705531179415992 </td><td>784.0             </td><td>15.146424081389563</td><td>110.2745623123188 </td><td>0.41626626496899993</td><td>117.06760255658746</td><td>100.0             </td><td>4.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>5      </td><td>F       </td><td>3.6635872868265618</td><td>UNM             </td><td>SPC           </td><td>9.48865377012982  </td><td>10.0              </td><td>2.0               </td><td>0.45512            </td><td>SCH        </td><td><0xD0C5D1CFD3C1CBC8CAC0> <0xD1C0D5C0> (<0xDFCAD3D2C8DF>)</td><td>11.002099857870904</td><td>1.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(9.416, 9.631]  </td><td>2.0               </td><td>0.948865377012982  </td><td>0.08624402516526547 </td><td>4.0               </td><td>13.421871808197208</td><td>90.03455036939883 </td><td>0.2071342144       </td><td>121.04620128256298</td><td>100.0             </td><td>1.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>6      </td><td>M       </td><td>3.4012307144399454</td><td>UNM             </td><td>SPC           </td><td>9.628527609516505 </td><td>12.0              </td><td>2.0               </td><td>0.451993           </td><td>SCH        </td><td><0xD0C5D1CFD3C1CBC8CAC0> <0xD2C0D2C0D0D1D2C0CD>         </td><td>10.126631143850338</td><td>1.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>(11.25, 13.725]</td><td>(9.416, 9.631]  </td><td>2.0               </td><td>0.8023773007930419 </td><td>0.07923437611137901 </td><td>4.0               </td><td>11.568370372849662</td><td>92.70854392722158 </td><td>0.204297672049     </td><td>102.5486583235996 </td><td>144.0             </td><td>1.0               </td><td>(0.7, 0.88] </td></tr>\n",
       "<tr><td>7      </td><td>F       </td><td>3.784212360932728 </td><td>WID             </td><td>SPC           </td><td>10.236166926768645</td><td>10.0              </td><td>19.0              </td><td>0.493069           </td><td>SCH        </td><td><0xD0C5D1CFD3C1CBC8CAC0> <0xCAC0D0C5CBC8DF>             </td><td>10.65960955573164 </td><td>0.0               </td><td>0.0                   </td><td>1.0               </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(10.167, 10.275]</td><td>19.0              </td><td>1.0236166926768644 </td><td>0.09602759719529022 </td><td>361.0             </td><td>14.32026319263605 </td><td>104.7791133526722 </td><td>0.243117038761     </td><td>113.62727588064529</td><td>100.0             </td><td>0.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>8      </td><td>F       </td><td>3.4965378640376557</td><td>MAR             </td><td>SPC           </td><td>9.687597071498477 </td><td>10.0              </td><td>2.0               </td><td>0.479242           </td><td>SCH        </td><td><0xCAC5CCC5D0CEC2D1CAC0DF> <0xCEC1CBC0D1D2DC>           </td><td>9.903487602536126 </td><td>4.0               </td><td>0.0                   </td><td>1.0               </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(9.631, 9.738]  </td><td>2.0               </td><td>0.9687597071498476 </td><td>0.0978200555228406  </td><td>4.0               </td><td>12.225777034649012</td><td>93.84953701970582 </td><td>0.229672894564     </td><td>98.07906669358674 </td><td>100.0             </td><td>16.0              </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>9      </td><td>F       </td><td>3.4012307144399454</td><td>UNM             </td><td>SPC           </td><td>8.219533777079826 </td><td>6.0               </td><td>29.0              </td><td>0.367719           </td><td>SCH        </td><td><0xCDC8C6C5C3CED0CEC4D1CAC0DF> <0xCEC1CBC0D1D2DC>       </td><td>9.903487602536126 </td><td>3.0               </td><td>0.0                   </td><td>0.0               </td><td>0.0                       </td><td>(-inf, 7.95]   </td><td>(-inf, 8.343]   </td><td>29.0              </td><td>1.369922296179971  </td><td>0.13832725915960714 </td><td>841.0             </td><td>11.568370372849662</td><td>67.56073551255616 </td><td>0.135217262961     </td><td>98.07906669358674 </td><td>36.0              </td><td>9.0               </td><td>(1.16, 1.52]</td></tr>\n",
       "</tbody>\n",
       "</table>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# взглянем на обучающий фрейм, обратите внимание,\n",
    "# сейчас метод .describe() - это метод h2o, а не \n",
    "# pandas\n",
    "tr.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# преобразовываем категориальные переменные, неправильно прочитанные \n",
    "# как целочисленные (тип int), в категориальные (тип enum)\n",
    "\n",
    "for i in ['gender', 'marital_status', 'job_position', 'education', \n",
    "          'tariff_id', 'living_region', 'monthcat', 'credsumcat', 'paymcat', 'jobcat', 'open_account_flg']:\n",
    "    if i in tr.columns:\n",
    "        tr[i]=tr[i].asfactor()\n",
    "        \n",
    "for i in ['gender', 'marital_status', 'job_position', 'education', \n",
    "          'tariff_id', 'living_region', 'monthcat', 'credsumcat', 'paymcat', 'jobcat', 'open_account_flg']:\n",
    "    if i in valid.columns:\n",
    "        valid[i]=valid[i].asfactor()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rows:119522\n",
      "Cols:28\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table>\n",
       "<thead>\n",
       "<tr><th>       </th><th>gender  </th><th>age               </th><th>marital_status  </th><th>job_position  </th><th>credit_sum        </th><th>credit_month      </th><th>tariff_id  </th><th>score_shk          </th><th>education  </th><th>living_region                                           </th><th>monthly_income    </th><th>credit_count      </th><th>overdue_credit_count  </th><th>open_account_flg  </th><th>overdue_credit_count_ind  </th><th>monthcat       </th><th>credsumcat      </th><th>tariff            </th><th>paym               </th><th>pti                 </th><th>tariff_sq         </th><th>age_sq            </th><th>credit_sum_sq     </th><th>score_sq           </th><th>income_sq         </th><th>credit_month_sq   </th><th>credit_count_sq   </th><th>paymcat     </th></tr>\n",
       "</thead>\n",
       "<tbody>\n",
       "<tr><td>type   </td><td>enum    </td><td>real              </td><td>enum            </td><td>enum          </td><td>real              </td><td>int               </td><td>enum       </td><td>real               </td><td>enum       </td><td>enum                                                    </td><td>real              </td><td>int               </td><td>int                   </td><td>enum              </td><td>int                       </td><td>enum           </td><td>enum            </td><td>int               </td><td>real               </td><td>real                </td><td>int               </td><td>real              </td><td>real              </td><td>real               </td><td>real              </td><td>int               </td><td>int               </td><td>enum        </td></tr>\n",
       "<tr><td>mins   </td><td>        </td><td>2.8904273119085677</td><td>                </td><td>              </td><td>7.914252644239451 </td><td>3.0               </td><td>           </td><td>0.0                </td><td>           </td><td>                                                        </td><td>8.517193391416217 </td><td>0.0               </td><td>0.0                   </td><td>                  </td><td>0.0                       </td><td>               </td><td>                </td><td>1.0               </td><td>0.24160685716817745</td><td>0.02233011161325693 </td><td>1.0               </td><td>8.354570045426989 </td><td>62.63539491685113 </td><td>0.0                </td><td>72.54258326678409 </td><td>9.0               </td><td>0.0               </td><td>            </td></tr>\n",
       "<tr><td>mean   </td><td>        </td><td>3.5568175924143346</td><td>                </td><td>              </td><td>9.992300858447027 </td><td>10.976665383778718</td><td>           </td><td>0.46972772229380333</td><td>           </td><td>                                                        </td><td>10.465659116156557</td><td>2.0998142601362106</td><td>0.04309666839577654   </td><td>                  </td><td>0.05419086026003581       </td><td>               </td><td>                </td><td>14.16159368149798 </td><td>0.9855645991497233 </td><td>0.09430144481686441 </td><td>335.3108381720518 </td><td>12.729841598449577</td><td>100.20653190697433</td><td>0.23605992004028928</td><td>109.78233659026652</td><td>132.85777513763153</td><td>7.4066866350964835</td><td>            </td></tr>\n",
       "<tr><td>maxs   </td><td>        </td><td>4.262693961449172 </td><td>                </td><td>              </td><td>12.206072650530174</td><td>36.0              </td><td>           </td><td>1.128291           </td><td>           </td><td>                                                        </td><td>13.71015004341756 </td><td>21.0              </td><td>3.0                   </td><td>                  </td><td>1.0                       </td><td>               </td><td>                </td><td>99.0              </td><td>3.8981377831186297 </td><td>0.3936126281533768  </td><td>9801.0            </td><td>18.17055980897524 </td><td>148.9882095500207 </td><td>1.273040580681     </td><td>187.96821421302252</td><td>1296.0            </td><td>441.0             </td><td>            </td></tr>\n",
       "<tr><td>sigma  </td><td>        </td><td>0.280875190778149 </td><td>                </td><td>              </td><td>0.6003819426719852</td><td>3.51719997890324  </td><td>           </td><td>0.12416084700379561</td><td>           </td><td>                                                        </td><td>0.5023126175347544</td><td>1.73132659744524  </td><td>0.2049620204244241    </td><td>                  </td><td>0.2263948757248815        </td><td>               </td><td>                </td><td>11.608670469682284</td><td>0.310631110473252  </td><td>0.029779597508943528</td><td>364.66979869323876</td><td>2.0152344444562194</td><td>11.985100245613381</td><td>0.12199803707621293</td><td>10.586509178224766</td><td>114.75763296620578</td><td>12.846698934504007</td><td>            </td></tr>\n",
       "<tr><td>zeros  </td><td>        </td><td>0                 </td><td>                </td><td>              </td><td>0                 </td><td>0                 </td><td>           </td><td>1                  </td><td>           </td><td>                                                        </td><td>0                 </td><td>18134             </td><td>114412                </td><td>                  </td><td>113045                    </td><td>               </td><td>                </td><td>0                 </td><td>0                  </td><td>0                   </td><td>0                 </td><td>0                 </td><td>0                 </td><td>1                  </td><td>0                 </td><td>0                 </td><td>18134             </td><td>            </td></tr>\n",
       "<tr><td>missing</td><td>0       </td><td>0                 </td><td>0               </td><td>0             </td><td>0                 </td><td>0                 </td><td>0          </td><td>0                  </td><td>0          </td><td>0                                                       </td><td>0                 </td><td>0                 </td><td>0                     </td><td>0                 </td><td>0                         </td><td>0              </td><td>0               </td><td>0                 </td><td>0                  </td><td>0                   </td><td>0                 </td><td>0                 </td><td>0                 </td><td>0                  </td><td>0                 </td><td>0                 </td><td>0                 </td><td>0           </td></tr>\n",
       "<tr><td>0      </td><td>M       </td><td>3.3322402238231783</td><td>UNM             </td><td>SPC           </td><td>10.421656180337894</td><td>10.0              </td><td>20         </td><td>0.43136            </td><td>SCH        </td><td><0xC0CCD3D0D1CAC0DF> <0xCEC1CBC0D1D2DC>                 </td><td>10.491274245216024</td><td>2.0               </td><td>0.0                   </td><td>0                 </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(10.275, 10.489]</td><td>20.0              </td><td>1.0421656180337897 </td><td>0.09933641935907    </td><td>400.0             </td><td>11.103824909265146</td><td>108.61091754117504</td><td>0.1860714496       </td><td>110.06683528833304</td><td>100.0             </td><td>4.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>1      </td><td>M       </td><td>3.6376124751696057</td><td>UNM             </td><td>SPC           </td><td>10.065223718254256</td><td>10.0              </td><td>19         </td><td>0.358472           </td><td>GRD        </td><td><0xD1D2C0C2D0CECFCECBDCD1CAC8C9> <0xCAD0C0C9>           </td><td>10.71441779097468 </td><td>2.0               </td><td>0.0                   </td><td>0                 </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(9.953, 10.167] </td><td>19.0              </td><td>1.0065223718254257 </td><td>0.09394093001238692 </td><td>361.0             </td><td>13.232224519509542</td><td>101.30872849850802</td><td>0.128502174784     </td><td>114.79874859955471</td><td>100.0             </td><td>4.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>2      </td><td>F       </td><td>3.218915824068222 </td><td>MAR             </td><td>SPC           </td><td>10.596384726847116</td><td>24.0              </td><td>25         </td><td>0.613475           </td><td>GRD        </td><td><0xD0CED1D2CEC2D1CAC0DF> <0xCEC1CBC0D1D2DC>             </td><td>10.819778304410285</td><td>6.0               </td><td>0.0                   </td><td>0                 </td><td>0.0                       </td><td>(23.625, 24.45]</td><td>(10.489, 10.704]</td><td>25.0              </td><td>0.44151603028529646</td><td>0.04080638418490781 </td><td>625.0             </td><td>10.361419082436802</td><td>112.2833692793588 </td><td>0.376351575625     </td><td>117.06760255658746</td><td>576.0             </td><td>36.0              </td><td>(0.42, 0.52]</td></tr>\n",
       "<tr><td>3      </td><td>F       </td><td>4.17440265439268  </td><td>UNM             </td><td>UMN           </td><td>8.157657301729383 </td><td>6.0               </td><td>18         </td><td>0.371355           </td><td>GRD        </td><td><0xD0C5D1CFD3C1CBC8CAC0> <0xD5C0CAC0D1C8DF>             </td><td>10.46310336904298 </td><td>4.0               </td><td>0.0                   </td><td>0                 </td><td>0.0                       </td><td>(-inf, 7.95]   </td><td>(-inf, 8.343]   </td><td>18.0              </td><td>1.3596095502882306 </td><td>0.12994323981457415 </td><td>324.0             </td><td>17.425637521000656</td><td>66.54737265245872 </td><td>0.137904536025     </td><td>109.47653211127854</td><td>36.0              </td><td>16.0              </td><td>(1.16, 1.52]</td></tr>\n",
       "<tr><td>4      </td><td>M       </td><td>3.891840706065648 </td><td>MAR             </td><td>BIS           </td><td>10.50116956878227 </td><td>10.0              </td><td>28         </td><td>0.645187           </td><td>SCH        </td><td><0xD7C5CBDFC1C8CDD1CAC0DF> <0xCEC1CBC0D1D2DC>           </td><td>10.819778304410285</td><td>2.0               </td><td>0.0                   </td><td>0                 </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(10.489, 10.704]</td><td>28.0              </td><td>1.050116956878227  </td><td>0.09705531179415992 </td><td>784.0             </td><td>15.146424081389563</td><td>110.2745623123188 </td><td>0.41626626496899993</td><td>117.06760255658746</td><td>100.0             </td><td>4.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>5      </td><td>F       </td><td>3.6635872868265618</td><td>UNM             </td><td>SPC           </td><td>9.48865377012982  </td><td>10.0              </td><td>2          </td><td>0.45512            </td><td>SCH        </td><td><0xD0C5D1CFD3C1CBC8CAC0> <0xD1C0D5C0> (<0xDFCAD3D2C8DF>)</td><td>11.002099857870904</td><td>1.0               </td><td>0.0                   </td><td>0                 </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(9.416, 9.631]  </td><td>2.0               </td><td>0.948865377012982  </td><td>0.08624402516526547 </td><td>4.0               </td><td>13.421871808197208</td><td>90.03455036939883 </td><td>0.2071342144       </td><td>121.04620128256298</td><td>100.0             </td><td>1.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>6      </td><td>M       </td><td>3.4012307144399454</td><td>UNM             </td><td>SPC           </td><td>9.628527609516505 </td><td>12.0              </td><td>2          </td><td>0.451993           </td><td>SCH        </td><td><0xD0C5D1CFD3C1CBC8CAC0> <0xD2C0D2C0D0D1D2C0CD>         </td><td>10.126631143850338</td><td>1.0               </td><td>0.0                   </td><td>0                 </td><td>0.0                       </td><td>(11.25, 13.725]</td><td>(9.416, 9.631]  </td><td>2.0               </td><td>0.8023773007930419 </td><td>0.07923437611137901 </td><td>4.0               </td><td>11.568370372849662</td><td>92.70854392722158 </td><td>0.204297672049     </td><td>102.5486583235996 </td><td>144.0             </td><td>1.0               </td><td>(0.7, 0.88] </td></tr>\n",
       "<tr><td>7      </td><td>F       </td><td>3.784212360932728 </td><td>WID             </td><td>SPC           </td><td>10.236166926768645</td><td>10.0              </td><td>19         </td><td>0.493069           </td><td>SCH        </td><td><0xD0C5D1CFD3C1CBC8CAC0> <0xCAC0D0C5CBC8DF>             </td><td>10.65960955573164 </td><td>0.0               </td><td>0.0                   </td><td>1                 </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(10.167, 10.275]</td><td>19.0              </td><td>1.0236166926768644 </td><td>0.09602759719529022 </td><td>361.0             </td><td>14.32026319263605 </td><td>104.7791133526722 </td><td>0.243117038761     </td><td>113.62727588064529</td><td>100.0             </td><td>0.0               </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>8      </td><td>F       </td><td>3.4965378640376557</td><td>MAR             </td><td>SPC           </td><td>9.687597071498477 </td><td>10.0              </td><td>2          </td><td>0.479242           </td><td>SCH        </td><td><0xCAC5CCC5D0CEC2D1CAC0DF> <0xCEC1CBC0D1D2DC>           </td><td>9.903487602536126 </td><td>4.0               </td><td>0.0                   </td><td>1                 </td><td>0.0                       </td><td>(9.6, 11.25]   </td><td>(9.631, 9.738]  </td><td>2.0               </td><td>0.9687597071498476 </td><td>0.0978200555228406  </td><td>4.0               </td><td>12.225777034649012</td><td>93.84953701970582 </td><td>0.229672894564     </td><td>98.07906669358674 </td><td>100.0             </td><td>16.0              </td><td>(0.88, 1.06]</td></tr>\n",
       "<tr><td>9      </td><td>F       </td><td>3.4012307144399454</td><td>UNM             </td><td>SPC           </td><td>8.219533777079826 </td><td>6.0               </td><td>29         </td><td>0.367719           </td><td>SCH        </td><td><0xCDC8C6C5C3CED0CEC4D1CAC0DF> <0xCEC1CBC0D1D2DC>       </td><td>9.903487602536126 </td><td>3.0               </td><td>0.0                   </td><td>0                 </td><td>0.0                       </td><td>(-inf, 7.95]   </td><td>(-inf, 8.343]   </td><td>29.0              </td><td>1.369922296179971  </td><td>0.13832725915960714 </td><td>841.0             </td><td>11.568370372849662</td><td>67.56073551255616 </td><td>0.135217262961     </td><td>98.07906669358674 </td><td>36.0              </td><td>9.0               </td><td>(1.16, 1.52]</td></tr>\n",
       "</tbody>\n",
       "</table>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# снова смотрим обучающий фрейм\n",
    "tr.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# задаем название зависимой переменной\n",
    "dependent = 'open_account_flg'\n",
    "# задаем список названий предикторов\n",
    "predictors = list(tr.columns)\n",
    "# удаляем название зависимой переменной из \n",
    "# списка названий предикторов\n",
    "predictors.remove(dependent)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# импортируем класс H2OGeneralizedLinearEstimator\n",
    "from h2o.estimators.glm import H2OGeneralizedLinearEstimator"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### `Параметры класса H2OGeneralizedLinearEstimator`\n",
    "\n",
    "- **`family`** – вид распределения целевой переменной (аналогичный параметр для градиентного бустинга или глубокого обучения называется `distribution`). Возможные варианты для регрессии: `'gaussian'`, `'poisson'`, `'gamma'`, `'tweedie'`. Для биномиальной классификации (логистической регрессии) нужно задать значение `'binomial'`, а для многоклассовой классификации – `'multinomial'`;\n",
    "- **`link`** – задает связующую функцию, возможные значения: `'family_default'`, `'identity'`, `'logit'`, `'log'`, `'inverse'`, `'tweedie'`;\n",
    "- **`alpha`** - задает тип регуляризации. Значение `1` соответствует l1-регуляризации (лассо), значение `0` соответствует l2-регуляризации (гребневой регрессии), промежуточное значение соответствует комбинации штрафов l1 и l2 (эластичной сети);\n",
    "- **`lambda`** - задает силу регуляризации, значение `0` соответствует отсутствию регуляризации и параметр `alpha` игнорируется;\n",
    "- **`lambda_search`** - если задан данный параметр, GLM будет вычислять модели по полному пути регуляризации. Путь регуляризации начинается с максимального значения `lambda` и двигается к минимальному значению, уменьшая силу регуляризации на каждом шаге. Значения `lambda` задаются в логарифмической шкале. Возвращенная модель будет иметь коэффициенты, соответствующие \"оптимальному\" значению `lambda`, выясненному в ходе обучения. Когда задано значение `alpha>0`, перебор значений `lambda` можно использовать для эффективной обработки наборов с большим количеством предикторов, поскольку это позволяет удаляеть бесполезные (шумовые) предикторы и строить модели лишь для небольшого поднабора предикторов. Возможное применение перебора значений `lambda` может быть следующим: запускаете его на наборе с большим количеством предикторов, но при этом ограничиваете количество активных предикторов относительно небольшим значением;\n",
    "- **`lambda_min_ratio`** – задает минимальное значение `lambda`, заданное как процент от начального (максимального) значения. По умолчанию этот параметр равен `0.0001`. Например, если начальное значение `lambda` составляло `15`, то параметр `lambda_min_ratio` будет равен `0.0015`. Значение `0` никогда не проверяется в ходе автоматического поиска, так что при необходимости такое значение\n",
    "следует задавать вручную;\n",
    "- **`nlambdas`** – задает количество проверяемых значений параметра `lambda`. По умолчанию равно `–1`, это означает, что будет проверено 100 значений `lambda` при `alpha = 1` (гребневой регрессии) и 30 значений `lambda` при `alpha = 0` (лассо-регрессии). Можно задать меньшее значение для экономии времени;\n",
    "- **`max_active_predictors`** - ограничивает количество активных предикторов. Значение по умолчанию равно `–1`, что означает отсутствие ограничений, но можно задать и другое значение для ранней остановки lambda_search при достижении заданного количества ненулевых коэффициентов;\n",
    "- **`solver`** - задает оптимизатор, возможные значения: `'AUTO'`, `'IRLSM'`, `'L_BFGS'`, `'COORDINATE_DESCENT'`, `'COORDINATE_DESCENT_NAIVE'`. `'AUTO'` - алгоритм выбирается на основе используемых данных и других параметров. `'IRLSM'` – метод наименьших квадратов с итеративным пересчётом весов (iterative re-weighted least qquares method). Оптимальный вариант для относительно небольших объемов данных (до 500 переменных, хотя объем в основном ограничен количеством доступной памяти). Для большего количества переменных можно применять IRLSM при использовании регуляризации с большими значениями `alpha`, чтобы получить большое количество нулевых коэффициентов. `'L_BFGS'` – L означает «ограниченная память» (limited memory), а BFGS – алгоритм Бройдена–Флетчера–Гольдфарба–Шанно (Broyden–Fletcher–Goldfarb–Shanno algorithm). Википедия (https://en.wikipedia.org/wiki/Limitedmemory_BFGS) описывает его как квазиньютоновский метод, начните с изучения этой статьи, если вас интересуют подробности. Этот метод используют вместо IRLSM при работе с большим количеством переменных (реализация в H2O поддерживает работу с сотнями тысяч переменных). `'COORDINATE_DESCENT'`, `'COORDINATE_DESCENT_NAIVE'` – экспериментальные варианты IRLSM (см. https://en.wikipedia.org/wiki/Coordinate_descent). Хорошо подходят для данных, содержащих до 5000 переменных, и представляющих собой разреженные признаки. Они могут повысить качество, когда данные содержат категориальные переменные с большим количеством уровней. `'COORDINATE_DESCENT'` может дать лучшее качество при использовании перебора значений lambda;\n",
    "- **`standardize`** - стандартизирует переменные (используется по умолчанию, не рекомендуется отключать);\n",
    "- **`remove_collinear_columns`** - удаляет коррелирующие столбцы в ходе построения модели (не используется по умолчанию). Параметр следует задавать только в тех случаях, когда регуляризация не используется (`lambda=0`), в противном случае это только приведет к ухудшению качества; \n",
    "- **`interactions`** - задает список предикторов для создания парных взаимодействий;\n",
    "- **`compute_p_values`** - вычисляет p-значения. Можно задать только в тех случаях, когда не используется штраф (`lambda=0`). Рекомендуется задать параметр `remove_collinear_columns`. H2O вернет ошибку, если запрошено вычисление p-значений, при этом есть коррелирующие столбцы, но параметр `remove_collinear_columns` не задан;\n",
    "- **`training_frame`** - задает обучающий фрейм;\n",
    "- **`validation_frame`** - задает контрольный фрейм;\n",
    "- **`nfolds`** - задает количество блоков перекрестной проверки;\n",
    "- **`keep_cross_validation_predictions`** - задает сохранение прогнозов перекрестной проверки."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "glm Model Build progress: |███████████████████████████████████████████████| 100%\n"
     ]
    }
   ],
   "source": [
    "# создаем экземпляр класса H2OGeneralizedLinearEstimator, задав\n",
    "# параметры (c помощью interactions задаем список предикторов для\n",
    "# парных взаимодействий, alpha=1 задает l1-регуляризацию, \n",
    "# выполняющую отбор признаков в ходе перебора lambda, \n",
    "# заданного с помощью lambda_search, для проверки \n",
    "# зададим 10-блочную перекрестную проверку)\n",
    "glm_model = H2OGeneralizedLinearEstimator(alpha=1, family= \"binomial\", seed=10000, \n",
    "                                          interactions=['gender', 'marital_status',\n",
    "                                                        'education', 'living_region',\n",
    "                                                        'tariff_id', 'paymcat'], lambda_search=True,\n",
    "                                          nfolds=10, keep_cross_validation_predictions=True)\n",
    "glm_model.train(predictors, dependent, training_frame= tr, validation_frame=valid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model Details\n",
      "=============\n",
      "H2OGeneralizedLinearEstimator :  Generalized Linear Modeling\n",
      "Model Key:  GLM_model_python_1516003413358_1\n",
      "\n",
      "\n",
      "ModelMetricsBinomialGLM: glm\n",
      "** Reported on train data. **\n",
      "\n",
      "MSE: 0.1239536439711434\n",
      "RMSE: 0.3520705099424594\n",
      "LogLoss: 0.39511818236690033\n",
      "Null degrees of freedom: 119521\n",
      "Residual degrees of freedom: 119157\n",
      "Null deviance: 111168.7508840891\n",
      "Residual deviance: 94450.63078571332\n",
      "AIC: 95180.63078571332\n",
      "AUC: 0.7690654319966511\n",
      "Gini: 0.5381308639933022\n",
      "Confusion Matrix (Act/Pred) for max f1 @ threshold = 0.2202415996190708: \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n",
       "<td><b>0</b></td>\n",
       "<td><b>1</b></td>\n",
       "<td><b>Error</b></td>\n",
       "<td><b>Rate</b></td></tr>\n",
       "<tr><td>0</td>\n",
       "<td>75406.0</td>\n",
       "<td>23097.0</td>\n",
       "<td>0.2345</td>\n",
       "<td> (23097.0/98503.0)</td></tr>\n",
       "<tr><td>1</td>\n",
       "<td>7966.0</td>\n",
       "<td>13053.0</td>\n",
       "<td>0.379</td>\n",
       "<td> (7966.0/21019.0)</td></tr>\n",
       "<tr><td>Total</td>\n",
       "<td>83372.0</td>\n",
       "<td>36150.0</td>\n",
       "<td>0.2599</td>\n",
       "<td> (31063.0/119522.0)</td></tr></table></div>"
      ],
      "text/plain": [
       "       0      1      Error    Rate\n",
       "-----  -----  -----  -------  ------------------\n",
       "0      75406  23097  0.2345   (23097.0/98503.0)\n",
       "1      7966   13053  0.379    (7966.0/21019.0)\n",
       "Total  83372  36150  0.2599   (31063.0/119522.0)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Maximum Metrics: Maximum metrics at their respective thresholds\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b>metric</b></td>\n",
       "<td><b>threshold</b></td>\n",
       "<td><b>value</b></td>\n",
       "<td><b>idx</b></td></tr>\n",
       "<tr><td>max f1</td>\n",
       "<td>0.2202416</td>\n",
       "<td>0.4566461</td>\n",
       "<td>226.0</td></tr>\n",
       "<tr><td>max f2</td>\n",
       "<td>0.1101449</td>\n",
       "<td>0.5993773</td>\n",
       "<td>306.0</td></tr>\n",
       "<tr><td>max f0point5</td>\n",
       "<td>0.3475670</td>\n",
       "<td>0.4270001</td>\n",
       "<td>149.0</td></tr>\n",
       "<tr><td>max accuracy</td>\n",
       "<td>0.5016102</td>\n",
       "<td>0.8314871</td>\n",
       "<td>82.0</td></tr>\n",
       "<tr><td>max precision</td>\n",
       "<td>0.9592530</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0</td></tr>\n",
       "<tr><td>max recall</td>\n",
       "<td>0.0092233</td>\n",
       "<td>1.0</td>\n",
       "<td>398.0</td></tr>\n",
       "<tr><td>max specificity</td>\n",
       "<td>0.9592530</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0</td></tr>\n",
       "<tr><td>max absolute_mcc</td>\n",
       "<td>0.2377133</td>\n",
       "<td>0.3204337</td>\n",
       "<td>215.0</td></tr>\n",
       "<tr><td>max min_per_class_accuracy</td>\n",
       "<td>0.1814951</td>\n",
       "<td>0.6993391</td>\n",
       "<td>251.0</td></tr>\n",
       "<tr><td>max mean_per_class_accuracy</td>\n",
       "<td>0.1714995</td>\n",
       "<td>0.7019126</td>\n",
       "<td>258.0</td></tr></table></div>"
      ],
      "text/plain": [
       "metric                       threshold    value     idx\n",
       "---------------------------  -----------  --------  -----\n",
       "max f1                       0.220242     0.456646  226\n",
       "max f2                       0.110145     0.599377  306\n",
       "max f0point5                 0.347567     0.427     149\n",
       "max accuracy                 0.50161      0.831487  82\n",
       "max precision                0.959253     1         0\n",
       "max recall                   0.00922332   1         398\n",
       "max specificity              0.959253     1         0\n",
       "max absolute_mcc             0.237713     0.320434  215\n",
       "max min_per_class_accuracy   0.181495     0.699339  251\n",
       "max mean_per_class_accuracy  0.171499     0.701913  258"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Gains/Lift Table: Avg response rate: 17,59 %\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n",
       "<td><b>group</b></td>\n",
       "<td><b>cumulative_data_fraction</b></td>\n",
       "<td><b>lower_threshold</b></td>\n",
       "<td><b>lift</b></td>\n",
       "<td><b>cumulative_lift</b></td>\n",
       "<td><b>response_rate</b></td>\n",
       "<td><b>cumulative_response_rate</b></td>\n",
       "<td><b>capture_rate</b></td>\n",
       "<td><b>cumulative_capture_rate</b></td>\n",
       "<td><b>gain</b></td>\n",
       "<td><b>cumulative_gain</b></td></tr>\n",
       "<tr><td></td>\n",
       "<td>1</td>\n",
       "<td>0.0100065</td>\n",
       "<td>0.6415022</td>\n",
       "<td>4.0032869</td>\n",
       "<td>4.0032869</td>\n",
       "<td>0.7040134</td>\n",
       "<td>0.7040134</td>\n",
       "<td>0.0400590</td>\n",
       "<td>0.0400590</td>\n",
       "<td>300.3286881</td>\n",
       "<td>300.3286881</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2</td>\n",
       "<td>0.0200047</td>\n",
       "<td>0.5732050</td>\n",
       "<td>3.4784461</td>\n",
       "<td>3.7409762</td>\n",
       "<td>0.6117155</td>\n",
       "<td>0.6578837</td>\n",
       "<td>0.0347781</td>\n",
       "<td>0.0748371</td>\n",
       "<td>247.8446060</td>\n",
       "<td>274.0976224</td></tr>\n",
       "<tr><td></td>\n",
       "<td>3</td>\n",
       "<td>0.0300028</td>\n",
       "<td>0.5238747</td>\n",
       "<td>3.0121154</td>\n",
       "<td>3.4980904</td>\n",
       "<td>0.5297071</td>\n",
       "<td>0.6151701</td>\n",
       "<td>0.0301156</td>\n",
       "<td>0.1049527</td>\n",
       "<td>201.2115398</td>\n",
       "<td>249.8090366</td></tr>\n",
       "<tr><td></td>\n",
       "<td>4</td>\n",
       "<td>0.0400010</td>\n",
       "<td>0.4872449</td>\n",
       "<td>2.9597722</td>\n",
       "<td>3.3635390</td>\n",
       "<td>0.5205021</td>\n",
       "<td>0.5915081</td>\n",
       "<td>0.0295923</td>\n",
       "<td>0.1345449</td>\n",
       "<td>195.9772161</td>\n",
       "<td>236.3538964</td></tr>\n",
       "<tr><td></td>\n",
       "<td>5</td>\n",
       "<td>0.0500075</td>\n",
       "<td>0.4590242</td>\n",
       "<td>2.5293927</td>\n",
       "<td>3.1966260</td>\n",
       "<td>0.4448161</td>\n",
       "<td>0.5621549</td>\n",
       "<td>0.0253104</td>\n",
       "<td>0.1598554</td>\n",
       "<td>152.9392661</td>\n",
       "<td>219.6625968</td></tr>\n",
       "<tr><td></td>\n",
       "<td>6</td>\n",
       "<td>0.1000067</td>\n",
       "<td>0.3758611</td>\n",
       "<td>2.2836863</td>\n",
       "<td>2.7401943</td>\n",
       "<td>0.4016064</td>\n",
       "<td>0.4818874</td>\n",
       "<td>0.1141824</td>\n",
       "<td>0.2740378</td>\n",
       "<td>128.3686342</td>\n",
       "<td>174.0194343</td></tr>\n",
       "<tr><td></td>\n",
       "<td>7</td>\n",
       "<td>0.1500059</td>\n",
       "<td>0.3268627</td>\n",
       "<td>2.0296262</td>\n",
       "<td>2.5033515</td>\n",
       "<td>0.3569277</td>\n",
       "<td>0.4402365</td>\n",
       "<td>0.1014796</td>\n",
       "<td>0.3755174</td>\n",
       "<td>102.9626236</td>\n",
       "<td>150.3351518</td></tr>\n",
       "<tr><td></td>\n",
       "<td>8</td>\n",
       "<td>0.2000050</td>\n",
       "<td>0.2882461</td>\n",
       "<td>1.8193368</td>\n",
       "<td>2.3323550</td>\n",
       "<td>0.3199465</td>\n",
       "<td>0.4101652</td>\n",
       "<td>0.0909653</td>\n",
       "<td>0.4664827</td>\n",
       "<td>81.9336785</td>\n",
       "<td>133.2354989</td></tr>\n",
       "<tr><td></td>\n",
       "<td>9</td>\n",
       "<td>0.3000033</td>\n",
       "<td>0.2209231</td>\n",
       "<td>1.5100876</td>\n",
       "<td>2.0582735</td>\n",
       "<td>0.2655622</td>\n",
       "<td>0.3619656</td>\n",
       "<td>0.1510062</td>\n",
       "<td>0.6174889</td>\n",
       "<td>51.0087593</td>\n",
       "<td>105.8273501</td></tr>\n",
       "<tr><td></td>\n",
       "<td>10</td>\n",
       "<td>0.4000017</td>\n",
       "<td>0.1669544</td>\n",
       "<td>1.1446978</td>\n",
       "<td>1.8298843</td>\n",
       "<td>0.2013052</td>\n",
       "<td>0.3218013</td>\n",
       "<td>0.1144679</td>\n",
       "<td>0.7319568</td>\n",
       "<td>14.4697779</td>\n",
       "<td>82.9884347</td></tr>\n",
       "<tr><td></td>\n",
       "<td>11</td>\n",
       "<td>0.5</td>\n",
       "<td>0.1287594</td>\n",
       "<td>0.8582855</td>\n",
       "<td>1.6355678</td>\n",
       "<td>0.1509371</td>\n",
       "<td>0.2876291</td>\n",
       "<td>0.0858271</td>\n",
       "<td>0.8177839</td>\n",
       "<td>-14.1714550</td>\n",
       "<td>63.5567820</td></tr>\n",
       "<tr><td></td>\n",
       "<td>12</td>\n",
       "<td>0.5999983</td>\n",
       "<td>0.1000093</td>\n",
       "<td>0.6760663</td>\n",
       "<td>1.4756531</td>\n",
       "<td>0.1188922</td>\n",
       "<td>0.2595066</td>\n",
       "<td>0.0676055</td>\n",
       "<td>0.8853894</td>\n",
       "<td>-32.3933689</td>\n",
       "<td>47.5653131</td></tr>\n",
       "<tr><td></td>\n",
       "<td>13</td>\n",
       "<td>0.6999967</td>\n",
       "<td>0.0777465</td>\n",
       "<td>0.4814772</td>\n",
       "<td>1.3336297</td>\n",
       "<td>0.0846720</td>\n",
       "<td>0.2345306</td>\n",
       "<td>0.0481469</td>\n",
       "<td>0.9335363</td>\n",
       "<td>-51.8522796</td>\n",
       "<td>33.3629696</td></tr>\n",
       "<tr><td></td>\n",
       "<td>14</td>\n",
       "<td>0.7999950</td>\n",
       "<td>0.0593248</td>\n",
       "<td>0.3273284</td>\n",
       "<td>1.2078433</td>\n",
       "<td>0.0575636</td>\n",
       "<td>0.2124099</td>\n",
       "<td>0.0327323</td>\n",
       "<td>0.9662686</td>\n",
       "<td>-67.2671624</td>\n",
       "<td>20.7843347</td></tr>\n",
       "<tr><td></td>\n",
       "<td>15</td>\n",
       "<td>0.8999933</td>\n",
       "<td>0.0397717</td>\n",
       "<td>0.2340779</td>\n",
       "<td>1.0996482</td>\n",
       "<td>0.0411647</td>\n",
       "<td>0.1933829</td>\n",
       "<td>0.0234074</td>\n",
       "<td>0.9896760</td>\n",
       "<td>-76.5922150</td>\n",
       "<td>9.9648186</td></tr>\n",
       "<tr><td></td>\n",
       "<td>16</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0028652</td>\n",
       "<td>0.1032330</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0181544</td>\n",
       "<td>0.1758588</td>\n",
       "<td>0.0103240</td>\n",
       "<td>1.0</td>\n",
       "<td>-89.6766984</td>\n",
       "<td>0.0</td></tr></table></div>"
      ],
      "text/plain": [
       "    group    cumulative_data_fraction    lower_threshold    lift      cumulative_lift    response_rate    cumulative_response_rate    capture_rate    cumulative_capture_rate    gain      cumulative_gain\n",
       "--  -------  --------------------------  -----------------  --------  -----------------  ---------------  --------------------------  --------------  -------------------------  --------  -----------------\n",
       "    1        0.0100065                   0.641502           4.00329   4.00329            0.704013         0.704013                    0.040059        0.040059                   300.329   300.329\n",
       "    2        0.0200047                   0.573205           3.47845   3.74098            0.611715         0.657884                    0.0347781       0.0748371                  247.845   274.098\n",
       "    3        0.0300028                   0.523875           3.01212   3.49809            0.529707         0.61517                     0.0301156       0.104953                   201.212   249.809\n",
       "    4        0.040001                    0.487245           2.95977   3.36354            0.520502         0.591508                    0.0295923       0.134545                   195.977   236.354\n",
       "    5        0.0500075                   0.459024           2.52939   3.19663            0.444816         0.562155                    0.0253104       0.159855                   152.939   219.663\n",
       "    6        0.100007                    0.375861           2.28369   2.74019            0.401606         0.481887                    0.114182        0.274038                   128.369   174.019\n",
       "    7        0.150006                    0.326863           2.02963   2.50335            0.356928         0.440236                    0.10148         0.375517                   102.963   150.335\n",
       "    8        0.200005                    0.288246           1.81934   2.33235            0.319946         0.410165                    0.0909653       0.466483                   81.9337   133.235\n",
       "    9        0.300003                    0.220923           1.51009   2.05827            0.265562         0.361966                    0.151006        0.617489                   51.0088   105.827\n",
       "    10       0.400002                    0.166954           1.1447    1.82988            0.201305         0.321801                    0.114468        0.731957                   14.4698   82.9884\n",
       "    11       0.5                         0.128759           0.858285  1.63557            0.150937         0.287629                    0.0858271       0.817784                   -14.1715  63.5568\n",
       "    12       0.599998                    0.100009           0.676066  1.47565            0.118892         0.259507                    0.0676055       0.885389                   -32.3934  47.5653\n",
       "    13       0.699997                    0.0777465          0.481477  1.33363            0.084672         0.234531                    0.0481469       0.933536                   -51.8523  33.363\n",
       "    14       0.799995                    0.0593248          0.327328  1.20784            0.0575636        0.21241                     0.0327323       0.966269                   -67.2672  20.7843\n",
       "    15       0.899993                    0.0397717          0.234078  1.09965            0.0411647        0.193383                    0.0234074       0.989676                   -76.5922  9.96482\n",
       "    16       1                           0.00286524         0.103233  1                  0.0181544        0.175859                    0.010324        1                          -89.6767  0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "ModelMetricsBinomialGLM: glm\n",
      "** Reported on validation data. **\n",
      "\n",
      "MSE: 0.12546890132533584\n",
      "RMSE: 0.35421589648875984\n",
      "LogLoss: 0.39864906259444044\n",
      "Null degrees of freedom: 51223\n",
      "Residual degrees of freedom: 50859\n",
      "Null deviance: 47733.009861787374\n",
      "Residual deviance: 40840.79916467525\n",
      "AIC: 41570.79916467525\n",
      "AUC: 0.7653201466539327\n",
      "Gini: 0.5306402933078653\n",
      "Confusion Matrix (Act/Pred) for max f1 @ threshold = 0.2049223966525415: \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n",
       "<td><b>0</b></td>\n",
       "<td><b>1</b></td>\n",
       "<td><b>Error</b></td>\n",
       "<td><b>Rate</b></td></tr>\n",
       "<tr><td>0</td>\n",
       "<td>31207.0</td>\n",
       "<td>10980.0</td>\n",
       "<td>0.2603</td>\n",
       "<td> (10980.0/42187.0)</td></tr>\n",
       "<tr><td>1</td>\n",
       "<td>3159.0</td>\n",
       "<td>5878.0</td>\n",
       "<td>0.3496</td>\n",
       "<td> (3159.0/9037.0)</td></tr>\n",
       "<tr><td>Total</td>\n",
       "<td>34366.0</td>\n",
       "<td>16858.0</td>\n",
       "<td>0.276</td>\n",
       "<td> (14139.0/51224.0)</td></tr></table></div>"
      ],
      "text/plain": [
       "       0      1      Error    Rate\n",
       "-----  -----  -----  -------  -----------------\n",
       "0      31207  10980  0.2603   (10980.0/42187.0)\n",
       "1      3159   5878   0.3496   (3159.0/9037.0)\n",
       "Total  34366  16858  0.276    (14139.0/51224.0)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Maximum Metrics: Maximum metrics at their respective thresholds\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b>metric</b></td>\n",
       "<td><b>threshold</b></td>\n",
       "<td><b>value</b></td>\n",
       "<td><b>idx</b></td></tr>\n",
       "<tr><td>max f1</td>\n",
       "<td>0.2049224</td>\n",
       "<td>0.4539873</td>\n",
       "<td>231.0</td></tr>\n",
       "<tr><td>max f2</td>\n",
       "<td>0.1192456</td>\n",
       "<td>0.5997160</td>\n",
       "<td>294.0</td></tr>\n",
       "<tr><td>max f0point5</td>\n",
       "<td>0.3097977</td>\n",
       "<td>0.4157190</td>\n",
       "<td>167.0</td></tr>\n",
       "<tr><td>max accuracy</td>\n",
       "<td>0.5404934</td>\n",
       "<td>0.8288107</td>\n",
       "<td>68.0</td></tr>\n",
       "<tr><td>max precision</td>\n",
       "<td>0.9634370</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0</td></tr>\n",
       "<tr><td>max recall</td>\n",
       "<td>0.0140085</td>\n",
       "<td>1.0</td>\n",
       "<td>395.0</td></tr>\n",
       "<tr><td>max specificity</td>\n",
       "<td>0.9634370</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0</td></tr>\n",
       "<tr><td>max absolute_mcc</td>\n",
       "<td>0.1983132</td>\n",
       "<td>0.3165747</td>\n",
       "<td>235.0</td></tr>\n",
       "<tr><td>max min_per_class_accuracy</td>\n",
       "<td>0.1821219</td>\n",
       "<td>0.6976794</td>\n",
       "<td>247.0</td></tr>\n",
       "<tr><td>max mean_per_class_accuracy</td>\n",
       "<td>0.1700340</td>\n",
       "<td>0.7002878</td>\n",
       "<td>255.0</td></tr></table></div>"
      ],
      "text/plain": [
       "metric                       threshold    value     idx\n",
       "---------------------------  -----------  --------  -----\n",
       "max f1                       0.204922     0.453987  231\n",
       "max f2                       0.119246     0.599716  294\n",
       "max f0point5                 0.309798     0.415719  167\n",
       "max accuracy                 0.540493     0.828811  68\n",
       "max precision                0.963437     1         0\n",
       "max recall                   0.0140085    1         395\n",
       "max specificity              0.963437     1         0\n",
       "max absolute_mcc             0.198313     0.316575  235\n",
       "max min_per_class_accuracy   0.182122     0.697679  247\n",
       "max mean_per_class_accuracy  0.170034     0.700288  255"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Gains/Lift Table: Avg response rate: 17,64 %\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n",
       "<td><b>group</b></td>\n",
       "<td><b>cumulative_data_fraction</b></td>\n",
       "<td><b>lower_threshold</b></td>\n",
       "<td><b>lift</b></td>\n",
       "<td><b>cumulative_lift</b></td>\n",
       "<td><b>response_rate</b></td>\n",
       "<td><b>cumulative_response_rate</b></td>\n",
       "<td><b>capture_rate</b></td>\n",
       "<td><b>cumulative_capture_rate</b></td>\n",
       "<td><b>gain</b></td>\n",
       "<td><b>cumulative_gain</b></td></tr>\n",
       "<tr><td></td>\n",
       "<td>1</td>\n",
       "<td>0.0100148</td>\n",
       "<td>0.6441003</td>\n",
       "<td>3.7567367</td>\n",
       "<td>3.7567367</td>\n",
       "<td>0.6627680</td>\n",
       "<td>0.6627680</td>\n",
       "<td>0.0376231</td>\n",
       "<td>0.0376231</td>\n",
       "<td>275.6736708</td>\n",
       "<td>275.6736708</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2</td>\n",
       "<td>0.0200102</td>\n",
       "<td>0.5724246</td>\n",
       "<td>3.2216046</td>\n",
       "<td>3.4894317</td>\n",
       "<td>0.5683594</td>\n",
       "<td>0.6156098</td>\n",
       "<td>0.0322010</td>\n",
       "<td>0.0698241</td>\n",
       "<td>222.1604584</td>\n",
       "<td>248.9431686</td></tr>\n",
       "<tr><td></td>\n",
       "<td>3</td>\n",
       "<td>0.0300055</td>\n",
       "<td>0.5248057</td>\n",
       "<td>2.8562680</td>\n",
       "<td>3.2785144</td>\n",
       "<td>0.5039062</td>\n",
       "<td>0.5783995</td>\n",
       "<td>0.0285493</td>\n",
       "<td>0.0983734</td>\n",
       "<td>185.6267982</td>\n",
       "<td>227.8514434</td></tr>\n",
       "<tr><td></td>\n",
       "<td>4</td>\n",
       "<td>0.0400008</td>\n",
       "<td>0.4874903</td>\n",
       "<td>2.7455599</td>\n",
       "<td>3.1453408</td>\n",
       "<td>0.484375</td>\n",
       "<td>0.5549048</td>\n",
       "<td>0.0274427</td>\n",
       "<td>0.1258161</td>\n",
       "<td>174.5559920</td>\n",
       "<td>214.5340832</td></tr>\n",
       "<tr><td></td>\n",
       "<td>5</td>\n",
       "<td>0.0500156</td>\n",
       "<td>0.4578151</td>\n",
       "<td>2.7954541</td>\n",
       "<td>3.0752815</td>\n",
       "<td>0.4931774</td>\n",
       "<td>0.5425449</td>\n",
       "<td>0.0279960</td>\n",
       "<td>0.1538121</td>\n",
       "<td>179.5454080</td>\n",
       "<td>207.5281541</td></tr>\n",
       "<tr><td></td>\n",
       "<td>6</td>\n",
       "<td>0.1000117</td>\n",
       "<td>0.3756949</td>\n",
       "<td>2.2420695</td>\n",
       "<td>2.6587568</td>\n",
       "<td>0.3955486</td>\n",
       "<td>0.4690611</td>\n",
       "<td>0.1120947</td>\n",
       "<td>0.2659068</td>\n",
       "<td>124.2069514</td>\n",
       "<td>165.8756848</td></tr>\n",
       "<tr><td></td>\n",
       "<td>7</td>\n",
       "<td>0.1500078</td>\n",
       "<td>0.3278364</td>\n",
       "<td>1.9764739</td>\n",
       "<td>2.4313588</td>\n",
       "<td>0.3486919</td>\n",
       "<td>0.4289433</td>\n",
       "<td>0.0988160</td>\n",
       "<td>0.3647228</td>\n",
       "<td>97.6473915</td>\n",
       "<td>143.1358801</td></tr>\n",
       "<tr><td></td>\n",
       "<td>8</td>\n",
       "<td>0.2000039</td>\n",
       "<td>0.2883114</td>\n",
       "<td>1.8171166</td>\n",
       "<td>2.2778132</td>\n",
       "<td>0.3205779</td>\n",
       "<td>0.4018546</td>\n",
       "<td>0.0908487</td>\n",
       "<td>0.4555715</td>\n",
       "<td>81.7116555</td>\n",
       "<td>127.7813228</td></tr>\n",
       "<tr><td></td>\n",
       "<td>9</td>\n",
       "<td>0.2999961</td>\n",
       "<td>0.2210067</td>\n",
       "<td>1.5603741</td>\n",
       "<td>2.0386824</td>\n",
       "<td>0.2752831</td>\n",
       "<td>0.3596668</td>\n",
       "<td>0.1560252</td>\n",
       "<td>0.6115968</td>\n",
       "<td>56.0374143</td>\n",
       "<td>103.8682429</td></tr>\n",
       "<tr><td></td>\n",
       "<td>10</td>\n",
       "<td>0.4000078</td>\n",
       "<td>0.1680601</td>\n",
       "<td>1.1761375</td>\n",
       "<td>1.8230252</td>\n",
       "<td>0.2074956</td>\n",
       "<td>0.3216203</td>\n",
       "<td>0.1176275</td>\n",
       "<td>0.7292243</td>\n",
       "<td>17.6137549</td>\n",
       "<td>82.3025161</td></tr>\n",
       "<tr><td></td>\n",
       "<td>11</td>\n",
       "<td>0.5</td>\n",
       "<td>0.1289512</td>\n",
       "<td>0.8886386</td>\n",
       "<td>1.6361624</td>\n",
       "<td>0.1567747</td>\n",
       "<td>0.2886538</td>\n",
       "<td>0.0888569</td>\n",
       "<td>0.8180812</td>\n",
       "<td>-11.1361392</td>\n",
       "<td>63.6162443</td></tr>\n",
       "<tr><td></td>\n",
       "<td>12</td>\n",
       "<td>0.5999922</td>\n",
       "<td>0.0997272</td>\n",
       "<td>0.6606691</td>\n",
       "<td>1.4735908</td>\n",
       "<td>0.1165560</td>\n",
       "<td>0.2599727</td>\n",
       "<td>0.0660617</td>\n",
       "<td>0.8841430</td>\n",
       "<td>-33.9330948</td>\n",
       "<td>47.3590791</td></tr>\n",
       "<tr><td></td>\n",
       "<td>13</td>\n",
       "<td>0.7000039</td>\n",
       "<td>0.0776821</td>\n",
       "<td>0.4812981</td>\n",
       "<td>1.3318189</td>\n",
       "<td>0.0849112</td>\n",
       "<td>0.2349611</td>\n",
       "<td>0.0481354</td>\n",
       "<td>0.9322784</td>\n",
       "<td>-51.8701944</td>\n",
       "<td>33.1818873</td></tr>\n",
       "<tr><td></td>\n",
       "<td>14</td>\n",
       "<td>0.7999961</td>\n",
       "<td>0.0587781</td>\n",
       "<td>0.3541275</td>\n",
       "<td>1.2096164</td>\n",
       "<td>0.0624756</td>\n",
       "<td>0.2134020</td>\n",
       "<td>0.0354100</td>\n",
       "<td>0.9676884</td>\n",
       "<td>-64.5872535</td>\n",
       "<td>20.9616394</td></tr>\n",
       "<tr><td></td>\n",
       "<td>15</td>\n",
       "<td>0.8999883</td>\n",
       "<td>0.0394192</td>\n",
       "<td>0.2246496</td>\n",
       "<td>1.1001828</td>\n",
       "<td>0.0396330</td>\n",
       "<td>0.1940956</td>\n",
       "<td>0.0224632</td>\n",
       "<td>0.9901516</td>\n",
       "<td>-77.5350389</td>\n",
       "<td>10.0182762</td></tr>\n",
       "<tr><td></td>\n",
       "<td>16</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0022886</td>\n",
       "<td>0.0984725</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0173726</td>\n",
       "<td>0.1764212</td>\n",
       "<td>0.0098484</td>\n",
       "<td>1.0</td>\n",
       "<td>-90.1527524</td>\n",
       "<td>0.0</td></tr></table></div>"
      ],
      "text/plain": [
       "    group    cumulative_data_fraction    lower_threshold    lift       cumulative_lift    response_rate    cumulative_response_rate    capture_rate    cumulative_capture_rate    gain      cumulative_gain\n",
       "--  -------  --------------------------  -----------------  ---------  -----------------  ---------------  --------------------------  --------------  -------------------------  --------  -----------------\n",
       "    1        0.0100148                   0.6441             3.75674    3.75674            0.662768         0.662768                    0.0376231       0.0376231                  275.674   275.674\n",
       "    2        0.0200102                   0.572425           3.2216     3.48943            0.568359         0.61561                     0.032201        0.0698241                  222.16    248.943\n",
       "    3        0.0300055                   0.524806           2.85627    3.27851            0.503906         0.578399                    0.0285493       0.0983734                  185.627   227.851\n",
       "    4        0.0400008                   0.48749            2.74556    3.14534            0.484375         0.554905                    0.0274427       0.125816                   174.556   214.534\n",
       "    5        0.0500156                   0.457815           2.79545    3.07528            0.493177         0.542545                    0.027996        0.153812                   179.545   207.528\n",
       "    6        0.100012                    0.375695           2.24207    2.65876            0.395549         0.469061                    0.112095        0.265907                   124.207   165.876\n",
       "    7        0.150008                    0.327836           1.97647    2.43136            0.348692         0.428943                    0.098816        0.364723                   97.6474   143.136\n",
       "    8        0.200004                    0.288311           1.81712    2.27781            0.320578         0.401855                    0.0908487       0.455572                   81.7117   127.781\n",
       "    9        0.299996                    0.221007           1.56037    2.03868            0.275283         0.359667                    0.156025        0.611597                   56.0374   103.868\n",
       "    10       0.400008                    0.16806            1.17614    1.82303            0.207496         0.32162                     0.117628        0.729224                   17.6138   82.3025\n",
       "    11       0.5                         0.128951           0.888639   1.63616            0.156775         0.288654                    0.0888569       0.818081                   -11.1361  63.6162\n",
       "    12       0.599992                    0.0997272          0.660669   1.47359            0.116556         0.259973                    0.0660617       0.884143                   -33.9331  47.3591\n",
       "    13       0.700004                    0.0776821          0.481298   1.33182            0.0849112        0.234961                    0.0481354       0.932278                   -51.8702  33.1819\n",
       "    14       0.799996                    0.0587781          0.354127   1.20962            0.0624756        0.213402                    0.03541         0.967688                   -64.5873  20.9616\n",
       "    15       0.899988                    0.0394192          0.22465    1.10018            0.039633         0.194096                    0.0224632       0.990152                   -77.535   10.0183\n",
       "    16       1                           0.00228864         0.0984725  1                  0.0173726        0.176421                    0.0098484       1                          -90.1528  0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "ModelMetricsBinomialGLM: glm\n",
      "** Reported on cross-validation data. **\n",
      "\n",
      "MSE: 0.1255804008330568\n",
      "RMSE: 0.3543732507301543\n",
      "LogLoss: 0.4001210581889918\n",
      "Null degrees of freedom: 119521\n",
      "Residual degrees of freedom: 118975\n",
      "Null deviance: 111170.4183225618\n",
      "Residual deviance: 95646.53823372936\n",
      "AIC: 96740.53823372936\n",
      "AUC: 0.7603016242063235\n",
      "Gini: 0.520603248412647\n",
      "Confusion Matrix (Act/Pred) for max f1 @ threshold = 0.21519097507243412: \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n",
       "<td><b>0</b></td>\n",
       "<td><b>1</b></td>\n",
       "<td><b>Error</b></td>\n",
       "<td><b>Rate</b></td></tr>\n",
       "<tr><td>0</td>\n",
       "<td>74488.0</td>\n",
       "<td>24015.0</td>\n",
       "<td>0.2438</td>\n",
       "<td> (24015.0/98503.0)</td></tr>\n",
       "<tr><td>1</td>\n",
       "<td>7965.0</td>\n",
       "<td>13054.0</td>\n",
       "<td>0.3789</td>\n",
       "<td> (7965.0/21019.0)</td></tr>\n",
       "<tr><td>Total</td>\n",
       "<td>82453.0</td>\n",
       "<td>37069.0</td>\n",
       "<td>0.2676</td>\n",
       "<td> (31980.0/119522.0)</td></tr></table></div>"
      ],
      "text/plain": [
       "       0      1      Error    Rate\n",
       "-----  -----  -----  -------  ------------------\n",
       "0      74488  24015  0.2438   (24015.0/98503.0)\n",
       "1      7965   13054  0.3789   (7965.0/21019.0)\n",
       "Total  82453  37069  0.2676   (31980.0/119522.0)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Maximum Metrics: Maximum metrics at their respective thresholds\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b>metric</b></td>\n",
       "<td><b>threshold</b></td>\n",
       "<td><b>value</b></td>\n",
       "<td><b>idx</b></td></tr>\n",
       "<tr><td>max f1</td>\n",
       "<td>0.2151910</td>\n",
       "<td>0.4494560</td>\n",
       "<td>231.0</td></tr>\n",
       "<tr><td>max f2</td>\n",
       "<td>0.1163399</td>\n",
       "<td>0.5932984</td>\n",
       "<td>302.0</td></tr>\n",
       "<tr><td>max f0point5</td>\n",
       "<td>0.3443489</td>\n",
       "<td>0.4131876</td>\n",
       "<td>155.0</td></tr>\n",
       "<tr><td>max accuracy</td>\n",
       "<td>0.5066841</td>\n",
       "<td>0.8300982</td>\n",
       "<td>83.0</td></tr>\n",
       "<tr><td>max precision</td>\n",
       "<td>0.9592710</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0</td></tr>\n",
       "<tr><td>max recall</td>\n",
       "<td>0.0094599</td>\n",
       "<td>1.0</td>\n",
       "<td>398.0</td></tr>\n",
       "<tr><td>max specificity</td>\n",
       "<td>0.9592710</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0</td></tr>\n",
       "<tr><td>max absolute_mcc</td>\n",
       "<td>0.2151910</td>\n",
       "<td>0.3104988</td>\n",
       "<td>231.0</td></tr>\n",
       "<tr><td>max min_per_class_accuracy</td>\n",
       "<td>0.1792315</td>\n",
       "<td>0.6932682</td>\n",
       "<td>255.0</td></tr>\n",
       "<tr><td>max mean_per_class_accuracy</td>\n",
       "<td>0.1651104</td>\n",
       "<td>0.6958090</td>\n",
       "<td>265.0</td></tr></table></div>"
      ],
      "text/plain": [
       "metric                       threshold    value     idx\n",
       "---------------------------  -----------  --------  -----\n",
       "max f1                       0.215191     0.449456  231\n",
       "max f2                       0.11634      0.593298  302\n",
       "max f0point5                 0.344349     0.413188  155\n",
       "max accuracy                 0.506684     0.830098  83\n",
       "max precision                0.959271     1         0\n",
       "max recall                   0.0094599    1         398\n",
       "max specificity              0.959271     1         0\n",
       "max absolute_mcc             0.215191     0.310499  231\n",
       "max min_per_class_accuracy   0.179232     0.693268  255\n",
       "max mean_per_class_accuracy  0.16511      0.695809  265"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Gains/Lift Table: Avg response rate: 17,59 %\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n",
       "<td><b>group</b></td>\n",
       "<td><b>cumulative_data_fraction</b></td>\n",
       "<td><b>lower_threshold</b></td>\n",
       "<td><b>lift</b></td>\n",
       "<td><b>cumulative_lift</b></td>\n",
       "<td><b>response_rate</b></td>\n",
       "<td><b>cumulative_response_rate</b></td>\n",
       "<td><b>capture_rate</b></td>\n",
       "<td><b>cumulative_capture_rate</b></td>\n",
       "<td><b>gain</b></td>\n",
       "<td><b>cumulative_gain</b></td></tr>\n",
       "<tr><td></td>\n",
       "<td>1</td>\n",
       "<td>0.0100065</td>\n",
       "<td>0.6406840</td>\n",
       "<td>3.8463885</td>\n",
       "<td>3.8463885</td>\n",
       "<td>0.6764214</td>\n",
       "<td>0.6764214</td>\n",
       "<td>0.0384890</td>\n",
       "<td>0.0384890</td>\n",
       "<td>284.6388464</td>\n",
       "<td>284.6388464</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2</td>\n",
       "<td>0.0200047</td>\n",
       "<td>0.5718619</td>\n",
       "<td>3.3356918</td>\n",
       "<td>3.5911469</td>\n",
       "<td>0.5866109</td>\n",
       "<td>0.6315349</td>\n",
       "<td>0.0333508</td>\n",
       "<td>0.0718398</td>\n",
       "<td>233.5691776</td>\n",
       "<td>259.1146916</td></tr>\n",
       "<tr><td></td>\n",
       "<td>3</td>\n",
       "<td>0.0300028</td>\n",
       "<td>0.5241833</td>\n",
       "<td>3.0121154</td>\n",
       "<td>3.3981902</td>\n",
       "<td>0.5297071</td>\n",
       "<td>0.5976018</td>\n",
       "<td>0.0301156</td>\n",
       "<td>0.1019554</td>\n",
       "<td>201.2115398</td>\n",
       "<td>239.8190233</td></tr>\n",
       "<tr><td></td>\n",
       "<td>4</td>\n",
       "<td>0.0400010</td>\n",
       "<td>0.4873979</td>\n",
       "<td>2.6980560</td>\n",
       "<td>3.2231933</td>\n",
       "<td>0.4744770</td>\n",
       "<td>0.5668270</td>\n",
       "<td>0.0269756</td>\n",
       "<td>0.1289310</td>\n",
       "<td>169.8055973</td>\n",
       "<td>222.3193278</td></tr>\n",
       "<tr><td></td>\n",
       "<td>5</td>\n",
       "<td>0.0500075</td>\n",
       "<td>0.4586362</td>\n",
       "<td>2.5056202</td>\n",
       "<td>3.0796066</td>\n",
       "<td>0.4406355</td>\n",
       "<td>0.5415760</td>\n",
       "<td>0.0250726</td>\n",
       "<td>0.1540035</td>\n",
       "<td>150.5620174</td>\n",
       "<td>207.9606624</td></tr>\n",
       "<tr><td></td>\n",
       "<td>6</td>\n",
       "<td>0.1000067</td>\n",
       "<td>0.3754113</td>\n",
       "<td>2.2199334</td>\n",
       "<td>2.6498060</td>\n",
       "<td>0.3903949</td>\n",
       "<td>0.4659918</td>\n",
       "<td>0.1109948</td>\n",
       "<td>0.2649983</td>\n",
       "<td>121.9933431</td>\n",
       "<td>164.9805988</td></tr>\n",
       "<tr><td></td>\n",
       "<td>7</td>\n",
       "<td>0.1500059</td>\n",
       "<td>0.3270346</td>\n",
       "<td>1.9753887</td>\n",
       "<td>2.4250128</td>\n",
       "<td>0.3473896</td>\n",
       "<td>0.4264599</td>\n",
       "<td>0.0987678</td>\n",
       "<td>0.3637661</td>\n",
       "<td>97.5388685</td>\n",
       "<td>142.5012759</td></tr>\n",
       "<tr><td></td>\n",
       "<td>8</td>\n",
       "<td>0.2000050</td>\n",
       "<td>0.2876949</td>\n",
       "<td>1.7964999</td>\n",
       "<td>2.2678911</td>\n",
       "<td>0.3159304</td>\n",
       "<td>0.3988287</td>\n",
       "<td>0.0898235</td>\n",
       "<td>0.4535896</td>\n",
       "<td>79.6499922</td>\n",
       "<td>126.7891123</td></tr>\n",
       "<tr><td></td>\n",
       "<td>9</td>\n",
       "<td>0.3000033</td>\n",
       "<td>0.2204546</td>\n",
       "<td>1.5300698</td>\n",
       "<td>2.0219576</td>\n",
       "<td>0.2690763</td>\n",
       "<td>0.3555791</td>\n",
       "<td>0.1530044</td>\n",
       "<td>0.6065940</td>\n",
       "<td>53.0069849</td>\n",
       "<td>102.1957557</td></tr>\n",
       "<tr><td></td>\n",
       "<td>10</td>\n",
       "<td>0.4000017</td>\n",
       "<td>0.1668195</td>\n",
       "<td>1.1565920</td>\n",
       "<td>1.8056207</td>\n",
       "<td>0.2033969</td>\n",
       "<td>0.3175344</td>\n",
       "<td>0.1156573</td>\n",
       "<td>0.7222513</td>\n",
       "<td>15.6591978</td>\n",
       "<td>80.5620688</td></tr>\n",
       "<tr><td></td>\n",
       "<td>11</td>\n",
       "<td>0.5</td>\n",
       "<td>0.1287190</td>\n",
       "<td>0.8592370</td>\n",
       "<td>1.6163471</td>\n",
       "<td>0.1511044</td>\n",
       "<td>0.2842489</td>\n",
       "<td>0.0859223</td>\n",
       "<td>0.8081736</td>\n",
       "<td>-14.0763014</td>\n",
       "<td>61.6347115</td></tr>\n",
       "<tr><td></td>\n",
       "<td>12</td>\n",
       "<td>0.5999983</td>\n",
       "<td>0.0999312</td>\n",
       "<td>0.6893878</td>\n",
       "<td>1.4618561</td>\n",
       "<td>0.1212349</td>\n",
       "<td>0.2570803</td>\n",
       "<td>0.0689376</td>\n",
       "<td>0.8771112</td>\n",
       "<td>-31.0612186</td>\n",
       "<td>46.1856052</td></tr>\n",
       "<tr><td></td>\n",
       "<td>13</td>\n",
       "<td>0.6999967</td>\n",
       "<td>0.0779937</td>\n",
       "<td>0.5033625</td>\n",
       "<td>1.3249300</td>\n",
       "<td>0.0885207</td>\n",
       "<td>0.2330007</td>\n",
       "<td>0.0503354</td>\n",
       "<td>0.9274466</td>\n",
       "<td>-49.6637469</td>\n",
       "<td>32.4930043</td></tr>\n",
       "<tr><td></td>\n",
       "<td>14</td>\n",
       "<td>0.7999950</td>\n",
       "<td>0.0594125</td>\n",
       "<td>0.3558745</td>\n",
       "<td>1.2037994</td>\n",
       "<td>0.0625837</td>\n",
       "<td>0.2116988</td>\n",
       "<td>0.0355868</td>\n",
       "<td>0.9630334</td>\n",
       "<td>-64.4125545</td>\n",
       "<td>20.3799361</td></tr>\n",
       "<tr><td></td>\n",
       "<td>15</td>\n",
       "<td>0.8999933</td>\n",
       "<td>0.0400192</td>\n",
       "<td>0.2493024</td>\n",
       "<td>1.0977451</td>\n",
       "<td>0.0438420</td>\n",
       "<td>0.1930482</td>\n",
       "<td>0.0249298</td>\n",
       "<td>0.9879633</td>\n",
       "<td>-75.0697574</td>\n",
       "<td>9.7745132</td></tr>\n",
       "<tr><td></td>\n",
       "<td>16</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0015607</td>\n",
       "<td>0.1203592</td>\n",
       "<td>1.0</td>\n",
       "<td>0.0211662</td>\n",
       "<td>0.1758588</td>\n",
       "<td>0.0120367</td>\n",
       "<td>1.0</td>\n",
       "<td>-87.9640769</td>\n",
       "<td>0.0</td></tr></table></div>"
      ],
      "text/plain": [
       "    group    cumulative_data_fraction    lower_threshold    lift      cumulative_lift    response_rate    cumulative_response_rate    capture_rate    cumulative_capture_rate    gain      cumulative_gain\n",
       "--  -------  --------------------------  -----------------  --------  -----------------  ---------------  --------------------------  --------------  -------------------------  --------  -----------------\n",
       "    1        0.0100065                   0.640684           3.84639   3.84639            0.676421         0.676421                    0.038489        0.038489                   284.639   284.639\n",
       "    2        0.0200047                   0.571862           3.33569   3.59115            0.586611         0.631535                    0.0333508       0.0718398                  233.569   259.115\n",
       "    3        0.0300028                   0.524183           3.01212   3.39819            0.529707         0.597602                    0.0301156       0.101955                   201.212   239.819\n",
       "    4        0.040001                    0.487398           2.69806   3.22319            0.474477         0.566827                    0.0269756       0.128931                   169.806   222.319\n",
       "    5        0.0500075                   0.458636           2.50562   3.07961            0.440635         0.541576                    0.0250726       0.154004                   150.562   207.961\n",
       "    6        0.100007                    0.375411           2.21993   2.64981            0.390395         0.465992                    0.110995        0.264998                   121.993   164.981\n",
       "    7        0.150006                    0.327035           1.97539   2.42501            0.34739          0.42646                     0.0987678       0.363766                   97.5389   142.501\n",
       "    8        0.200005                    0.287695           1.7965    2.26789            0.31593          0.398829                    0.0898235       0.45359                    79.65     126.789\n",
       "    9        0.300003                    0.220455           1.53007   2.02196            0.269076         0.355579                    0.153004        0.606594                   53.007    102.196\n",
       "    10       0.400002                    0.166819           1.15659   1.80562            0.203397         0.317534                    0.115657        0.722251                   15.6592   80.5621\n",
       "    11       0.5                         0.128719           0.859237  1.61635            0.151104         0.284249                    0.0859223       0.808174                   -14.0763  61.6347\n",
       "    12       0.599998                    0.0999312          0.689388  1.46186            0.121235         0.25708                     0.0689376       0.877111                   -31.0612  46.1856\n",
       "    13       0.699997                    0.0779937          0.503363  1.32493            0.0885207        0.233001                    0.0503354       0.927447                   -49.6637  32.493\n",
       "    14       0.799995                    0.0594125          0.355874  1.2038             0.0625837        0.211699                    0.0355868       0.963033                   -64.4126  20.3799\n",
       "    15       0.899993                    0.0400192          0.249302  1.09775            0.043842         0.193048                    0.0249298       0.987963                   -75.0698  9.77451\n",
       "    16       1                           0.00156067         0.120359  1                  0.0211662        0.175859                    0.0120367       1                          -87.9641  0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Cross-Validation Metrics Summary: \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n",
       "<td><b>mean</b></td>\n",
       "<td><b>sd</b></td>\n",
       "<td><b>cv_1_valid</b></td>\n",
       "<td><b>cv_2_valid</b></td>\n",
       "<td><b>cv_3_valid</b></td>\n",
       "<td><b>cv_4_valid</b></td>\n",
       "<td><b>cv_5_valid</b></td>\n",
       "<td><b>cv_6_valid</b></td>\n",
       "<td><b>cv_7_valid</b></td>\n",
       "<td><b>cv_8_valid</b></td>\n",
       "<td><b>cv_9_valid</b></td>\n",
       "<td><b>cv_10_valid</b></td></tr>\n",
       "<tr><td>accuracy</td>\n",
       "<td>0.7350238</td>\n",
       "<td>0.0113643</td>\n",
       "<td>0.7284796</td>\n",
       "<td>0.7511792</td>\n",
       "<td>0.7588963</td>\n",
       "<td>0.7168193</td>\n",
       "<td>0.7305235</td>\n",
       "<td>0.7631425</td>\n",
       "<td>0.7181169</td>\n",
       "<td>0.7359736</td>\n",
       "<td>0.7206355</td>\n",
       "<td>0.7264713</td></tr>\n",
       "<tr><td>auc</td>\n",
       "<td>0.7604381</td>\n",
       "<td>0.0037825</td>\n",
       "<td>0.7606543</td>\n",
       "<td>0.7564735</td>\n",
       "<td>0.7529414</td>\n",
       "<td>0.7588923</td>\n",
       "<td>0.7557195</td>\n",
       "<td>0.7653449</td>\n",
       "<td>0.7644153</td>\n",
       "<td>0.768835</td>\n",
       "<td>0.7668413</td>\n",
       "<td>0.7542633</td></tr>\n",
       "<tr><td>err</td>\n",
       "<td>0.2649762</td>\n",
       "<td>0.0113643</td>\n",
       "<td>0.2715204</td>\n",
       "<td>0.2488208</td>\n",
       "<td>0.2411037</td>\n",
       "<td>0.2831806</td>\n",
       "<td>0.2694765</td>\n",
       "<td>0.2368576</td>\n",
       "<td>0.2818831</td>\n",
       "<td>0.2640264</td>\n",
       "<td>0.2793646</td>\n",
       "<td>0.2735287</td></tr>\n",
       "<tr><td>err_count</td>\n",
       "<td>3167.3</td>\n",
       "<td>139.31943</td>\n",
       "<td>3252.0</td>\n",
       "<td>2954.0</td>\n",
       "<td>2866.0</td>\n",
       "<td>3369.0</td>\n",
       "<td>3248.0</td>\n",
       "<td>2825.0</td>\n",
       "<td>3395.0</td>\n",
       "<td>3200.0</td>\n",
       "<td>3306.0</td>\n",
       "<td>3258.0</td></tr>\n",
       "<tr><td>f0point5</td>\n",
       "<td>0.3888670</td>\n",
       "<td>0.0076237</td>\n",
       "<td>0.3735278</td>\n",
       "<td>0.3947629</td>\n",
       "<td>0.3956936</td>\n",
       "<td>0.3875653</td>\n",
       "<td>0.3836295</td>\n",
       "<td>0.4142173</td>\n",
       "<td>0.3769360</td>\n",
       "<td>0.3914200</td>\n",
       "<td>0.3864349</td>\n",
       "<td>0.3844825</td></tr>\n",
       "<tr><td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td></tr>\n",
       "<tr><td>r2</td>\n",
       "<td>0.1336570</td>\n",
       "<td>0.0049641</td>\n",
       "<td>0.136305</td>\n",
       "<td>0.1342420</td>\n",
       "<td>0.1226269</td>\n",
       "<td>0.1319113</td>\n",
       "<td>0.1272225</td>\n",
       "<td>0.1408505</td>\n",
       "<td>0.1378962</td>\n",
       "<td>0.1440778</td>\n",
       "<td>0.1385870</td>\n",
       "<td>0.1228509</td></tr>\n",
       "<tr><td>recall</td>\n",
       "<td>0.6201996</td>\n",
       "<td>0.0305743</td>\n",
       "<td>0.6228627</td>\n",
       "<td>0.576312</td>\n",
       "<td>0.5366204</td>\n",
       "<td>0.6585028</td>\n",
       "<td>0.6209335</td>\n",
       "<td>0.5711593</td>\n",
       "<td>0.673253</td>\n",
       "<td>0.6410985</td>\n",
       "<td>0.6706444</td>\n",
       "<td>0.6306093</td></tr>\n",
       "<tr><td>residual_deviance</td>\n",
       "<td>9563.013</td>\n",
       "<td>79.41558</td>\n",
       "<td>9402.782</td>\n",
       "<td>9501.821</td>\n",
       "<td>9614.0</td>\n",
       "<td>9736.111</td>\n",
       "<td>9715.383</td>\n",
       "<td>9537.31</td>\n",
       "<td>9461.358</td>\n",
       "<td>9537.156</td>\n",
       "<td>9441.119</td>\n",
       "<td>9683.088</td></tr>\n",
       "<tr><td>rmse</td>\n",
       "<td>0.3543358</td>\n",
       "<td>0.0021497</td>\n",
       "<td>0.3498370</td>\n",
       "<td>0.3535044</td>\n",
       "<td>0.3564986</td>\n",
       "<td>0.3594153</td>\n",
       "<td>0.3557503</td>\n",
       "<td>0.3544864</td>\n",
       "<td>0.3506258</td>\n",
       "<td>0.3509418</td>\n",
       "<td>0.354261</td>\n",
       "<td>0.3580379</td></tr>\n",
       "<tr><td>specificity</td>\n",
       "<td>0.7595233</td>\n",
       "<td>0.0200484</td>\n",
       "<td>0.7502518</td>\n",
       "<td>0.7882593</td>\n",
       "<td>0.806287</td>\n",
       "<td>0.7297853</td>\n",
       "<td>0.7539267</td>\n",
       "<td>0.8046915</td>\n",
       "<td>0.7274551</td>\n",
       "<td>0.7559952</td>\n",
       "<td>0.7313893</td>\n",
       "<td>0.7471921</td></tr></table></div>"
      ],
      "text/plain": [
       "                   mean        sd            cv_1_valid    cv_2_valid    cv_3_valid    cv_4_valid    cv_5_valid    cv_6_valid    cv_7_valid    cv_8_valid    cv_9_valid    cv_10_valid\n",
       "-----------------  ----------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  -------------\n",
       "accuracy           0.7350238   0.011364302   0.72847956    0.7511792     0.7588963     0.71681935    0.7305235     0.76314247    0.7181169     0.7359736     0.7206355     0.7264713\n",
       "auc                0.7604381   0.0037825375  0.76065433    0.75647354    0.7529414     0.7588923     0.7557195     0.7653449     0.7644153     0.768835      0.7668413     0.75426334\n",
       "err                0.26497623  0.011364302   0.2715204     0.24882075    0.24110372    0.28318062    0.26947647    0.23685755    0.2818831     0.2640264     0.27936456    0.27352867\n",
       "err_count          3167.3      139.31943     3252.0        2954.0        2866.0        3369.0        3248.0        2825.0        3395.0        3200.0        3306.0        3258.0\n",
       "f0point5           0.38886696  0.0076237367  0.37352785    0.39476287    0.3956936     0.38756528    0.38362947    0.41421735    0.37693596    0.39141998    0.38643488    0.38448247\n",
       "---                ---         ---           ---           ---           ---           ---           ---           ---           ---           ---           ---           ---\n",
       "r2                 0.13365701  0.00496414    0.136305      0.13424198    0.122626916   0.13191131    0.12722251    0.14085054    0.13789621    0.14407775    0.13858698    0.12285089\n",
       "recall             0.6201996   0.030574327   0.6228627     0.576312      0.5366204     0.65850276    0.62093353    0.5711593     0.673253      0.6410985     0.6706444     0.63060933\n",
       "residual_deviance  9563.013    79.41558      9402.782      9501.821      9614.0        9736.111      9715.383      9537.31       9461.358      9537.156      9441.119      9683.088\n",
       "rmse               0.35433584  0.0021497374  0.34983698    0.35350442    0.3564986     0.35941532    0.35575032    0.35448644    0.3506258     0.35094184    0.354261      0.35803786\n",
       "specificity        0.75952333  0.02004844    0.75025177    0.7882593     0.806287      0.72978526    0.7539267     0.8046915     0.72745514    0.7559952     0.7313893     0.74719214"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "See the whole table with table.as_data_frame()\n",
      "Scoring History: \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n",
       "<td><b>timestamp</b></td>\n",
       "<td><b>duration</b></td>\n",
       "<td><b>iteration</b></td>\n",
       "<td><b>lambda</b></td>\n",
       "<td><b>predictors</b></td>\n",
       "<td><b>deviance_train</b></td>\n",
       "<td><b>deviance_test</b></td>\n",
       "<td><b>deviance_xval</b></td>\n",
       "<td><b>deviance_se</b></td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:18:03</td>\n",
       "<td> 0.000 sec</td>\n",
       "<td>1</td>\n",
       "<td>,48E-1</td>\n",
       "<td>1</td>\n",
       "<td>0.9301112</td>\n",
       "<td>0.9318485</td>\n",
       "<td>0.9301569</td>\n",
       "<td>0.0030251</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:18:04</td>\n",
       "<td> 0.659 sec</td>\n",
       "<td>3</td>\n",
       "<td>,43E-1</td>\n",
       "<td>2</td>\n",
       "<td>0.9275405</td>\n",
       "<td>0.9293674</td>\n",
       "<td>0.9301300</td>\n",
       "<td>0.0030246</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:18:05</td>\n",
       "<td> 1.255 sec</td>\n",
       "<td>5</td>\n",
       "<td>,4E-1</td>\n",
       "<td>2</td>\n",
       "<td>0.9255361</td>\n",
       "<td>0.9274386</td>\n",
       "<td>0.9279041</td>\n",
       "<td>0.0030110</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:18:05</td>\n",
       "<td> 1.823 sec</td>\n",
       "<td>6</td>\n",
       "<td>,36E-1</td>\n",
       "<td>2</td>\n",
       "<td>0.9239202</td>\n",
       "<td>0.9258887</td>\n",
       "<td>0.9258487</td>\n",
       "<td>0.0030441</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:18:06</td>\n",
       "<td> 2.417 sec</td>\n",
       "<td>7</td>\n",
       "<td>,33E-1</td>\n",
       "<td>2</td>\n",
       "<td>0.9226723</td>\n",
       "<td>0.9246962</td>\n",
       "<td>0.9241868</td>\n",
       "<td>0.0030738</td></tr>\n",
       "<tr><td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td>\n",
       "<td>---</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:19:28</td>\n",
       "<td> 1 min 24.833 sec</td>\n",
       "<td>91</td>\n",
       "<td>,49E-4</td>\n",
       "<td>525</td>\n",
       "<td>0.7909509</td>\n",
       "<td>0.8310963</td>\n",
       "<td>0.8003077</td>\n",
       "<td>0.0036813</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:19:30</td>\n",
       "<td> 1 min 26.410 sec</td>\n",
       "<td>92</td>\n",
       "<td>,44E-4</td>\n",
       "<td>578</td>\n",
       "<td>0.7902364</td>\n",
       "<td>0.8338318</td>\n",
       "<td>0.8002856</td>\n",
       "<td>0.0036929</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:19:31</td>\n",
       "<td> 1 min 27.920 sec</td>\n",
       "<td>93</td>\n",
       "<td>,41E-4</td>\n",
       "<td>631</td>\n",
       "<td>0.7894856</td>\n",
       "<td>0.8368125</td>\n",
       "<td>0.8003376</td>\n",
       "<td>0.0037010</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:19:33</td>\n",
       "<td> 1 min 29.436 sec</td>\n",
       "<td>94</td>\n",
       "<td>,37E-4</td>\n",
       "<td>683</td>\n",
       "<td>0.7887001</td>\n",
       "<td>0.8401369</td>\n",
       "<td>0.8004413</td>\n",
       "<td>0.0037080</td></tr>\n",
       "<tr><td></td>\n",
       "<td>2018-01-15 11:19:34</td>\n",
       "<td> 1 min 30.987 sec</td>\n",
       "<td>95</td>\n",
       "<td>,34E-4</td>\n",
       "<td>738</td>\n",
       "<td>0.7878828</td>\n",
       "<td>0.8432731</td>\n",
       "<td>0.0</td>\n",
       "<td>0.0</td></tr></table></div>"
      ],
      "text/plain": [
       "     timestamp            duration          iteration    lambda    predictors    deviance_train      deviance_test       deviance_xval       deviance_se\n",
       "---  -------------------  ----------------  -----------  --------  ------------  ------------------  ------------------  ------------------  ---------------------\n",
       "     2018-01-15 11:18:03  0.000 sec         1            ,48E-1    1             0.9301112003149148  0.9318485448572597  0.9301568982561463  0.003025071908438835\n",
       "     2018-01-15 11:18:04  0.659 sec         3            ,43E-1    2             0.9275405262214566  0.9293674376730215  0.9301299505434034  0.0030246129659872046\n",
       "     2018-01-15 11:18:05  1.255 sec         5            ,4E-1     2             0.9255360900579882  0.9274386184643478  0.9279040984611504  0.0030110185091896963\n",
       "     2018-01-15 11:18:05  1.823 sec         6            ,36E-1    2             0.9239202262982589  0.9258886988174606  0.9258486540490283  0.0030441354595872505\n",
       "     2018-01-15 11:18:06  2.417 sec         7            ,33E-1    2             0.9226722871432496  0.9246962454117857  0.9241868061335727  0.003073791863751139\n",
       "---  ---                  ---               ---          ---       ---           ---                 ---                 ---                 ---\n",
       "     2018-01-15 11:19:28  1 min 24.833 sec  91           ,49E-4    525           0.7909509364192561  0.8310963436622176  0.8003077129075852  0.003681269766441144\n",
       "     2018-01-15 11:19:30  1 min 26.410 sec  92           ,44E-4    578           0.7902363647338007  0.8338318088469496  0.8002855709934055  0.00369294783697247\n",
       "     2018-01-15 11:19:31  1 min 27.920 sec  93           ,41E-4    631           0.7894855910398173  0.8368125147944555  0.8003375866806574  0.003701021606108267\n",
       "     2018-01-15 11:19:33  1 min 29.436 sec  94           ,37E-4    683           0.7887001009447421  0.8401368622500289  0.8004413030590664  0.003708037342210639\n",
       "     2018-01-15 11:19:34  1 min 30.987 sec  95           ,34E-4    738           0.7878827755520388  0.8432730672358622  0.0                 0.0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "See the whole table with table.as_data_frame()\n"
     ]
    },
    {
     "data": {
      "text/plain": []
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# смотрим модель\n",
    "glm_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Lasso (lambda = 4.446E-5 )']"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# смотрим оптимальное значение lambda\n",
    "glm_model.summary()['regularization']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
