{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np\n",
"from sklearn.metrics import roc_auc_score\n",
"\n",
"from lightgbm import LGBMClassifier, plot_importance\n",
"\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"RANDOM_STATE = 99\n",
"TARGET_VAR = 'flag_bad_usr'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Load Data"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"base_df = pd.read_parquet('data/interim/pl_jumbo_mini_junjulaugsep_27012020.parquet')\n",
"pl_feats = pd.read_parquet('data/interim/pl_model_v3_feats_27012020.parquet')\n",
"pf_feats = pd.read_parquet('data/interim/pl_model_v3_pefindo_feats_27012020.parquet')\\\n",
" .drop(columns=['transaction_date'])"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(150672, 18)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"(150672, 28)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"(150672, 9)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(base_df.shape)\n",
"display(pl_feats.shape)\n",
"display(pf_feats.shape)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Define flag_bad"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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>flag_bad_usr</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>len</th>\n",
" <td>150672.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>sum</th>\n",
" <td>6442.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.042755</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" flag_bad_usr\n",
"len 150672.000000\n",
"sum 6442.000000\n",
"mean 0.042755"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"base_df.agg({'flag_bad_usr':[len,sum,'mean']})"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False 144230\n",
"True 6442\n",
"Name: flag_bad_usr, dtype: int64"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"base_df['flag_bad_usr'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(150672, 18)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"base_df.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Combine Datasets"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"raw_df = base_df.merge(pl_feats, how='left', on=['user_id', 'trx_id'])\\\n",
" .merge(pf_feats, how='left', on=['user_id', 'trx_id'])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(150672, 51)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_df.shape"
]
},
{
"cell_type": "code",
"execution_count": 10,
"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>flag_bad_usr</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>len</th>\n",
" <td>150672.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>sum</th>\n",
" <td>6442.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.042755</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" flag_bad_usr\n",
"len 150672.000000\n",
"sum 6442.000000\n",
"mean 0.042755"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_df.agg({'flag_bad_usr':[len,sum,'mean']})"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"raw_df['month_year'] = raw_df['transaction_date'].apply(lambda x: x.strftime('%m-%Y'))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"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>obs</th>\n",
" <th>bad</th>\n",
" <th>ODR</th>\n",
" </tr>\n",
" <tr>\n",
" <th>month_year</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>06-2019</th>\n",
" <td>27715</td>\n",
" <td>1083</td>\n",
" <td>0.039076</td>\n",
" </tr>\n",
" <tr>\n",
" <th>07-2019</th>\n",
" <td>36977</td>\n",
" <td>1655</td>\n",
" <td>0.044758</td>\n",
" </tr>\n",
" <tr>\n",
" <th>08-2019</th>\n",
" <td>40352</td>\n",
" <td>1662</td>\n",
" <td>0.041188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>09-2019</th>\n",
" <td>45628</td>\n",
" <td>2042</td>\n",
" <td>0.044753</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" obs bad ODR\n",
"month_year \n",
"06-2019 27715 1083 0.039076\n",
"07-2019 36977 1655 0.044758\n",
"08-2019 40352 1662 0.041188\n",
"09-2019 45628 2042 0.044753"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"monthly_odr = raw_df.groupby('month_year').agg({'flag_bad_usr':[len,sum,'mean']})\n",
"monthly_odr.columns = ['obs', 'bad', 'ODR']\n",
"monthly_odr"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Feature Transformations\n",
"- Convert payment_type to integer\n",
"- Fill NaN with 0 in time_approve_to_pl_hour"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"# 3_months = 0\n",
"# 6_months = 0\n",
"raw_df['payment_type'] = np.where(raw_df['payment_type'] == '3_months', 0, 1)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"# NaN values in time_approve_to_pl_hour are caused by missing approval time in DB\n",
"# fill with 0. (There are only 4 cases)\n",
"raw_df['time_approve_to_pl_hour'] = raw_df['time_approve_to_pl_hour'].fillna(0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Features"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"features = ['ap_co_plo',\n",
" 'calibrated_final',\n",
" 'current_dpd',\n",
" 'delin_max_dpd_3mo',\n",
" 'delin_max_dpd_amt_3mo',\n",
" 'flag_bad_pefindo',\n",
" 'flag_good_pefindo',\n",
" 'os_amount',\n",
" 'oth_first_trx_amount',\n",
" 'oth_last_rep_channel',\n",
" 'oth_last_rep_days',\n",
" 'oth_last_rep_dpd',\n",
" 'oth_last_trx_amount',\n",
" 'pf_con_open_count_12mo',\n",
" 'pf_delin_dist_contractcode_30_dpd_3mo',\n",
" 'pf_delin_max_dpd_12mo',\n",
" 'pf_util_creditcard_avg_12mo',\n",
" 'time_approve_to_pl_hour',\n",
" 'util_non_pl',\n",
" 'util_pl',\n",
" 'payment_type']"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"features = sorted(features)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"21"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(features)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"categorical_feats = ['flag_bad_pefindo',\n",
" 'flag_good_pefindo',\n",
" 'oth_last_rep_channel',\n",
" 'payment_type'\n",
" ]"
]
},
{
"cell_type": "code",
"execution_count": 19,
"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>user_id</th>\n",
" <th>perc_obs</th>\n",
" </tr>\n",
" <tr>\n",
" <th>flag_bad_usr</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>False</th>\n",
" <td>144230</td>\n",
" <td>0.957245</td>\n",
" </tr>\n",
" <tr>\n",
" <th>True</th>\n",
" <td>6442</td>\n",
" <td>0.042755</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" user_id perc_obs\n",
"flag_bad_usr \n",
"False 144230 0.957245\n",
"True 6442 0.042755"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flag_mean = raw_df.groupby(TARGET_VAR).agg({'user_id':'count'})\n",
"flag_mean['perc_obs'] = flag_mean['user_id']/flag_mean['user_id'].sum()\n",
"flag_mean"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"train_month = ['06-2019']\n",
"val_month = ['07-2019']\n",
"test_month = ['08-2019', \n",
" '09-2019'\n",
" ]"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"train = raw_df[raw_df['month_year'].isin(train_month)]\n",
"val = raw_df[raw_df['month_year'].isin(val_month)]\n",
"test = raw_df[raw_df['month_year'].isin(test_month)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Model"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.04275512371243496"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_df['flag_bad_usr'].mean()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False 144230\n",
"True 6442\n",
"Name: flag_bad_usr, dtype: int64"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_df['flag_bad_usr'].value_counts(dropna=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Train the Model"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"cat_feat_indexes = tuple([raw_df.columns.get_loc(col) for col in categorical_feats])"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 4 µs, sys: 1 µs, total: 5 µs\n",
"Wall time: 8.11 µs\n",
"[LightGBM] [Warning] min_data_in_leaf is set=100, min_child_samples=20 will be ignored. Current value: min_data_in_leaf=100\n",
"[LightGBM] [Warning] min_gain_to_split is set=10, min_split_gain=0.0 will be ignored. Current value: min_gain_to_split=10\n",
"[LightGBM] [Warning] lambda_l2 is set=20, reg_lambda=0.0 will be ignored. Current value: lambda_l2=20\n",
"Training until validation scores don't improve for 250 rounds\n",
"[100]\tvalid_0's auc: 0.764942\tvalid_0's binary_logloss: 0.155759\tvalid_1's auc: 0.753306\tvalid_1's binary_logloss: 0.173438\n",
"[200]\tvalid_0's auc: 0.768913\tvalid_0's binary_logloss: 0.151599\tvalid_1's auc: 0.757078\tvalid_1's binary_logloss: 0.169091\n",
"[300]\tvalid_0's auc: 0.771928\tvalid_0's binary_logloss: 0.149623\tvalid_1's auc: 0.761176\tvalid_1's binary_logloss: 0.166985\n",
"[400]\tvalid_0's auc: 0.774063\tvalid_0's binary_logloss: 0.14857\tvalid_1's auc: 0.763331\tvalid_1's binary_logloss: 0.165918\n",
"[500]\tvalid_0's auc: 0.775491\tvalid_0's binary_logloss: 0.147976\tvalid_1's auc: 0.764922\tvalid_1's binary_logloss: 0.165268\n",
"[600]\tvalid_0's auc: 0.776741\tvalid_0's binary_logloss: 0.147545\tvalid_1's auc: 0.766119\tvalid_1's binary_logloss: 0.164834\n",
"[700]\tvalid_0's auc: 0.777834\tvalid_0's binary_logloss: 0.147252\tvalid_1's auc: 0.76701\tvalid_1's binary_logloss: 0.164569\n",
"[800]\tvalid_0's auc: 0.778788\tvalid_0's binary_logloss: 0.146979\tvalid_1's auc: 0.767842\tvalid_1's binary_logloss: 0.164279\n",
"[900]\tvalid_0's auc: 0.779298\tvalid_0's binary_logloss: 0.14681\tvalid_1's auc: 0.768483\tvalid_1's binary_logloss: 0.16408\n",
"[1000]\tvalid_0's auc: 0.779724\tvalid_0's binary_logloss: 0.146656\tvalid_1's auc: 0.768634\tvalid_1's binary_logloss: 0.163945\n",
"[1100]\tvalid_0's auc: 0.780166\tvalid_0's binary_logloss: 0.146517\tvalid_1's auc: 0.76913\tvalid_1's binary_logloss: 0.163793\n",
"[1200]\tvalid_0's auc: 0.780286\tvalid_0's binary_logloss: 0.146439\tvalid_1's auc: 0.769215\tvalid_1's binary_logloss: 0.16372\n",
"[1300]\tvalid_0's auc: 0.780398\tvalid_0's binary_logloss: 0.146329\tvalid_1's auc: 0.769409\tvalid_1's binary_logloss: 0.163603\n",
"[1400]\tvalid_0's auc: 0.780683\tvalid_0's binary_logloss: 0.146258\tvalid_1's auc: 0.769672\tvalid_1's binary_logloss: 0.163533\n",
"[1500]\tvalid_0's auc: 0.780967\tvalid_0's binary_logloss: 0.146182\tvalid_1's auc: 0.769992\tvalid_1's binary_logloss: 0.163448\n",
"[1600]\tvalid_0's auc: 0.781117\tvalid_0's binary_logloss: 0.146099\tvalid_1's auc: 0.770183\tvalid_1's binary_logloss: 0.163376\n",
"[1700]\tvalid_0's auc: 0.781383\tvalid_0's binary_logloss: 0.146039\tvalid_1's auc: 0.770533\tvalid_1's binary_logloss: 0.163299\n",
"[1800]\tvalid_0's auc: 0.781534\tvalid_0's binary_logloss: 0.145974\tvalid_1's auc: 0.77067\tvalid_1's binary_logloss: 0.163245\n",
"[1900]\tvalid_0's auc: 0.781693\tvalid_0's binary_logloss: 0.145903\tvalid_1's auc: 0.77081\tvalid_1's binary_logloss: 0.163173\n",
"[2000]\tvalid_0's auc: 0.78183\tvalid_0's binary_logloss: 0.14585\tvalid_1's auc: 0.77103\tvalid_1's binary_logloss: 0.163112\n",
"[2100]\tvalid_0's auc: 0.782001\tvalid_0's binary_logloss: 0.145802\tvalid_1's auc: 0.771295\tvalid_1's binary_logloss: 0.163046\n",
"[2200]\tvalid_0's auc: 0.782078\tvalid_0's binary_logloss: 0.145776\tvalid_1's auc: 0.771367\tvalid_1's binary_logloss: 0.163024\n",
"[2300]\tvalid_0's auc: 0.78223\tvalid_0's binary_logloss: 0.145739\tvalid_1's auc: 0.771567\tvalid_1's binary_logloss: 0.162977\n",
"[2400]\tvalid_0's auc: 0.782361\tvalid_0's binary_logloss: 0.145706\tvalid_1's auc: 0.771734\tvalid_1's binary_logloss: 0.162944\n",
"[2500]\tvalid_0's auc: 0.782356\tvalid_0's binary_logloss: 0.145692\tvalid_1's auc: 0.771722\tvalid_1's binary_logloss: 0.16293\n",
"[2600]\tvalid_0's auc: 0.782586\tvalid_0's binary_logloss: 0.145631\tvalid_1's auc: 0.771997\tvalid_1's binary_logloss: 0.162857\n",
"[2700]\tvalid_0's auc: 0.782712\tvalid_0's binary_logloss: 0.145579\tvalid_1's auc: 0.772005\tvalid_1's binary_logloss: 0.162824\n",
"[2800]\tvalid_0's auc: 0.782768\tvalid_0's binary_logloss: 0.145556\tvalid_1's auc: 0.772064\tvalid_1's binary_logloss: 0.162797\n",
"[2900]\tvalid_0's auc: 0.78284\tvalid_0's binary_logloss: 0.145537\tvalid_1's auc: 0.772124\tvalid_1's binary_logloss: 0.162781\n",
"[3000]\tvalid_0's auc: 0.782852\tvalid_0's binary_logloss: 0.145512\tvalid_1's auc: 0.772144\tvalid_1's binary_logloss: 0.162772\n",
"[3100]\tvalid_0's auc: 0.782934\tvalid_0's binary_logloss: 0.145493\tvalid_1's auc: 0.772262\tvalid_1's binary_logloss: 0.162737\n",
"[3200]\tvalid_0's auc: 0.783011\tvalid_0's binary_logloss: 0.145471\tvalid_1's auc: 0.77232\tvalid_1's binary_logloss: 0.162719\n",
"[3300]\tvalid_0's auc: 0.783179\tvalid_0's binary_logloss: 0.145444\tvalid_1's auc: 0.772508\tvalid_1's binary_logloss: 0.162689\n",
"[3400]\tvalid_0's auc: 0.783243\tvalid_0's binary_logloss: 0.145417\tvalid_1's auc: 0.772521\tvalid_1's binary_logloss: 0.162661\n",
"[3500]\tvalid_0's auc: 0.783353\tvalid_0's binary_logloss: 0.145382\tvalid_1's auc: 0.772619\tvalid_1's binary_logloss: 0.162627\n",
"[3600]\tvalid_0's auc: 0.783409\tvalid_0's binary_logloss: 0.145363\tvalid_1's auc: 0.772623\tvalid_1's binary_logloss: 0.162606\n",
"[3700]\tvalid_0's auc: 0.783531\tvalid_0's binary_logloss: 0.145326\tvalid_1's auc: 0.772719\tvalid_1's binary_logloss: 0.162567\n",
"[3800]\tvalid_0's auc: 0.783609\tvalid_0's binary_logloss: 0.145305\tvalid_1's auc: 0.772877\tvalid_1's binary_logloss: 0.162538\n",
"[3900]\tvalid_0's auc: 0.783665\tvalid_0's binary_logloss: 0.145286\tvalid_1's auc: 0.772958\tvalid_1's binary_logloss: 0.162511\n",
"[4000]\tvalid_0's auc: 0.783728\tvalid_0's binary_logloss: 0.145273\tvalid_1's auc: 0.773032\tvalid_1's binary_logloss: 0.162503\n",
"[4100]\tvalid_0's auc: 0.783749\tvalid_0's binary_logloss: 0.145252\tvalid_1's auc: 0.773043\tvalid_1's binary_logloss: 0.162483\n",
"[4200]\tvalid_0's auc: 0.78387\tvalid_0's binary_logloss: 0.145225\tvalid_1's auc: 0.773183\tvalid_1's binary_logloss: 0.162454\n",
"[4300]\tvalid_0's auc: 0.783875\tvalid_0's binary_logloss: 0.145217\tvalid_1's auc: 0.77321\tvalid_1's binary_logloss: 0.162448\n",
"[4400]\tvalid_0's auc: 0.783968\tvalid_0's binary_logloss: 0.145197\tvalid_1's auc: 0.773301\tvalid_1's binary_logloss: 0.162428\n",
"[4500]\tvalid_0's auc: 0.784006\tvalid_0's binary_logloss: 0.145186\tvalid_1's auc: 0.773283\tvalid_1's binary_logloss: 0.16242\n",
"[4600]\tvalid_0's auc: 0.784051\tvalid_0's binary_logloss: 0.145168\tvalid_1's auc: 0.77331\tvalid_1's binary_logloss: 0.162399\n",
"[4700]\tvalid_0's auc: 0.784091\tvalid_0's binary_logloss: 0.145154\tvalid_1's auc: 0.773353\tvalid_1's binary_logloss: 0.162386\n",
"[4800]\tvalid_0's auc: 0.784188\tvalid_0's binary_logloss: 0.14514\tvalid_1's auc: 0.773462\tvalid_1's binary_logloss: 0.162365\n",
"[4900]\tvalid_0's auc: 0.784234\tvalid_0's binary_logloss: 0.145115\tvalid_1's auc: 0.773488\tvalid_1's binary_logloss: 0.16235\n",
"[5000]\tvalid_0's auc: 0.784279\tvalid_0's binary_logloss: 0.145097\tvalid_1's auc: 0.773564\tvalid_1's binary_logloss: 0.162326\n",
"[5100]\tvalid_0's auc: 0.78436\tvalid_0's binary_logloss: 0.145083\tvalid_1's auc: 0.773619\tvalid_1's binary_logloss: 0.16231\n",
"[5200]\tvalid_0's auc: 0.784386\tvalid_0's binary_logloss: 0.145078\tvalid_1's auc: 0.773692\tvalid_1's binary_logloss: 0.162298\n",
"[5300]\tvalid_0's auc: 0.784456\tvalid_0's binary_logloss: 0.145057\tvalid_1's auc: 0.773645\tvalid_1's binary_logloss: 0.162299\n",
"[5400]\tvalid_0's auc: 0.784457\tvalid_0's binary_logloss: 0.145054\tvalid_1's auc: 0.773628\tvalid_1's binary_logloss: 0.162299\n",
"Early stopping, best iteration is:\n",
"[5225]\tvalid_0's auc: 0.784419\tvalid_0's binary_logloss: 0.145071\tvalid_1's auc: 0.773703\tvalid_1's binary_logloss: 0.1623\n",
"\n",
"defaultdict(<class 'collections.OrderedDict'>, {'valid_0': OrderedDict([('auc', 0.7844189655693676), ('binary_logloss', 0.14507083030312354)]), 'valid_1': OrderedDict([('auc', 0.7737034389358087), ('binary_logloss', 0.1623004263086679)])})\n",
"5225\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"params_ = {\n",
" # highest impact to control overfitting\n",
" 'num_iterations': 10000,\n",
" 'num_leaves': 100, #should be < 2^(max_depth)\n",
" 'max_depth': 10,\n",
" 'min_data_in_leaf':100,\n",
" 'min_gain_to_split': 10,\n",
" # optional parameters\n",
" 'categorical_feature':cat_feat_indexes,\n",
" 'learning_rate': 0.01,\n",
" 'subsample': 0.5,\n",
" 'colsample_bytree': 0.5,\n",
" 'subsample_freq':1,\n",
" # for regularization\n",
" 'lambda_l2':20,\n",
"}\n",
"\n",
"mod_lgb = LGBMClassifier(n_jobs=-1, random_state=RANDOM_STATE,\n",
" num_iterations=params_['num_iterations'],\n",
" num_leaves=params_['num_leaves'],\n",
" max_depth=params_['max_depth'],\n",
" min_data_in_leaf=params_['min_data_in_leaf'],\n",
" min_gain_to_split=params_['min_gain_to_split'],\n",
" categorical_feature=params_['categorical_feature'],\n",
" learning_rate=params_['learning_rate'],\n",
" subsample=params_['subsample'],\n",
" colsample_bytree=params_['colsample_bytree'],\n",
" subsample_freq=params_['subsample_freq'],\n",
" lambda_l2=params_['lambda_l2']\n",
" )\n",
"\n",
"eval_set = [(train[features], train[TARGET_VAR]),(val[features], val[TARGET_VAR])]\n",
"%time\n",
"mod_lgb.fit(train[features], train[TARGET_VAR], eval_set=eval_set, eval_metric='auc',\n",
" early_stopping_rounds=250, verbose=100)\n",
"\n",
"train_result = mod_lgb.evals_result_['valid_0']['auc']\n",
"val_result = mod_lgb.evals_result_['valid_1']['auc']\n",
"\n",
"plt.plot(train_result)\n",
"plt.plot(val_result)\n",
"\n",
"print()\n",
"print(mod_lgb.best_score_)\n",
"print(mod_lgb.best_iteration_)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Evaluate the Model"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Gini: 0.5689767195969719\n",
"Val Gini: 0.5472395780143353\n",
"Test Gini: 0.5429320129570734\n"
]
}
],
"source": [
"train['pred'] = mod_lgb.predict_proba(train[features], num_iteration=mod_lgb.best_iteration_)[:,1]\n",
"val['pred'] = mod_lgb.predict_proba(val[features], num_iteration=mod_lgb.best_iteration_)[:,1]\n",
"test['pred'] = mod_lgb.predict_proba(test[features], num_iteration=mod_lgb.best_iteration_)[:,1]\n",
"\n",
"print('Train Gini:', roc_auc_score(train[TARGET_VAR], train['pred'])*2-1)\n",
"print('Val Gini:',roc_auc_score(val[TARGET_VAR], val['pred'])*2-1)\n",
"print('Test Gini:',roc_auc_score(test[TARGET_VAR], test['pred'])*2-1)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"train_val = pd.concat([train, val])\n",
"mod_lgb.fit(train_val[features], train_val[TARGET_VAR])\n",
"\n",
"test['pred_2'] = mod_lgb.predict_proba(test[features],\n",
"# num_iteration=mod_lgb.best_iteration_\n",
" )[:,1]"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train-Val on Test Gini: 0.5640599229722179\n"
]
}
],
"source": [
"print('Train-Val on Test Gini:', roc_auc_score(test[TARGET_VAR], test['pred_2'])*2-1)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:ylabel='Frequency'>"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"test['pred'].plot.hist()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.34650324210250644"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test['pred'].max()"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:ylabel='Frequency'>"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"test['pred_2'].plot.hist()"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.4036260727928579"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test['pred_2'].max()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Check the Feature Importances"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"feat_imp = pd.DataFrame(features, columns=['feature_name'])\n",
"feat_imp['feature_importance'] = mod_lgb.feature_importances_"
]
},
{
"cell_type": "code",
"execution_count": 34,
"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>feature_name</th>\n",
" <th>feature_importance</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>delin_max_dpd_3mo</td>\n",
" <td>697</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>time_approve_to_pl_hour</td>\n",
" <td>524</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>util_pl</td>\n",
" <td>384</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ap_co_plo</td>\n",
" <td>288</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>os_amount</td>\n",
" <td>275</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>pf_delin_max_dpd_12mo</td>\n",
" <td>269</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>oth_last_trx_amount</td>\n",
" <td>257</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>oth_last_rep_days</td>\n",
" <td>211</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>calibrated_final</td>\n",
" <td>209</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>oth_first_trx_amount</td>\n",
" <td>165</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>oth_last_rep_dpd</td>\n",
" <td>156</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>delin_max_dpd_amt_3mo</td>\n",
" <td>134</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>flag_good_pefindo</td>\n",
" <td>105</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>pf_util_creditcard_avg_12mo</td>\n",
" <td>68</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>current_dpd</td>\n",
" <td>57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>util_non_pl</td>\n",
" <td>50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>payment_type</td>\n",
" <td>45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>flag_bad_pefindo</td>\n",
" <td>30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>pf_delin_dist_contractcode_30_dpd_3mo</td>\n",
" <td>25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>oth_last_rep_channel</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>pf_con_open_count_12mo</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" feature_name feature_importance\n",
"3 delin_max_dpd_3mo 697\n",
"18 time_approve_to_pl_hour 524\n",
"20 util_pl 384\n",
"0 ap_co_plo 288\n",
"7 os_amount 275\n",
"16 pf_delin_max_dpd_12mo 269\n",
"12 oth_last_trx_amount 257\n",
"10 oth_last_rep_days 211\n",
"1 calibrated_final 209\n",
"8 oth_first_trx_amount 165\n",
"11 oth_last_rep_dpd 156\n",
"4 delin_max_dpd_amt_3mo 134\n",
"6 flag_good_pefindo 105\n",
"17 pf_util_creditcard_avg_12mo 68\n",
"2 current_dpd 57\n",
"19 util_non_pl 50\n",
"13 payment_type 45\n",
"5 flag_bad_pefindo 30\n",
"15 pf_delin_dist_contractcode_30_dpd_3mo 25\n",
"9 oth_last_rep_channel 2\n",
"14 pf_con_open_count_12mo 2"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"feat_imp.sort_values('feature_importance', ascending=False)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:title={'center':'Feature importance'}, xlabel='Feature importance', ylabel='Features'>"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x1008 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_importance(mod_lgb, figsize=(12,14))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"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.9.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}