{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"![image.png](attachment:0825096d-21b2-4237-88aa-5e9b3607a6c1.png)\n\n# **<span style=\"color:#F7B2B0;\">Problem Statment</span>**\n\n- In this competition, you’ll apply your machine learning skills to predict credit default. Specifically, you will leverage an industrial scale data set to build a machine learning model that challenges the current model in production.\n\n# **<span style=\"color:#F7B2B0;\">Data</span>**\n\nThe objective of this competition is to predict the probability that a customer does not pay back their credit card balance amount in the future based on their monthly customer profile. The target binary variable is calculated by observing 18 months performance window after the latest credit card statement, and if the customer does not pay due amount in 120 days after their latest statement date it is considered a default event.\n\nThe dataset contains aggregated profile features for each customer at each statement date. Features are anonymized and normalized, and fall into the following general categories:\n\n- D_* = Delinquency variables\n- S_* = Spend variables\n- P_* = Payment variables\n- B_* = Balance variables\n- R_* = Risk variables\n\nwith the following features being categorical:\n\n`['B_30', 'B_38', 'D_114', 'D_116', 'D_117', 'D_120', 'D_126', 'D_63', 'D_64', 'D_66', 'D_68']`\n\nYour task is to predict, for each customer_ID, the probability of a future payment default (target = 1).\n\nNote that the negative class has been subsampled for this dataset at 5%, and thus receives a 20x weighting in the scoring metric\n\n- `train_data.csv` - training data with multiple statement dates per customer_ID\n- `train_labels.csv` - target label for each customer_ID\n- `test_data.csv` - corresponding test data; your objective is to predict the target label for each customer_ID\n- `sample_submission.csv` - a sample submission file in the correct format","metadata":{},"attachments":{"0825096d-21b2-4237-88aa-5e9b3607a6c1.png":{"image/png":"iVBORw0KGgoAAAANSUhEUgAABdwAAAMGCAIAAABnItFAAAAgAElEQVR4AezdfXBU553g+0dqSY1ES1hyY2ncHhYpYiMcx+KaKTxZcN2ZEYlSnt2apMDlTOXeIbdu4fGMp6Ym/AHjSjlVG1eNy9QtZye32PWazR/UvdmBGlhPnIkrJODaDGZj2AtBNg6KkSUgdGhBI4G61U231NKt1gOHw3l5+vTrOa3zTU2NT5/znOfl85xu+/z0vDS8czku+B8CCCCAAAIIIIAAAggggAACCCCAQG0FGmtbHKUhgAACCCCAAAIIIIAAAggggAACCOQFCMrwHCCAAAIIIIAAAggggAACCCCAAAIuCBCUcQGdIhFAAAEEEEAAAQQQQAABBBBAAAGCMjwDCCCAAAIIIIAAAggggAACCCCAgAsCBGVcQKdIBBBAAAEEEEAAAQQQQAABBBBAgKAMzwACCCCAAAIIIIAAAggggAACCCDgggBBGRfQKRIBBBBAAAEEEEAAAQQQQAABBBAgKMMzgAACCCCAAAIIIIAAAggggAACCLggQFDGBXSKRAABBBBAAAEEEEAAAQQQQAABBAjK8AwggAACCCCAAAIIIIAAAggggAACLggQlHEBnSIRQAABBBBAAAEEEEAAAQQQQAABgjI8AwgggAACCCCAAAIIIIAAAggggIALAgRlXECnSAQQQAABBBBAAAEEEEAAAQQQQICgDM8AAggggAACCCCAAAIIIIAAAggg4IIAQRkX0CkSAQQQQAABBBBAAAEEEEAAAQQQICjDM4AAAggggAACCCCAAAIIIIAAAgi4IEBQxgV0ikQAAQQQQAABBBBAAAEEEEAAAQQIyvAMIIAAAggggAACCCCAAAIIIIAAAi4IEJRxAZ0iEUAAAQQQQAABBBBAAAEEEEAAAYIyPAMIIIAAAggggAACCCCAAAIIIICACwIEZVxAp0gEEEAAAQQQQAABBBBAAAEEEECAoAzPAAIIIIAAAggggAACCCCAAAIIIOCCAEEZF9ApEgEEEEAAAQQQQAABBBBAAAEEECAowzOAAAIIIIAAAggggAACCCCAAAIIuCBAUMYFdIpEAAEEEEAAAQQQQAABBBBAAAEECMrwDCCAAAIIIIAAAggggAACCCCAAAIuCBCUcQGdIhFAAAEEEEAAAQQQQAABBBBAAAGCMjwDCCCAAAIIIIAAAggggAACCCCAgAsCBGVcQKdIBBBAAAEEEEAAAQQQQAABBBBAgKAMzwACCCCAAAIIIIAAAggggAACCCDgggBBGRfQKRIBBBBAAAEEEEAAAQQQQAABBBAgKMMzgAACCCCAAAIIIIAAAggggAACCLggQFDGBXSKRAABBBBAAAEEEEAAAQQQQAABBAjK8AwggAACCCCAAAIIIIAAAggggAACLggQlHEBnSIRQAABBBBAAAEEEEAAAQQQQAABgjI8AwgggAACCCCAAAIIIIAAAggggIALAgRlXECnSAQQQAABBBBAAAEEEEAAAQQQQICgDM8AAggggAACCCCAAAIIIIAAAggg4IIAQRkX0CkSAQQQQAABBBBAAAEEEEAAAQQQICjDM4AAAggggAACCCCAAAIIIIAAAgi4IEBQxgV0ikQAAQQQQAABBBBAAAEEEEAAAQQIyvAMIIAAAggggAACCCCAAAIIIIAAAi4IEJRxAZ0iEUAAAQQQQAABBBBAAAEEEEAAAYIyPAMIIIAAAggggAACCCCAAAIIIICACwIEZVxAp0gEEEAAAQQQQAABBBBAAAEEEECAoAzPAAIIIIAAAggggAACCCCAAAIIIOCCAEEZF9ApEgEEEEAAAQQQQAABBBBAAAEEECAowzOAAAIIIIAAAggggAACCCCAAAIIuCBAUMYFdIpEAAEEEEAAAQQQQAABBBBAAAEECMrwDCCAAAIIIIAAAggggAACCCCAAAIuCBCUcQGdIhFAAAEEEEAAAQQQQAABBBBAAAGCMjwDCCCAAAIIIIAAAggggAACCCCAgAsCBGVcQKdIBBBAAAEEEEAAAQQQQAABBBBAgKAMzwACCCCAAAIIIIAAAggggAACCCDgggBBGRfQKRIBBBBAAAEEEEAAAQQQQAABBBAgKMMzgAACCCCAAAIIIIAAAggggAACCLggQFDGBXSKRAABBBBAAAEEEEAAAQQQQAABBAjK8AwggAACCCCAAAIIIIAAAggggAACLggQlHEBnSIRQAABBBBAAAEEEEAAAQQQQAABgjI8AwgggAACCCCAAAIIIIAAAggggIALAgRlXECnSAQQQAABBBBAAAEEEEAAAQQQQICgDM8AAggggAACCCCAAAIIIIAAAggg4IIAQRkX0CkSAQQQQAABBBBAAAEEEEAAAQQQICjDM4AAAggggAACCCCAAAII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EEAAAQQQQAABBBBAAAF/CRCU8Vd/01oEEEAAAQQQQAABBBBAAAEEEPCIAEEZj3QE1UAAAQQQQAABBBBAAAEEEEAAAX8JEJTxV3/TWgQQQAABBBBAAAEEEEAAAQQQ8IgAQRmPdATVQAABBBBAAAEEEEAAAQQQQAABfwkQlPFXf9NaBBBAAAEEEEAAAQQQQAABBBDwiABBGY90BNVAAAEEEEAAAQQQQAABBBBAAAF/CRCU8Vd/01oEEEAAAQQQQAABBBBAAAEEEPCIAEEZj3QE1UAAAQQQQAABBBBAAAEEEEAAAX8JEJTxV3/TWgQQQAABBBBAAAEEEEAAAQQQ8IgAQRmPdATVQAABBBBAAAEEEEAAAQQQQAABfwkQlPFXf9NaBBBAAAEEEEAAAQQQQAABBBDwiABBGY90BNVAAAEEEEAAAQQQQAABBBBAAAF/CRCU8Vd/01oEEEAAAQQQQAABBBBAAAEEEPCIAEEZj3QE1UAAAQQQQAABBBBAAAEEEEAAAX8JEJTxV3/TWgQQQAABBBBAAAEEEEAAAQQQ8IgAQRmPdATVQAABBBBAAAEEEEAAAQQQQAABfwkQlPFXf9NaBBBAAAEEEEAAAQQQQAABBBDwiABBGY90BNVAAAEEEEAAAQQQQAABBBBAAAF/CRCU8Vd/01oEEEAAAQQQQAABBBBAAAEEEPCIAEEZj3QE1UAAAQQQQAABBBBAAAEEEEAAAX8JEJTxV3/TWgQQQAABBBBAAAEEEEAAAQQQ8IgAQRmPdATVQAABBBBAAAEEEEAAAQQQQAABfwkQlPFXf9NaBBBAAAEEEEAAAQQQQAABBBDwiABBGY90BNVAAAEEEEAAAQQQQAABBBBAAAF/CRCU8Vd/01oEEEAAAQQQQAABBBBAAAEEEPCIAEEZj3QE1UAAAQQQQAABBBBAAAEEEEAAAX8JEJTxV3/TWgQQQAABBBBAAAEEEEAAAQQQ8IgAQRmPdATVQAABBBBAAAEEEEAAAQQQQAABfwkQlPFXf9NaBBBAAAEEEEAAAQQQQAABBBDwiABBGY90BNVAAAEEEEAAAQQQQAABBBBAAAF/CRCU8Vd/01oEEEAAAQQQQAABBBBAAAEEEPCIAEEZj3QE1UAAAQQQQAABBBBAAAEEEEAAAX8JEJTxV3/TWgQQQAABBBBAAAEEEEAAAQQQ8IgAQRmPdATVQAAB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BEjKmIBOlwgggAACCCCAAAIIIIAAAggggABJGd4BBBBAAAEEEEAAAQQQQAABBBBAwAQBkjImoNMlAggggAACCCCAAAIIIIAAAgggQFKGdwABBBBAAAEEEEAAAQQQQAABBBAwQYCkjAnodIkAAggggAACCCCAAAIIIIAAAgiQlOEdQAABBBBAAAEEEEAAAQQQQAABBEwQICljAjpdIoAAAggggAACCCCAAAIIIIAAAiRleAcQQAABBBBAAAEEEEAAAQQQQAABEwRIypiATpcIIIAAAggggAACCCCAAAIIIIAASRneAQQQQAABBBBAAAEEEEAAAQQQQMAEAZIyJqDTJQIIIIAAAggggAACCCCAAAIIIEBShncAAQQQQAABBBBAAAEEEEAAAQQQMEGApIwJ6HSJAAIIIIAAAggggAACCCCAAAIIkJThHUAAAQQQQAABBBBAAAEEEEAAAQRMECApYwI6XSKAAAIIIIAAAggggAACCCCAAAIkZXgHEEAAAQQQQAABBBBAAAEEEEAAARMESMqYgE6XCCCAAAIIIIAAAggggAACCCCAAEkZ3gEEEEAAAQQQQAABBBBAAAEEEEDABAGSMiag0yUCCCCAAAIIIIAAAggggAACCCBAUoZ3AAEEEEAAAQQQQAABBBBAAAEEEDBBgKSMCeh0iQACCCCAAAIIIIAAAggggAACCJCU4R1AAAEEEEAAAQQQQAABBBBAAAEETBAgKWMCOl0igAACCCCAAAIIIIAAAggggAACJGV4BxBAAAEEEEAAAQQQQAABBBBAAAETBEjKmIBOlwgggAACCCCAAAIIIIAAAggggABJGd4BBBBAAAEEEEAAAQQQQAABBBBAwAQBkjImoNMlAggggAACCCCAAAIIIIAAAgggQFKGdwABBBBAAAEEEEAAAQQQQAABBBAwQYCkjAnodIkAAggggAACCCCAAAIIIIAAAgiQlOEdQAABBBBAAAEEEEAAAQQQQAABBEwQICljAjpdIoAAAggggAACCCCAAAIIIIAAAiRleAcQQAABBBBAAAEEEEAAAQQQQAABEwRIypiATpcIIIAAAggggAACCCCAAAIIIIAASRneAQQQQAABBBBAAAEEEEAAAQQQQMAEAZIyJqDTJQIIIIAAAggggAACCCCAAAIIIEBShncAAQQQQAABBBBAAAEEEEAAAQQQMEGApIwJ6HSJAAIIIIAAAggggAACCCCAAAIIkJThHUAAAQQQQAABBBBAAAEEEEAAAQRMECApYwI6XSKAAAIIIIAAAggggAACCCCAAAIkZXgHEEAAAQQQQAABBBBAAAEEEEAAARMESMqYgE6XCCCAAAIIIIAAAggggAACCCCAAEkZ3gEEEEAAAQQQQAABBBBAAAEEEEDABAGSMiag0yUCCCCAAAIIIIAAAggggAACCCBAUoZ3AAEEEEAAAQQQQAABBBBAAAEEEDBBgKSMCeh0iQACCCCAAAIIIIAAAggggAACCJCU4R1AAAEEEEAAAQQQQAABBBBAAAEETBAgKWMCOl0igAACCCCAAAIIIIAAAggggAACJGV4BxBAAAEEEEAAAQQQQAABBBBAAAETBEjKmIBOlwgggAACCCCAAAIIIIAAAggggABJGd4BBBBAAAEEEEAAAQQQQAABBBBAwAQBkjImoNMlAggggAACCCCAAAIIIIAAAgggQFKGdwABBBBAAAEEEEAAAQQQQAABBBAwQYCkjAnodIkAAggggAACCCCAAAIIIIAAAgiQlOEdQAABBBBAAAEEEEAAAQQQQAABBEwQICljAjpdIoAAAggggAACCCCAAAIIIIAAAiRleAcQQAABBBBAAAEEEEAAAQQQQAABEwRIypiATpcIIIAAAggggAACCCCAAAIIIIAASRneAQQQQAABBBBAAAEEEEAAAQQQQMAEAZIyJqDTJQIIIIAAAggggAACCCCAAAIIIEBShncAAQQQQAABBBBAAAEEEEAAAQQQMEGApIwJ6HSJAAIIIIAAAggggAACCCCAAAIIkJThHUAAAQQQQAABBBBAAAEEEEAAAQRMECApYwI6XSKAAAIIIIAAAggggAACCCCAAAIkZXgHEEAAAQQQQAABBBBAAAEEEEAAARMESMqYgE6XCCCAAAIIIIAAAggggAACCCCAAEkZ3gEEEEAAAQQQQAABBBBAAAEEEEDABAGSMiag0yUCCCCAAAIIIIAAAggggAACCCBAUoZ3AAEEEEAAAQQQQAABBBBAAAEEEDBBgKSMCeh0iQACCCCAAAIIIIAAAggggAACCJCU4R1AAAEEEEAAAQQQQAABBBBAAAEETBAgKWMCOl0igAACCCCAAAIIIIAAAggggAAC/z8mjdMfEbGNkgAAAABJRU5ErkJggg=="}}},{"cell_type":"code","source":"pip install optbinning\n","metadata":{"_kg_hide-output":true,"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-08-23T08:22:03.363388Z","iopub.execute_input":"2023-08-23T08:22:03.363955Z","iopub.status.idle":"2023-08-23T08:22:41.401866Z","shell.execute_reply.started":"2023-08-23T08:22:03.363846Z","shell.execute_reply":"2023-08-23T08:22:41.400439Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **<span style=\"color:#F7B2B0;\">Imports</span>**","metadata":{}},{"cell_type":"code","source":"import os\nimport sys\nimport glob\n\nimport numpy as np\nimport pandas as pd\n\nimport matplotlib.pylab as plt\nfrom matplotlib_venn import venn2\nimport seaborn as sns\n\nfrom tqdm import tqdm\nfrom itertools import cycle\n\nfrom sklearn import metrics\nfrom sklearn import model_selection\nfrom sklearn import preprocessing\nfrom sklearn import linear_model\nfrom sklearn import feature_selection\n\nimport lightgbm as lgb\nimport xgboost as xgb\nimport catboost as cat\n\nimport optbinning\n\npd.set_option(\"display.max_columns\", None)\n\nplt.style.use(\"ggplot\")\ncolor_pal = plt.rcParams[\"axes.prop_cycle\"].by_key()[\"color\"]\ncolor_cycle = cycle(plt.rcParams[\"axes.prop_cycle\"].by_key()[\"color\"])","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:22:41.405516Z","iopub.execute_input":"2023-08-23T08:22:41.405987Z","iopub.status.idle":"2023-08-23T08:22:43.961098Z","shell.execute_reply.started":"2023-08-23T08:22:41.405944Z","shell.execute_reply":"2023-08-23T08:22:43.960015Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **<span style=\"color:#F7B2B0;\">Data Loading</span>**\n\nreference: https://www.kaggle.com/competitions/amex-default-prediction/discussion/327400","metadata":{}},{"cell_type":"code","source":"%%time\ntrain_df = pd.read_feather('../input/amex-default-prediction-feather/train.feather')\ntest_df = pd.read_feather('../input/amex-default-prediction-feather/test.feather')\ntrain_labels = pd.read_csv(\"../input/amex-default-prediction/train_labels.csv\")\ntrain_df.shape, test_df.shape","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:22:43.962458Z","iopub.execute_input":"2023-08-23T08:22:43.962861Z","iopub.status.idle":"2023-08-23T08:23:51.162854Z","shell.execute_reply.started":"2023-08-23T08:22:43.962826Z","shell.execute_reply":"2023-08-23T08:23:51.162051Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_df.head()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:23:51.165011Z","iopub.execute_input":"2023-08-23T08:23:51.165611Z","iopub.status.idle":"2023-08-23T08:23:51.339426Z","shell.execute_reply.started":"2023-08-23T08:23:51.165575Z","shell.execute_reply":"2023-08-23T08:23:51.338192Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **<span style=\"color:#F7B2B0;\">Target Distribution</span>**","metadata":{}},{"cell_type":"code","source":"fig, ax = plt.subplots(figsize=(10,5))\nsns.countplot(x=train_labels.target)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:23:51.340714Z","iopub.execute_input":"2023-08-23T08:23:51.341093Z","iopub.status.idle":"2023-08-23T08:23:51.629505Z","shell.execute_reply.started":"2023-08-23T08:23:51.341057Z","shell.execute_reply":"2023-08-23T08:23:51.628502Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- 0 --> Non Default\n- 1 --> Default","metadata":{}},{"cell_type":"markdown","source":"# **<span style=\"color:#F7B2B0;\">EDA</span>**","metadata":{}},{"cell_type":"code","source":"# checking train test customers\n\nfig, ax = plt.subplots(figsize=(10,5))\nset1 = set(train_df.customer_ID.unique())\nset2 = set(test_df.customer_ID.unique())\n\nvenn2([set1, set2], ('train', 'test'))\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:23:51.630854Z","iopub.execute_input":"2023-08-23T08:23:51.631236Z","iopub.status.idle":"2023-08-23T08:23:56.142473Z","shell.execute_reply.started":"2023-08-23T08:23:51.631202Z","shell.execute_reply":"2023-08-23T08:23:56.141328Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- Chúng ta có thể thấy rằng hai tập Train và Test là hai tập tách biệt, không có user giao giữa hai tập này. Điều này đảm bảo không có bị leak thông tin giữa hai tập\n","metadata":{}},{"cell_type":"code","source":"# s_2 date featue\ntrain_df['S_2'] = pd.to_datetime(train_df['S_2'])\ntest_df['S_2'] = pd.to_datetime(test_df['S_2'])\n\ntrain_df['S_2'].min(), train_df['S_2'].max()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:23:56.144207Z","iopub.execute_input":"2023-08-23T08:23:56.144704Z","iopub.status.idle":"2023-08-23T08:24:00.814980Z","shell.execute_reply.started":"2023-08-23T08:23:56.144656Z","shell.execute_reply":"2023-08-23T08:24:00.814017Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_df['S_2'].min(), test_df['S_2'].max()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:24:00.816385Z","iopub.execute_input":"2023-08-23T08:24:00.816962Z","iopub.status.idle":"2023-08-23T08:24:00.908615Z","shell.execute_reply.started":"2023-08-23T08:24:00.816901Z","shell.execute_reply":"2023-08-23T08:24:00.907628Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- Thời gian giữa hai tập cũng không giao nhau","metadata":{}},{"cell_type":"code","source":"# checking user profiles number of user profiles vs timeline\n\nfig, ax = plt.subplots(figsize=(20,5))\ntrain_df.groupby(\"S_2\")['customer_ID'].count().plot()\nplt.title(\"train profiles vs timeline\")\nplt.show()\n\nfig, ax = plt.subplots(figsize=(20,5))\ntest_df.groupby(\"S_2\")['customer_ID'].count().plot()\nplt.title(\"test profiles vs timeline\")\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:24:00.910020Z","iopub.execute_input":"2023-08-23T08:24:00.910370Z","iopub.status.idle":"2023-08-23T08:24:04.321738Z","shell.execute_reply.started":"2023-08-23T08:24:00.910339Z","shell.execute_reply":"2023-08-23T08:24:04.320908Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- Thời gian trong tập train khá là nhất quán\n- Trong khi đó, tập test có lượng lớn sự kiện tập trung vào tháng 10/2018-4/2019\n","metadata":{}},{"cell_type":"code","source":"# check each customer profile length\n\nfig, ax = plt.subplots(figsize=(20,5))\nsns.countplot(x=train_df.groupby(\"customer_ID\")['customer_ID'].count().values)\nplt.title(\"train customer profile length\")\nplt.show()\n\nfig, ax = plt.subplots(figsize=(20,5))\nsns.countplot(x=test_df.groupby(\"customer_ID\")['customer_ID'].count().values)\nplt.title(\"test customer profile length\")\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:24:04.325211Z","iopub.execute_input":"2023-08-23T08:24:04.326121Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- Hầu hết mỗi Customer đều có 13 sự kiện tương ứng với 13 rows trong 13 tháng liên tiếp ở cả tập Train và Test","metadata":{}},{"cell_type":"markdown","source":"> ***Với nhóm bài toán dự đoán Credit Score, có 2 chỉ số mà các Data Scientist hay sử dụng đó là Weight of Evidence và Information Value. Dưới đây là giải thích về khái niệm và cách sử dụng 2 chỉ số này***\n> ","metadata":{"execution":{"iopub.status.busy":"2023-08-23T06:57:28.821387Z","iopub.execute_input":"2023-08-23T06:57:28.821777Z","iopub.status.idle":"2023-08-23T06:57:28.828384Z","shell.execute_reply.started":"2023-08-23T06:57:28.821751Z","shell.execute_reply":"2023-08-23T06:57:28.827216Z"}}},{"cell_type":"markdown","source":"# **<span style=\"color:#F7B2B0;\">Weight of Evidence(WOE)</span>**\n\n\nThe weight of evidence là một chỉ số dùng để đánh giá sức mạnh dự đoán của một biến độc lập liên quan đến biến phụ thuộc. Khái niệm này phát triển từ thế giới đánh giá tín dụng và thường được mô tả như một cách để đo lường sự phân tách giữa các khách hàng tốt và khách hàng xấu. Trong đó, \"Khách hàng xấu\" ám chỉ những khách hàng vi phạm hợp đồng vay mượn, còn \"Khách hàng tốt\" là những khách hàng đã trả lại khoản vay.\n\n![woe.png](attachment:987d2f10-92e7-4a53-93c1-5a7a0c2836c0.png)\n\n- Distribution of Goods - Tỷ lệ % của Khách hàng tốt trong một nhóm cụ thể.\n- Distribution of Bads - Tỷ lệ % của Khách hàng xấu trong một nhóm cụ thể.\n- ln - Logarit\n\n**Các bước tính WOE**\n\n1. Đối với biến liên tục, chia dữ liệu thành 10 phần (hoặc ít hơn tùy thuộc vào phân phối).\n2. Tính số lượng sự kiện tốt và xấu trong mỗi nhóm (bin).\n3. Tính % sự kiện tốt và % sự kiện xấu trong mỗi nhóm.\n4. Tính WOE bằng cách lấy logarit tự nhiên của phần thương giữa % sự kiện tốt và % sự kiện xấu.\n\n# **<span style=\"color:#F7B2B0;\">Information Value(IV)</span>**\n\nInformation value là một kỹ thuật hữu ích để chọn ra các biến quan trọng trong một mô hình dự đoán. Nó giúp xếp hạng các biến dựa trên mức độ quan trọng của chúng.\n\nCông thức tính IV:\n\n![IV.png](attachment:62ca2622-8754-413d-9f4a-ded369509358.png)\n\n(non-events: thường được ký hiệu đại diện cho các user tốt, và events được ký hiệu đại diện cho các user xấu)\nInformation value (IV) có thể được hiểu theo các mức độ như sau:\n- Nhỏ hơn 0.02: Biến dự đoán không hữu ích cho mô hình (không phân tách được giữa sự kiện tốt và xấu)\n- Từ 0.02 đến 0.1: Biến dự đoán có mối quan hệ yếu với tỷ lệ khả năng sự kiện tốt/xấu.\n- Từ 0.1 đến 0.3: Biến dự đoán có mối quan hệ trung bình với tỷ lệ khả năng sự kiện tốt/xấu\n- Từ 0.3 đến 0.5: Biến dự đoán có mối quan hệ mạnh với tỷ lệ khả năng sự kiện tốt/xấu\n- Lớn hơn 0.5: Mối quan hệ đáng nghi (cần kiểm tra kỹ hơn)\n\n\nReference: https://www.listendata.com/2015/03/weight-of-evidence-woe-and-information.html","metadata":{},"attachments":{"987d2f10-92e7-4a53-93c1-5a7a0c2836c0.png":{"image/png":"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"},"62ca2622-8754-413d-9f4a-ded369509358.png":{"image/png":"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"}}},{"cell_type":"markdown","source":"# **<span style=\"color:#F7B2B0;\">Feature Selection</span>**\n\nTrong phần này chúng tả sẽ xử lý 2 việc chính:\n\n+ Tổng hợp Profile của mỗi User và kết nối chúng với nhãn của User đó\n\n+ Phân loại feature làm 2: Categorical và Numerical\n\n+ Tính Information Value cho mỗi Features\n\n+ Giải thích thông qua WoE\n","metadata":{}},{"cell_type":"markdown","source":"Cách đơn giản nhất là chúng ta sẽ lấy profile cuối cùng của mỗi user để đại diện cho user đó (trong dữ liệu train, mỗi user được cung cấp thông tin trong vòng 13 tháng, mỗi row tương ứng với các thông tin của user tại thời điểm của  row đó)","metadata":{}},{"cell_type":"code","source":"train_df = train_df.groupby(\"customer_ID\").tail(1).reset_index(drop=True)\ntest_df = test_df.groupby(\"customer_ID\").tail(1).reset_index(drop=True)\n\n# Merge with targets\ntrain_df = train_df.merge(train_labels, on='customer_ID', how='left')","metadata":{"execution":{"iopub.status.idle":"2023-08-23T08:24:23.503670Z","shell.execute_reply.started":"2023-08-23T08:24:13.959869Z","shell.execute_reply":"2023-08-23T08:24:23.502561Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"target_col = 'target'\n\n# drop cột ID, S_2: thời gian và nhãn\ndrop_cols = ['customer_ID', 'S_2', target_col]\n\n# Phân loại các cột thuộc nhóm Categorical\ncat_cols = ['B_30', 'B_38', 'D_114', 'D_116', 'D_117', 'D_120', 'D_126', 'D_63', 'D_64', 'D_66', 'D_68']\ntrain_cols = [col for col in train_df.columns if col not in drop_cols]","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:24:33.245173Z","iopub.execute_input":"2023-08-23T08:24:33.245563Z","iopub.status.idle":"2023-08-23T08:24:33.252565Z","shell.execute_reply.started":"2023-08-23T08:24:33.245529Z","shell.execute_reply":"2023-08-23T08:24:33.251469Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## **<span style=\"color:#F7B2B0;\">Information Value (IV)</span>**\n\n- Tính toán giá trị Information Value cho mỗi feature\n- Trong phần này chúng ta sẽ sử dụng thư viện `optbinning` để hỗ trợ quá trình tính toán","metadata":{}},{"cell_type":"code","source":"iv_score_dict = {}\nfor col in tqdm(train_cols):\n    if col in cat_cols:\n        optb = optbinning.OptimalBinning(dtype='categorical')\n        optb.fit(train_df[col], train_df['target'])\n    else:\n        optb = optbinning.OptimalBinning(dtype='numerical')\n        optb.fit(train_df[col], train_df['target'])\n    binning_table = optb.binning_table\n    binning_table.build()\n    iv_score_dict[col] = binning_table.iv\n\niv_score_df = pd.Series(iv_score_dict)\niv_score_df.sort_values(ascending=False, inplace=True)","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:24:33.253873Z","iopub.execute_input":"2023-08-23T08:24:33.254230Z","iopub.status.idle":"2023-08-23T08:26:46.148500Z","shell.execute_reply.started":"2023-08-23T08:24:33.254197Z","shell.execute_reply":"2023-08-23T08:26:46.147418Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# top 10 feature có điểm số IV cao nhất\niv_score_df.loc[iv_score_df > 0.5]","metadata":{"execution":{"iopub.status.busy":"2023-08-23T09:06:41.213273Z","iopub.execute_input":"2023-08-23T09:06:41.213739Z","iopub.status.idle":"2023-08-23T09:06:41.224627Z","shell.execute_reply.started":"2023-08-23T09:06:41.213698Z","shell.execute_reply":"2023-08-23T09:06:41.223477Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# iv score vs features\nfig, ax = plt.subplots(figsize=(20,5))\niv_score_df.reset_index(drop=True).plot()\nplt.title(\"Thống kê Information Value của mỗi feature (Sắp xếp theo thứ tự từ lớn đến bé)\")\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T09:14:09.169035Z","iopub.execute_input":"2023-08-23T09:14:09.169567Z","iopub.status.idle":"2023-08-23T09:14:09.448590Z","shell.execute_reply.started":"2023-08-23T09:14:09.169522Z","shell.execute_reply":"2023-08-23T09:14:09.447554Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- Trong 188 features, 63 features có điểm số IV > 0.5\n- Chính vì vậy 63 features này sẽ là những features có ảnh hướng lớn đến dự đoán của mô hình","metadata":{"execution":{"iopub.status.busy":"2022-05-30T04:08:47.913562Z","iopub.execute_input":"2022-05-30T04:08:47.915143Z","iopub.status.idle":"2022-05-30T04:08:47.924946Z","shell.execute_reply.started":"2022-05-30T04:08:47.915082Z","shell.execute_reply":"2022-05-30T04:08:47.923217Z"}}},{"cell_type":"markdown","source":"## **<span style=\"color:#F7B2B0;\">Weight of Evidence (WOE)</span>**\n\n- Chúng ta sẽ giải thích các features, tại sao có điểm IV cao nghĩa là có khả năng phân loại mạnh giữa Tốt và Xấu thông qua WoE","metadata":{}},{"cell_type":"markdown","source":"Thử nghiệm với 'P_2' - feature có IV cao nhất","metadata":{}},{"cell_type":"code","source":"col = 'P_2'\noptb = optbinning.OptimalBinning(dtype='numerical')\noptb.fit(train_df[col], train_df['target'])\nbinning_table = optb.binning_table\ndisplay(binning_table.build())","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:26:46.394171Z","iopub.execute_input":"2023-08-23T08:26:46.394741Z","iopub.status.idle":"2023-08-23T08:26:47.161410Z","shell.execute_reply.started":"2023-08-23T08:26:46.394706Z","shell.execute_reply":"2023-08-23T08:26:47.160276Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"+ 'P_2' là một feature có giá trị là biến liên tục, với các biến liên tục chúng ta sẽ chia biến này thành các khoảng - trong ví dụ giá trị của feature 'P_2' được chia làm 15 khoảng từ -inf đến inf\n\n+ Với mỗi khoảng, chúng ta sẽ thống kê số sự kiện tốt (Non-event) và xấu (Event) tính toán các giá trị WOE và IV theo công thức được cung cấp ở bên trên\n\n+ Chúng ta sẽ có thêm 1 row 16th để tính toán WOE và IV cho các giá trị bị missing","metadata":{}},{"cell_type":"code","source":"display(binning_table.plot(metric=\"woe\"))","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:26:47.162986Z","iopub.execute_input":"2023-08-23T08:26:47.163718Z","iopub.status.idle":"2023-08-23T08:26:47.560016Z","shell.execute_reply.started":"2023-08-23T08:26:47.163664Z","shell.execute_reply":"2023-08-23T08:26:47.559006Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- WoE plot cho chúng ta thấy với các khoảng Bin càng lớn thì tỷ lệ chênh lệch giữa Event và Non-event càng gia tăng.\n- Quan sát đường chấm màu đen - điểm số WOE cho mỗi khoảng, cho ta thấy một sự đồng biến tương ứng giữa giá trị của feature này với nhãn","metadata":{}},{"cell_type":"markdown","source":"Tiếp theo chúng ta sẽ quan sát Top 10 feature có điểm IV cao nhất với sự diễn giải thông qua WOE","metadata":{}},{"cell_type":"code","source":"# WOE plots for top 10 features\ntop10_features = iv_score_df[:10].index.values\n\nfor col in top10_features:\n    print(\"-\"*100)\n    print(\"=\"*100)\n    print(\"################ Feature Name : \", col)\n    print(\"\\n\\n\")\n\n    if col in cat_cols:\n        optb = optbinning.OptimalBinning(dtype='categorical')\n        optb.fit(train_df[col], train_df['target'])\n    else:\n        optb = optbinning.OptimalBinning(dtype='numerical')\n        optb.fit(train_df[col], train_df['target'])\n\n    binning_table = optb.binning_table\n    display(binning_table.build())\n    display(binning_table.plot(metric=\"woe\"))","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:26:47.561247Z","iopub.execute_input":"2023-08-23T08:26:47.561652Z","iopub.status.idle":"2023-08-23T08:26:58.824993Z","shell.execute_reply.started":"2023-08-23T08:26:47.561616Z","shell.execute_reply":"2023-08-23T08:26:58.823927Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"","metadata":{}},{"cell_type":"markdown","source":"- Những feature có IV > 0.5 sẽ được chọn để huấn luyện model","metadata":{}},{"cell_type":"code","source":"selected_features = iv_score_df[iv_score_df > 0.5].index.values\ncat_cols = [col for col in cat_cols if col in selected_features]\ntrain_cols = [col for col in train_df.columns if col in selected_features]","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:26:58.826709Z","iopub.execute_input":"2023-08-23T08:26:58.827749Z","iopub.status.idle":"2023-08-23T08:26:58.836550Z","shell.execute_reply.started":"2023-08-23T08:26:58.827707Z","shell.execute_reply":"2023-08-23T08:26:58.835427Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## **<span style=\"color:#F7B2B0;\">Correlation Heatmap</span>**\n\nTính toán độ tương quan giữa các feature được chọn, với các feature có độ tương quan cao sẽ được loại bỏ để giảm kích cỡ của Model","metadata":{}},{"cell_type":"code","source":"top_cols = [col for col in selected_features[:20] if col in train_cols]\ncorr_df = train_df[top_cols].corr()\nplt.figure(figsize=(25, 9))\nsns.heatmap(corr_df,annot=True ,cmap=sns.color_palette(\"BrBG\",2));\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:26:58.838145Z","iopub.execute_input":"2023-08-23T08:26:58.838899Z","iopub.status.idle":"2023-08-23T08:27:01.904364Z","shell.execute_reply.started":"2023-08-23T08:26:58.838850Z","shell.execute_reply":"2023-08-23T08:27:01.903583Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def drop_feature_selection(row, col, corr, row_iv, col_iv):\n    if row_iv >= col_iv:\n        return col\n    else:\n        return row","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:27:01.905764Z","iopub.execute_input":"2023-08-23T08:27:01.906134Z","iopub.status.idle":"2023-08-23T08:27:01.911921Z","shell.execute_reply.started":"2023-08-23T08:27:01.906099Z","shell.execute_reply":"2023-08-23T08:27:01.910783Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cor_matrix = train_df[train_cols].corr().abs()\nupper_tri = cor_matrix.where(np.triu(np.ones(cor_matrix.shape),k=1).astype(np.bool_))\ncorr_df = upper_tri.stack().reset_index()\ncorr_df.columns = ['row', 'col', 'corr']\ncorr_df = corr_df.drop_duplicates()\ncorr_df = corr_df.sort_values('corr', ascending=False)\ncorr_df = corr_df.query(\"corr >= 0.8\")\ncorr_df['row_iv'] = corr_df['row'].map(iv_score_dict)\ncorr_df['col_iv'] = corr_df['col'].map(iv_score_dict)\n\ncorr_df['drop_feature'] = corr_df.apply(lambda x: drop_feature_selection(x['row'], x['col'], x['corr'], x['row_iv'], x['col_iv']), axis=1)","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:27:01.913191Z","iopub.execute_input":"2023-08-23T08:27:01.913617Z","iopub.status.idle":"2023-08-23T08:27:07.512550Z","shell.execute_reply.started":"2023-08-23T08:27:01.913583Z","shell.execute_reply":"2023-08-23T08:27:07.511581Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"corr_df","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:27:07.513951Z","iopub.execute_input":"2023-08-23T08:27:07.514398Z","iopub.status.idle":"2023-08-23T08:27:07.533521Z","shell.execute_reply.started":"2023-08-23T08:27:07.514356Z","shell.execute_reply":"2023-08-23T08:27:07.532373Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"corr_drop_features = corr_df['drop_feature'].unique().tolist()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:27:07.534942Z","iopub.execute_input":"2023-08-23T08:27:07.535351Z","iopub.status.idle":"2023-08-23T08:27:07.548615Z","shell.execute_reply.started":"2023-08-23T08:27:07.535316Z","shell.execute_reply":"2023-08-23T08:27:07.547435Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **<span style=\"color:#F7B2B0;\">Modeling</span>**","metadata":{}},{"cell_type":"code","source":"selected_features = [col for col in selected_features if col not in corr_drop_features]\ncat_cols = [col for col in cat_cols if col in selected_features]\ntrain_cols = [col for col in train_df.columns if col in selected_features]\n\n\n# train valid split\ntrain_data, valid_data = model_selection.train_test_split(train_df, test_size=0.3, random_state=42, shuffle=True, stratify=train_df['target'])\n\nprint(train_data.shape, valid_data.shape)\n\nX_train = train_data[train_cols].copy()\ny_train = train_data[target_col].copy()\n\nX_valid = valid_data[train_cols].copy()\ny_valid = valid_data[target_col].copy()\n\nX_test = test_df[train_cols].copy()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:27:07.550409Z","iopub.execute_input":"2023-08-23T08:27:07.551007Z","iopub.status.idle":"2023-08-23T08:27:08.950167Z","shell.execute_reply.started":"2023-08-23T08:27:07.550961Z","shell.execute_reply":"2023-08-23T08:27:08.949144Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"binning_process = optbinning.BinningProcess(                             \n    variable_names=train_cols,\n    categorical_variables=cat_cols\n)\n\n# estimator\nestimator = linear_model.LogisticRegression()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T10:06:12.371039Z","iopub.execute_input":"2023-08-23T10:06:12.371527Z","iopub.status.idle":"2023-08-23T10:06:12.376845Z","shell.execute_reply.started":"2023-08-23T10:06:12.371475Z","shell.execute_reply":"2023-08-23T10:06:12.375925Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# scorecard\nscorecard = optbinning.Scorecard(\n    binning_process=binning_process,\n    estimator=estimator, \n    scaling_method=\"min_max\",\n    scaling_method_params={\"min\": 300, \"max\": 850},\n    # scaling_method = \"pdo_odds\",\n    # scaling_method_params = {\"pdo\": 20, \"odds\": 50, \"scorecard_points\": 100},\n    #intercept_based=True,\n    #reverse_scorecard=True\n)","metadata":{"execution":{"iopub.status.busy":"2023-08-23T10:06:12.602223Z","iopub.execute_input":"2023-08-23T10:06:12.603307Z","iopub.status.idle":"2023-08-23T10:06:12.608470Z","shell.execute_reply.started":"2023-08-23T10:06:12.603268Z","shell.execute_reply":"2023-08-23T10:06:12.607668Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# model fitting\nscorecard.fit(X_train, y_train)","metadata":{"execution":{"iopub.status.busy":"2023-08-23T10:06:13.772295Z","iopub.execute_input":"2023-08-23T10:06:13.772802Z","iopub.status.idle":"2023-08-23T10:06:49.377616Z","shell.execute_reply.started":"2023-08-23T10:06:13.772759Z","shell.execute_reply":"2023-08-23T10:06:49.376831Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# scorecard table\nscorecard_df = scorecard.table(style=\"detailed\")","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:27:45.339350Z","iopub.execute_input":"2023-08-23T08:27:45.339834Z","iopub.status.idle":"2023-08-23T08:27:45.346893Z","shell.execute_reply.started":"2023-08-23T08:27:45.339788Z","shell.execute_reply":"2023-08-23T08:27:45.345924Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"scorecard_df.head()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# will try to understand scorecard for one feature\n\nscorecard_df.query(\"Variable == 'P_2'\")","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:27:45.381277Z","iopub.execute_input":"2023-08-23T08:27:45.381641Z","iopub.status.idle":"2023-08-23T08:27:45.418286Z","shell.execute_reply.started":"2023-08-23T08:27:45.381608Z","shell.execute_reply":"2023-08-23T08:27:45.416888Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- we can observe that `P_2` feature Points (score).\n- while increasing bins the score also increasing\n- for example if the user `P_2` value is 0.73 then that user belongs to 7th bin corresponding score is `22.45` ","metadata":{}},{"cell_type":"markdown","source":"## **<span style=\"color:#F7B2B0;\">Metrics</span>**","metadata":{}},{"cell_type":"code","source":"train_data['predict_proba'] = scorecard.predict_proba(X_train)[:, 1]\nvalid_data['predict_proba'] = scorecard.predict_proba(X_valid)[:, 1]\n","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:17.297974Z","iopub.execute_input":"2023-08-23T08:34:17.299042Z","iopub.status.idle":"2023-08-23T08:34:20.154113Z","shell.execute_reply.started":"2023-08-23T08:34:17.298999Z","shell.execute_reply":"2023-08-23T08:34:20.149355Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"false_positive_rate, true_positive_rate, thresholds = metrics.roc_curve(y_train, train_data['predict_proba'])\noptimal_idx = np.argmax(true_positive_rate - false_positive_rate)\noptimal_threshold = thresholds[optimal_idx]\nauc_score = metrics.auc(false_positive_rate, true_positive_rate)\nprint(\"Train Threshold value is:\", optimal_threshold)\n\nfalse_positive_rate1, true_positive_rate1, thresholds = metrics.roc_curve(y_valid, valid_data['predict_proba'])\noptimal_idx = np.argmax(true_positive_rate1 - false_positive_rate1)\noptimal_threshold1 = thresholds[optimal_idx]\nauc_score1 = metrics.auc(false_positive_rate1, true_positive_rate1)\nprint(\"Valid Threshold value is:\", optimal_threshold1)\n\nplt.title('Receiver Operating Characteristic')\nplt.plot(false_positive_rate, true_positive_rate, 'b', label='Binning+LR: Train AUC = {0:.4f}'.format(auc_score))\nplt.plot(false_positive_rate1, true_positive_rate1, 'r', label='Binning+LR: Valid AUC = {0:.4f}'.format(auc_score1))\nplt.legend(loc='lower right')\nplt.plot([0, 1], [0, 1],'k--')\nplt.xlim([0, 1])\nplt.ylim([0, 1])\nplt.ylabel('True Positive Rate')\nplt.xlabel('False Positive Rate')\nplt.show()","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2023-08-23T08:34:20.165890Z","iopub.execute_input":"2023-08-23T08:34:20.169837Z","iopub.status.idle":"2023-08-23T08:34:20.633452Z","shell.execute_reply.started":"2023-08-23T08:34:20.169390Z","shell.execute_reply":"2023-08-23T08:34:20.632353Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data['predict'] = (train_data['predict_proba'] > optimal_threshold).astype(int)\nvalid_data['predict'] = (valid_data['predict_proba'] > optimal_threshold).astype(int)","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:20.634762Z","iopub.execute_input":"2023-08-23T08:34:20.635112Z","iopub.status.idle":"2023-08-23T08:34:20.645182Z","shell.execute_reply.started":"2023-08-23T08:34:20.635080Z","shell.execute_reply":"2023-08-23T08:34:20.644019Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"conf_mat = metrics.confusion_matrix(train_data['target'], train_data['predict'])\nfig, (ax1, ax2) = plt.subplots(1,2, figsize=(10,4))\n\nsns.heatmap(conf_mat, square=True, annot=True, cmap='Blues', fmt='d', cbar=False, ax=ax1)\nsns.heatmap(conf_mat/np.sum(conf_mat), annot=True, fmt='.2%', cmap='Blues', ax=ax2)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:20.648107Z","iopub.execute_input":"2023-08-23T08:34:20.648620Z","iopub.status.idle":"2023-08-23T08:34:21.138162Z","shell.execute_reply.started":"2023-08-23T08:34:20.648581Z","shell.execute_reply":"2023-08-23T08:34:21.136555Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"conf_mat = metrics.confusion_matrix(valid_data['target'], valid_data['predict'])\nfig, (ax1, ax2) = plt.subplots(1,2, figsize=(10,4))\n\nsns.heatmap(conf_mat, square=True, annot=True, cmap='Blues', fmt='d', cbar=False, ax=ax1)\nsns.heatmap(conf_mat/np.sum(conf_mat), annot=True, fmt='.2%', cmap='Blues', ax=ax2)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:21.140254Z","iopub.execute_input":"2023-08-23T08:34:21.140808Z","iopub.status.idle":"2023-08-23T08:34:21.552090Z","shell.execute_reply.started":"2023-08-23T08:34:21.140772Z","shell.execute_reply":"2023-08-23T08:34:21.550894Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(metrics.classification_report(train_data['target'], train_data['predict'], labels=[0, 1]))","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:21.553607Z","iopub.execute_input":"2023-08-23T08:34:21.553973Z","iopub.status.idle":"2023-08-23T08:34:22.236270Z","shell.execute_reply.started":"2023-08-23T08:34:21.553941Z","shell.execute_reply":"2023-08-23T08:34:22.234875Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(metrics.classification_report(valid_data['target'], valid_data['predict'], labels=[0, 1]))","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:22.238025Z","iopub.execute_input":"2023-08-23T08:34:22.238557Z","iopub.status.idle":"2023-08-23T08:34:22.535056Z","shell.execute_reply.started":"2023-08-23T08:34:22.238506Z","shell.execute_reply":"2023-08-23T08:34:22.533795Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## **<span style=\"color:#F7B2B0;\">Scores</span>**","metadata":{}},{"cell_type":"code","source":"train_data['score'] = scorecard.score(X_train)\nvalid_data['score'] = scorecard.score(X_valid)","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:22.536257Z","iopub.execute_input":"2023-08-23T08:34:22.536719Z","iopub.status.idle":"2023-08-23T08:34:26.112754Z","shell.execute_reply.started":"2023-08-23T08:34:22.536672Z","shell.execute_reply":"2023-08-23T08:34:26.111611Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y_test = valid_data['target']\nscore = valid_data['score']\n\nmask = y_test == 0\n\nfig, ax = plt.subplots(figsize=(20,10))\nplt.hist(score[mask], label=\"non-default\", color=\"b\", alpha=0.35)\nplt.hist(score[~mask], label=\"default\", color=\"r\", alpha=0.35)\nplt.xlabel(\"score\")\nplt.legend()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:26.118864Z","iopub.execute_input":"2023-08-23T08:34:26.119325Z","iopub.status.idle":"2023-08-23T08:34:26.456401Z","shell.execute_reply.started":"2023-08-23T08:34:26.119290Z","shell.execute_reply":"2023-08-23T08:34:26.454934Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"- we can observe that default vs non-default score distribution\n- some overlap between 550 to 650\n- overall well seperated ","metadata":{}},{"cell_type":"code","source":"# Plot Distribution of Scores\nplt.figure(figsize=(20,10))\n\nplt.hist(score,\n         bins=100,\n         edgecolor='white',\n         color = '#317DC2',\n         linewidth=1.2)\n\n#plt.xlim(231,750)\nplt.title('Scorecard Distribution', fontweight=\"bold\", fontsize=14)\n# plt.axvline(score.mean(), color='k', linestyle='dashed', linewidth=1.5, alpha=0.5)\n# plt.text(458, 2970, 'Mean Score: 456', color='red', fontweight='bold', style='italic', fontsize=8)\nplt.xlabel('Score')\nplt.ylabel('Count');","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:26.458025Z","iopub.execute_input":"2023-08-23T08:34:26.458568Z","iopub.status.idle":"2023-08-23T08:34:26.972011Z","shell.execute_reply.started":"2023-08-23T08:34:26.458519Z","shell.execute_reply":"2023-08-23T08:34:26.970860Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Plot Scores Against Probabilities\nplt.figure(figsize=(20,10))\n\nplt.scatter(x=score,\n            y=valid_data['predict_proba'],\n            #data=scorecard,\n            color='#317DC2')\n\nplt.title('Scores by Probability', fontweight=\"bold\", fontsize=14)\nplt.xlabel('Score')\nplt.ylabel('Probability (Good)');","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:26.973470Z","iopub.execute_input":"2023-08-23T08:34:26.973870Z","iopub.status.idle":"2023-08-23T08:34:27.529949Z","shell.execute_reply.started":"2023-08-23T08:34:26.973829Z","shell.execute_reply":"2023-08-23T08:34:27.528661Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **<span style=\"color:#F7B2B0;\">Inference</span>**","metadata":{}},{"cell_type":"code","source":"test_df['prediction'] = scorecard.predict_proba(X_test)[:, 1]\nsub_df = test_df[['customer_ID', 'prediction']].copy()\nsub_df.to_csv(\"submission.csv\", index=False)","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:27.531069Z","iopub.execute_input":"2023-08-23T08:34:27.531458Z","iopub.status.idle":"2023-08-23T08:34:38.388713Z","shell.execute_reply.started":"2023-08-23T08:34:27.531419Z","shell.execute_reply":"2023-08-23T08:34:38.387791Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sub_df","metadata":{"execution":{"iopub.status.busy":"2023-08-23T08:34:38.390342Z","iopub.execute_input":"2023-08-23T08:34:38.390862Z","iopub.status.idle":"2023-08-23T08:34:38.405519Z","shell.execute_reply.started":"2023-08-23T08:34:38.390813Z","shell.execute_reply":"2023-08-23T08:34:38.404742Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}