{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## License \n", "\n", "Copyright 2017 - 2020 Patrick Hall and the H2O.ai team\n", "\n", "Licensed under the Apache License, Version 2.0 (the \"License\");\n", "you may not use this file except in compliance with the License.\n", "You may obtain a copy of the License at\n", "\n", " http://www.apache.org/licenses/LICENSE-2.0\n", "\n", "Unless required by applicable law or agreed to in writing, software\n", "distributed under the License is distributed on an \"AS IS\" BASIS,\n", "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "See the License for the specific language governing permissions and\n", "limitations under the License." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**DISCLAIMER:** This notebook is not legal compliance advice." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Testing machine learning models for accuracy, trustworthiness, and stability with Python and H2O\n", "#### Performing residual analysis and sensitivity analysis to validate complex models\n", "\n", "This notebook provides a basic introduction to two traditional data analysis and model diagnostic techniques that can be applied to machine learning models: residual analysis and sensitivity analysis. The notebook starts by loading the UCI credit card default dataset and using h2o to train a GBM model to predict credit card defaults. Then, residual analysis is used to discover and debug an issue with the GBM, and the GBM is retrained and improved. The notebook concludes by conducting sensitivity analysis to test the GBM credit card default model for fairness and stability. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Python imports\n", "In general, NumPy and Pandas will be used for data manipulation purposes and h2o will be used for modeling tasks. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# h2o Python API with specific classes\n", "import h2o \n", "from h2o.estimators.gbm import H2OGradientBoostingEstimator\n", "\n", "import numpy as np # array, vector, matrix calculations\n", "import pandas as pd # DataFrame handling\n", "\n", "pd.options.display.max_columns = 999 # enable display of all columns in notebook\n", "\n", "# plotting functionality\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "# display plots in notebook\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Start h2o\n", "H2o is both a library and a server. The machine learning algorithms in the library take advantage of the multithreaded and distributed architecture provided by the server to train machine learning algorithms extremely efficiently. The API for the library was imported above in cell 1, but the server still needs to be started." ] }, { "cell_type": "code", "execution_count": 2, "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 Version: java version \"1.8.0_201\"; Java(TM) SE Runtime Environment (build 1.8.0_201-b09); Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)\n", " Starting server from /home/patrickh/anaconda3/lib/python3.6/site-packages/h2o/backend/bin/h2o.jar\n", " Ice root: /tmp/tmpfq80fyby\n", " JVM stdout: /tmp/tmpfq80fyby/h2o_patrickh_started_from_python.out\n", " JVM stderr: /tmp/tmpfq80fyby/h2o_patrickh_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": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
H2O cluster uptime:01 secs
H2O cluster timezone:America/New_York
H2O data parsing timezone:UTC
H2O cluster version:3.26.0.3
H2O cluster version age:6 days
H2O cluster name:H2O_from_python_patrickh_ov75l0
H2O cluster total nodes:1
H2O cluster free memory:1.778 Gb
H2O cluster total cores:8
H2O cluster allowed cores:8
H2O cluster status:accepting new members, healthy
H2O connection url:http://127.0.0.1:54321
H2O connection proxy:None
H2O internal security:False
H2O API Extensions:Amazon S3, XGBoost, Algos, AutoML, Core V3, Core V4
Python version:3.6.4 final
" ], "text/plain": [ "-------------------------- ---------------------------------------------------\n", "H2O cluster uptime: 01 secs\n", "H2O cluster timezone: America/New_York\n", "H2O data parsing timezone: UTC\n", "H2O cluster version: 3.26.0.3\n", "H2O cluster version age: 6 days\n", "H2O cluster name: H2O_from_python_patrickh_ov75l0\n", "H2O cluster total nodes: 1\n", "H2O cluster free memory: 1.778 Gb\n", "H2O cluster total cores: 8\n", "H2O cluster allowed cores: 8\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: Amazon S3, XGBoost, Algos, AutoML, Core V3, Core V4\n", "Python version: 3.6.4 final\n", "-------------------------- ---------------------------------------------------" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "h2o.init(max_mem_size='2G') # start h2o\n", "h2o.remove_all() # remove any existing data structures from h2o memory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Download, explore, and prepare UCI credit card default data\n", "\n", "UCI credit card default data: https://archive.ics.uci.edu/ml/datasets/default+of+credit+card+clients\n", "\n", "The UCI credit card default data contains demographic and payment information about credit card customers in Taiwan in the year 2005. The data set contains 23 input variables: \n", "\n", "* **`LIMIT_BAL`**: Amount of given credit (NT dollar)\n", "* **`SEX`**: 1 = male; 2 = female\n", "* **`EDUCATION`**: 1 = graduate school; 2 = university; 3 = high school; 4 = others \n", "* **`MARRIAGE`**: 1 = married; 2 = single; 3 = others\n", "* **`AGE`**: Age in years \n", "* **`PAY_0`, `PAY_2` - `PAY_6`**: History of past payment; `PAY_0` = the repayment status in September, 2005; `PAY_2` = the repayment status in August, 2005; ...; `PAY_6` = the repayment status in April, 2005. The measurement scale for the repayment status is: -1 = pay duly; 1 = payment delay for one month; 2 = payment delay for two months; ...; 8 = payment delay for eight months; 9 = payment delay for nine months and above. \n", "* **`BILL_AMT1` - `BILL_AMT6`**: Amount of bill statement (NT dollar). `BILL_AMNT1` = amount of bill statement in September, 2005; `BILL_AMT2` = amount of bill statement in August, 2005; ...; `BILL_AMT6` = amount of bill statement in April, 2005. \n", "* **`PAY_AMT1` - `PAY_AMT6`**: Amount of previous payment (NT dollar). `PAY_AMT1` = amount paid in September, 2005; `PAY_AMT2` = amount paid in August, 2005; ...; `PAY_AMT6` = amount paid in April, 2005. \n", "\n", "These 23 input variables are used to predict the target variable, whether or not a customer defaulted on their credit card bill in late 2005.\n", "\n", "Because h2o accepts both numeric and character inputs, some variables will be recoded into more transparent character values." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Import data and clean\n", "The credit card default data is available as an `.xls` file. Pandas reads `.xls` files automatically, so it's used to load the credit card default data and give the prediction target a shorter name: `DEFAULT_NEXT_MONTH`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# import XLS file\n", "path = 'default_of_credit_card_clients.xls'\n", "data = pd.read_excel(path,\n", " skiprows=1)\n", "\n", "# remove spaces from target column name \n", "data = data.rename(columns={'default payment next month': 'DEFAULT_NEXT_MONTH'}) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Assign modeling roles\n", "The shorthand name `y` is assigned to the prediction target. `X` is assigned to all other input variables in the credit card default data except the row indentifier, `ID`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "y = DEFAULT_NEXT_MONTH\n", "X = ['LIMIT_BAL', 'SEX', 'EDUCATION', 'MARRIAGE', 'AGE', 'PAY_0', 'PAY_2', 'PAY_3', 'PAY_4', 'PAY_5', 'PAY_6', 'BILL_AMT1', 'BILL_AMT2', 'BILL_AMT3', 'BILL_AMT4', 'BILL_AMT5', 'BILL_AMT6', 'PAY_AMT1', 'PAY_AMT2', 'PAY_AMT3', 'PAY_AMT4', 'PAY_AMT5', 'PAY_AMT6']\n" ] } ], "source": [ "# assign target and inputs for GBM\n", "y = 'DEFAULT_NEXT_MONTH'\n", "X = [name for name in data.columns if name not in [y, 'ID']]\n", "print('y =', y)\n", "print('X =', X)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Helper function for recoding values in the UCI credict card default data\n", "This simple function maps longer, more understandable character string values from the UCI credit card default data dictionary to the original integer values of the input variables found in the dataset. These character values can be used directly in h2o decision tree models, and the function returns the original Pandas DataFrame as an h2o object, an H2OFrame. H2o models cannot run on Pandas DataFrames. They require H2OFrames." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parse progress: |█████████████████████████████████████████████████████████| 100%\n" ] } ], "source": [ "def recode_cc_data(frame):\n", " \n", " \"\"\" Recodes numeric categorical variables into categorical character variables\n", " with more transparent values. \n", " \n", " Args:\n", " frame: Pandas DataFrame version of UCI credit card default data.\n", " \n", " Returns: \n", " H2OFrame with recoded values.\n", " \n", " \"\"\"\n", " \n", " # define recoded values\n", " sex_dict = {1:'male', 2:'female'}\n", " education_dict = {0:'other', 1:'graduate school', 2:'university', 3:'high school', \n", " 4:'other', 5:'other', 6:'other'}\n", " marriage_dict = {0:'other', 1:'married', 2:'single', 3:'divorced'}\n", " pay_dict = {-2:'no consumption', -1:'pay duly', 0:'use of revolving credit', 1:'1 month delay', \n", " 2:'2 month delay', 3:'3 month delay', 4:'4 month delay', 5:'5 month delay', 6:'6 month delay', \n", " 7:'7 month delay', 8:'8 month delay', 9:'9+ month delay'}\n", " \n", " # recode values using Pandas apply() and anonymous function\n", " frame['SEX'] = frame['SEX'].apply(lambda i: sex_dict[i])\n", " frame['EDUCATION'] = frame['EDUCATION'].apply(lambda i: education_dict[i]) \n", " frame['MARRIAGE'] = frame['MARRIAGE'].apply(lambda i: marriage_dict[i]) \n", " for name in frame.columns:\n", " if name in ['PAY_0', 'PAY_2', 'PAY_3', 'PAY_4', 'PAY_5', 'PAY_6']:\n", " frame[name] = frame[name].apply(lambda i: pay_dict[i]) \n", " \n", " return h2o.H2OFrame(frame)\n", "\n", "data = recode_cc_data(data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Ensure target is handled as a categorical variable\n", "In h2o, a numeric variable can be treated as numeric or categorical. The target variable `DEFAULT_NEXT_MONTH` takes on values of `0` or `1`. To ensure this numeric variable is treated as a categorical variable, the `asfactor()` function is used to explicitly declare that it is a categorical variable. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "data[y] = data[y].asfactor() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Display descriptive statistics\n", "The h2o `describe()` function displays a brief description of the credit card default data. For the categorical input variables `LIMIT_BAL`, `SEX`, `EDUCATION`, `MARRIAGE`, and `PAY_0`-`PAY_6`, the new character values created above in cell 5 are visible. Basic descriptive statistics are displayed for numeric inputs." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Rows:30000\n", "Cols:25\n", "\n", "\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ID LIMIT_BAL SEX EDUCATION MARRIAGE AGE PAY_0 PAY_2 PAY_3 PAY_4 PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 PAY_AMT3 PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH
type int int enum enum enum int enum enum enum enum enum enum int int int int int int int int int int int int enum
mins 1.0 10000.0 21.0 -165580.0 -69777.0 -157264.0 -170000.0 -81334.0 -339603.0 0.0 0.0 0.0 0.0 0.0 0.0
mean 15000.5 167484.32266666688 35.48549999999994 51223.3309000000949179.0751666666847013.1547999997143262.9489666666 40311.4009666665338871.760399999915663.580500000014 5921.16350000001 5225.681500000005 4826.076866666661 4799.387633333302 5215.502566666664
maxs 30000.0 1000000.0 79.0 964511.0 983931.0 1664089.0 891586.0 927171.0 961664.0 873552.0 1684259.0 896040.0 621000.0 426529.0 528666.0
sigma 8660.398374208891129747.66156720225 9.21790406809016 73635.8605755295971173.7687825283669349.3874270368164332.8561339164160797.1557702648 59554.1075367457416563.28035402576323040.87040205722617606.96146980311515666.15974403199315278.30567914479317777.465775435332
zeros 0 0 0 2008 2506 2870 3195 3506 4020 5249 5396 5968 6408 6703 7173
missing0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1.0 20000.0 femaleuniversity married 24.0 2 month delay 2 month delay pay duly pay duly no consumption no consumption 3913.0 3102.0 689.0 0.0 0.0 0.0 0.0 689.0 0.0 0.0 0.0 0.0 1
1 2.0 120000.0 femaleuniversity single 26.0 pay duly 2 month delay use of revolving credituse of revolving credituse of revolving credit2 month delay 2682.0 1725.0 2682.0 3272.0 3455.0 3261.0 0.0 1000.0 1000.0 1000.0 0.0 2000.0 1
2 3.0 90000.0 femaleuniversity single 34.0 use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit29239.0 14027.0 13559.0 14331.0 14948.0 15549.0 1518.0 1500.0 1000.0 1000.0 1000.0 5000.0 0
3 4.0 50000.0 femaleuniversity married 37.0 use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit46990.0 48233.0 49291.0 28314.0 28959.0 29547.0 2000.0 2019.0 1200.0 1100.0 1069.0 1000.0 0
4 5.0 50000.0 male university married 57.0 pay duly use of revolving creditpay duly use of revolving credituse of revolving credituse of revolving credit8617.0 5670.0 35835.0 20940.0 19146.0 19131.0 2000.0 36681.0 10000.0 9000.0 689.0 679.0 0
5 6.0 50000.0 male graduate schoolsingle 37.0 use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit64400.0 57069.0 57608.0 19394.0 19619.0 20024.0 2500.0 1815.0 657.0 1000.0 1000.0 800.0 0
6 7.0 500000.0 male graduate schoolsingle 29.0 use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit367965.0 412023.0 445007.0 542653.0 483003.0 473944.0 55000.0 40000.0 38000.0 20239.0 13750.0 13770.0 0
7 8.0 100000.0 femaleuniversity single 23.0 use of revolving creditpay duly pay duly use of revolving credituse of revolving creditpay duly 11876.0 380.0 601.0 221.0 -159.0 567.0 380.0 601.0 0.0 581.0 1687.0 1542.0 0
8 9.0 140000.0 femalehigh school married 28.0 use of revolving credituse of revolving credit2 month delay use of revolving credituse of revolving credituse of revolving credit11285.0 14096.0 12108.0 12211.0 11793.0 3719.0 3329.0 0.0 432.0 1000.0 1000.0 1000.0 0
9 10.0 20000.0 male high school single 35.0 no consumption no consumption no consumption no consumption pay duly pay duly 0.0 0.0 0.0 0.0 13007.0 13912.0 0.0 0.0 0.0 13007.0 1122.0 0.0 0
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Train an H2O GBM classifier" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Split data into training and test sets for early stopping\n", "The credit card default data is split into training and test sets to monitor and prevent overtraining. Reproducibility is also important factor in creating trustworthy models, and randomly splitting datasets can introduce randomness in model predictions and other results. A random seed is used here to ensure the data split is reproducible." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train data rows = 21060, columns = 25\n", "Test data rows = 8940, columns = 25\n" ] } ], "source": [ "# split into training and validation\n", "train, test = data.split_frame([0.7], seed=12345)\n", "\n", "# summarize split\n", "print('Train data rows = %d, columns = %d' % (train.shape[0], train.shape[1]))\n", "print('Test data rows = %d, columns = %d' % (test.shape[0], test.shape[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Train h2o GBM classifier\n", "Many tuning parameters must be specified to train a GBM using h2o. Typically a grid search would be performed to identify the best parameters for a given modeling task using the `H2OGridSearch` class. For brevity's sake, a previously-discovered set of good tuning parameters are specified here. Because gradient boosting methods typically resample training data, an additional random seed is also specified for the h2o GBM using the `seed` parameter to create reproducible predictions, error rates, and variable importance values. To avoid overfitting, the `stopping_rounds` parameter is used to stop the training process after the test error fails to decrease for 5 iterations. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gbm Model Build progress: |███████████████████████████████████████████████| 100%\n", "GBM Test AUC = 0.7804\n" ] } ], "source": [ "# initialize GBM model\n", "model = H2OGradientBoostingEstimator(ntrees=150, # maximum 150 trees in GBM\n", " max_depth=4, # trees can have maximum depth of 4\n", " sample_rate=0.9, # use 90% of rows in each iteration (tree)\n", " col_sample_rate=0.9, # use 90% of variables in each iteration (tree)\n", " stopping_rounds=5, # stop if validation error does not decrease for 5 iterations (trees)\n", " seed=12345) # for reproducibility\n", "\n", "# train a GBM model\n", "model.train(y=y, x=X, training_frame=train, validation_frame=test)\n", "\n", "# print AUC\n", "print('GBM Test AUC = %.4f' % model.auc(valid=True))\n", "\n", "# uncomment to see model details\n", "# print(model) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Display variable importance\n", "During training, the h2o GBM aggregates the improvement in error caused by each split in each decision tree across all the decision trees in the ensemble classifier. These values are attributed to the input variable used in each split and give an indication of the contribution each input variable makes toward the model's predictions. The variable importance ranking should be parsimonious with human domain knowledge and reasonable expectations. In this case, a customer's most recent payment behavior, `PAY_0`, is by far the most important variable followed by their second most recent payment, `PAY_2`, their credit limit, `LIMIT_BAL`, and third most recent payment behavior, `PAY_3`. This result is well-aligned with business practices in credit lending: people who miss their most recent payments are likely to default soon." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.varimp_plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Conduct residual analysis to debug model\n", "Residuals refer to the difference between the recorded value of a dependent variable and the predicted value of a dependent variable for every row in a data set. Plotting the residual values against the predicted values is a time-honored model assessment technique and a great way to see all your modeling results in two dimensions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Bind model predictions onto test data \n", "To calculate the residuals for our GBM model, first the model predictions are merged onto onto the test set. The test data is used here to see how the model behaves on holdout data, which should be closer to its behavior on new data than analyzing residuals for the training inputs and predictions." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gbm prediction progress: |████████████████████████████████████████████████| 100%\n" ] } ], "source": [ "yhat = 'p_DEFAULT_NEXT_MONTH'\n", "preds1 = model.predict(test).drop(['predict', 'p0'])\n", "preds1.columns = [yhat]\n", "test_yhat = test.cbind(preds1[yhat])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Calculate deviance residuals for binomial classification\n", "For binomial classification, deviance residuals are related to the logloss cost function. Like analyzing $y - \\hat{y}$ for linear regression, these residuals are the quantities that the GBM sought to minimize. Deviance residual values are calculated by applying the simple formula in the cell directly below." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# use Pandas for adding columns and plotting\n", "test_yhat = test_yhat.as_data_frame()\n", "test_yhat['s'] = 1\n", "test_yhat.loc[test_yhat['DEFAULT_NEXT_MONTH'] == 0, 's'] = -1\n", "test_yhat['r_DEFAULT_NEXT_MONTH'] = test_yhat['s'] * np.sqrt(-2*(test_yhat[y]*np.log(test_yhat[yhat]) +\n", " ((1 - test_yhat[y])*np.log(1 - test_yhat[yhat]))))\n", "test_yhat = test_yhat.drop('s', axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot residuals\n", "Plotting residuals is a model debugging and diagnostic tool that enables users to see modeling results, and any anomolies, in a single two-dimensional plot. Here the green points represent customers who defaulted, and the blue points represent customers who did not. A few potential outliers are visible. There appear to be several cases in the test data with relatively large negative residuals. Understanding and addressing the factors that cause these outliers could lead to a more acccurate model." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAHkCAYAAADIAN0RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xl4lOXd9vHvNdlZkrAEVAZBKopCFSVxg7ovUENdEBWrLVjbt62IFFuEKlDiUnGhxa3WqtBW5REXao0irbuiloBiBUHQAjKgEJCEEMh+vX9cTDaSzGRyT9bz0yNHJrPc9y/HI8+ZazfWWkRERKRt87V0ASIiItJ0CnQREZF2QIEuIiLSDijQRURE2gEFuoiISDugQBcREWkHFOgiIiLtgAJdRESkHVCgi4iItAOxLV1AY/Xs2dP279+/pcsQERFpFitXrtxprU0L9b42F+j9+/dnxYoVLV2GiIhIszDGbA7nfepyFxERaQcU6CIiIu2AAl1ERKQdaHNj6CIiTVFaWkogEKCoqKilSxGpITExEb/fT1xcXESfV6CLSIcSCATo2rUr/fv3xxjT0uWIAGCtZdeuXQQCAY444oiIrqEudxHpUIqKiujRo4fCXFoVYww9evRoUs+RAl1EOhyFubRGTf3vUoEuIiLSDijQRURE2gEFuohIAwIBWLwYHn3UfQ8Emn7NmJgYhg4dyuDBgzn++OO57777qKioAOCtt94iJSWFoUOHVn699tprNT4X/Nq0aVPlNSdPnkyfPn0qrwPwu9/9jnvvvbfGvfv378/OnTsB6NKlS43XsrKyKq9d/V4PPfRQnb/HrbfeSpcuXSqvV/2aZWVlB9V7zz33UFZWxtChQ1m2bFnlZ84++2wWL15Meno6Q4cO5fDDDyctLa3yc1u2bKnz/n6/n7POOqvGc0OGDGHo0KGVP7/zzjtkZGQwaNAgBg0axOOPPx6y/h07dlTe+5BDDqFPnz6VPxcXF5Oamlrjno899hiTJ0+us8bqHn/8cQYOHMjAgQN58sknQ76/sTTLXUSkHoEAvPgipKZC796wd6/7+aKLwO+P/LpJSUmsWrUKgB07dnDVVVexZ88eZs+eDcD3vvc9srOzG/xcdRUVFSxevJi+ffvy9ttvHxRy4Zo5cyYzZ86krKyMnj171nmv2rp3784f/vAH7rjjjoNe69q1a53XeOihh7j++utZsWIFCxcupFOnTlxyySVccsklgAvI1atX88c//jHk/fPy8ti2bRuHHXYYn376KbGxVbG2bds2rr76av75z38ydOhQcnNzOf/88+nTpw8jR46st/5evXpV1n3rrbfSs2fPysAuKysLWVNddu7cyR133MFHH31EeXk56enpjB49mpSUlIiuVxe10EVE6pGT48I8ORl8Pvc9NdU975VevXrx6KOP8uCDD2Ktjegab731FoMHD+YXv/gFCxcu9K64MFx33XU89dRT5Ofnh/2Z4cOHM2zYMGbPns2MGTO4//77I77/2LFjWbRoEQALFy5k3Lhxla898MADXHfddZUt9rS0NO666y7mzJnTpPojsWTJEkaNGkVqaio9evTg7LPP5l//+pen91Cgi4jUIzcXavVK06WLe95LAwYMoLy8nB07dgDw7rvv1uiq/vLLLwHYv39/5XPB1ixUBdkll1zCyy+/TGlpqbcFNiA5OZkf/ehHdYZyQUFBjd/jueeeq3xtzpw53Hvvvfz4xz9mwIABEd9/7Nixldd9+eWXufDCCytfW7NmDcOGDavx/vT0dNasWRNW/fWp/XtlZWVVvrZ48eIaPwdt3bqVvn37Vv7s9/vZunVr2PcMh7rcRUTqkZbmutmTk6ue27vXPR9NjelyLykp4ZVXXmHu3Ll07dqVk08+maVLl5KZmVnvMiivl+1NnjyZE088kV/96lc1nq+vyx1cr0K3bt1YvXp1k+6dlpZG586d+b//+z+OP/54EhMTG32N+uqvT+3fKzhEANQYOmhuaqGLiNQjIwPy8mDPHqiocN/z8tzzXvrf//5HTEwMvXr1avRnly5dSl5eHt/97nfp378/7733XmW3e48ePdi9e3eN9xcUFBw0qaupunfvzuWXX84jjzwS1vv37t3LtGnTePvtt9myZQtLly5t0v2vuOIKrr/++hrd7QDHHnssK1eurPHcypUrGTx4cJPqj0SfPn1qTO4LBAL06dPH03so0A8I5AdYvHYxj654lMVrFxPI92Aqq4i0aX6/mwDXqRNs3+6+N3VCXG25ubn8/Oc/Z+LEiRG1nBcuXMhjjz3Gpk2b2LRpExs3buTf//43+/bt4/TTT+ef//wnBQUFALzwwgscf/zxxMTEePcLHHDTTTfx8MMP15hlX59Zs2Zx9dVX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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "groups = test_yhat.groupby('DEFAULT_NEXT_MONTH') # define groups\n", "fig, ax_ = plt.subplots(figsize=(8, 8)) # initialize figure\n", "\n", "plt.xlabel('Predicted: DEFAULT_NEXT_MONTH')\n", "plt.ylabel('Residual: DEFAULT_NEXT_MONTH')\n", "\n", "# plot groups with appropriate color\n", "color_list = ['b', 'g'] \n", "c_idx = 0\n", "for name, group in groups:\n", " ax_.plot(group.p_DEFAULT_NEXT_MONTH, group.r_DEFAULT_NEXT_MONTH, label=' '.join(['DEFAULT_NEXT_MONTH:', str(name)]),\n", " marker='o', linestyle='', color=color_list[c_idx], alpha=0.3)\n", " c_idx += 1\n", "\n", "_ = ax_.legend(loc=1) # legend" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Sort data by residuals and display data and residuals\n", "Printing a table with model inputs, actual target values, and model predictions sorted by residuals is another simple way to analyze residuals. Customers that defaulted, but were predicted not to, are listed at the top of the table below. Scroll to the bottom of the table to see the customers who were predicted to default, but then did not. Also notice the jumps in residual values. These are the potential outliers pictured in the residual plot above. " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IDLIMIT_BALSEXEDUCATIONMARRIAGEAGEPAY_0PAY_2PAY_3PAY_4PAY_5PAY_6BILL_AMT1BILL_AMT2BILL_AMT3BILL_AMT4BILL_AMT5BILL_AMT6PAY_AMT1PAY_AMT2PAY_AMT3PAY_AMT4PAY_AMT5PAY_AMT6DEFAULT_NEXT_MONTHp_DEFAULT_NEXT_MONTHr_DEFAULT_NEXT_MONTH
02561310000femalegraduate schoolsingle32no consumptionno consumptionno consumptionno consumptionno consumptionno consumption201388267659938543169575082676600885431695750735010.0458372.483007
13016350000malegraduate schoolmarried38no consumptionno consumptionpay dulyuse of revolving credituse of revolving creditno consumption1645941204416435233884992494144743088499241082410.0502302.445869
211462210000femalegraduate schoolsingle46pay dulypay dulypay dulyuse of revolving credituse of revolving creditpay duly1565539182988124247216641556485430366043315561404710.0505272.443456
325772350000femalegraduate schoolmarried33use of revolving creditpay dulypay dulypay dulypay dulypay duly82964685321792617966307413108868940180181805830897312448846110.0515032.435615
46933500000malegraduate schoolsingle37pay dulypay dulypay dulypay dulypay dulypay duly4331604463059215416713410254266044630594150843163881254263952610.0517172.433910
522505260000femaleuniversitysingle33pay dulypay dulypay dulypay dulypay dulyuse of revolving credit518812357286567497768515434130002902275002776912000620010.0530612.423347
622751350000femalegraduate schoolmarried32pay dulypay dulyno consumptionno consumptionno consumptionno consumption3062560003714799502211748746039671479950221174874010.0566502.396193
713381400000femaleuniversitysingle35use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit10994322208522335021383121056321192512001810071803780188809502210.0587532.380929
819530350000femaleuniversitymarried36use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit21026355883800240357436635273515000300030004000100002500010.0589112.379801
915549450000maleuniversitysingle36no consumptionno consumptionno consumptionno consumptionno consumptionno consumption80124009522647153275642240215241472932846441428510.0590602.378739
1025692330000femalegraduate schoolsingle42no consumptionno consumptionno consumptionno consumptionno consumptionno consumption56520650153600129231816206501536001292318161705010.0590892.378531
11971300000malegraduate schoolmarried42pay dulyuse of revolving credituse of revolving creditpay dulyuse of revolving credituse of revolving credit1197361834251453766619453104922097950003767688082000270910.0607452.366883
1222390310000femalegraduate schoolmarried32use of revolving creditpay dulyuse of revolving credituse of revolving credituse of revolving credituse of revolving credit4762269437488102769605964342694350006000930003000500010.0615222.361507
136854290000malehigh schoolsingle34use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit545162301408021433541462251488201200135000520055005500540010.0619002.358911
148959340000malegraduate schoolsingle44use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit8305985634739505932415609411023420000500020001120004234400010.0619352.358675
151980500000femalegraduate schoolmarried35use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit351763619344157483222159313866250410004517810472019100410.0620272.358041
1618899140000femaleothersingle28use of revolving credituse of revolving creditpay dulyuse of revolving credituse of revolving credituse of revolving credit108018650063271384851404921410061000632713500047005000500010.0631402.350490
172302230000femalegraduate schoolmarried30pay dulypay dulyuse of revolving credituse of revolving credituse of revolving credituse of revolving credit221217402324501728597669981174022001334650008000500010.0633862.348836
18523360000malegraduate schoolsingle28pay dulypay dulypay dulyuse of revolving credituse of revolving creditpay duly12108206464412598410658412555739075720625201700013220016700010.0636292.347206
1911745220000malegraduate schoolsingle51pay dulypay dulypay dulypay dulypay dulypay duly20730-27053895-1052089520835054165021000209403346010.0638132.345973
208339480000malegraduate schoolmarried58no consumptionno consumptionno consumptionno consumptionno consumptionno consumption24610-3101485441879159096898841496541888559406933720065510.0638602.345661
2122712320000femalehigh schoolmarried35use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit15724914812314285213358312904912832560006048600050005000500010.0653162.336031
2226005320000femaleuniversitymarried35pay dulypay dulypay dulypay dulyuse of revolving credituse of revolving credit2276662611131138241799215250662612446177466000574992810.0654422.335207
2313797390000malegraduate schoolmarried36no consumptionno consumptionno consumptionno consumptionpay dulypay duly393136251600381583304765362516003315116454765217110.0656572.333801
2410147450000femalegraduate schoolmarried46pay dulypay dulypay dulypay dulypay dulypay duly282053760414823126909418937934148231269094189153910.0657322.333313
251199340000femalehigh schoolsingle44use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit14283614512514668215040714786814934970005500602753285390604710.0657562.333153
2610754160000femaleuniversitymarried31use of revolving credituse of revolving credituse of revolving creditpay dulypay dulyuse of revolving credit42781427744181774955721057323002300749557255731379310.0665222.328184
2725816350000femaleuniversitymarried47use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit97500842028293380501790388069430102970288628242925298710.0665852.327775
2812668210000femalegraduate schoolmarried37use of revolving credituse of revolving creditpay dulypay dulypay dulypay duly2454748302454930857300658345199098308573006583506010.0669602.325363
2915482150000malegraduate schoolmarried37no consumptionno consumptionno consumptionno consumptionno consumptionno consumption2210910876102685872306821811094310273597830682181324210.0679852.318820
....................................................................................
8910286550000femaleuniversitymarried462 month delay2 month delay2 month delay2 month delay2 month delay2 month delay28390296393085430062327053351920002000033001500000.772660-1.721227
89118115120000femaleuniversitysingle263 month delay3 month delay2 month delay2 month delay3 month delay2 month delay1203412548120561395813468614410000240010005725800.772848-1.721707
891213422100000femalegraduate schoolsingle292 month delay2 month delay2 month delay2 month delay2 month delay2 month delay74032755577643474611792928094533002700059003100000.774303-1.725433
89131284690000maleuniversitymarried422 month delay2 month delay2 month delay2 month delay2 month delayuse of revolving credit95773954899468193965905459052940003500350003500420000.775734-1.729118
89141629140000femalehigh schoolmarried312 month delay2 month delay2 month delay2 month delay2 month delay2 month delay89910925889193694623949529523450001800500019004700000.776880-1.732076
8915424990000malehigh schoolmarried422 month delay2 month delay2 month delay3 month delay3 month delay3 month delay48674498955257053614545345337423004116250020520000.779941-1.740033
89169756140000malegraduate schoolmarried312 month delayuse of revolving credituse of revolving credit2 month delay2 month delay2 month delay51028521125523255932549105734425004600220003513300000.780607-1.741776
89172721560000maleuniversitymarried352 month delay2 month delay2 month delay2 month delay2 month delay2 month delay2019521267213322168023011234981700700100020001000000.781268-1.743508
89185986100000malehigh schoolmarried442 month delay2 month delay2 month delay2 month delay2 month delay2 month delay30076312873167632259316083352420001200140002600000.784777-1.752759
89191518630000femalegraduate schoolsingle252 month delay2 month delay2 month delay2 month delay2 month delay2 month delay75939634447688308153642223797700213155100.787675-1.760476
8920297430000femaleuniversitymarried242 month delay2 month delay2 month delay2 month delay2 month delay2 month delay1501501501501503000000150000.793444-1.776054
89211078580000femaleuniversitymarried332 month delay2 month delay2 month delay2 month delay2 month delay2 month delay53843559335657557303585935973835002100220023002200210000.794019-1.777621
892213290230000femalegraduate schoolmarried342 month delay2 month delay2 month delay2 month delay2 month delay2 month delay19078419572419870720163420594921007793007500750075007500760000.796132-1.783414
89232725580000malegraduate schoolmarried462 month delay2 month delay2 month delay2 month delay2 month delay2 month delay40509405514259243296438924306010003000170016000350000.797857-1.788172
89241770360000femaleuniversitymarried352 month delay2 month delay2 month delay2 month delay2 month delay2 month delay31675601536667726515790625000150001500000.802237-1.800380
89251381140000malegraduate schoolmarried472 month delay2 month delay2 month delay2 month delay2 month delay2 month delay11084126051310212595143861400520001000020000200000.805651-1.810028
89261692050000malehigh schoolmarried522 month delay2 month delay2 month delay2 month delay4 month delay3 month delay36428375303863041774408064135720002000408601500100000.807385-1.814973
89271774830000femalehigh schoolmarried542 month delay2 month delay2 month delay2 month delay4 month delay3 month delay22147247702606828842280942736130002000350000100000.812416-1.829496
89281865940000femaleuniversitymarried282 month delay2 month delay3 month delay2 month delay2 month delay2 month delay31131338153300232173346293394035000030000200000.814786-1.836434
892926565200000femalehigh schoolmarried552 month delay2 month delay3 month delay2 month delay2 month delay2 month delay15901716269716314316190616580716959991594842300080007000300000.815782-1.839367
893021098200000malegraduate schoolmarried422 month delay2 month delay2 month delay2 month delay2 month delay2 month delay16828917200117528117789518007818404880007500700066007000710000.816460-1.841371
8931706890000femalegraduate schoolsingle302 month delay2 month delay3 month delay3 month delay3 month delay3 month delay7507507507502450215000020000000.825031-1.867161
8932308730000femaleuniversitysingle242 month delay2 month delay7 month delay7 month delay7 month delay7 month delay30030030030030030000000000.825105-1.867387
893314589280000malegraduate schoolmarried503 month delay5 month delay4 month delay3 month delay2 month delayuse of revolving credit3279183214763149311764391540101343340050006267225700.832569-1.890599
893416957270000malegraduate schoolmarried502 month delay4 month delay3 month delay3 month delay2 month delay2 month delay213616208784212058207226202394231339080000032236300000.841972-1.920928
89352950520000maleuniversitymarried401 month delay2 month delay3 month delay2 month delay3 month delay3 month delay148291726716706186941904918459300002560955066100.852781-1.957464
893619316110000femalegraduate schoolmarried413 month delay2 month delay2 month delay7 month delay7 month delay7 month delay15015015015015015000000000.866568-2.007067
893722725100000femaleuniversitymarried383 month delay2 month delay2 month delay3 month delay3 month delay3 month delay75075075075075075000000150000.869051-2.016405
89389672170000malegraduate schoolsingle482 month delay2 month delay7 month delay7 month delay7 month delay7 month delay24002400240024002400240000000000.874018-2.035492
89395916110000femalegraduate schoolmarried412 month delay2 month delay7 month delay7 month delay7 month delay7 month delay15015015015015015000000000.886468-2.085985
\n", "

8940 rows × 27 columns

\n", "
" ], "text/plain": [ " ID LIMIT_BAL SEX EDUCATION MARRIAGE AGE \\\n", "0 2561 310000 female graduate school single 32 \n", "1 3016 350000 male graduate school married 38 \n", "2 11462 210000 female graduate school single 46 \n", "3 25772 350000 female graduate school married 33 \n", "4 6933 500000 male graduate school single 37 \n", "5 22505 260000 female university single 33 \n", "6 22751 350000 female graduate school married 32 \n", "7 13381 400000 female university single 35 \n", "8 19530 350000 female university married 36 \n", "9 15549 450000 male university single 36 \n", "10 25692 330000 female graduate school single 42 \n", "11 971 300000 male graduate school married 42 \n", "12 22390 310000 female graduate school married 32 \n", "13 6854 290000 male high school single 34 \n", "14 8959 340000 male graduate school single 44 \n", "15 1980 500000 female graduate school married 35 \n", "16 18899 140000 female other single 28 \n", "17 2302 230000 female graduate school married 30 \n", "18 523 360000 male graduate school single 28 \n", "19 11745 220000 male graduate school single 51 \n", "20 8339 480000 male graduate school married 58 \n", "21 22712 320000 female high school married 35 \n", "22 26005 320000 female university married 35 \n", "23 13797 390000 male graduate school married 36 \n", "24 10147 450000 female graduate school married 46 \n", "25 1199 340000 female high school single 44 \n", "26 10754 160000 female university married 31 \n", "27 25816 350000 female university married 47 \n", "28 12668 210000 female graduate school married 37 \n", "29 15482 150000 male graduate school married 37 \n", "... ... ... ... ... ... ... \n", "8910 2865 50000 female university married 46 \n", "8911 8115 120000 female university single 26 \n", "8912 13422 100000 female graduate school single 29 \n", "8913 12846 90000 male university married 42 \n", "8914 1629 140000 female high school married 31 \n", "8915 4249 90000 male high school married 42 \n", "8916 9756 140000 male graduate school married 31 \n", "8917 27215 60000 male university married 35 \n", "8918 5986 100000 male high school married 44 \n", "8919 15186 30000 female graduate school single 25 \n", "8920 2974 30000 female university married 24 \n", "8921 10785 80000 female university married 33 \n", "8922 13290 230000 female graduate school married 34 \n", "8923 27255 80000 male graduate school married 46 \n", "8924 17703 60000 female university married 35 \n", "8925 13811 40000 male graduate school married 47 \n", "8926 16920 50000 male high school married 52 \n", "8927 17748 30000 female high school married 54 \n", "8928 18659 40000 female university married 28 \n", "8929 26565 200000 female high school married 55 \n", "8930 21098 200000 male graduate school married 42 \n", "8931 7068 90000 female graduate school single 30 \n", "8932 3087 30000 female university single 24 \n", "8933 14589 280000 male graduate school married 50 \n", "8934 16957 270000 male graduate school married 50 \n", "8935 29505 20000 male university married 40 \n", "8936 19316 110000 female graduate school married 41 \n", "8937 22725 100000 female university married 38 \n", "8938 9672 170000 male graduate school single 48 \n", "8939 5916 110000 female graduate school married 41 \n", "\n", " PAY_0 PAY_2 \\\n", "0 no consumption no consumption \n", "1 no consumption no consumption \n", "2 pay duly pay duly \n", "3 use of revolving credit pay duly \n", "4 pay duly pay duly \n", "5 pay duly pay duly \n", "6 pay duly pay duly \n", "7 use of revolving credit use of revolving credit \n", "8 use of revolving credit use of revolving credit \n", "9 no consumption no consumption \n", "10 no consumption no consumption \n", "11 pay duly use of revolving credit \n", "12 use of revolving credit pay duly \n", "13 use of revolving credit use of revolving credit \n", "14 use of revolving credit use of revolving credit \n", "15 use of revolving credit use of revolving credit \n", "16 use of revolving credit use of revolving credit \n", "17 pay duly pay duly \n", "18 pay duly pay duly \n", "19 pay duly pay duly \n", "20 no consumption no consumption \n", "21 use of revolving credit use of revolving credit \n", "22 pay duly pay duly \n", "23 no consumption no consumption \n", "24 pay duly pay duly \n", "25 use of revolving credit use of revolving credit \n", "26 use of revolving credit use of revolving credit \n", "27 use of revolving credit use of revolving credit \n", "28 use of revolving credit use of revolving credit \n", "29 no consumption no consumption \n", "... ... ... \n", "8910 2 month delay 2 month delay \n", "8911 3 month delay 3 month delay \n", "8912 2 month delay 2 month delay \n", "8913 2 month delay 2 month delay \n", "8914 2 month delay 2 month delay \n", "8915 2 month delay 2 month delay \n", "8916 2 month delay use of revolving credit \n", "8917 2 month delay 2 month delay \n", "8918 2 month delay 2 month delay \n", "8919 2 month delay 2 month delay \n", "8920 2 month delay 2 month delay \n", "8921 2 month delay 2 month delay \n", "8922 2 month delay 2 month delay \n", "8923 2 month delay 2 month delay \n", "8924 2 month delay 2 month delay \n", "8925 2 month delay 2 month delay \n", "8926 2 month delay 2 month delay \n", "8927 2 month delay 2 month delay \n", "8928 2 month delay 2 month delay \n", "8929 2 month delay 2 month delay \n", "8930 2 month delay 2 month delay \n", "8931 2 month delay 2 month delay \n", "8932 2 month delay 2 month delay \n", "8933 3 month delay 5 month delay \n", "8934 2 month delay 4 month delay \n", "8935 1 month delay 2 month delay \n", "8936 3 month delay 2 month delay \n", "8937 3 month delay 2 month delay \n", "8938 2 month delay 2 month delay \n", "8939 2 month delay 2 month delay \n", "\n", " PAY_3 PAY_4 \\\n", "0 no consumption no consumption \n", "1 pay duly use of revolving credit \n", "2 pay duly use of revolving credit \n", "3 pay duly pay duly \n", "4 pay duly pay duly \n", "5 pay duly pay duly \n", "6 no consumption no consumption \n", "7 use of revolving credit use of revolving credit \n", "8 use of revolving credit use of revolving credit \n", "9 no consumption no consumption \n", "10 no consumption no consumption \n", "11 use of revolving credit pay duly \n", "12 use of revolving credit use of revolving credit \n", "13 use of revolving credit use of revolving credit \n", "14 use of revolving credit use of revolving credit \n", "15 use of revolving credit use of revolving credit \n", "16 pay duly use of revolving credit \n", "17 use of revolving credit use of revolving credit \n", "18 pay duly use of revolving credit \n", "19 pay duly pay duly \n", "20 no consumption no consumption \n", "21 use of revolving credit use of revolving credit \n", "22 pay duly pay duly \n", "23 no consumption no consumption \n", "24 pay duly pay duly \n", "25 use of revolving credit use of revolving credit \n", "26 use of revolving credit pay duly \n", "27 use of revolving credit use of revolving credit \n", "28 pay duly pay duly \n", "29 no consumption no consumption \n", "... ... ... \n", "8910 2 month delay 2 month delay \n", "8911 2 month delay 2 month delay \n", "8912 2 month delay 2 month delay \n", "8913 2 month delay 2 month delay \n", "8914 2 month delay 2 month delay \n", "8915 2 month delay 3 month delay \n", "8916 use of revolving credit 2 month delay \n", "8917 2 month delay 2 month delay \n", "8918 2 month delay 2 month delay \n", "8919 2 month delay 2 month delay \n", "8920 2 month delay 2 month delay \n", "8921 2 month delay 2 month delay \n", "8922 2 month delay 2 month delay \n", "8923 2 month delay 2 month delay \n", "8924 2 month delay 2 month delay \n", "8925 2 month delay 2 month delay \n", "8926 2 month delay 2 month delay \n", "8927 2 month delay 2 month delay \n", "8928 3 month delay 2 month delay \n", "8929 3 month delay 2 month delay \n", "8930 2 month delay 2 month delay \n", "8931 3 month delay 3 month delay \n", "8932 7 month delay 7 month delay \n", "8933 4 month delay 3 month delay \n", "8934 3 month delay 3 month delay \n", "8935 3 month delay 2 month delay \n", "8936 2 month delay 7 month delay \n", "8937 2 month delay 3 month delay \n", "8938 7 month delay 7 month delay \n", "8939 7 month delay 7 month delay \n", "\n", " PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 \\\n", "0 no consumption no consumption 20138 8267 \n", "1 use of revolving credit no consumption 16459 4120 \n", "2 use of revolving credit pay duly 15655 3918 \n", "3 pay duly pay duly 82964 68532 \n", "4 pay duly pay duly 4331 60446 \n", "5 pay duly use of revolving credit 5188 12357 \n", "6 no consumption no consumption 30625 60003 \n", "7 use of revolving credit use of revolving credit 109943 222085 \n", "8 use of revolving credit use of revolving credit 21026 35588 \n", "9 no consumption no consumption 8012 4009 \n", "10 no consumption no consumption 565 20650 \n", "11 use of revolving credit use of revolving credit 11973 61834 \n", "12 use of revolving credit use of revolving credit 4762 26943 \n", "13 use of revolving credit use of revolving credit 5451 6230 \n", "14 use of revolving credit use of revolving credit 83059 85634 \n", "15 use of revolving credit use of revolving credit 35176 36193 \n", "16 use of revolving credit use of revolving credit 108018 6500 \n", "17 use of revolving credit use of revolving credit 2212 17402 \n", "18 use of revolving credit pay duly 1210 820 \n", "19 pay duly pay duly 20730 -270 \n", "20 no consumption no consumption 24610 -310 \n", "21 use of revolving credit use of revolving credit 157249 148123 \n", "22 use of revolving credit use of revolving credit 2276 6626 \n", "23 pay duly pay duly 3931 3625 \n", "24 pay duly pay duly 28205 3760 \n", "25 use of revolving credit use of revolving credit 142836 145125 \n", "26 pay duly use of revolving credit 42781 42774 \n", "27 use of revolving credit use of revolving credit 97500 84202 \n", "28 pay duly pay duly 24547 48302 \n", "29 no consumption no consumption 22109 10876 \n", "... ... ... ... ... \n", "8910 2 month delay 2 month delay 28390 29639 \n", "8911 3 month delay 2 month delay 12034 12548 \n", "8912 2 month delay 2 month delay 74032 75557 \n", "8913 2 month delay use of revolving credit 95773 95489 \n", "8914 2 month delay 2 month delay 89910 92588 \n", "8915 3 month delay 3 month delay 48674 49895 \n", "8916 2 month delay 2 month delay 51028 52112 \n", "8917 2 month delay 2 month delay 20195 21267 \n", "8918 2 month delay 2 month delay 30076 31287 \n", "8919 2 month delay 2 month delay 7593 9634 \n", "8920 2 month delay 2 month delay 150 150 \n", "8921 2 month delay 2 month delay 53843 55933 \n", "8922 2 month delay 2 month delay 190784 195724 \n", "8923 2 month delay 2 month delay 40509 40551 \n", "8924 2 month delay 2 month delay 3167 5601 \n", "8925 2 month delay 2 month delay 11084 12605 \n", "8926 4 month delay 3 month delay 36428 37530 \n", "8927 4 month delay 3 month delay 22147 24770 \n", "8928 2 month delay 2 month delay 31131 33815 \n", "8929 2 month delay 2 month delay 159017 162697 \n", "8930 2 month delay 2 month delay 168289 172001 \n", "8931 3 month delay 3 month delay 750 750 \n", "8932 7 month delay 7 month delay 300 300 \n", "8933 2 month delay use of revolving credit 327918 321476 \n", "8934 2 month delay 2 month delay 213616 208784 \n", "8935 3 month delay 3 month delay 14829 17267 \n", "8936 7 month delay 7 month delay 150 150 \n", "8937 3 month delay 3 month delay 750 750 \n", "8938 7 month delay 7 month delay 2400 2400 \n", "8939 7 month delay 7 month delay 150 150 \n", "\n", " BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 \\\n", "0 65993 8543 1695 750 8267 66008 \n", "1 44164 35233 884 9924 941 44743 \n", "2 29881 24247 21664 1556 4854 30366 \n", "3 17926 17966 30741 31088 68940 18018 \n", "4 30592 154167 13410 25426 60446 30594 \n", "5 28656 7497 7685 15434 13000 29022 \n", "6 7147 9950 22117 4874 60396 7147 \n", "7 223350 213831 210563 211925 120018 10071 \n", "8 38002 40357 43663 52735 15000 3000 \n", "9 5226 4715 3275 6422 4021 5241 \n", "10 15360 0 12923 1816 20650 15360 \n", "11 25145 37666 19453 10492 20979 5000 \n", "12 7488 10276 96059 6434 26943 5000 \n", "13 140802 143354 146225 148820 1200 135000 \n", "14 73950 59324 156094 110234 20000 5000 \n", "15 44157 48322 21593 13866 2504 10004 \n", "16 6327 138485 140492 141006 1000 6327 \n", "17 32450 17285 9766 9981 17402 20013 \n", "18 64644 125984 106584 125557 390 75720 \n", "19 53895 -105 20895 20835 0 54165 \n", "20 148544 18791 5909 68988 4 149654 \n", "21 142852 133583 129049 128325 6000 6048 \n", "22 11131 13824 17992 15250 6626 12446 \n", "23 1600 3815 8330 4765 3625 1600 \n", "24 4148 2312 6909 4189 3793 4148 \n", "25 146682 150407 147868 149349 7000 5500 \n", "26 41817 749 5572 10573 2300 2300 \n", "27 82933 80501 79038 80694 3010 2970 \n", "28 4549 3085 7300 6583 4519 9098 \n", "29 10268 5872 3068 2181 10943 10273 \n", "... ... ... ... ... ... ... \n", "8910 30854 30062 32705 33519 2000 2000 \n", "8911 12056 13958 13468 6144 1000 0 \n", "8912 76434 74611 79292 80945 3300 2700 \n", "8913 94681 93965 90545 90529 4000 3500 \n", "8914 91936 94623 94952 95234 5000 1800 \n", "8915 52570 53614 54534 53374 2300 4116 \n", "8916 55232 55932 54910 57344 2500 4600 \n", "8917 21332 21680 23011 23498 1700 700 \n", "8918 31676 32259 31608 33524 2000 1200 \n", "8919 4476 8830 8153 6422 2379 7 \n", "8920 150 150 150 300 0 0 \n", "8921 56575 57303 58593 59738 3500 2100 \n", "8922 198707 201634 205949 210077 9300 7500 \n", "8923 42592 43296 43892 43060 1000 3000 \n", "8924 5366 6772 6515 7906 2500 0 \n", "8925 13102 12595 14386 14005 2000 1000 \n", "8926 38630 41774 40806 41357 2000 2000 \n", "8927 26068 28842 28094 27361 3000 2000 \n", "8928 33002 32173 34629 33940 3500 0 \n", "8929 163143 161906 165807 169599 9159 4842 \n", "8930 175281 177895 180078 184048 8000 7500 \n", "8931 750 750 2450 2150 0 0 \n", "8932 300 300 300 300 0 0 \n", "8933 314931 176439 154010 134334 0 0 \n", "8934 212058 207226 202394 231339 0 8000 \n", "8935 16706 18694 19049 18459 3000 0 \n", "8936 150 150 150 150 0 0 \n", "8937 750 750 750 750 0 0 \n", "8938 2400 2400 2400 2400 0 0 \n", "8939 150 150 150 150 0 0 \n", "\n", " PAY_AMT3 PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH \\\n", "0 8543 1695 750 7350 1 \n", "1 0 884 9924 10824 1 \n", "2 0 433 1556 14047 1 \n", "3 18058 30897 31244 88461 1 \n", "4 150843 163881 25426 39526 1 \n", "5 7500 27769 12000 6200 1 \n", "6 9950 22117 4874 0 1 \n", "7 8037 8018 8809 5022 1 \n", "8 3000 4000 10000 25000 1 \n", "9 4729 3284 6441 4285 1 \n", "10 0 12923 1816 17050 1 \n", "11 37676 8808 2000 2709 1 \n", "12 6000 93000 3000 5000 1 \n", "13 5200 5500 5500 5400 1 \n", "14 2000 112000 4234 4000 1 \n", "15 5178 1047 2019 1004 1 \n", "16 135000 4700 5000 5000 1 \n", "17 346 5000 8000 5000 1 \n", "18 62520 17000 132200 167000 1 \n", "19 0 21000 20940 33460 1 \n", "20 18885 5940 69337 200655 1 \n", "21 6000 5000 5000 5000 1 \n", "22 17746 6000 5749 928 1 \n", "23 3315 11645 4765 2171 1 \n", "24 2312 6909 4189 1539 1 \n", "25 6027 5328 5390 6047 1 \n", "26 749 5572 5573 13793 1 \n", "27 2886 2824 2925 2987 1 \n", "28 3085 7300 6583 5060 1 \n", "29 5978 3068 2181 3242 1 \n", "... ... ... ... ... ... \n", "8910 0 3300 1500 0 0 \n", "8911 2400 100 0 57258 0 \n", "8912 0 5900 3100 0 0 \n", "8913 3500 0 3500 4200 0 \n", "8914 5000 1900 4700 0 0 \n", "8915 2500 2052 0 0 0 \n", "8916 2200 0 3513 3000 0 \n", "8917 1000 2000 1000 0 0 \n", "8918 1400 0 2600 0 0 \n", "8919 7002 13 155 1 0 \n", "8920 0 0 150 0 0 \n", "8921 2200 2300 2200 2100 0 \n", "8922 7500 7500 7500 7600 0 \n", "8923 1700 1600 0 3500 0 \n", "8924 1500 0 1500 0 0 \n", "8925 0 2000 0 2000 0 \n", "8926 4086 0 1500 1000 0 \n", "8927 3500 0 0 1000 0 \n", "8928 0 3000 0 2000 0 \n", "8929 3000 8000 7000 3000 0 \n", "8930 7000 6600 7000 7100 0 \n", "8931 0 2000 0 0 0 \n", "8932 0 0 0 0 0 \n", "8933 500 0 6267 2257 0 \n", "8934 0 0 32236 3000 0 \n", "8935 2560 955 0 661 0 \n", "8936 0 0 0 0 0 \n", "8937 0 0 0 1500 0 \n", "8938 0 0 0 0 0 \n", "8939 0 0 0 0 0 \n", "\n", " p_DEFAULT_NEXT_MONTH r_DEFAULT_NEXT_MONTH \n", "0 0.045837 2.483007 \n", "1 0.050230 2.445869 \n", "2 0.050527 2.443456 \n", "3 0.051503 2.435615 \n", "4 0.051717 2.433910 \n", "5 0.053061 2.423347 \n", "6 0.056650 2.396193 \n", "7 0.058753 2.380929 \n", "8 0.058911 2.379801 \n", "9 0.059060 2.378739 \n", "10 0.059089 2.378531 \n", "11 0.060745 2.366883 \n", "12 0.061522 2.361507 \n", "13 0.061900 2.358911 \n", "14 0.061935 2.358675 \n", "15 0.062027 2.358041 \n", "16 0.063140 2.350490 \n", "17 0.063386 2.348836 \n", "18 0.063629 2.347206 \n", "19 0.063813 2.345973 \n", "20 0.063860 2.345661 \n", "21 0.065316 2.336031 \n", "22 0.065442 2.335207 \n", "23 0.065657 2.333801 \n", "24 0.065732 2.333313 \n", "25 0.065756 2.333153 \n", "26 0.066522 2.328184 \n", "27 0.066585 2.327775 \n", "28 0.066960 2.325363 \n", "29 0.067985 2.318820 \n", "... ... ... \n", "8910 0.772660 -1.721227 \n", "8911 0.772848 -1.721707 \n", "8912 0.774303 -1.725433 \n", "8913 0.775734 -1.729118 \n", "8914 0.776880 -1.732076 \n", "8915 0.779941 -1.740033 \n", "8916 0.780607 -1.741776 \n", "8917 0.781268 -1.743508 \n", "8918 0.784777 -1.752759 \n", "8919 0.787675 -1.760476 \n", "8920 0.793444 -1.776054 \n", "8921 0.794019 -1.777621 \n", "8922 0.796132 -1.783414 \n", "8923 0.797857 -1.788172 \n", "8924 0.802237 -1.800380 \n", "8925 0.805651 -1.810028 \n", "8926 0.807385 -1.814973 \n", "8927 0.812416 -1.829496 \n", "8928 0.814786 -1.836434 \n", "8929 0.815782 -1.839367 \n", "8930 0.816460 -1.841371 \n", "8931 0.825031 -1.867161 \n", "8932 0.825105 -1.867387 \n", "8933 0.832569 -1.890599 \n", "8934 0.841972 -1.920928 \n", "8935 0.852781 -1.957464 \n", "8936 0.866568 -2.007067 \n", "8937 0.869051 -2.016405 \n", "8938 0.874018 -2.035492 \n", "8939 0.886468 -2.085985 \n", "\n", "[8940 rows x 27 columns]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_yhat = test_yhat.sort_values(by='r_DEFAULT_NEXT_MONTH', ascending=False).reset_index(drop=True)\n", "test_yhat" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This simple analysis has uncovered some of the most difficult customers for the GBM to correctly predict default. Perhaps because of the high importance of the payment features, `PAY_0`-`PAY_6`, the GBM struggles to correctly predict several cases in which customers made timely recent payments and then suddenly defaulted (high positive residuals) and those customers that were chronically late making payments but did not default (high negative residuals)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot residuals by most important input variable \n", "Residuals can also be plotted for important input variables to understand how the values of a single input variable affect prediction errors. When plotted by `PAY_0`, the residuals confirm that the GBM is struggling to accurately predict cases where default status is not correlated with recent payment behavior in an obvious way. The residual plots for values of `PAY_0` indicating timely payment behavior (e.g., `use of revolving credit`, `pay duly`, and `no consumption`) generally display the highest positive residuals and relatively small negative residuals. Residuals for the other values of `PAY_0`, those that represent late recent payments, tend to show large negative residuals and relatively small positive residuals." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# use Seaborn FacetGrid for convenience\n", "g = sns.FacetGrid(test_yhat, row='PAY_0', hue=y)\n", "_ = g.map(plt.scatter, yhat, 'r_DEFAULT_NEXT_MONTH', alpha=0.4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Retrain GBM classifier based on results of residual analysis\n", "Now that an issue has been discovered using residual analysis, can it be resolved? \n", "\n", "#### Create a feature that contains information about behavior over time\n", "One strategy to improve prediction accuracy is to introduce a new feature that summarizes a customer's spending behavior over time to expose any potential financial instability: the standard deviation of a customer's bill amounts over six months. Pandas has a one-liner for calculating standard deviations for a set of columns, so the H2OFrame is casted back into Pandas DataFrame for convenience." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IDLIMIT_BALSEXEDUCATIONMARRIAGEAGEPAY_0PAY_2PAY_3PAY_4PAY_5PAY_6BILL_AMT1BILL_AMT2BILL_AMT3BILL_AMT4BILL_AMT5BILL_AMT6PAY_AMT1PAY_AMT2PAY_AMT3PAY_AMT4PAY_AMT5PAY_AMT6DEFAULT_NEXT_MONTHbill_std
0120000femaleuniversitymarried242 month delay2 month delaypay dulypay dulyno consumptionno consumption391331026890000689000011761.633219
12120000femaleuniversitysingle26pay duly2 month delayuse of revolving credituse of revolving credituse of revolving credit2 month delay2682172526823272345532610100010001000020001637.967841
2390000femaleuniversitysingle34use of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credituse of revolving credit29239140271355914331149481554915181500100010001000500006064.518593
\n", "
" ], "text/plain": [ " ID LIMIT_BAL SEX EDUCATION MARRIAGE AGE PAY_0 \\\n", "0 1 20000 female university married 24 2 month delay \n", "1 2 120000 female university single 26 pay duly \n", "2 3 90000 female university single 34 use of revolving credit \n", "\n", " PAY_2 PAY_3 PAY_4 \\\n", "0 2 month delay pay duly pay duly \n", "1 2 month delay use of revolving credit use of revolving credit \n", "2 use of revolving credit use of revolving credit use of revolving credit \n", "\n", " PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 \\\n", "0 no consumption no consumption 3913 3102 \n", "1 use of revolving credit 2 month delay 2682 1725 \n", "2 use of revolving credit use of revolving credit 29239 14027 \n", "\n", " BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 PAY_AMT3 \\\n", "0 689 0 0 0 0 689 0 \n", "1 2682 3272 3455 3261 0 1000 1000 \n", "2 13559 14331 14948 15549 1518 1500 1000 \n", "\n", " PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH bill_std \n", "0 0 0 0 1 1761.633219 \n", "1 1000 0 2000 1 637.967841 \n", "2 1000 1000 5000 0 6064.518593 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = data.as_data_frame()\n", "data['bill_std'] = data[['BILL_AMT1', 'BILL_AMT2', 'BILL_AMT3', 'BILL_AMT4', 'BILL_AMT5', 'BILL_AMT6']].std(axis=1)\n", "data.head(n=3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Convert Pandas DataFrame back to H2OFrame for modeling\n", "To retrain the model with the new feature, an H2OFrame is required and that H2OFrame is split using the same proportion and random seed as in cell 8 for the first GBM model." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parse progress: |█████████████████████████████████████████████████████████| 100%\n" ] } ], "source": [ "data = h2o.H2OFrame(data) # convert \n", "data[y] = data[y].asfactor() # ensure target is handled as a categorical variable\n", "train, test = data.split_frame([0.7], seed=12345) # split into training and validation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Retrain GBM with new feature\n", "The `train()` function is used to retrain the GBM model with the nearly same hyperparameters used previously in cell 9. A slight, but noticable, increase in accuracy results from retraining with the new feature. " ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gbm Model Build progress: |███████████████████████████████████████████████| 100%\n", "GBM Test AUC = 0.7825\n" ] } ], "source": [ "# initialize GBM model\n", "model = H2OGradientBoostingEstimator(ntrees=150, # maximum 150 trees in GBM\n", " max_depth=6, # trees can have maximum depth of 6\n", " sample_rate=0.9, # use 90% of rows in each iteration (tree)\n", " col_sample_rate=0.85, # use 90% of variables in each iteration (tree)\n", " stopping_rounds=5, # stop if validation error does not decrease for 5 iterations (trees)\n", " seed=12345) # for reproducibility\n", "\n", "# retrain GBM model\n", "model.train(y=y,\n", " x=X + ['bill_std'], # add new feature\n", " training_frame=train, \n", " validation_frame=test)\n", "\n", "# print AUC\n", "print('GBM Test AUC = %.4f' % model.auc(valid=True))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While there maybe be other more complex features or a more optimal set of hyperparameters that could lead to further incremental increases in accuracy, more information is needed to achieve meaningful improvement in prediction performance. In particular, a common measure for credit lending, the customers' debt-to-income ratio, for each payment and billing period could be particularly useful. Spikes in debt-to-income ratio, representing loss of income or large increases in debt, would likely be very indicative of a default and would expose the GBM to information not currently available in the UCI credit card default data. Introducing new data could also de-emphasize `PAY_0`, which would likely result in a more stable model as well." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Perform sensitivity analysis to test model performance on unseen data\n", "\n", "Sensitivity analysis investigates whether model behavior and outputs remain stable when data is intentionally perturbed or other changes are simulated in data. Beyond traditional assessment practices, sensitivity analysis of machine learning model predictions is perhaps the most important validation technique for machine learning models. Machine learning models can make drastically differing predictions for only minor changes in input variable values. In practice, many linear model validation techniques focus on the numerical instability of regression parameters due to correlation between input variables or between input variables and the dependent variable. It may be prudent for those switching from linear modeling techniques to machine learning techniques to focus less on numerical instability of model parameters and to focus more on the potential instability of model predictions.\n", "\n", "Here sensitivity analysis is used to understand the impact of changing the most important input variable, `PAY_0`, and the impact of a sociologically sensitive variable, `SEX`, in the model. If the model changes in reasonable and expected ways when important variable values are changed this can enhance trust in the model. If the contribution of potentially sensitive variables, such as those related to gender, race, age, marital status, or disability status, can be shown to have minimal impact on the model, this is an indication of fairness in the model predictions and can also increase overall trust in the model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Bind new model predictions onto test data \n", "Typically, a productive exercise in model debugging and validation is to investigate customers with very high or low predicted probabilities to determine if their predictions stay within reasonable bounds when important variables are changed. The predictions from the new, more accurate model are merged onto the test set to find these potentially interesting customers. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gbm prediction progress: |████████████████████████████████████████████████| 100%\n" ] } ], "source": [ "preds2 = model.predict(test).drop(['predict', 'p0'])\n", "preds2.columns = [yhat]\n", "test_yhat = test.cbind(preds1[yhat])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Helper function for finding percentile indices\n", "The function below finds and returns the row indices for the minimum, the maximum, and the deciles of one column in terms of another -- in this case, the model predictions (`p_DEFAULT_NEXT_MONTH`) and the row identifier (`ID`), respectively. These indices are used as a starting point for boundary testing. Outlying predictions found through residual analysis is another group of potentially interesting local predictions to investigate." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{0: 28716,\n", " 10: 8942,\n", " 20: 28257,\n", " 30: 4074,\n", " 40: 13411,\n", " 50: 16633,\n", " 60: 2402,\n", " 70: 19769,\n", " 80: 25069,\n", " 90: 21372,\n", " 99: 29116}" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def get_percentile_dict(yhat, id_, frame):\n", "\n", " \"\"\" Returns the minimum, the maximum, and the deciles of a column, yhat, \n", " as the indices based on another column id_.\n", " \n", " Args:\n", " yhat: Column in which to find percentiles.\n", " id_: Id column that stores indices for percentiles of yhat.\n", " frame: H2OFrame containing yhat and id_. \n", " \n", " Returns:\n", " Dictionary of percentile values and index column values.\n", " \n", " \"\"\"\n", " \n", " # create a copy of frame and sort it by yhat\n", " sort_df = frame.as_data_frame()\n", " sort_df.sort_values(yhat, inplace=True)\n", " sort_df.reset_index(inplace=True)\n", " \n", " # find top and bottom percentiles\n", " percentiles_dict = {}\n", " percentiles_dict[0] = sort_df.loc[0, id_]\n", " percentiles_dict[99] = sort_df.loc[sort_df.shape[0]-1, id_]\n", "\n", " # find 10th-90th percentiles\n", " inc = sort_df.shape[0]//10\n", " for i in range(1, 10):\n", " percentiles_dict[i * 10] = sort_df.loc[i * inc, id_]\n", "\n", " return percentiles_dict\n", "\n", "# display percentiles dictionary\n", "# ID values for rows\n", "# from lowest prediction \n", "# to highest prediction\n", "pred_percentile_dict = get_percentile_dict(yhat, 'ID', test_yhat)\n", "pred_percentile_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Display test data prediction range\n", "Unlike some regression models and neural networks that can produce outrageous predictions for changes in input variables, GBM predictions in new data are bounded by the lowest and highest probability leaf nodes in each constiuent decision tree in the trained model. While unbounded, extreme predictions are typically not an issue for tree models and classification tasks, it is often a good idea to check that the model predictions cover a full range of useful values in the test set. Below, we can see that the model produces both low and high predictions in the test set, indicating that it is likely responsive to signal in new data and not simply predicting the majority class or an average value. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Lowest prediction: " ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
DEFAULT_NEXT_MONTH p_DEFAULT_NEXT_MONTH
0 0.0383668
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Highest prediction: " ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
DEFAULT_NEXT_MONTH p_DEFAULT_NEXT_MONTH
1 0.895285
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print('Lowest prediction:', test_yhat[test_yhat['ID'] == int(pred_percentile_dict[0])][[y, yhat]])\n", "print('Highest prediction:', test_yhat[test_yhat['ID'] == int(pred_percentile_dict[99])][[y, yhat]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Use trained model to test predictions for interesting situations: customer least likely to default\n", "As a starting point for further analysis, sensitivity analysis is performed for the customer least likely to default. This woman has a very low probability of defaulting according to the trained GBM." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ID LIMIT_BALSEX EDUCATION MARRIAGE AGEPAY_0 PAY_2 PAY_3 PAY_4 PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 PAY_AMT3 PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH bill_std p_DEFAULT_NEXT_MONTH
28716 780000femaleuniversity single 41no consumptionno consumptionno consumptionno consumptionno consumptionno consumption 101957 61715 38686 21482 72628 182792 62819 39558 22204 82097 184322 25695 0 57564.1 0.0383668
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_case = test_yhat[test_yhat['ID'] == int(pred_percentile_dict[0])]\n", "test_case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test effect of changing `SEX`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`SEX` should not have a large impact on predictions. This could indicate unwanted sociological bias in the GBM model." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gbm prediction progress: |████████████████████████████████████████████████| 100%\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ID LIMIT_BALSEX EDUCATION MARRIAGE AGEPAY_0 PAY_2 PAY_3 PAY_4 PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 PAY_AMT3 PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH bill_std predict p0 p1
28716 780000male university single 41no consumptionno consumptionno consumptionno consumptionno consumptionno consumption 101957 61715 38686 21482 72628 182792 62819 39558 22204 82097 184322 25695 0 57564.1 00.9590520.0409481
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_case = test_yhat[test_yhat['ID'] == int(pred_percentile_dict[0])]\n", "test_case = test_case.drop([yhat])\n", "test_case['SEX'] = 'male'\n", "test_case = test_case.cbind(model.predict(test_case))\n", "test_case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As desired, simulating this person as a male does not have a large impact on their probability of default." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test effect of changing `PAY_0`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Variable importance and residual analysis indicates that the value of `PAY_0` can have a strong effect on model predictions. Measuring the change in predicted probability when the value of `PAY_0` is changed from a timely payment to late payment is probably a good test case for prediction stability. " ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gbm prediction progress: |████████████████████████████████████████████████| 100%\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ID LIMIT_BALSEX EDUCATION MARRIAGE AGEPAY_0 PAY_2 PAY_3 PAY_4 PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 PAY_AMT3 PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH bill_std predict p0 p1
28716 780000femaleuniversity single 412 month delayno consumptionno consumptionno consumptionno consumptionno consumption 101957 61715 38686 21482 72628 182792 62819 39558 22204 82097 184322 25695 0 57564.1 10.5710320.428968
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_case = test_yhat[test_yhat['ID'] == int(pred_percentile_dict[0])]\n", "test_case = test_case.drop([yhat])\n", "test_case['PAY_0'] = '2 month delay' \n", "test_case = test_case.cbind(model.predict(test_case))\n", "test_case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When the value is changed from `no consumption` to `two month delay` there is a very large increase in predicted probability. Such a marked change related to the value of one variable is problematic for numerous reasons." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Use trained model to test predictions for interesting situations: customer most likely to default\n", "Now the same test will be performed on the customer most likely to default. This woman has a very high probability of default under the GBM model. " ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ID LIMIT_BALSEX EDUCATION MARRIAGE AGEPAY_0 PAY_2 PAY_3 PAY_4 PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 PAY_AMT3 PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH bill_std p_DEFAULT_NEXT_MONTH
29116 20000femaleuniversity married 593 month delay2 month delay3 month delay2 month delay2 month delay4 month delay 8803 11137 10672 11201 12721 11946 2800 0 1000 2000 0 0 1 1327.55 0.895285
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_case = test_yhat[test_yhat['ID'] == int(pred_percentile_dict[99])]\n", "test_case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test effect of changing `SEX`\n", "Changing the value for `SEX` from female to male for this customer decreases the predicted probability by a relatively small amount." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gbm prediction progress: |████████████████████████████████████████████████| 100%\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ID LIMIT_BALSEX EDUCATION MARRIAGE AGEPAY_0 PAY_2 PAY_3 PAY_4 PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 PAY_AMT3 PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH bill_std predict p0 p1
29116 20000male university married 593 month delay2 month delay3 month delay2 month delay2 month delay4 month delay 8803 11137 10672 11201 12721 11946 2800 0 1000 2000 0 0 1 1327.55 10.1615790.838421
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_case = test_yhat[test_yhat['ID'] == int(pred_percentile_dict[99])]\n", "test_case = test_case.drop([yhat])\n", "test_case['SEX'] = 'male'\n", "test_case = test_case.cbind(model.predict(test_case))\n", "test_case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test effect of changing `PAY_0`\n", "Switching the riskiest customer's value for `PAY_0` from `3 month delay` to `pay duly` reduces the their chance of default by about 20%, a noticable swing in probability but still a higher probability value, notably greater than common lending cutoffs." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gbm prediction progress: |████████████████████████████████████████████████| 100%\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ID LIMIT_BALSEX EDUCATION MARRIAGE AGEPAY_0 PAY_2 PAY_3 PAY_4 PAY_5 PAY_6 BILL_AMT1 BILL_AMT2 BILL_AMT3 BILL_AMT4 BILL_AMT5 BILL_AMT6 PAY_AMT1 PAY_AMT2 PAY_AMT3 PAY_AMT4 PAY_AMT5 PAY_AMT6 DEFAULT_NEXT_MONTH bill_std predict p0 p1
29116 20000femaleuniversity married 59pay duly2 month delay3 month delay2 month delay2 month delay4 month delay 8803 11137 10672 11201 12721 11946 2800 0 1000 2000 0 0 1 1327.55 10.2738580.726142
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_case = test_yhat[test_yhat['ID'] == int(pred_percentile_dict[99])]\n", "test_case = test_case.drop([yhat])\n", "test_case['PAY_0'] = 'pay duly' \n", "test_case = test_case.cbind(model.predict(test_case))\n", "test_case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From this small number of boundary test cases, the GBM model appears stable. However, if large swings in predictions occur for sensitive or important variables, practicioners are urged to retrain unstable models without the problematic variables or combinations of variables, which may unfortunately involve some trial and error. Also, four test cases is woefully inadequate for real-world models. Automated sensitivity analysis across many variables, combinations of variables, and for many different rows of data seems more appropriate for mission-critical machine learning." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Shutdown H2O\n", "After using h2o, it's typically best to shut it down. However, before doing so, users should ensure that they have saved any h2o data structures, such as models, H2OFrames, or scoring artifacts, such as POJOs or MOJOs." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Are you sure you want to shutdown the H2O instance running at http://127.0.0.1:54321 (Y/N)? n\n" ] } ], "source": [ "# be careful, this can erase your work!\n", "h2o.cluster().shutdown(prompt=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Summary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this notebook, a complex GBM classifier was trained to predict credit card defaults. Residual analysis was used to debug the GBM model predictions and enabled a slight improvement in accuracy. Sensitivity analysis was used to test the GBM for trustworthiness and stability. In a small number of boundary test cases, the trained GBM appeared stable. Residual analysis and sensitivity analysis are powerful model debugging techniques and can increase trust in complex models. These techniques should generalize well for many types of business and research problems, enabling you to train a complex model and justify it to your colleagues, bosses, and potentially, external regulators. " ] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }