DataScience:基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型
目录
基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型
分析label字段:统计SeriousDlqin2yrs类别及其个数统计
分析3个类似字段—NumberOfTimes90DaysLate、NumberOfTime60
分析单个字段—DebtRatio及与MonthlyIncome、SeriousDlqin2yrs关系
分析单个字段—NumberOfOpenCreditLinesAndLoans
分析单个字段—NumberRealEstateLoansOrLines
# 2.5.1、基于筛选的特征,利用WOE函数把分箱转成WOE值
# 3.2、模型评估:计算AUC值、绘制ROC曲线、输出混淆矩阵
# 4.1.1、求出两个刻度A、B:根据2个假设推导出评分卡的刻度参数A和B计算公式
# 4.1.2、设计评分卡规则表 :根据刻度B、对应分箱的WOE编码、模型系数,得到score_card_rule
# 4.2.1、随机选取12个样本(6个好的和6个坏的)并计算每个样本的总评分并对比Label,可验证模型效果
相关文章
DataScience:基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型
DataScience:基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型实现
基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型
1、加载数据集
查看数据集的摘要信息
Unnamed: 0 ... NumberOfDependents
0 1 ... 2.0
1 2 ... 1.0
2 3 ... 0.0
3 4 ... 0.0
4 5 ... 0.0
[5 rows x 12 columns]
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150000 entries, 0 to 149999
Data columns (total 12 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Unnamed: 0 150000 non-null int64
1 SeriousDlqin2yrs 150000 non-null int64
2 RevolvingUtilizationOfUnsecuredLines 150000 non-null float64
3 age 150000 non-null int64
4 NumberOfTime30-59DaysPastDueNotWorse 150000 non-null int64
5 DebtRatio 150000 non-null float64
6 MonthlyIncome 120269 non-null float64
7 NumberOfOpenCreditLinesAndLoans 150000 non-null int64
8 NumberOfTimes90DaysLate 150000 non-null int64
9 NumberRealEstateLoansOrLines 150000 non-null int64
10 NumberOfTime60-89DaysPastDueNotWorse 150000 non-null int64
11 NumberOfDependents 146076 non-null float64
dtypes: float64(4), int64(8)
memory usage: 13.7 MB
None
Unnamed: 0 ... NumberOfDependents
count 150000.000000 ... 146076.000000
mean 75000.500000 ... 0.757222
std 43301.414527 ... 1.115086
min 1.000000 ... 0.000000
25% 37500.750000 ... 0.000000
50% 75000.500000 ... 0.000000
75% 112500.250000 ... 1.000000
max 150000.000000 ... 20.000000
2、特征工程:数据分析与处理
# 2.1、缺失值分析及处理
[8 rows x 12 columns]
Column Number_of_Null_Values Proportion
0 Unnamed: 0 0 0.000000
1 SeriousDlqin2yrs 0 0.000000
2 RevolvingUtilizationOfUnsecuredLines 0 0.000000
3 age 0 0.000000
4 NumberOfTime30-59DaysPastDueNotWorse 0 0.000000
5 DebtRatio 0 0.000000
6 MonthlyIncome 29731 0.198207
7 NumberOfOpenCreditLinesAndLoans 0 0.000000
8 NumberOfTimes90DaysLate 0 0.000000
9 NumberRealEstateLoansOrLines 0 0.000000
10 NumberOfTime60-89DaysPastDueNotWorse 0 0.000000
11 NumberOfDependents 3924 0.026160
Unnamed: 0 0
SeriousDlqin2yrs 0
RevolvingUtilizationOfUnsecuredLines 0
age 0
NumberOfTime30-59DaysPastDueNotWorse 0
DebtRatio 0
MonthlyIncome 0
NumberOfOpenCreditLinesAndLoans 0
NumberOfTimes90DaysLate 0
NumberRealEstateLoansOrLines 0
NumberOfTime60-89DaysPastDueNotWorse 0
NumberOfDependents 0
# 2.2、单个字段逐个分析
分析label字段:统计SeriousDlqin2yrs类别及其个数统计
Default Rate: 0.06684
count 150000.000000
mean 6.048438
std 249.755371
min 0.000000
25% 0.029867
50% 0.154181
75% 0.559046
max 50708.000000
Name: RevolvingUtilizationOfUnsecuredLines, dtype: float64
[[0, 0.06684], [1, 0.37177950868783705], [2, 0.14555256064690028], [3, 0.09931506849315068], [4, 0.08679245283018867], [5, 0.07874015748031496], [6, 0.07692307692307693], [7, 0.0778688524590164], [8, 0.07407407407407407], [9, 0.07053941908713693], [10, 0.07053941908713693], [11, 0.07053941908713693], [12, 0.06666666666666667], [13, 0.058823529411764705], [14, 0.058823529411764705], [15, 0.05531914893617021], [16, 0.05531914893617021], [17, 0.05531914893617021], [18, 0.05531914893617021], [19, 0.05555555555555555]]
Proportion of Defaulters with Total Amount of Money Owed Not Exceeding Total Credit Limit: 0.05991996127598361
Proportion of Defaulters with Total Amount of Money Owed Not Exceeding or Equal to 13 times of Total Credit Limit:
0.06685273968029273
分析age字段
count 150000.000000
mean 52.295207
std 14.771866
min 0.000000
25% 41.000000
50% 52.000000
75% 63.000000
max 109.000000
Name: age, dtype: float64
分析3个类似字段—NumberOfTimes90DaysLate、NumberOfTime60
89DaysPastDueNotWorse、NumberOfTime30-59DaysPastDueNotWorse
0 141662
1 5243
2 1555
3 667
4 291
5 131
6 80
7 38
8 21
9 19
10 8
11 5
12 2
13 4
14 2
15 2
17 1
96 5
98 264
Name: NumberOfTimes90DaysLate, dtype: int64
0 142396
1 5731
2 1118
3 318
4 105
5 34
6 16
7 9
8 2
9 1
11 1
96 5
98 264
Name: NumberOfTime60-89DaysPastDueNotWorse, dtype: int64
0 126018
1 16033
2 4598
3 1754
4 747
5 342
6 140
7 54
8 25
9 12
10 4
11 1
12 2
13 1
96 5
98 264
Name: NumberOfTime30-59DaysPastDueNotWorse, dtype: int64
NumberOfTimes90DaysLate ... NumberOfTime30-59DaysPastDueNotWorse
count 269.000000 ... 269.000000
mean 97.962825 ... 97.962825
std 0.270628 ... 0.270628
min 96.000000 ... 96.000000
25% 98.000000 ... 98.000000
50% 98.000000 ... 98.000000
75% 98.000000 ... 98.000000
max 98.000000 ... 98.000000
[8 rows x 3 columns]
{'98,98,98': 263, '96,96,96': 4}
分析单个字段—DebtRatio及与MonthlyIncome、SeriousDlqin2yrs关系
temp = df_train[(df_DR > df_DR95) & (df_train['SeriousDlqin2yrs'] == df_train['MonthlyIncome'])]
temp.to_csv('20220314temp.csv')
count 150000.000000
mean 353.005076
std 2037.818523
min 0.000000
25% 0.175074
50% 0.366508
75% 0.868254
max 329664.000000
Name: DebtRatio, dtype: float64
2449.0
DebtRatio MonthlyIncome SeriousDlqin2yrs
count 7494.000000 7494.000000 7494.000000
mean 4417.958367 5126.905791 0.055111
std 7875.314649 1183.339377 0.228212
min 2450.000000 0.000000 0.000000
25% 2893.250000 5400.000000 0.000000
50% 3491.000000 5400.000000 0.000000
75% 4620.000000 5400.000000 0.000000
max 329664.000000 5400.000000 1.000000
331
5400.0 7115
0.0 347
1.0 32
Name: MonthlyIncome, dtype: int64
Number of people who owe around 2449 or more times what they own and have same values for MonthlyIncome and SeriousDlqin2yrs: 331
3489.024999999994
DebtRatio MonthlyIncome SeriousDlqin2yrs
count 3750.000000 3750.00000 3750.000000
mean 5917.488000 5133.60320 0.064267
std 10925.524011 1169.58239 0.245260
min 3490.000000 0.00000 0.000000
25% 3957.250000 5400.00000 0.000000
50% 4619.000000 5400.00000 0.000000
75% 5789.500000 5400.00000 0.000000
max 329664.000000 5400.00000 1.000000
164
5400.0 3565
0.0 173
1.0 12
Name: MonthlyIncome, dtype: int64
Number of people who owe around 3490 or more times what they own and have same values for MonthlyIncome and SeriousDlqin2yrs: 164
分析单个字段—MonthlyIncome
分析单个字段—NumberOfOpenCreditLinesAndLoans
分析单个字段—NumberRealEstateLoansOrLines
分析单个字段—NumberOfDependents
# 2.3、数据分箱
仅label没分箱处理
# 2.4、特征筛选:利用IV方法
bin_DebtRatio cal_IV: 0.0595
bin_MonthlyIncome cal_IV: 0.0562
bin_RevolvingUtilizationOfUnsecuredLines cal_IV: 1.0596
bin_NumberOfOpenCreditLinesAndLoans cal_IV: 0.048
bin_NumberRealEstateLoansOrLines cal_IV: 0.0121
bin_age cal_IV: 0.2404
bin_NumberOfDependents cal_IV: 0.0145
bin_NumberOfTime30-59DaysPastDueNotWorse cal_IV: 0.4924
bin_NumberOfTime60-89DaysPastDueNotWorse cal_IV: 0.2666
bin_NumberOfTimes90DaysLate cal_IV: 0.4916
# 2.5、计算WOE值
# 2.5.1、基于筛选的特征,利用WOE函数把分箱转成WOE值
woe_cols: ['woe_bin_age', 'woe_bin_RevolvingUtilizationOfUnsecuredLines', 'woe_bin_NumberOfTime30-59DaysPastDueNotWorse', 'woe_bin_NumberOfTime60-89DaysPastDueNotWorse', 'woe_bin_NumberOfTimes90DaysLate']
------------- age
<class 'pandas.core.frame.DataFrame'> df……final
features bin woe
0 age (40.0, 50.0] 0.228343
1 age (25.0, 40.0] 0.469547
5 age (70.0, inf] -1.132145
6 age (50.0, 60.0] -0.084782
15 age (60.0, 70.0] -0.689003
19 age (-inf, 25.0] 0.562024
------------- RevolvingUtilizationOfUnsecuredLines
<class 'pandas.core.frame.DataFrame'> df……final
features bin woe
0 RevolvingUtilizationOfUnsecuredLines (0.699, 50708.0] 1.242254
2 RevolvingUtilizationOfUnsecuredLines (0.271, 0.699] 0.053164
3 RevolvingUtilizationOfUnsecuredLines (0.0832, 0.271] -0.866502
11 RevolvingUtilizationOfUnsecuredLines (-0.001, 0.0192] -1.286617
14 RevolvingUtilizationOfUnsecuredLines (0.0192, 0.0832] -1.447382
------------- NumberOfTime30-59DaysPastDueNotWorse
<class 'pandas.core.frame.DataFrame'> df……final
features bin woe
0 NumberOfTime30-59DaysPastDueNotWorse (1.0, 2.0] 1.616726
1 NumberOfTime30-59DaysPastDueNotWorse (-inf, 1.0] -0.257826
13 NumberOfTime30-59DaysPastDueNotWorse (2.0, 3.0] 2.027495
183 NumberOfTime30-59DaysPastDueNotWorse (3.0, 4.0] 2.336869
191 NumberOfTime30-59DaysPastDueNotWorse (4.0, 5.0] 2.436786
251 NumberOfTime30-59DaysPastDueNotWorse (6.0, 7.0] 2.710383
423 NumberOfTime30-59DaysPastDueNotWorse (9.0, inf] 2.846431
1052 NumberOfTime30-59DaysPastDueNotWorse (5.0, 6.0] 2.750685
6909 NumberOfTime30-59DaysPastDueNotWorse (7.0, 8.0] 1.882503
10822 NumberOfTime30-59DaysPastDueNotWorse (8.0, 9.0] 1.943128
------------- NumberOfTime60-89DaysPastDueNotWorse
<class 'pandas.core.frame.DataFrame'> df……final
features bin woe
0 NumberOfTime60-89DaysPastDueNotWorse (-inf, 1.0] -0.097990
186 NumberOfTime60-89DaysPastDueNotWorse (1.0, 2.0] 2.643431
423 NumberOfTime60-89DaysPastDueNotWorse (4.0, 5.0] 3.115848
1146 NumberOfTime60-89DaysPastDueNotWorse (2.0, 3.0] 2.901978
1733 NumberOfTime60-89DaysPastDueNotWorse (9.0, inf] 2.829466
2406 NumberOfTime60-89DaysPastDueNotWorse (3.0, 4.0] 3.121783
6664 NumberOfTime60-89DaysPastDueNotWorse (5.0, 6.0] 3.734887
16642 NumberOfTime60-89DaysPastDueNotWorse (6.0, 7.0] 2.859419
23964 NumberOfTime60-89DaysPastDueNotWorse (7.0, 8.0] 2.636275
68976 NumberOfTime60-89DaysPastDueNotWorse (8.0, 9.0] 2.636275
------------- NumberOfTimes90DaysLate
<class 'pandas.core.frame.DataFrame'> df……final
features bin woe
0 NumberOfTimes90DaysLate (-inf, 1.0] -0.176674
13 NumberOfTimes90DaysLate (2.0, 3.0] 2.947611
186 NumberOfTimes90DaysLate (1.0, 2.0] 2.632416
1298 NumberOfTimes90DaysLate (4.0, 5.0] 3.183915
1713 NumberOfTimes90DaysLate (3.0, 4.0] 3.344926
1733 NumberOfTimes90DaysLate (9.0, inf] 2.821100
2910 NumberOfTimes90DaysLate (8.0, 9.0] 3.665894
3400 NumberOfTimes90DaysLate (5.0, 6.0] 3.041740
3929 NumberOfTimes90DaysLate (6.0, 7.0] 4.124352
5684 NumberOfTimes90DaysLate (7.0, 8.0] 3.552566
# 2.5.2、解析不同bin对应woe值的一一对应情况
Variable | Binning | Score |
NumberOfTime30-59DaysPastDueNotWorse | (-inf, 1.0] | 11 |
NumberOfTime30-59DaysPastDueNotWorse | (1.0, 2.0] | -70 |
NumberOfTime30-59DaysPastDueNotWorse | (2.0, 3.0] | -87 |
NumberOfTime30-59DaysPastDueNotWorse | (3.0, 4.0] | -101 |
NumberOfTime30-59DaysPastDueNotWorse | (4.0, 5.0] | -105 |
NumberOfTime30-59DaysPastDueNotWorse | (5.0, 6.0] | -119 |
NumberOfTime30-59DaysPastDueNotWorse | (6.0, 7.0] | -117 |
NumberOfTime30-59DaysPastDueNotWorse | (7.0, 8.0] | -81 |
NumberOfTime30-59DaysPastDueNotWorse | (8.0, 9.0] | -84 |
NumberOfTime30-59DaysPastDueNotWorse | (9.0, inf] | -123 |
NumberOfTime60-89DaysPastDueNotWorse | (-inf, 1.0] | 2 |
NumberOfTime60-89DaysPastDueNotWorse | (1.0, 2.0] | -66 |
NumberOfTime60-89DaysPastDueNotWorse | (2.0, 3.0] | -73 |
NumberOfTime60-89DaysPastDueNotWorse | (3.0, 4.0] | -78 |
NumberOfTime60-89DaysPastDueNotWorse | (4.0, 5.0] | -78 |
NumberOfTime60-89DaysPastDueNotWorse | (5.0, 6.0] | -94 |
NumberOfTime60-89DaysPastDueNotWorse | (6.0, 7.0] | -72 |
NumberOfTime60-89DaysPastDueNotWorse | (7.0, 8.0] | -66 |
NumberOfTime60-89DaysPastDueNotWorse | (8.0, 9.0] | -66 |
NumberOfTime60-89DaysPastDueNotWorse | (9.0, inf] | -71 |
NumberOfTimes90DaysLate | (-inf, 1.0] | 7 |
NumberOfTimes90DaysLate | (1.0, 2.0] | -107 |
NumberOfTimes90DaysLate | (2.0, 3.0] | -120 |
NumberOfTimes90DaysLate | (3.0, 4.0] | -137 |
NumberOfTimes90DaysLate | (4.0, 5.0] | -130 |
NumberOfTimes90DaysLate | (5.0, 6.0] | -124 |
NumberOfTimes90DaysLate | (6.0, 7.0] | -168 |
NumberOfTimes90DaysLate | (7.0, 8.0] | -145 |
NumberOfTimes90DaysLate | (8.0, 9.0] | -150 |
NumberOfTimes90DaysLate | (9.0, inf] | -115 |
RevolvingUtilizationOfUnsecuredLines | (-0.001, 0.0192] | 71 |
RevolvingUtilizationOfUnsecuredLines | (0.0192, 0.0832] | 80 |
RevolvingUtilizationOfUnsecuredLines | (0.0832, 0.271] | 48 |
RevolvingUtilizationOfUnsecuredLines | (0.271, 0.699] | -3 |
RevolvingUtilizationOfUnsecuredLines | (0.699, 50708.0] | -69 |
age | (-inf, 25.0] | -19 |
age | (25.0, 40.0] | -16 |
age | (40.0, 50.0] | -8 |
age | (50.0, 60.0] | 3 |
age | (60.0, 70.0] | 23 |
age | (70.0, inf] | 38 |
# 2.6、切分数据集:留25%作为模型的验证集
bad_rate: 0.06688333333333334
X_train.shape: (120000, 5)
# 3、逻辑回归建模
# 3.1、建立模型
LoR_Score: 0.9368266666666667
LoRC_pred_proba [0.0121424 0.15221691 0.02248172 ... 0.0528182 0.0121424 0.0952767 ]
LoRC_coef_lists_
[0.46051155 0.76869053 0.59104431 0.36452944 0.56621256]
# 3.2、模型评估:计算AUC值、绘制ROC曲线、输出混淆矩阵
Auc_Score: 0.8226466762033763
[[34827 200]
[ 2169 304]]
# 4、模型推理
# 4.1、设计评分卡规则表
# 4.1.1、求出两个刻度A、B:根据2个假设推导出评分卡的刻度参数A和B计算公式
650 72.13
# 4.1.2、设计评分卡规则表 :根据刻度B、对应分箱的WOE编码、模型系数,得到score_card_rule
Variable | Binning | Score | |
0 | age | (40.0, 50.0] | -8 |
1 | age | (25.0, 40.0] | -16 |
2 | age | (70.0, inf] | 38 |
3 | age | (50.0, 60.0] | 3 |
4 | age | (60.0, 70.0] | 23 |
5 | age | (-inf, 25.0] | -19 |
6 | RevolvingUtilizationOfUnsecuredLines | (0.699, 50708.0] | -69 |
7 | RevolvingUtilizationOfUnsecuredLines | (0.271, 0.699] | -3 |
8 | RevolvingUtilizationOfUnsecuredLines | (0.0832, 0.271] | 48 |
9 | RevolvingUtilizationOfUnsecuredLines | (-0.001, 0.0192] | 71 |
10 | RevolvingUtilizationOfUnsecuredLines | (0.0192, 0.0832] | 80 |
11 | NumberOfTime30-59DaysPastDueNotWorse | (1.0, 2.0] | -69 |
12 | NumberOfTime30-59DaysPastDueNotWorse | (-inf, 1.0] | 11 |
13 | NumberOfTime30-59DaysPastDueNotWorse | (2.0, 3.0] | -86 |
14 | NumberOfTime30-59DaysPastDueNotWorse | (3.0, 4.0] | -100 |
15 | NumberOfTime30-59DaysPastDueNotWorse | (4.0, 5.0] | -104 |
16 | NumberOfTime30-59DaysPastDueNotWorse | (6.0, 7.0] | -116 |
17 | NumberOfTime30-59DaysPastDueNotWorse | (9.0, inf] | -121 |
18 | NumberOfTime30-59DaysPastDueNotWorse | (5.0, 6.0] | -117 |
19 | NumberOfTime30-59DaysPastDueNotWorse | (7.0, 8.0] | -80 |
20 | NumberOfTime30-59DaysPastDueNotWorse | (8.0, 9.0] | -83 |
21 | NumberOfTime60-89DaysPastDueNotWorse | (-inf, 1.0] | 3 |
22 | NumberOfTime60-89DaysPastDueNotWorse | (1.0, 2.0] | -70 |
23 | NumberOfTime60-89DaysPastDueNotWorse | (4.0, 5.0] | -82 |
24 | NumberOfTime60-89DaysPastDueNotWorse | (2.0, 3.0] | -76 |
25 | NumberOfTime60-89DaysPastDueNotWorse | (9.0, inf] | -74 |
26 | NumberOfTime60-89DaysPastDueNotWorse | (3.0, 4.0] | -82 |
27 | NumberOfTime60-89DaysPastDueNotWorse | (5.0, 6.0] | -98 |
28 | NumberOfTime60-89DaysPastDueNotWorse | (6.0, 7.0] | -75 |
29 | NumberOfTime60-89DaysPastDueNotWorse | (7.0, 8.0] | -69 |
30 | NumberOfTime60-89DaysPastDueNotWorse | (8.0, 9.0] | -69 |
31 | NumberOfTimes90DaysLate | (-inf, 1.0] | 7 |
32 | NumberOfTimes90DaysLate | (2.0, 3.0] | -120 |
33 | NumberOfTimes90DaysLate | (1.0, 2.0] | -108 |
34 | NumberOfTimes90DaysLate | (4.0, 5.0] | -130 |
35 | NumberOfTimes90DaysLate | (3.0, 4.0] | -137 |
36 | NumberOfTimes90DaysLate | (9.0, inf] | -115 |
37 | NumberOfTimes90DaysLate | (8.0, 9.0] | -150 |
38 | NumberOfTimes90DaysLate | (5.0, 6.0] | -124 |
39 | NumberOfTimes90DaysLate | (6.0, 7.0] | -168 |
40 | NumberOfTimes90DaysLate | (7.0, 8.0] | -145 |
# 4.2、结合刻度A计算样本评分卡得分
# 4.2.1、随机选取12个样本(6个好的和6个坏的)并计算每个样本的总评分并对比Label,可验证模型效果
# 4.2.2、结合刻度A计算样本评分卡得分
age | RevolvingUtilization OfUnsecuredLines |
NumberOfTime 30-59Days PastDueNotWorse |
NumberOfTime60-89 DaysPastDueNotWorse |
NumberOf Times90 DaysLate |
score | |
44377 | 55 | 0.081686933 | 0 | 0 | 0 | 754 |
25143 | 47 | 0.9999999 | 0 | 0 | 1 | 594 |
67429 | 54 | 0.015170898 | 0 | 0 | 0 | 745 |
66689 | 26 | 0.252252252 | 0 | 0 | 0 | 703 |
42656 | 40 | 0.916334661 | 1 | 0 | 0 | 586 |
81903 | 65 | 0.091477937 | 0 | 0 | 0 | 742 |
age | Revolving UtilizationOf UnsecuredLines |
NumberOfTime 30-59Days PastDueNotWorse |
NumberOfTime60-89 DaysPastDueNotWorse |
NumberOf Times90 DaysLate |
score | |
111052 | 30 | 0.9999999 | 0 | 4 | 2 | 386 |
30582 | 30 | 0.9999999 | 0 | 0 | 0 | 586 |
23677 | 43 | 0.68756082 | 0 | 0 | 0 | 660 |
87669 | 27 | 0.9999999 | 0 | 1 | 1 | 586 |
46920 | 50 | 0.442370466 | 0 | 0 | 0 | 660 |
78952 | 48 | 0.40781316 | 0 | 0 | 0 | 660 |
# 4.3、对比测试样本得分及其对应标签,进而设计评审策略
44377 754.0 --------- 直接接受!
age 47.0
RevolvingUtilizationOfUnsecuredLines 1.0
NumberOfTime30-59DaysPastDueNotWorse 0.0
NumberOfTime60-89DaysPastDueNotWorse 0.0
NumberOfTimes90DaysLate 1.0
score 594.0
Name: 25143, dtype: float64
25143 594.0 --------- 人工审核!
age 54.000000
RevolvingUtilizationOfUnsecuredLines 0.015171
NumberOfTime30-59DaysPastDueNotWorse 0.000000
NumberOfTime60-89DaysPastDueNotWorse 0.000000
NumberOfTimes90DaysLate 0.000000
score 745.000000
Name: 67429, dtype: float64
67429 745.0 --------- 直接接受!
age 26.000000
RevolvingUtilizationOfUnsecuredLines 0.252252
NumberOfTime30-59DaysPastDueNotWorse 0.000000
NumberOfTime60-89DaysPastDueNotWorse 0.000000
NumberOfTimes90DaysLate 0.000000
score 703.000000
Name: 66689, dtype: float64
66689 703.0 --------- 直接接受!
age 40.000000
RevolvingUtilizationOfUnsecuredLines 0.916335
NumberOfTime30-59DaysPastDueNotWorse 1.000000
NumberOfTime60-89DaysPastDueNotWorse 0.000000
NumberOfTimes90DaysLate 0.000000
score 586.000000
Name: 42656, dtype: float64
42656 586.0 --------- 人工审核!
age 65.000000
RevolvingUtilizationOfUnsecuredLines 0.091478
NumberOfTime30-59DaysPastDueNotWorse 0.000000
NumberOfTime60-89DaysPastDueNotWorse 0.000000
NumberOfTimes90DaysLate 0.000000
score 742.000000
Name: 81903, dtype: float64
81903 742.0 --------- 直接接受!