logo

DataScience:基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型


肥嘟嘟
肥嘟嘟 2022-09-19 10:33:12 19566
分类专栏: 资讯

DataScience:基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型

目录

基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型

1、加载数据集

查看数据集的摘要信息

2、特征工程:数据分析与处理

2.1、缺失值分析及处理

2.2、单个字段逐个分析

分析label字段:统计SeriousDlqin2yrs类别及其个数统计

 分析age字段

 分析3个类似字段—NumberOfTimes90DaysLate、NumberOfTime60

分析单个字段—DebtRatio及与MonthlyIncome、SeriousDlqin2yrs关系

分析单个字段—MonthlyIncome

 分析单个字段—NumberOfOpenCreditLinesAndLoans

 分析单个字段—NumberRealEstateLoansOrLines

分析单个字段—NumberOfDependents 

2.3、数据分箱

2.4、特征筛选:利用IV方法

 2.5、计算WOE值

2.5.1、基于筛选的特征,利用WOE函数把分箱转成WOE值

2.5.2、解析不同bin对应woe值的一一对应情况

 2.6、切分数据集:留25%作为模型的验证集

3、逻辑回归建模

3.1、建立模型

3.2、模型评估:计算AUC值、绘制ROC曲线、输出混淆矩阵

4、模型推理

4.1、设计评分卡规则表

4.1.1、求出两个刻度A、B:根据2个假设推导出评分卡的刻度参数A和B计算公式

4.1.2、设计评分卡规则表 :根据刻度B、对应分箱的WOE编码、模型系数,得到score_card_rule

4.2、结合刻度A计算样本评分卡得分

4.2.1、随机选取12个样本(6个好的和6个坏的)并计算每个样本的总评分并对比Label,可验证模型效果

4.2.2、结合刻度A计算样本评分卡得分

4.3、对比测试样本得分及其对应标签,进而设计评审策略


 相关文章
DataScience:基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型
DataScience:基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型实现

基于GiveMeSomeCredit数据集利用特征工程处理、逻辑回归LoR算法实现构建风控中的金融评分卡模型

1、加载数据集

查看数据集的摘要信息

  1. Unnamed: 0 ... NumberOfDependents
  2. 0 1 ... 2.0
  3. 1 2 ... 1.0
  4. 2 3 ... 0.0
  5. 3 4 ... 0.0
  6. 4 5 ... 0.0
  7. [5 rows x 12 columns]
  8. <class 'pandas.core.frame.DataFrame'>
  9. RangeIndex: 150000 entries, 0 to 149999
  10. Data columns (total 12 columns):
  11. Column Non-Null Count Dtype
  12. --- ------ -------------- -----
  13. 0 Unnamed: 0 150000 non-null int64
  14. 1 SeriousDlqin2yrs 150000 non-null int64
  15. 2 RevolvingUtilizationOfUnsecuredLines 150000 non-null float64
  16. 3 age 150000 non-null int64
  17. 4 NumberOfTime30-59DaysPastDueNotWorse 150000 non-null int64
  18. 5 DebtRatio 150000 non-null float64
  19. 6 MonthlyIncome 120269 non-null float64
  20. 7 NumberOfOpenCreditLinesAndLoans 150000 non-null int64
  21. 8 NumberOfTimes90DaysLate 150000 non-null int64
  22. 9 NumberRealEstateLoansOrLines 150000 non-null int64
  23. 10 NumberOfTime60-89DaysPastDueNotWorse 150000 non-null int64
  24. 11 NumberOfDependents 146076 non-null float64
  25. dtypes: float64(4), int64(8)
  26. memory usage: 13.7 MB
  27. None
  28. Unnamed: 0 ... NumberOfDependents
  29. count 150000.000000 ... 146076.000000
  30. mean 75000.500000 ... 0.757222
  31. std 43301.414527 ... 1.115086
  32. min 1.000000 ... 0.000000
  33. 25% 37500.750000 ... 0.000000
  34. 50% 75000.500000 ... 0.000000
  35. 75% 112500.250000 ... 1.000000
  36. max 150000.000000 ... 20.000000

2、特征工程:数据分析与处理

2.1、缺失值分析及处理

  1. [8 rows x 12 columns]
  2. Column Number_of_Null_Values Proportion
  3. 0 Unnamed: 0 0 0.000000
  4. 1 SeriousDlqin2yrs 0 0.000000
  5. 2 RevolvingUtilizationOfUnsecuredLines 0 0.000000
  6. 3 age 0 0.000000
  7. 4 NumberOfTime30-59DaysPastDueNotWorse 0 0.000000
  8. 5 DebtRatio 0 0.000000
  9. 6 MonthlyIncome 29731 0.198207
  10. 7 NumberOfOpenCreditLinesAndLoans 0 0.000000
  11. 8 NumberOfTimes90DaysLate 0 0.000000
  12. 9 NumberRealEstateLoansOrLines 0 0.000000
  13. 10 NumberOfTime60-89DaysPastDueNotWorse 0 0.000000
  14. 11 NumberOfDependents 3924 0.026160
  15. Unnamed: 0 0
  16. SeriousDlqin2yrs 0
  17. RevolvingUtilizationOfUnsecuredLines 0
  18. age 0
  19. NumberOfTime30-59DaysPastDueNotWorse 0
  20. DebtRatio 0
  21. MonthlyIncome 0
  22. NumberOfOpenCreditLinesAndLoans 0
  23. NumberOfTimes90DaysLate 0
  24. NumberRealEstateLoansOrLines 0
  25. NumberOfTime60-89DaysPastDueNotWorse 0
  26. NumberOfDependents 0

