《Python金融大数据风控建模实战:基于机器学习》的定位是一本Python金融大数据风控建模的入门级读物。全书包括4篇:背景篇旨在由浅入深地引领读者走进金融科技领域,了解智能风控,系统、全面地认识评分卡;基础篇围绕评分卡构建的全流程,向读者一一讲述每个环节的理论知识,随之进行代码实践,帮助读者获得从0至1构建评分卡模型的工程能力;进阶篇旨在从建模中可能遇到问题出发,提供一些问题解决或模型提升的思路,使建立的评分卡具有更好的业务适应及预测能力;实战篇结合真实信贷场景的数据集,带领读者完成从数据分析至评分卡生成的各个流程,旨在让读者体验真实场景,具备评分卡实战能力,亦可作为读者实际工作中构建评分卡的参考。本书适合有一定Python语言基础的金融风控相关技术人员阅读,也适合想要了解人工智能如何在金融场景应用的开发及业务人员。另外,也适合专业培训机构的学员和相关专业的学生。
封面图
目录
- 前言
- 第1篇 智能风控背景
- 第1章 金融科技介绍2
- 1.1 金融科技的前世今生2
- 1.2 金融科技正深刻地改变和塑造着金融业态4
- 1.3 新兴科技不断强化金融科技的应用能力5
- 1.4 金融风险控制面临着前所未有的挑战7
- 1.5 智能风控和评分卡8
- 1.6 评分卡模型的开发流程11
- 第2章 机器学习介绍17
- 2.1 机器学习的概念17
- 2.2 机器学习的分类17
- 2.2.1 有监督学习18
- 2.2.2 无监督学习18
- 2.2.3 强化学习19
- 2.3 机器学习与人工智能的关系20
- 2.4 机器学习与数学的关系20
- 2.5 机器学习与深度学习22
- 第3章 评分卡模型介绍25
- 3.1 申请评分卡25
- 3.1.1 数据获取26
- 3.1.2 好坏样本定义26
- 3.1.3 观察期与表现期确定29
- 3.1.4 样本分层32
- 3.1.5 数据清洗与预处理33
- 3.1.6 特征工程33
- 3.1.7 模型训练与优化35
- 3.2 行为评分卡36
- 3.2.1 数据获取37
- 3.2.2 时间窗口37
- 3.2.3 特征工程38
- 3.3 催收评分卡40
- 3.3.1 催收评分卡分类40
- 3.3.2 催收策略41
- 3.4 反欺诈模型42
- 3.4.1 欺诈风险与信用风险比较42
- 3.4.2 欺诈模型好坏样本定义43
- 3.4.3 欺诈主体分析44
- 3.4.4 反欺诈方法介绍44
- 第2篇 评分卡理论与实战基础
- 第4章 数据清洗与预处理48
- 4.1 数据集成49
- 4.2 数据清洗50
- 4.3 探索性数据分析52
- 4.4 Python代码实践54
- 4.4.1 数据集成54
- 4.4.2 数据清洗58
- 4.4.3 探索性数据分析61
- 第5章 变量编码方法66
- 5.1 无监督编码66
- 5.1.1 One-hot编码66
- 5.1.2 Dummy variable编码68
- 5.1.3 Label编码69
- 5.2 有监督编码70
- 5.2.1 WOE编码70
- 5.2.2 WOE编码与One-hot编码比较73
- 5.3 Python代码实践75
- 5.3.1 One-hot编码76
- 5.3.2 Dummy variable编码80
- 5.3.3 Label编码82
- 5.3.4 WOE编码85
- 第6章 变量分箱方法89
- 6.1 变量分箱流程91
- 6.2 最优Chi-merge卡方分箱方法92
- 6.3 Best-KS分箱方法94
- 6.4 最优IV分箱方法95
- 6.5 基于树的最优分箱方法95
- 6.6 Python代码实践98
- 6.6.1 最优Chi-merge分箱98
- 6.6.2 最优IV分箱106
- 6.6.3 基于树的分箱107
- 第7章 变量选择109
- 7.1 过滤法变量选择109
- 7.2 包装法变量选择112
- 7.3 嵌入法变量选择113
- 7.4 Python代码实践115
- 7.4.1 过滤法变量选择115
- 7.4.2 包装法变量选择118
- 7.4.3 嵌入法变量选择120
- 第8章 Logistic回归模型123
- 8.1 Logistic回归模型原理123
- 8.2 过拟合与欠拟合128
- 8.3 Python代码实践130
- 第9章 模型的评估指标136
- 9.1 正负样本的选择137
- 9.2 标准评估指标139
- 9.3 概率密度评估指标141
- 9.4 概率分布评估指标144
- 9.5 Python代码实践153
- 第10章 评分卡分数转化157
- 10.1 由概率到分数的转换157
- 10.2 变量的分值计算159
- 10.3 评分卡性能评估161
- 10.4 Python代码实践163
- 第11章 模型在线监控169
- 11.1 稳定性监控169
- 11.2 单调性监控172
- 11.3 性能监控指标173
- 11.4 Python代码实践174
- 第3篇 评分卡理论与实战进阶
- 第12章 样本不均衡处理180
- 12.1 数据层下采样样本不均衡的处理方法181
- 12.1.1 随机下采样方法181
- 12.1.2 样本邻域选择的下采样方法182
- 12.1.3 样本邻域清理的下采样方法184
- 12.1.4 Bagging集成的下采样方法185
- 12.1.5 Boosting集成的下采样方法187
- 12.2 数据层上采样样本不均衡的处理方法188
- 12.2.1 随机上采样方法188
- 12.2.2 SMOTE样本生成方法189
- 12.2.3 Borderline-SMOTE样本生成方法190
- 12.3 算法层样本不均衡的处理方法190
- 12.4 模型评估层样本不均衡的处理方法191
- 12.5 Python代码实践191
- 12.5.1 数据层下采样样本不均衡处理代码实现192
- 12.5.2 数据层上采样样本不均衡处理代码实现201
- 第13章 特征工程进阶206
- 13.1 数据层特征工程206
- 13.2 算法层特征工程211
- 13.2.1 基于树模型的特征生成211
- 13.2.2 FM特征交叉215
- 13.3 Python代码实践219
- 13.3.1 数据层特征工程代码实现219
- 13.3.2 算法层特征工程代码实现222
- 第14章 决策树模型229
- 14.1 决策树模型的原理229
- 14.2 决策树学习229
- 14.3 决策树与过拟合234
- 14.4 Python代码实践236
- 第15章 神经网络模型241
- 15.1 神经元模型241
- 15.2 神经网络的网络结构242
- 15.3 神经网络的学习策略247
- 15.4 Python代码实践253
- 第16章 支持向量机模型257
- 16.1 感知器模型257
- 16.1.1 感知器模型的原理257
- 16.1.2 感知器与支持向量机模型260
- 16.2 线性可分支持向量机261
- 16.3 线性支持向量机267
- 16.4 非线性支持向量机272
- 16.5 感知器相关模型比较278
- 16.6 Python代码实践280
- 16.6.1 线性支持向量机模型代码实现280
- 16.6.2 非线性支持向量机模型代码实现282
- 第17章 集成学习286
- 17.1 Bagging与Boosting对比286
- 17.2 Random Forest模型原理288
- 17.3 Adaboost模型原理289
- 17.4 GBDT模型原理292
- 17.5 Xgboost模型原理297
- 17.6 Python代码实践304
- 17.6.1 Random Forest模型304
- 17.6.2 Adaboost模型308
- 17.6.3 GBDT模型310
- 17.6.4 Xgboost模型313
- 第18章 模型融合317
- 18.1 Blending方法原理317
- 18.2 Stacking方法原理320
- 18.3 Python代码实践322
- 18.3.1 Blending模型融合代码实现322
- 18.3.2 Stacking模型融合代码实现325
- 第4篇 Lending Club数据集实战
- 第19章 完整的模型开发实现330
- 19.1 数据源介绍330
- 19.2 数据的获取与预处理331
- 19.2.1 数据准备331
- 19.2.2 好坏样本定义334
- 19.2.3 数据清洗与预处理335
- 19.3 特征工程341
- 19.3.1 简单的特征工程341
- 19.3.2 变量分箱与编码342
- 19.3.3 变量选择348
- 19.4 模型构建与评估351
- 19.4.1 模型构建与优化351
- 19.4.2 模型评估352
- 19.5 评分卡生成353
- 附录A 主要符号表357
- 附录B 开发环境简介358
- 参考文献362