金融风控数据挖掘-Task1
本学习笔记为阿里云天池龙珠计划金融风控训练营的学习内容,学习链接为:
(https://tianchi.aliyun.com/specials/promotion/handsonai_gut)
Task1介绍了赛题是以金融风控中的个人信贷为背景,要求我们根据贷款申请人的数据信息预测其是否有违约的可能,以此判断是否通过此项贷款,这是一个典型的分类问题。这次比赛我们主要学习如何建立模型预测贷款者是否违约,以便于判断能否通过贷款。
一、学习知识点概要
在建立模型后,要有相关的指标对其进行评估,以判断模型建立的效果。在预测指标中,首先引入了混淆矩阵,用来表示模型预测的精度。但是矩阵中每个独立的结果过于繁多,因此引入了准确率、精确率、召回率,以及精确率和召回率加权得到的F1指标、反映精确率和召回率关系的P-R曲线。在评估指标中,利用KS、ROC、AUC进行评估。
二、学习内容
1.预测指标
- 混淆矩阵
混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式。
列表示数据的预测类别,行表示数据的真实类别。
上面的表格中列表示预测结果,行表示实际结果,0代表false,1代表true。
-
TN:实际为负 预测为负
-
FP:实际为负 预测为正
-
FN:实际为正 预测为负
-
TP:实际为正 预测为正
(负表示贷款人会违约,正代表贷款人不会违约)
-
准确率 Accuracy=TP+TN/TP+TN+FP+FN
-
精确率(查准率) Precision=TP/TP+FP
-
召回率(查全率) Recall=TP/TP+FN
我们希望精确率和召回率都能够越高越好,但事实上二者是成反比例的关系,因此我们引入了F1和P-R曲线,更好地描述二者的关系。 -
F1-Score指精确率和召回率的加权平均数。取值范围是从0到1,1的预测效果最好,0最差
-
P-R曲线 描述精确率和召回率变化的曲线
-
假正例率(FPR)指所有实际为负的样本中,被错误地认为是正的比例
FPR=FP/TN+FP
真正例率(TPR)指所有实际为正的样本中,被正确地认为是正的比例
TPR=TP/TP+FN
2.评估指标
1、KS
- 我们训练出来的模型,一般不是直接给出是正类还是负类的结果,给的是为正类的概率,我们还需要选择一个阈值,实例通过模型得到的概率大于阈值,判断为正类,小于阈值判断为负类。也就是说阈值的不同,以上的各个指标的值也是不同的。把阈值看成自变量,以上TPR、和FPR看成因变量,在二维坐标系里面做关系曲线,这就是KS曲线。
- KS曲线能够评估模型的区分度,区分度越高,模型的效果越好。
-
KS=max(TPR-FPR)
- 以假正例率、真实例率为纵轴,特定的阈值为横轴。 在一定的范围内KS值越高效果越好
2、ROC
- 全称:“受试者工作特征”
- 性质:假正例率为X轴,真实例率为Y轴
- 作用:评判分类、检测结果的好坏
我们希望TPR越大越好,而FPR越小越好,但是两者不断变化,因此引出AUC
3、AUC
- AUC指ROC曲线下与坐标轴围成的面积,越接近1,真实性越高,等于0.5时,真实性最低
3.数据读取
1、wget 是一个从网络上自动下载文件的自由工具。
2、pandas是基于NumPy的一种工具,用于解决数据分析任务。
三.学习问题与解答
由于我的python基础并不扎实,而且从没接触过关于机器学习、数据分析的相关知识,所以我的学习速度很慢。遇到不懂的名词,我是通过百度搜索相关内容去了解。我有一个问题就是如何直接利用pandas读取链接数据?我可能还不大清楚pandas怎么使用,希望老师能解答一下。
四、学习思考与总结
学习过程中我知道了一个模型的好坏要通过相关的指标去衡量,比如KS值、ROC曲线、AUC值。因为我的基础并不好,所以有很多不懂的地方需要我去百度,而我发现一个非常好的学习方法就是通过搜索,在解释页面中遇到不懂的名词继续搜索,不但可以快速扩充自己的知识面,也可以了解整个知识体系中各个知识点的关系,有助于自己更好地认识到不足。
参考文章
https://zhuanlan.zhihu.com/p/87456089