2.2、单个字段逐个分析

分析label字段:统计SeriousDlqin2yrs类别及其个数统计

  1. Default Rate: 0.06684
  2. count 150000.000000
  3. mean 6.048438
  4. std 249.755371
  5. min 0.000000
  6. 25% 0.029867
  7. 50% 0.154181
  8. 75% 0.559046
  9. max 50708.000000
  10. Name: RevolvingUtilizationOfUnsecuredLines, dtype: float64

  1. [[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]]
  2. Proportion of Defaulters with Total Amount of Money Owed Not Exceeding Total Credit Limit: 0.05991996127598361
  3. Proportion of Defaulters with Total Amount of Money Owed Not Exceeding or Equal to 13 times of Total Credit Limit:
  4. 0.06685273968029273

 分析age字段

  1. count 150000.000000
  2. mean 52.295207
  3. std 14.771866
  4. min 0.000000
  5. 25% 41.000000
  6. 50% 52.000000
  7. 75% 63.000000
  8. max 109.000000
  9. Name: age, dtype: float64

 分析3个类似字段—NumberOfTimes90DaysLate、NumberOfTime60

89DaysPastDueNotWorse、NumberOfTime30-59DaysPastDueNotWorse

  1. 0 141662
  2. 1 5243
  3. 2 1555
  4. 3 667
  5. 4 291
  6. 5 131
  7. 6 80
  8. 7 38
  9. 8 21
  10. 9 19
  11. 10 8
  12. 11 5
  13. 12 2
  14. 13 4
  15. 14 2
  16. 15 2
  17. 17 1
  18. 96 5
  19. 98 264
  20. Name: NumberOfTimes90DaysLate, dtype: int64
  21. 0 142396
  22. 1 5731
  23. 2 1118
  24. 3 318
  25. 4 105
  26. 5 34
  27. 6 16
  28. 7 9
  29. 8 2
  30. 9 1
  31. 11 1
  32. 96 5
  33. 98 264
  34. Name: NumberOfTime60-89DaysPastDueNotWorse, dtype: int64
  35. 0 126018
  36. 1 16033
  37. 2 4598
  38. 3 1754
  39. 4 747
  40. 5 342
  41. 6 140
  42. 7 54
  43. 8 25
  44. 9 12
  45. 10 4
  46. 11 1
  47. 12 2
  48. 13 1
  49. 96 5
  50. 98 264
  51. Name: NumberOfTime30-59DaysPastDueNotWorse, dtype: int64
  52. NumberOfTimes90DaysLate ... NumberOfTime30-59DaysPastDueNotWorse
  53. count 269.000000 ... 269.000000
  54. mean 97.962825 ... 97.962825
  55. std 0.270628 ... 0.270628
  56. min 96.000000 ... 96.000000
  57. 25% 98.000000 ... 98.000000
  58. 50% 98.000000 ... 98.000000
  59. 75% 98.000000 ... 98.000000
  60. max 98.000000 ... 98.000000
  61. [8 rows x 3 columns]
  62. {'98,98,98': 263, '96,96,96': 4}

分析单个字段—DebtRatio及与MonthlyIncome、SeriousDlqin2yrs关系

  1. temp = df_train[(df_DR > df_DR95) & (df_train['SeriousDlqin2yrs'] == df_train['MonthlyIncome'])]
  2. temp.to_csv('20220314temp.csv')

  1. count 150000.000000
  2. mean 353.005076
  3. std 2037.818523
  4. min 0.000000
  5. 25% 0.175074
  6. 50% 0.366508
  7. 75% 0.868254
  8. max 329664.000000
  9. Name: DebtRatio, dtype: float64
  10. 2449.0
  11. DebtRatio MonthlyIncome SeriousDlqin2yrs
  12. count 7494.000000 7494.000000 7494.000000
  13. mean 4417.958367 5126.905791 0.055111
  14. std 7875.314649 1183.339377 0.228212

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:http://www.xckfsq.com/news/show.html?id=1803
赞同 0
评论 0 条
肥嘟嘟
粉丝 0 发表 9 + 关注 私信
上周热门
人工智能赋能视频指挥 | 兴图新科携新品亮相北京军博会  4102
向新 共未来丨诚邀您参与2024中兴通讯创兴日  4045
诺基亚Lumia,重生  3870
第二届BCS企业数字化转型及数据安全专题研讨会在成都举行  3740
“移启”向前 共筑安全长城——重庆移动走进启明星辰专项活动成功举办  3736
国标16260中软件可移植性的子特性  3663
数据库管理系统中的模式与映像  3590
软件设计之耦合  3572
类似大蚂蚁即时通讯软件推荐  3538
2024苏州(高新区)信息技术应用创新交流及供需对接会顺利召开!  3510
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
如何玩转信创开放社区—从小白进阶到专家 15
信创开放社区邀请他人注册的具体步骤如下 15
方德桌面操作系统 14
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
我有15积分有什么用? 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8