{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 處理 outliers\n", "* 新增欄位註記\n", "* outliers 或 NA 填補\n", " 1. 平均數 (mean)\n", " 2. 中位數 (median, or Q50)\n", " 3. 最大/最小值 (max/min, Q100, Q0)\n", " 4. 分位數 (quantile)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import 需要的套件\n", "import os\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "%matplotlib inline\n", "\n", "# 設定 data_path\n", "dir_data = './data/'" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Path of read in data: ./data/application_train.csv\n" ] }, { "data": { "text/html": [ "
\n", " | SK_ID_CURR | \n", "TARGET | \n", "NAME_CONTRACT_TYPE | \n", "CODE_GENDER | \n", "FLAG_OWN_CAR | \n", "FLAG_OWN_REALTY | \n", "CNT_CHILDREN | \n", "AMT_INCOME_TOTAL | \n", "AMT_CREDIT | \n", "AMT_ANNUITY | \n", "... | \n", "FLAG_DOCUMENT_18 | \n", "FLAG_DOCUMENT_19 | \n", "FLAG_DOCUMENT_20 | \n", "FLAG_DOCUMENT_21 | \n", "AMT_REQ_CREDIT_BUREAU_HOUR | \n", "AMT_REQ_CREDIT_BUREAU_DAY | \n", "AMT_REQ_CREDIT_BUREAU_WEEK | \n", "AMT_REQ_CREDIT_BUREAU_MON | \n", "AMT_REQ_CREDIT_BUREAU_QRT | \n", "AMT_REQ_CREDIT_BUREAU_YEAR | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "100002 | \n", "1 | \n", "Cash loans | \n", "M | \n", "N | \n", "Y | \n", "0 | \n", "202500.0 | \n", "406597.5 | \n", "24700.5 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "1.0 | \n", "
1 | \n", "100003 | \n", "0 | \n", "Cash loans | \n", "F | \n", "N | \n", "N | \n", "0 | \n", "270000.0 | \n", "1293502.5 | \n", "35698.5 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
2 | \n", "100004 | \n", "0 | \n", "Revolving loans | \n", "M | \n", "Y | \n", "Y | \n", "0 | \n", "67500.0 | \n", "135000.0 | \n", "6750.0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
3 | \n", "100006 | \n", "0 | \n", "Cash loans | \n", "F | \n", "N | \n", "Y | \n", "0 | \n", "135000.0 | \n", "312682.5 | \n", "29686.5 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
4 | \n", "100007 | \n", "0 | \n", "Cash loans | \n", "M | \n", "N | \n", "Y | \n", "0 | \n", "121500.0 | \n", "513000.0 | \n", "21865.5 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
5 rows × 122 columns
\n", "\n", " | SK_ID_CURR | \n", "TARGET | \n", "NAME_CONTRACT_TYPE | \n", "CODE_GENDER | \n", "FLAG_OWN_CAR | \n", "FLAG_OWN_REALTY | \n", "CNT_CHILDREN | \n", "AMT_INCOME_TOTAL | \n", "AMT_CREDIT | \n", "AMT_ANNUITY | \n", "... | \n", "FLAG_DOCUMENT_18 | \n", "FLAG_DOCUMENT_19 | \n", "FLAG_DOCUMENT_20 | \n", "FLAG_DOCUMENT_21 | \n", "AMT_REQ_CREDIT_BUREAU_HOUR | \n", "AMT_REQ_CREDIT_BUREAU_DAY | \n", "AMT_REQ_CREDIT_BUREAU_WEEK | \n", "AMT_REQ_CREDIT_BUREAU_MON | \n", "AMT_REQ_CREDIT_BUREAU_QRT | \n", "AMT_REQ_CREDIT_BUREAU_YEAR | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "100002 | \n", "1 | \n", "Cash loans | \n", "M | \n", "N | \n", "Y | \n", "0 | \n", "202500.0 | \n", "406597.5 | \n", "24700.5 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "1.0 | \n", "
1 | \n", "100003 | \n", "0 | \n", "Cash loans | \n", "F | \n", "N | \n", "N | \n", "0 | \n", "270000.0 | \n", "1293502.5 | \n", "35698.5 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
2 | \n", "100004 | \n", "0 | \n", "Revolving loans | \n", "M | \n", "Y | \n", "Y | \n", "0 | \n", "67500.0 | \n", "135000.0 | \n", "6750.0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
3 | \n", "100006 | \n", "0 | \n", "Cash loans | \n", "F | \n", "N | \n", "Y | \n", "0 | \n", "135000.0 | \n", "312682.5 | \n", "29686.5 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
4 | \n", "100007 | \n", "0 | \n", "Cash loans | \n", "M | \n", "N | \n", "Y | \n", "0 | \n", "121500.0 | \n", "513000.0 | \n", "21865.5 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
5 rows × 122 columns
\n", "\n", " | q | \n", "value | \n", "
---|---|---|
0 | \n", "0 | \n", "1615.50 | \n", "
1 | \n", "1 | \n", "6182.91 | \n", "
2 | \n", "2 | \n", "6750.00 | \n", "
3 | \n", "3 | \n", "7875.00 | \n", "
4 | \n", "4 | \n", "8703.00 | \n", "
5 | \n", "5 | \n", "9000.00 | \n", "
6 | \n", "6 | \n", "9000.00 | \n", "
7 | \n", "7 | \n", "9553.50 | \n", "
8 | \n", "8 | \n", "10125.00 | \n", "
9 | \n", "9 | \n", "10503.00 | \n", "
10 | \n", "10 | \n", "11074.50 | \n", "
11 | \n", "11 | \n", "11430.00 | \n", "
12 | \n", "12 | \n", "11970.00 | \n", "
13 | \n", "13 | \n", "12375.00 | \n", "
14 | \n", "14 | \n", "12838.50 | \n", "
15 | \n", "15 | \n", "13302.00 | \n", "
16 | \n", "16 | \n", "13500.00 | \n", "
17 | \n", "17 | \n", "13500.00 | \n", "
18 | \n", "18 | \n", "13896.00 | \n", "
19 | \n", "19 | \n", "14350.50 | \n", "
20 | \n", "20 | \n", "14701.50 | \n", "
21 | \n", "21 | \n", "15124.50 | \n", "
22 | \n", "22 | \n", "15583.50 | \n", "
23 | \n", "23 | \n", "15970.50 | \n", "
24 | \n", "24 | \n", "16209.00 | \n", "
25 | \n", "25 | \n", "16524.00 | \n", "
26 | \n", "26 | \n", "16852.50 | \n", "
27 | \n", "27 | \n", "17109.00 | \n", "
28 | \n", "28 | \n", "17487.00 | \n", "
29 | \n", "29 | \n", "17806.50 | \n", "
... | \n", "... | \n", "... | \n", "
71 | \n", "71 | \n", "32458.50 | \n", "
72 | \n", "72 | \n", "32895.00 | \n", "
73 | \n", "73 | \n", "33376.50 | \n", "
74 | \n", "74 | \n", "33984.00 | \n", "
75 | \n", "75 | \n", "34596.00 | \n", "
76 | \n", "76 | \n", "35345.16 | \n", "
77 | \n", "77 | \n", "35806.50 | \n", "
78 | \n", "78 | \n", "36328.50 | \n", "
79 | \n", "79 | \n", "36747.00 | \n", "
80 | \n", "80 | \n", "37516.50 | \n", "
81 | \n", "81 | \n", "37948.50 | \n", "
82 | \n", "82 | \n", "38556.00 | \n", "
83 | \n", "83 | \n", "39456.00 | \n", "
84 | \n", "84 | \n", "40135.50 | \n", "
85 | \n", "85 | \n", "40806.00 | \n", "
86 | \n", "86 | \n", "41845.50 | \n", "
87 | \n", "87 | \n", "42790.50 | \n", "
88 | \n", "88 | \n", "43735.50 | \n", "
89 | \n", "89 | \n", "44991.00 | \n", "
90 | \n", "90 | \n", "45954.00 | \n", "
91 | \n", "91 | \n", "47254.50 | \n", "
92 | \n", "92 | \n", "48465.00 | \n", "
93 | \n", "93 | \n", "49878.00 | \n", "
94 | \n", "94 | \n", "51745.50 | \n", "
95 | \n", "95 | \n", "53325.00 | \n", "
96 | \n", "96 | \n", "55624.50 | \n", "
97 | \n", "97 | \n", "58482.00 | \n", "
98 | \n", "98 | \n", "62964.00 | \n", "
99 | \n", "99 | \n", "70006.50 | \n", "
100 | \n", "100 | \n", "258025.50 | \n", "
101 rows × 2 columns
\n", "\n", " | q | \n", "value | \n", "
---|---|---|
0 | \n", "0 | \n", "1615.50 | \n", "
1 | \n", "1 | \n", "6182.91 | \n", "
2 | \n", "2 | \n", "6750.00 | \n", "
3 | \n", "3 | \n", "7875.00 | \n", "
4 | \n", "4 | \n", "8703.00 | \n", "
5 | \n", "5 | \n", "9000.00 | \n", "
6 | \n", "6 | \n", "9000.00 | \n", "
7 | \n", "7 | \n", "9553.50 | \n", "
8 | \n", "8 | \n", "10125.00 | \n", "
9 | \n", "9 | \n", "10503.00 | \n", "
10 | \n", "10 | \n", "11074.50 | \n", "
11 | \n", "11 | \n", "11430.00 | \n", "
12 | \n", "12 | \n", "11970.00 | \n", "
13 | \n", "13 | \n", "12375.00 | \n", "
14 | \n", "14 | \n", "12838.50 | \n", "
15 | \n", "15 | \n", "13302.00 | \n", "
16 | \n", "16 | \n", "13500.00 | \n", "
17 | \n", "17 | \n", "13500.00 | \n", "
18 | \n", "18 | \n", "13896.00 | \n", "
19 | \n", "19 | \n", "14350.50 | \n", "
20 | \n", "20 | \n", "14701.50 | \n", "
21 | \n", "21 | \n", "15124.50 | \n", "
22 | \n", "22 | \n", "15583.50 | \n", "
23 | \n", "23 | \n", "15970.50 | \n", "
24 | \n", "24 | \n", "16209.00 | \n", "
25 | \n", "25 | \n", "16524.00 | \n", "
26 | \n", "26 | \n", "16852.50 | \n", "
27 | \n", "27 | \n", "17109.00 | \n", "
28 | \n", "28 | \n", "17487.00 | \n", "
29 | \n", "29 | \n", "17806.50 | \n", "
... | \n", "... | \n", "... | \n", "
71 | \n", "71 | \n", "32458.50 | \n", "
72 | \n", "72 | \n", "32895.00 | \n", "
73 | \n", "73 | \n", "33376.50 | \n", "
74 | \n", "74 | \n", "33984.00 | \n", "
75 | \n", "75 | \n", "34596.00 | \n", "
76 | \n", "76 | \n", "35345.16 | \n", "
77 | \n", "77 | \n", "35806.50 | \n", "
78 | \n", "78 | \n", "36328.50 | \n", "
79 | \n", "79 | \n", "36747.00 | \n", "
80 | \n", "80 | \n", "37516.50 | \n", "
81 | \n", "81 | \n", "37948.50 | \n", "
82 | \n", "82 | \n", "38556.00 | \n", "
83 | \n", "83 | \n", "39456.00 | \n", "
84 | \n", "84 | \n", "40135.50 | \n", "
85 | \n", "85 | \n", "40806.00 | \n", "
86 | \n", "86 | \n", "41845.50 | \n", "
87 | \n", "87 | \n", "42790.50 | \n", "
88 | \n", "88 | \n", "43735.50 | \n", "
89 | \n", "89 | \n", "44991.00 | \n", "
90 | \n", "90 | \n", "45954.00 | \n", "
91 | \n", "91 | \n", "47254.50 | \n", "
92 | \n", "92 | \n", "48465.00 | \n", "
93 | \n", "93 | \n", "49878.00 | \n", "
94 | \n", "94 | \n", "51745.50 | \n", "
95 | \n", "95 | \n", "53325.00 | \n", "
96 | \n", "96 | \n", "55624.50 | \n", "
97 | \n", "97 | \n", "58482.00 | \n", "
98 | \n", "98 | \n", "62964.00 | \n", "
99 | \n", "99 | \n", "70006.50 | \n", "
100 | \n", "100 | \n", "258025.50 | \n", "
101 rows × 2 columns
\n", "