{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Credit Risk Analysis using IBM PowerAI Snap ML
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this example we will train a Logistic Regression model on customers' credit history dataset, using both scikit-learn and snap-ml-local.",
"\n",
"Update device_ids list in LogisticRegression of snap_ml based on the number of GPUs available for you.\n",
"\n",
"To avoid 'kernel restart' problem increase CPU and memory for the jupyter environment (e.g. memory 10GB, CPU 100) and restart it"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Download input dataset of customers' information\n",
"\n",
"Two wget commands are given below for downloading input dataset - one for reduced dataset and another for bigger/full dataset. Many times better perfomance of snapML training is seen with bigger dataset.\n",
"\n",
"You can comment out downloading code below if running the same wget command more than once."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"File `credit_customer_history.csv' already there; not retrieving.\r\n"
]
}
],
"source": [
"# Many times better training time with snapML compared to sklearn with this full dataset\n",
"!wget -O credit_customer_history.csv -nc https://ibm.box.com/shared/static/c84jns0hy2ty05t3c3a9c17ca1mxpe6s.csv\n",
"\n",
"# Download reduced dataset\n",
"#!wget -O credit_customer_history.csv https://ibm.box.com/shared/static/tr7cz4drh7bwa8kbyw0erjfjh7fort0y.csv"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### imports"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from __future__ import print_function\n",
"import numpy as np\n",
"import pandas as pd\n",
"pd.options.display.max_columns = 999\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import sklearn\n",
"from sklearn.model_selection import train_test_split, StratifiedKFold\n",
"from sklearn.preprocessing import MinMaxScaler, LabelEncoder, normalize\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.metrics import f1_score, accuracy_score, roc_curve, roc_auc_score\n",
"from scipy.stats import chi2_contingency,ttest_ind\n",
"from sklearn.utils import shuffle\n",
"import time\n",
"\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"IPython.OutputArea.prototype._should_scroll = function(lines) {\n",
" return false;\n",
"}"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%javascript\n",
"IPython.OutputArea.prototype._should_scroll = function(lines) {\n",
" return false;\n",
"}\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Dataset Visualization\n",
"\n",
"\n",
"Let's take a quick look at the dataset.\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"There are 10000000 observations in the customer history dataset.\n",
"There are 19 variables in the dataset.\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" EMI_TENURE | \n",
" CREDIT_HISTORY | \n",
" TRANSACTION_CATEGORY | \n",
" TRANSACTION_AMOUNT | \n",
" ACCOUNT_TYPE | \n",
" ACCOUNT_AGE | \n",
" STATE | \n",
" IS_URBAN | \n",
" IS_STATE_BORDER | \n",
" HAS_CO_APPLICANT | \n",
" HAS_GUARANTOR | \n",
" OWN_REAL_ESTATE | \n",
" OTHER_INSTALMENT_PLAN | \n",
" OWN_RESIDENCE | \n",
" NUMBER_CREDITS | \n",
" RFM_SCORE | \n",
" OWN_CAR | \n",
" SHIP_INTERNATIONAL | \n",
" IS_DEFAULT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 77 | \n",
" EXISTING CREDITS PAID BACK | \n",
" EDUCATION | \n",
" 27630 | \n",
" UNKNOWN/NONE | \n",
" above 7 YRS | \n",
" CT | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" NO | \n",
" 0 | \n",
" 4 | \n",
" NO | \n",
" NO | \n",
" No | \n",
"
\n",
" \n",
" 1 | \n",
" 119 | \n",
" EXISTING CREDITS PAID BACK | \n",
" ELECTRONICS | \n",
" 31314 | \n",
" above 1000 K USD | \n",
" 4 to 7 YRS | \n",
" CT | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
" No | \n",
"
\n",
" \n",
" 2 | \n",
" 84 | \n",
" EXISTING CREDITS PAID BACK | \n",
" FURNITURE | \n",
" 27630 | \n",
" above 1000 K USD | \n",
" 4 to 7 YRS | \n",
" PA | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
" No | \n",
"
\n",
" \n",
" 3 | \n",
" 119 | \n",
" DELAY IN PAST | \n",
" FURNITURE | \n",
" 33156 | \n",
" above 1000 K USD | \n",
" up to 1 YR | \n",
" PA | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" NO | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" NO | \n",
" NO | \n",
" Yes | \n",
"
\n",
" \n",
" 4 | \n",
" 105 | \n",
" DELAY IN PAST | \n",
" FURNITURE | \n",
" 23946 | \n",
" above 1000 K USD | \n",
" up to 1 YR | \n",
" CT | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
" No | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" EMI_TENURE CREDIT_HISTORY TRANSACTION_CATEGORY \\\n",
"0 77 EXISTING CREDITS PAID BACK EDUCATION \n",
"1 119 EXISTING CREDITS PAID BACK ELECTRONICS \n",
"2 84 EXISTING CREDITS PAID BACK FURNITURE \n",
"3 119 DELAY IN PAST FURNITURE \n",
"4 105 DELAY IN PAST FURNITURE \n",
"\n",
" TRANSACTION_AMOUNT ACCOUNT_TYPE ACCOUNT_AGE STATE IS_URBAN \\\n",
"0 27630 UNKNOWN/NONE above 7 YRS CT NO \n",
"1 31314 above 1000 K USD 4 to 7 YRS CT YES \n",
"2 27630 above 1000 K USD 4 to 7 YRS PA NO \n",
"3 33156 above 1000 K USD up to 1 YR PA YES \n",
"4 23946 above 1000 K USD up to 1 YR CT NO \n",
"\n",
" IS_STATE_BORDER HAS_CO_APPLICANT HAS_GUARANTOR OWN_REAL_ESTATE \\\n",
"0 YES YES YES NO \n",
"1 YES YES YES NO \n",
"2 NO YES YES YES \n",
"3 NO YES NO NO \n",
"4 YES YES YES YES \n",
"\n",
" OTHER_INSTALMENT_PLAN OWN_RESIDENCE NUMBER_CREDITS RFM_SCORE OWN_CAR \\\n",
"0 YES NO 0 4 NO \n",
"1 NO YES 0 3 YES \n",
"2 NO YES 0 3 YES \n",
"3 NO YES 0 3 NO \n",
"4 YES NO 0 3 YES \n",
"\n",
" SHIP_INTERNATIONAL IS_DEFAULT \n",
"0 NO No \n",
"1 YES No \n",
"2 YES No \n",
"3 NO Yes \n",
"4 YES No "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cust_pd_full = pd.read_csv('credit_customer_history.csv')\n",
"\n",
"rows=1000000\n",
"cust_pd = cust_pd_full.head(rows)\n",
"print(\"There are \" + str(len(cust_pd_full)) + \" observations in the customer history dataset.\")\n",
"print(\"There are \" + str(len(cust_pd_full.columns)) + \" variables in the dataset.\")\n",
"\n",
"cust_pd.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# distribution of output variable default"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#cust_pd.IS_DEFAULT.value_counts().plot(kind='pie',colormap='winter',autopct='%1.0f%%').legend(bbox_to_anchor=(1.2, 0.6))\n",
"cust_pd.IS_DEFAULT.value_counts().plot(kind='pie',autopct='%1.0f%%').legend(bbox_to_anchor=(1.2, 0.6))"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"# Default by Credit Program"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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582YMWPr5MmTDwD07du3z1NPPbV16NChJ5RCf/fdd1tNmTIld9++fS1ERAcOHBh65plntkcKkY0cObLH/v37W6xevXpD5JzoGMrKyuSuu+7adcsttxyor5/RNxFrTsdZqnq9qj6FWxQsH7jUEo5aCgRLCAQnALcCSV72ytSVLxw+LbsibKtYvplS4DbH71xmCYdpLNLT0/WNN944fdeuXVX+4R5pRx/ZsrOzK/Lz80NLlixpA/D++++3OvPMM0uXL1/eBqCoqChl+/btGYMGDToh4di+fXva+PHje0yfPn3Hli1b1m7atGndmDFjig4dOpQCsG/fvtR169a1LioqSt2wYUN6VTEsXLhw4x133NHt6NGjSVE+PVbS8fUbpapWAF+o6uGGDakJCgSfwC0bb8laE/O9UOikBk2m1tbiLod9PNGBGFMXqampet111+19+OGHO9b2nCFDhoTee++9NgBLlixpc+ONN+5dt25dK4DFixe37tu3b0la2ok5zIwZMzpcddVV+0eNGlUMbjXUG2644WBubm45wNy5c08fNWrUocsvv/zA7Nmzq6yOnZeXd7Rly5bhffv2JUXVxVhJxwARKfK2w0C/yOciUhSPAJuMQHA17sqfn2IN45qM8UWHe6Oa3F3qkk8Y+B8g3/E7Nu/JNEpTpkz56uWXX87av3//SW/mM2fO7Ni7d+9zevfufU5BQUFPgOHDh4dWrVoVudPReuTIkaH09PTwwYMHU5YtW9a6oKAgVPk669evz8zPz6/2D5sXXngha8KECQf8fv+Bl156qcqkY9myZa26detW2qVLl/KqjsdbrKRjjaq287a2qpoW9Xm7uETYlASC5QSCPwcuAKwldxOQXRHO8YXtEUsdbAIucvzO3Y7fqdOSYxGpEJHVUds93v5FIpJfaWyhiAQrjR/lHeskIs+LyCYRWS8ib4hI/6hxB0TkC+/zt0Sku4gc8V6vF5E5EjWPR0SGisgHIrLB226OOhYQkRIR6RC1L1TN5z29WDaKyKciMl9EOopIKxH5k4g4IrJWRJaJSJu6/OxM/cvKygqPGzdu//Tp0ztUPhb9eGXFihX/BOjVq9exsrIy2bZtW9rGjRsz+/fvX3reeeeVLF68uPWKFSvaDB069KSkoybbt29P27p1a8bo0aND/fr1O5qWlqYffvhhy8jxmTNnduzevfu5hYWF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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cust_pd.TRANSACTION_CATEGORY.value_counts().plot(kind='pie',autopct='%1.0f%%').legend(bbox_to_anchor=(1.2, 0.7))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Top 3 credit programs with most Merchants are Electronics(28%), New Car(23.4%) and Furniture(18.1%)."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"pixiedust": {
"displayParams": {
"aggregation": "COUNT",
"chartsize": "100",
"handlerId": "pieChart",
"keyFields": "IS_DEFAULT",
"rowCount": "1000"
}
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"defaults_by_credit_program = cust_pd.groupby(['TRANSACTION_CATEGORY','IS_DEFAULT']).size()\n",
"percentages = defaults_by_credit_program.groupby(level=0).apply(lambda x:100 * x / float(x.sum()))\n",
"percentages.unstack().plot(kind='bar',stacked=True,color=['blue','red'],grid=False).legend(bbox_to_anchor=(1.2, 0.5))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Top 3 credit programs with high default rate are Education(44%), New Car(38%), and Retraining(35.1%)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"# Default by IS_STATE_BORDER\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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aq2tMcbUs+Ohv6nW2unGmNvwznM+AzwG3GutTeUrqxQvFZVkT7Tr/nilNRpvhveheH+JS2Zq8A6vzQdewttb+thtJDDGXAVsstZem378hT2qRtsOxdvjPgvvEOEP8xZUipaKSnLHu3ZrIN4s741v+5LhJLpFqh74AHgHeLvR1w92d/BDLhljonhFNS39uNmiavRvegBLrLWd8xBRipxWdZXc8S4k/TB9e+jz57t2Ar6MV2L7Nvq6L7AP3on7QlcH/BdINLp9iFdKi4kma1wFywVjTCe8Q4Oz008djDe4QqTNtEcl/hLtWgb0xyutvkAfoHf61vj+nnjDoPOtFliNd+6o8W0V3mSuifRtWbHMl9fEHtXO56hmAlOA6Xh/dFTjDcC4wFr7an7TSjFSUUlhinYN4pVV5/StUxO3zkA7vD20xjfwJmFtuNXi/XLdsovbWmA10eT63H9zItKYikpERHzNxaETERGRjKmoRETE11RUIiLiayoqERHxNRWViIj4mopKRER8TUUlIiK+pqISERFfU1GJiIivqahERMTXVFQiIuJrKioREfE1FZWIiPiaikpERHxNRSUiIr6mohIREV9TUYmIiK+pqERExNdUVCIi4msqKhER8TUVlYiI+JqKSkREfE1FJSIivqaiEhERX1NRiYiIr6moRETE11RUIiLiayoqERHxNRWViIj4mopKRER8TUUlIiK+9v8BBe6lr8FC/90AAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cust_pd.IS_STATE_BORDER.value_counts().plot(kind='pie',autopct='%1.0f%%').legend(bbox_to_anchor=(1.2, 0.5))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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Ugg0SaqoqIiqqqrtyp15tt2nB+sBAPSsilQCrUX287SbXYQaAKBkbE+eOXPmmJb16667buRll112cKnG4z01AOgjbE0u5vEitLSzPgMGDIjFixcPra+vbxg1alRTMcdvC2dqAICS6devX1xwwQWNt95668jW29atWzfgxBNPrK6urp544oknVq9fv35AoeMRagCAkrriiis2P/LII8O2bt3aL7/9kksuOeQTn/jE1nXr1j177rnnbr300kvHFjoWoQYAKKlhw4Y1T5s2bettt902Ir992bJlg2fNmvWKJF166aWvLF26dN9CxyLUAAAld80117w8b9684Tt27Chp7hBqAICSGzly5K4zzzxz27x584a3tB177LE75syZM1SS7rvvvmE1NTWvFzoOoQYA6BHXXnttw6uvvvqnu+7vueeeFx988MHh1dXVE+fPn3/g3Xff/VKhY3BLPwD0EV25Bb/Y3njjjWUty2PHjm3auXPnn9YPO+ywt5966ql1xRyPMzUAQDIINQBAMgg1AEAyCDUAQDIKDjXb/Wwvs/3TbH287SW219v+se2Cpz0BAKArinGm9gVJa/PWvy7pjoiYIGmbpIuLMAYAAJ0qKNRsj5H0N5LmZOuW9BFJC7MucyXVFjIGAKB3am5u1uTJkw9bsGDBkJa2OXPmDD3ppJMmlGrMQj+n9o+SrpS0X7Z+oKRXI6Ll6wU2Shpd4BgAgGKwi/rVM4ro8HNvFRUVuvfee18499xz3zd16tRnm5qafNNNN41evHjx+qLWkT9md3e0PVXS5tj9h3IbXdv81lXbs2zX2a5rbGzsbhkAgL3YBz7wgTdPO+207V/5ylcOuvLKKw/++Mc/vvWII45466677jrwqKOOev/hhx8+8fzzzz9k165deuedd1RbWzu+urp64oQJE464+eabR3Q+wu4KOVP7kKSP2f6opIGShih35naA7crsbG2MpE1t7RwRsyXNlqSampqkvm4cAPBnt99++6ajjz564oABA5pXrFix9umnnx64aNGiA5555pm1/fv31/Tp0w+9//77h1VXV7/1yiuvVK5bt+5ZSdqyZUu/zo7dWrdDLSKukXSNJNk+WdLlEfFJ2z+RdI6kH0maIWlRd8cAAPR+Q4YMaa6trX1l33333TVo0KB47LHHhqxcuXLwUUcdNVGS3nzzzYoxY8a8XVtbu33D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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"defaults_by_xborder = cust_pd.groupby(['IS_STATE_BORDER','IS_DEFAULT']).size()\n",
"percentages = defaults_by_xborder.groupby(level=0).apply(lambda x:100 * x / float(x.sum()))\n",
"percentages.unstack().plot(kind='bar',stacked=True, color=['blue','red'], grid=False).legend(bbox_to_anchor=(1.2, 0.5))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# HAS_CO_APPLICANT vs. IS_DEFAULT"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"defaults_by_rent = cust_pd.groupby(['HAS_CO_APPLICANT','IS_DEFAULT']).size()\n",
"percentages = defaults_by_rent.groupby(level=0).apply(lambda x:100 * x / float(x.sum()))\n",
"percentages.unstack().plot(kind='bar',stacked=True, color=['blue','red'], grid=False).legend(bbox_to_anchor=(1.2, 0.5))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From this stacked bar chart, we can see that Merchants who rent their residence have higher default rate."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# CREDIT_HISTORY vs. IS_DEFAULT"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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5j3K7+p1jIiIqCNPhEdERGtJGhER0VqSRkREtJakERERrSVpREREa0kaERHRWpJGRES0lqQRERGtJWlERERrSRoREdFakkZERLSWpBEREa0laURERGtJGhER0VqSRkREtJakERERrSVpREREa0kaERHRWpJGRES0lqQRERGtJWlERERrSRoREdFakkZERLSWpBEREa2NmzQknSDpDklXd5StLekcSTeUn2uVckk6WtJCSVdK2qZjn/3L9jdI2r+jfFtJV5V9jpaksY4RERH1tLnS+Dowr6vsUOBc27OBc8s6wK7A7PI6CDgWmgQAHAa8BNgOOKwjCRxbth3Zb944x4iIiErGTRq2fwrc3VW8OzC/LM8H9ugoP9GNXwBrStoA2AU4x/bdtu8BzgHmlbo1bF9o28CJXe/V6xgREVHJ8t7TWN/2bwDKz/VK+YbArR3bLSplY5Uv6lE+1jEiIqKSib4Rrh5lXo7yZTuodJCkBZIWLF68eFl3j4iIlpY3adxempYoP+8o5YuAjTq2mwncNk75zB7lYx3jSWwfZ3uO7TkzZsxYzl8pIiLGs7xJ4zRgpAfU/sCpHeX7lV5U2wP3laals4CdJa1VboDvDJxV6u6XtH3pNbVf13v1OkZERFSy8ngbSPp34C+BdSUtoukFdSRwsqQDgVuAvcrmpwOvAhYCDwIHANi+W9LHgUvKdofbHrm5/jaaHlqrAWeUF2McIyIiKhk3adjeZ5SqnXpsa+DgUd7nBOCEHuULgM17lN/V6xgREVFPngiPiIjWkjQiIqK1cZunIgK2mL9F7RAAuGr/q2qHEEMuVxoREdFakkZERLSWpBEREa0laURERGtJGhER0VqSRkREtJakERERrSVpREREa0kaERHRWpJGRES0lqQRERGtJWlERERrSRoREdFakkZERLSWpBEREa0laURERGtJGhER0VqSRkREtJakERERrSVpREREa0kaERHRWpJGRES0NumThqR5kv5H0kJJh9aOJyJimE3qpCFpJeAYYFdgM2AfSZvVjSoiYnitXDuAcWwHLLR9I4Ckk4DdgWurRhUxxK7bZNPaIQCw6fXX1Q5hKE3qKw1gQ+DWjvVFpSwiIiqY7Fca6lHmJ20kHQQcVFZ/L+l/VmhU41sXuLOfN9CnJiiS+vr+LPhYrz+DKan/v4s357N4gvJZTLDntNlosieN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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cust_pd.CREDIT_HISTORY.value_counts().plot(kind='bar', title='CREDIT_HISTORY')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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5ZZj2rRpb/ze97632sSJE1984oknxt111123Azz22GNjh/vZ7ZY41GyfCpwKIOltwIm23y/p34C/An4KHA5ctqTPERERy75VVlmlb+rUqU+stNJKC1ZYYQVfccUVq9xyyy0rbr311lsAvPDCC2PWXXfdl6ZOnfr0vffeu/yRRx653pQpU57ef//9/7S4z7U05n48GfippM8DNwHnLoXniIiIZciYMWMYM6a44mWbadOmPfb1r3/9VT15t912220XX3zx684888w1LrroolXPP//8+xfreUajWNu/sj2l3L7X9o6232T7QNsvjsZzREREPey9997PXHbZZas98sgj4wDmzJkz9u677x7/8MMPj+vr6+ODH/zgk5/97GcfvvXWW1+7uD87s/RHRERX7bjjjs+fcsopD++xxx4T+/r6WG655fztb3/7/rFjx3L00UdvYBtJnH766Q8t7s+WXf0YjcmTJ3vGjBkj+hnqNO6yy3rgrSzkzRiQ9+IVeSsG1OW9kDTT9uTBjs+aNeuP22677WMjf6beMmvWrNW33XbbDTody9yPERFRGwm1iIiojYRaRETURkItIqK++vr6+nrgCuLoKV9P32DHE2oREfU1e968ea+rS7D19fVp3rx5rwNmD/aYDOmPiKip+fPnf2jOnDnnzJkzZyvqcRLTB8yeP3/+hwZ7QEItIqKmJk2aNBfYt+o6uqkOyR0REQEk1CIiokYSahERURsJtYiIqI0MFIlaU+eF17uq+goimiNnahERURsJtYiIqI2EWkRE1EZCLSIiaiOhFhERtZFQi4iI2kioRUREbSTUIiKiNhJqERFRGwm1iIiojYRaRETURkItIiJqI6EWERG1kVCLiIjaSKhFRERtJNQiIqI2EmoREVEbCbWIiKiNhFpERNTGEoeapPUkXSfpDkm3SfpY2b6apKsl3V3+d9XRKzciImJwIzlTmw/8ve3NgZ2B4yRtAZwCXGN7E+Cacj8iImKpW+JQs/2I7RvL7WeAO4B1gP2A6eXDpgNTR1pkRETEohiVa2qSNgC2B64H1rT9CBTBB6wxyPccI2mGpBnz5s0bjTIiIqLhRhxqklYCLgY+bvtPi/p9ts+2Pdn25AkTJoy0jIiIiJGFmqTlKALtJ7YvKZsflbR2eXxtYO7ISoyIiFg0Ixn9KOBc4A7b/9Jy6GfA4eX24cBlS15e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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"defaults_by_history = cust_pd.groupby(['CREDIT_HISTORY','IS_DEFAULT']).size()\n",
"percentages = defaults_by_history.groupby(level=0).apply(lambda x:100 * x / float(x.sum()))\n",
"percentages.unstack().plot(kind='bar',stacked=True,color=['blue','red'],grid=False).legend(bbox_to_anchor=(1.2, 0.5))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data Preparation"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" EMI_TENURE | \n",
" CREDIT_HISTORY | \n",
" TRANSACTION_CATEGORY | \n",
" TRANSACTION_AMOUNT | \n",
" ACCOUNT_TYPE | \n",
" ACCOUNT_AGE | \n",
" STATE | \n",
" IS_URBAN | \n",
" IS_STATE_BORDER | \n",
" HAS_CO_APPLICANT | \n",
" HAS_GUARANTOR | \n",
" OWN_REAL_ESTATE | \n",
" OTHER_INSTALMENT_PLAN | \n",
" OWN_RESIDENCE | \n",
" NUMBER_CREDITS | \n",
" RFM_SCORE | \n",
" OWN_CAR | \n",
" SHIP_INTERNATIONAL | \n",
" IS_DEFAULT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 77 | \n",
" EXISTING CREDITS PAID BACK | \n",
" EDUCATION | \n",
" 27630 | \n",
" UNKNOWN/NONE | \n",
" above 7 YRS | \n",
" CT | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" NO | \n",
" 0 | \n",
" 4 | \n",
" NO | \n",
" NO | \n",
" No | \n",
"
\n",
" \n",
" 1 | \n",
" 119 | \n",
" EXISTING CREDITS PAID BACK | \n",
" ELECTRONICS | \n",
" 31314 | \n",
" above 1000 K USD | \n",
" 4 to 7 YRS | \n",
" CT | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
" No | \n",
"
\n",
" \n",
" 2 | \n",
" 84 | \n",
" EXISTING CREDITS PAID BACK | \n",
" FURNITURE | \n",
" 27630 | \n",
" above 1000 K USD | \n",
" 4 to 7 YRS | \n",
" PA | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
" No | \n",
"
\n",
" \n",
" 3 | \n",
" 119 | \n",
" DELAY IN PAST | \n",
" FURNITURE | \n",
" 33156 | \n",
" above 1000 K USD | \n",
" up to 1 YR | \n",
" PA | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" NO | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" NO | \n",
" NO | \n",
" Yes | \n",
"
\n",
" \n",
" 4 | \n",
" 105 | \n",
" DELAY IN PAST | \n",
" FURNITURE | \n",
" 23946 | \n",
" above 1000 K USD | \n",
" up to 1 YR | \n",
" CT | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
" No | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" EMI_TENURE CREDIT_HISTORY TRANSACTION_CATEGORY \\\n",
"0 77 EXISTING CREDITS PAID BACK EDUCATION \n",
"1 119 EXISTING CREDITS PAID BACK ELECTRONICS \n",
"2 84 EXISTING CREDITS PAID BACK FURNITURE \n",
"3 119 DELAY IN PAST FURNITURE \n",
"4 105 DELAY IN PAST FURNITURE \n",
"\n",
" TRANSACTION_AMOUNT ACCOUNT_TYPE ACCOUNT_AGE STATE IS_URBAN \\\n",
"0 27630 UNKNOWN/NONE above 7 YRS CT NO \n",
"1 31314 above 1000 K USD 4 to 7 YRS CT YES \n",
"2 27630 above 1000 K USD 4 to 7 YRS PA NO \n",
"3 33156 above 1000 K USD up to 1 YR PA YES \n",
"4 23946 above 1000 K USD up to 1 YR CT NO \n",
"\n",
" IS_STATE_BORDER HAS_CO_APPLICANT HAS_GUARANTOR OWN_REAL_ESTATE \\\n",
"0 YES YES YES NO \n",
"1 YES YES YES NO \n",
"2 NO YES YES YES \n",
"3 NO YES NO NO \n",
"4 YES YES YES YES \n",
"\n",
" OTHER_INSTALMENT_PLAN OWN_RESIDENCE NUMBER_CREDITS RFM_SCORE OWN_CAR \\\n",
"0 YES NO 0 4 NO \n",
"1 NO YES 0 3 YES \n",
"2 NO YES 0 3 YES \n",
"3 NO YES 0 3 NO \n",
"4 YES NO 0 3 YES \n",
"\n",
" SHIP_INTERNATIONAL IS_DEFAULT \n",
"0 NO No \n",
"1 YES No \n",
"2 YES No \n",
"3 NO Yes \n",
"4 YES No "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#cust_pd = cust_pd.sort_values(['IS_DEFAULT'],ascending=[False])\n",
"#cust_pd = shuffle(cust_pd)\n",
"cust_pd = cust_pd_full\n",
"cust_pd.head()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Split Dataframe into Features and Label"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cust_pd_X.shape= (10000000, 18) cust_pd_Y.shape= (10000000, 1)\n"
]
}
],
"source": [
"cust_pd_Y = cust_pd[['IS_DEFAULT']]\n",
"cust_pd_X = cust_pd.drop(['IS_DEFAULT'],axis=1)\n",
"\n",
"print('cust_pd_X.shape=', cust_pd_X.shape, 'cust_pd_Y.shape=', cust_pd_Y.shape)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Transform Label"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" IS_DEFAULT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" No | \n",
"
\n",
" \n",
" 1 | \n",
" No | \n",
"
\n",
" \n",
" 2 | \n",
" No | \n",
"
\n",
" \n",
" 3 | \n",
" Yes | \n",
"
\n",
" \n",
" 4 | \n",
" No | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" IS_DEFAULT\n",
"0 No\n",
"1 No\n",
"2 No\n",
"3 Yes\n",
"4 No"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cust_pd_Y.head()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" IS_DEFAULT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" 0 | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" IS_DEFAULT\n",
"0 0\n",
"1 0\n",
"2 0\n",
"3 1\n",
"4 0"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"le = LabelEncoder()\n",
"cust_pd_Y['IS_DEFAULT'] = le.fit_transform(cust_pd_Y['IS_DEFAULT'])\n",
"cust_pd_Y.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Transform Features"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"features df shape = (10000000, 18)\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" EMI_TENURE | \n",
" CREDIT_HISTORY | \n",
" TRANSACTION_CATEGORY | \n",
" TRANSACTION_AMOUNT | \n",
" ACCOUNT_TYPE | \n",
" ACCOUNT_AGE | \n",
" STATE | \n",
" IS_URBAN | \n",
" IS_STATE_BORDER | \n",
" HAS_CO_APPLICANT | \n",
" HAS_GUARANTOR | \n",
" OWN_REAL_ESTATE | \n",
" OTHER_INSTALMENT_PLAN | \n",
" OWN_RESIDENCE | \n",
" NUMBER_CREDITS | \n",
" RFM_SCORE | \n",
" OWN_CAR | \n",
" SHIP_INTERNATIONAL | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 77 | \n",
" EXISTING CREDITS PAID BACK | \n",
" EDUCATION | \n",
" 27630 | \n",
" UNKNOWN/NONE | \n",
" above 7 YRS | \n",
" CT | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" NO | \n",
" 0 | \n",
" 4 | \n",
" NO | \n",
" NO | \n",
"
\n",
" \n",
" 1 | \n",
" 119 | \n",
" EXISTING CREDITS PAID BACK | \n",
" ELECTRONICS | \n",
" 31314 | \n",
" above 1000 K USD | \n",
" 4 to 7 YRS | \n",
" CT | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
"
\n",
" \n",
" 2 | \n",
" 84 | \n",
" EXISTING CREDITS PAID BACK | \n",
" FURNITURE | \n",
" 27630 | \n",
" above 1000 K USD | \n",
" 4 to 7 YRS | \n",
" PA | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
"
\n",
" \n",
" 3 | \n",
" 119 | \n",
" DELAY IN PAST | \n",
" FURNITURE | \n",
" 33156 | \n",
" above 1000 K USD | \n",
" up to 1 YR | \n",
" PA | \n",
" YES | \n",
" NO | \n",
" YES | \n",
" NO | \n",
" NO | \n",
" NO | \n",
" YES | \n",
" 0 | \n",
" 3 | \n",
" NO | \n",
" NO | \n",
"
\n",
" \n",
" 4 | \n",
" 105 | \n",
" DELAY IN PAST | \n",
" FURNITURE | \n",
" 23946 | \n",
" above 1000 K USD | \n",
" up to 1 YR | \n",
" CT | \n",
" NO | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" YES | \n",
" NO | \n",
" 0 | \n",
" 3 | \n",
" YES | \n",
" YES | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" EMI_TENURE CREDIT_HISTORY TRANSACTION_CATEGORY \\\n",
"0 77 EXISTING CREDITS PAID BACK EDUCATION \n",
"1 119 EXISTING CREDITS PAID BACK ELECTRONICS \n",
"2 84 EXISTING CREDITS PAID BACK FURNITURE \n",
"3 119 DELAY IN PAST FURNITURE \n",
"4 105 DELAY IN PAST FURNITURE \n",
"\n",
" TRANSACTION_AMOUNT ACCOUNT_TYPE ACCOUNT_AGE STATE IS_URBAN \\\n",
"0 27630 UNKNOWN/NONE above 7 YRS CT NO \n",
"1 31314 above 1000 K USD 4 to 7 YRS CT YES \n",
"2 27630 above 1000 K USD 4 to 7 YRS PA NO \n",
"3 33156 above 1000 K USD up to 1 YR PA YES \n",
"4 23946 above 1000 K USD up to 1 YR CT NO \n",
"\n",
" IS_STATE_BORDER HAS_CO_APPLICANT HAS_GUARANTOR OWN_REAL_ESTATE \\\n",
"0 YES YES YES NO \n",
"1 YES YES YES NO \n",
"2 NO YES YES YES \n",
"3 NO YES NO NO \n",
"4 YES YES YES YES \n",
"\n",
" OTHER_INSTALMENT_PLAN OWN_RESIDENCE NUMBER_CREDITS RFM_SCORE OWN_CAR \\\n",
"0 YES NO 0 4 NO \n",
"1 NO YES 0 3 YES \n",
"2 NO YES 0 3 YES \n",
"3 NO YES 0 3 NO \n",
"4 YES NO 0 3 YES \n",
"\n",
" SHIP_INTERNATIONAL \n",
"0 NO \n",
"1 YES \n",
"2 YES \n",
"3 NO \n",
"4 YES "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print('features df shape = ', cust_pd_X.shape)\n",
"cust_pd_X.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### One hot encoding for categorical Columns"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" EMI_TENURE | \n",
" TRANSACTION_AMOUNT | \n",
" NUMBER_CREDITS | \n",
" CREDIT_HISTORY_ALL CREDITS PAID BACK | \n",
" CREDIT_HISTORY_CRITICAL ACCOUNT | \n",
" CREDIT_HISTORY_DELAY IN PAST | \n",
" CREDIT_HISTORY_EXISTING CREDITS PAID BACK | \n",
" CREDIT_HISTORY_NONE TAKEN | \n",
" TRANSACTION_CATEGORY_EDUCATION | \n",
" TRANSACTION_CATEGORY_ELECTRONICS | \n",
" TRANSACTION_CATEGORY_FURNITURE | \n",
" TRANSACTION_CATEGORY_NEW CAR | \n",
" TRANSACTION_CATEGORY_OTHER | \n",
" TRANSACTION_CATEGORY_RETRAINING | \n",
" TRANSACTION_CATEGORY_USED CAR | \n",
" ACCOUNT_TYPE_100 to 500 K USD | \n",
" ACCOUNT_TYPE_500 to 1000 K USD | \n",
" ACCOUNT_TYPE_UNKNOWN/NONE | \n",
" ACCOUNT_TYPE_above 1000 K USD | \n",
" ACCOUNT_TYPE_up to 100 K USD | \n",
" ACCOUNT_AGE_1 to 4 YRS | \n",
" ACCOUNT_AGE_4 to 7 YRS | \n",
" ACCOUNT_AGE_TBD | \n",
" ACCOUNT_AGE_above 7 YRS | \n",
" ACCOUNT_AGE_up to 1 YR | \n",
" STATE_CT | \n",
" STATE_NJ | \n",
" STATE_NY | \n",
" STATE_PA | \n",
" IS_URBAN_NO | \n",
" IS_URBAN_YES | \n",
" IS_STATE_BORDER_NO | \n",
" IS_STATE_BORDER_YES | \n",
" HAS_CO_APPLICANT_NO | \n",
" HAS_CO_APPLICANT_YES | \n",
" HAS_GUARANTOR_NO | \n",
" HAS_GUARANTOR_YES | \n",
" OWN_REAL_ESTATE_NO | \n",
" OWN_REAL_ESTATE_YES | \n",
" OTHER_INSTALMENT_PLAN_NO | \n",
" OTHER_INSTALMENT_PLAN_YES | \n",
" OWN_RESIDENCE_NO | \n",
" OWN_RESIDENCE_YES | \n",
" RFM_SCORE_1 | \n",
" RFM_SCORE_2 | \n",
" RFM_SCORE_3 | \n",
" RFM_SCORE_4 | \n",
" OWN_CAR_NO | \n",
" OWN_CAR_YES | \n",
" SHIP_INTERNATIONAL_NO | \n",
" SHIP_INTERNATIONAL_YES | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 77 | \n",
" 27630 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" 119 | \n",
" 31314 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" 2 | \n",
" 84 | \n",
" 27630 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 119 | \n",
" 33156 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" 105 | \n",
" 23946 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" EMI_TENURE TRANSACTION_AMOUNT NUMBER_CREDITS \\\n",
"0 77 27630 0 \n",
"1 119 31314 0 \n",
"2 84 27630 0 \n",
"3 119 33156 0 \n",
"4 105 23946 0 \n",
"\n",
" CREDIT_HISTORY_ALL CREDITS PAID BACK CREDIT_HISTORY_CRITICAL ACCOUNT \\\n",
"0 0 0 \n",
"1 0 0 \n",
"2 0 0 \n",
"3 0 0 \n",
"4 0 0 \n",
"\n",
" CREDIT_HISTORY_DELAY IN PAST CREDIT_HISTORY_EXISTING CREDITS PAID BACK \\\n",
"0 0 1 \n",
"1 0 1 \n",
"2 0 1 \n",
"3 1 0 \n",
"4 1 0 \n",
"\n",
" CREDIT_HISTORY_NONE TAKEN TRANSACTION_CATEGORY_EDUCATION \\\n",
"0 0 1 \n",
"1 0 0 \n",
"2 0 0 \n",
"3 0 0 \n",
"4 0 0 \n",
"\n",
" TRANSACTION_CATEGORY_ELECTRONICS TRANSACTION_CATEGORY_FURNITURE \\\n",
"0 0 0 \n",
"1 1 0 \n",
"2 0 1 \n",
"3 0 1 \n",
"4 0 1 \n",
"\n",
" TRANSACTION_CATEGORY_NEW CAR TRANSACTION_CATEGORY_OTHER \\\n",
"0 0 0 \n",
"1 0 0 \n",
"2 0 0 \n",
"3 0 0 \n",
"4 0 0 \n",
"\n",
" TRANSACTION_CATEGORY_RETRAINING TRANSACTION_CATEGORY_USED CAR \\\n",
"0 0 0 \n",
"1 0 0 \n",
"2 0 0 \n",
"3 0 0 \n",
"4 0 0 \n",
"\n",
" ACCOUNT_TYPE_100 to 500 K USD ACCOUNT_TYPE_500 to 1000 K USD \\\n",
"0 0 0 \n",
"1 0 0 \n",
"2 0 0 \n",
"3 0 0 \n",
"4 0 0 \n",
"\n",
" ACCOUNT_TYPE_UNKNOWN/NONE ACCOUNT_TYPE_above 1000 K USD \\\n",
"0 1 0 \n",
"1 0 1 \n",
"2 0 1 \n",
"3 0 1 \n",
"4 0 1 \n",
"\n",
" ACCOUNT_TYPE_up to 100 K USD ACCOUNT_AGE_1 to 4 YRS \\\n",
"0 0 0 \n",
"1 0 0 \n",
"2 0 0 \n",
"3 0 0 \n",
"4 0 0 \n",
"\n",
" ACCOUNT_AGE_4 to 7 YRS ACCOUNT_AGE_TBD ACCOUNT_AGE_above 7 YRS \\\n",
"0 0 0 1 \n",
"1 1 0 0 \n",
"2 1 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" ACCOUNT_AGE_up to 1 YR STATE_CT STATE_NJ STATE_NY STATE_PA \\\n",
"0 0 1 0 0 0 \n",
"1 0 1 0 0 0 \n",
"2 0 0 0 0 1 \n",
"3 1 0 0 0 1 \n",
"4 1 1 0 0 0 \n",
"\n",
" IS_URBAN_NO IS_URBAN_YES IS_STATE_BORDER_NO IS_STATE_BORDER_YES \\\n",
"0 1 0 0 1 \n",
"1 0 1 0 1 \n",
"2 1 0 1 0 \n",
"3 0 1 1 0 \n",
"4 1 0 0 1 \n",
"\n",
" HAS_CO_APPLICANT_NO HAS_CO_APPLICANT_YES HAS_GUARANTOR_NO \\\n",
"0 0 1 0 \n",
"1 0 1 0 \n",
"2 0 1 0 \n",
"3 0 1 1 \n",
"4 0 1 0 \n",
"\n",
" HAS_GUARANTOR_YES OWN_REAL_ESTATE_NO OWN_REAL_ESTATE_YES \\\n",
"0 1 1 0 \n",
"1 1 1 0 \n",
"2 1 0 1 \n",
"3 0 1 0 \n",
"4 1 0 1 \n",
"\n",
" OTHER_INSTALMENT_PLAN_NO OTHER_INSTALMENT_PLAN_YES OWN_RESIDENCE_NO \\\n",
"0 0 1 1 \n",
"1 1 0 0 \n",
"2 1 0 0 \n",
"3 1 0 0 \n",
"4 0 1 1 \n",
"\n",
" OWN_RESIDENCE_YES RFM_SCORE_1 RFM_SCORE_2 RFM_SCORE_3 RFM_SCORE_4 \\\n",
"0 0 0 0 0 1 \n",
"1 1 0 0 1 0 \n",
"2 1 0 0 1 0 \n",
"3 1 0 0 1 0 \n",
"4 0 0 0 1 0 \n",
"\n",
" OWN_CAR_NO OWN_CAR_YES SHIP_INTERNATIONAL_NO SHIP_INTERNATIONAL_YES \n",
"0 1 0 1 0 \n",
"1 0 1 0 1 \n",
"2 0 1 0 1 \n",
"3 1 0 1 0 \n",
"4 0 1 0 1 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"categoricalColumns = ['CREDIT_HISTORY', 'TRANSACTION_CATEGORY', 'ACCOUNT_TYPE', 'ACCOUNT_AGE',\n",
" 'STATE', 'IS_URBAN', 'IS_STATE_BORDER', 'HAS_CO_APPLICANT', 'HAS_GUARANTOR',\n",
" 'OWN_REAL_ESTATE', 'OTHER_INSTALMENT_PLAN',\n",
" 'OWN_RESIDENCE', 'RFM_SCORE', 'OWN_CAR', 'SHIP_INTERNATIONAL']\n",
"cust_pd_X = pd.get_dummies(cust_pd_X, columns=categoricalColumns)\n",
"\n",
"cust_pd_X.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normalize Features"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" EMI_TENURE | \n",
" TRANSACTION_AMOUNT | \n",
" NUMBER_CREDITS | \n",
" CREDIT_HISTORY_ALL CREDITS PAID BACK | \n",
" CREDIT_HISTORY_CRITICAL ACCOUNT | \n",
" CREDIT_HISTORY_DELAY IN PAST | \n",
" CREDIT_HISTORY_EXISTING CREDITS PAID BACK | \n",
" CREDIT_HISTORY_NONE TAKEN | \n",
" TRANSACTION_CATEGORY_EDUCATION | \n",
" TRANSACTION_CATEGORY_ELECTRONICS | \n",
" TRANSACTION_CATEGORY_FURNITURE | \n",
" TRANSACTION_CATEGORY_NEW CAR | \n",
" TRANSACTION_CATEGORY_OTHER | \n",
" TRANSACTION_CATEGORY_RETRAINING | \n",
" TRANSACTION_CATEGORY_USED CAR | \n",
" ACCOUNT_TYPE_100 to 500 K USD | \n",
" ACCOUNT_TYPE_500 to 1000 K USD | \n",
" ACCOUNT_TYPE_UNKNOWN/NONE | \n",
" ACCOUNT_TYPE_above 1000 K USD | \n",
" ACCOUNT_TYPE_up to 100 K USD | \n",
" ACCOUNT_AGE_1 to 4 YRS | \n",
" ACCOUNT_AGE_4 to 7 YRS | \n",
" ACCOUNT_AGE_TBD | \n",
" ACCOUNT_AGE_above 7 YRS | \n",
" ACCOUNT_AGE_up to 1 YR | \n",
" STATE_CT | \n",
" STATE_NJ | \n",
" STATE_NY | \n",
" STATE_PA | \n",
" IS_URBAN_NO | \n",
" IS_URBAN_YES | \n",
" IS_STATE_BORDER_NO | \n",
" IS_STATE_BORDER_YES | \n",
" HAS_CO_APPLICANT_NO | \n",
" HAS_CO_APPLICANT_YES | \n",
" HAS_GUARANTOR_NO | \n",
" HAS_GUARANTOR_YES | \n",
" OWN_REAL_ESTATE_NO | \n",
" OWN_REAL_ESTATE_YES | \n",
" OTHER_INSTALMENT_PLAN_NO | \n",
" OTHER_INSTALMENT_PLAN_YES | \n",
" OWN_RESIDENCE_NO | \n",
" OWN_RESIDENCE_YES | \n",
" RFM_SCORE_1 | \n",
" RFM_SCORE_2 | \n",
" RFM_SCORE_3 | \n",
" RFM_SCORE_4 | \n",
" OWN_CAR_NO | \n",
" OWN_CAR_YES | \n",
" SHIP_INTERNATIONAL_NO | \n",
" SHIP_INTERNATIONAL_YES | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0.027542 | \n",
" 0.033533 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.062595 | \n",
" 0.0 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
" 0.062595 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.062595 | \n",
" 0.0 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
" 0.062595 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.062595 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.062595 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
" 0.062595 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 1 | \n",
" 0.041751 | \n",
" 0.037277 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.061398 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.0 | \n",
" 0.061398 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.061398 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.061398 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
" 0.000000 | \n",
" 0.061398 | \n",
"
\n",
" \n",
" 2 | \n",
" 0.029971 | \n",
" 0.033449 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.062439 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.062439 | \n",
" 0.062439 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.062439 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
" 0.062439 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.062439 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
" 0.000000 | \n",
" 0.062439 | \n",
"
\n",
" \n",
" 3 | \n",
" 0.041659 | \n",
" 0.039384 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.061264 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
" 0.061264 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 4 | \n",
" 0.037350 | \n",
" 0.028902 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.062250 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.062250 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.0 | \n",
" 0.062250 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.062250 | \n",
" 0.000000 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.062250 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
" 0.000000 | \n",
" 0.062250 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" EMI_TENURE TRANSACTION_AMOUNT NUMBER_CREDITS \\\n",
"0 0.027542 0.033533 0.0 \n",
"1 0.041751 0.037277 0.0 \n",
"2 0.029971 0.033449 0.0 \n",
"3 0.041659 0.039384 0.0 \n",
"4 0.037350 0.028902 0.0 \n",
"\n",
" CREDIT_HISTORY_ALL CREDITS PAID BACK CREDIT_HISTORY_CRITICAL ACCOUNT \\\n",
"0 0.0 0.0 \n",
"1 0.0 0.0 \n",
"2 0.0 0.0 \n",
"3 0.0 0.0 \n",
"4 0.0 0.0 \n",
"\n",
" CREDIT_HISTORY_DELAY IN PAST CREDIT_HISTORY_EXISTING CREDITS PAID BACK \\\n",
"0 0.000000 0.062595 \n",
"1 0.000000 0.061398 \n",
"2 0.000000 0.062439 \n",
"3 0.061264 0.000000 \n",
"4 0.062250 0.000000 \n",
"\n",
" CREDIT_HISTORY_NONE TAKEN TRANSACTION_CATEGORY_EDUCATION \\\n",
"0 0.0 0.062595 \n",
"1 0.0 0.000000 \n",
"2 0.0 0.000000 \n",
"3 0.0 0.000000 \n",
"4 0.0 0.000000 \n",
"\n",
" TRANSACTION_CATEGORY_ELECTRONICS TRANSACTION_CATEGORY_FURNITURE \\\n",
"0 0.000000 0.000000 \n",
"1 0.061398 0.000000 \n",
"2 0.000000 0.062439 \n",
"3 0.000000 0.061264 \n",
"4 0.000000 0.062250 \n",
"\n",
" TRANSACTION_CATEGORY_NEW CAR TRANSACTION_CATEGORY_OTHER \\\n",
"0 0.0 0.0 \n",
"1 0.0 0.0 \n",
"2 0.0 0.0 \n",
"3 0.0 0.0 \n",
"4 0.0 0.0 \n",
"\n",
" TRANSACTION_CATEGORY_RETRAINING TRANSACTION_CATEGORY_USED CAR \\\n",
"0 0.0 0.0 \n",
"1 0.0 0.0 \n",
"2 0.0 0.0 \n",
"3 0.0 0.0 \n",
"4 0.0 0.0 \n",
"\n",
" ACCOUNT_TYPE_100 to 500 K USD ACCOUNT_TYPE_500 to 1000 K USD \\\n",
"0 0.0 0.0 \n",
"1 0.0 0.0 \n",
"2 0.0 0.0 \n",
"3 0.0 0.0 \n",
"4 0.0 0.0 \n",
"\n",
" ACCOUNT_TYPE_UNKNOWN/NONE ACCOUNT_TYPE_above 1000 K USD \\\n",
"0 0.062595 0.000000 \n",
"1 0.000000 0.061398 \n",
"2 0.000000 0.062439 \n",
"3 0.000000 0.061264 \n",
"4 0.000000 0.062250 \n",
"\n",
" ACCOUNT_TYPE_up to 100 K USD ACCOUNT_AGE_1 to 4 YRS \\\n",
"0 0.0 0.0 \n",
"1 0.0 0.0 \n",
"2 0.0 0.0 \n",
"3 0.0 0.0 \n",
"4 0.0 0.0 \n",
"\n",
" ACCOUNT_AGE_4 to 7 YRS ACCOUNT_AGE_TBD ACCOUNT_AGE_above 7 YRS \\\n",
"0 0.000000 0.0 0.062595 \n",
"1 0.061398 0.0 0.000000 \n",
"2 0.062439 0.0 0.000000 \n",
"3 0.000000 0.0 0.000000 \n",
"4 0.000000 0.0 0.000000 \n",
"\n",
" ACCOUNT_AGE_up to 1 YR STATE_CT STATE_NJ STATE_NY STATE_PA \\\n",
"0 0.000000 0.062595 0.0 0.0 0.000000 \n",
"1 0.000000 0.061398 0.0 0.0 0.000000 \n",
"2 0.000000 0.000000 0.0 0.0 0.062439 \n",
"3 0.061264 0.000000 0.0 0.0 0.061264 \n",
"4 0.062250 0.062250 0.0 0.0 0.000000 \n",
"\n",
" IS_URBAN_NO IS_URBAN_YES IS_STATE_BORDER_NO IS_STATE_BORDER_YES \\\n",
"0 0.062595 0.000000 0.000000 0.062595 \n",
"1 0.000000 0.061398 0.000000 0.061398 \n",
"2 0.062439 0.000000 0.062439 0.000000 \n",
"3 0.000000 0.061264 0.061264 0.000000 \n",
"4 0.062250 0.000000 0.000000 0.062250 \n",
"\n",
" HAS_CO_APPLICANT_NO HAS_CO_APPLICANT_YES HAS_GUARANTOR_NO \\\n",
"0 0.0 0.062595 0.000000 \n",
"1 0.0 0.061398 0.000000 \n",
"2 0.0 0.062439 0.000000 \n",
"3 0.0 0.061264 0.061264 \n",
"4 0.0 0.062250 0.000000 \n",
"\n",
" HAS_GUARANTOR_YES OWN_REAL_ESTATE_NO OWN_REAL_ESTATE_YES \\\n",
"0 0.062595 0.062595 0.000000 \n",
"1 0.061398 0.061398 0.000000 \n",
"2 0.062439 0.000000 0.062439 \n",
"3 0.000000 0.061264 0.000000 \n",
"4 0.062250 0.000000 0.062250 \n",
"\n",
" OTHER_INSTALMENT_PLAN_NO OTHER_INSTALMENT_PLAN_YES OWN_RESIDENCE_NO \\\n",
"0 0.000000 0.062595 0.062595 \n",
"1 0.061398 0.000000 0.000000 \n",
"2 0.062439 0.000000 0.000000 \n",
"3 0.061264 0.000000 0.000000 \n",
"4 0.000000 0.062250 0.062250 \n",
"\n",
" OWN_RESIDENCE_YES RFM_SCORE_1 RFM_SCORE_2 RFM_SCORE_3 RFM_SCORE_4 \\\n",
"0 0.000000 0.0 0.0 0.000000 0.062595 \n",
"1 0.061398 0.0 0.0 0.061398 0.000000 \n",
"2 0.062439 0.0 0.0 0.062439 0.000000 \n",
"3 0.061264 0.0 0.0 0.061264 0.000000 \n",
"4 0.000000 0.0 0.0 0.062250 0.000000 \n",
"\n",
" OWN_CAR_NO OWN_CAR_YES SHIP_INTERNATIONAL_NO SHIP_INTERNATIONAL_YES \n",
"0 0.062595 0.000000 0.062595 0.000000 \n",
"1 0.000000 0.061398 0.000000 0.061398 \n",
"2 0.000000 0.062439 0.000000 0.062439 \n",
"3 0.061264 0.000000 0.061264 0.000000 \n",
"4 0.000000 0.062250 0.000000 0.062250 "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"min_max_scaler = MinMaxScaler()\n",
"features = min_max_scaler.fit_transform(cust_pd_X)\n",
"features = normalize(features, axis=1, norm='l1')\n",
"\n",
"cust_pd_X = pd.DataFrame(features,columns=cust_pd_X.columns)\n",
"cust_pd_X.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Split Train and Test Dataset"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"X_train.shape= (7000000, 51) Y_train.shape= (7000000, 1)\n",
"X_test.shape= (3000000, 51) Y_test.shape= (3000000, 1)\n"
]
}
],
"source": [
"label = cust_pd_Y.values\n",
"features = cust_pd_X.values\n",
"\n",
"label = np.reshape(label,(-1,1))\n",
"X_train,X_test,y_train,y_test = \\\n",
" train_test_split(features, label, test_size=0.3, random_state=42, stratify=label)\n",
"print('X_train.shape=', X_train.shape, 'Y_train.shape=', y_train.shape)\n",
"print('X_test.shape=', X_test.shape, 'Y_test.shape=', y_test.shape)\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Snapml Training"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"# Import the LogisticRegression from snap.ml\n",
"from snap_ml import LogisticRegression\n",
"snapml_lr = LogisticRegression(use_gpu=True, device_ids=[0,1], \n",
" max_iter=10, num_threads=1024)\n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[snap.ml] Training time (s): 3.23\n"
]
}
],
"source": [
"# Training\n",
"t0 = time.time()\n",
"snapml_lr.fit(X_train, y_train)\n",
"print(\"[snap.ml] Training time (s): {0:.2f}\".format(time.time()-t0))"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"snap ml accuracy score = 0.9598356666666666\n"
]
}
],
"source": [
"# Evaluate accuracy on test set\n",
"snapml_prediction = snapml_lr.predict(X_test)\n",
"print('snap ml accuracy score = ', accuracy_score(y_test, snapml_prediction))\n",
"\n",
"# proba_test = snapml_lr.predict_proba(X_test)\n",
"# from sklearn.metrics import log_loss\n",
"# logloss_snap = log_loss(y_test, proba_test)\n",
"# print(\"[snap.ml] Logarithmic loss: {0:.4f}\".format(logloss_snap))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# sklearn Train"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"# Import\n",
"from sklearn.linear_model import LogisticRegression\n",
"sklearn_lr = LogisticRegression(verbose=1)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[LibLinear][sklearn] Training time (s): 99.79876\n"
]
}
],
"source": [
"# TRAIN\n",
"t0 = time.time()\n",
"sklearn_lr.fit(X_train, y_train)\n",
"print(\"[sklearn] Training time (s): {0:.5f}\".format(time.time()-t0))\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sklearn ml accuracy score = 0.9598296666666667\n"
]
}
],
"source": [
"# Evaluate log-loss on test set\n",
"# proba_test = sklearn_lr.predict_proba(X_test)\n",
"# from sklearn.metrics import log_loss\n",
"# logloss_sklearn = log_loss(y_test, proba_test)\n",
"# print(\"[sklearn] Logarithmic loss: {0:.4f}\".format(logloss_sklearn))\n",
"sklearn_prediction = sklearn_lr.predict(X_test)\n",
"print('sklearn ml accuracy score = ', accuracy_score(y_test, sklearn_prediction))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"© Copyright IBM Corporation 2018, 2020"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.15"
}
},
"nbformat": 4,
"nbformat_minor": 2
}