【机器学习PAI实践十二】机器学习算法基于信用卡消费记录做信用评分
背景
如果你是做互联网金融的,那么一定听说过评分卡。评分卡是信用风险评估领域常用的建模方法,评分卡并不简单对应于某一种机器学习算法,而是一种通用的建模框架,将原始数据通过分箱后进行特征工程变换,继而应用于线性模型进行建模的一种方法。
评分卡建模理论常被用于各种信用评估领域,比如信用卡风险评估、贷款发放等业务。另外,在其它领域评分卡常被用来作为分数评估,比如常见的客服质量打分、芝麻信用分打分等等。在本文中,我们将通过一个案例为大家讲解如何通过PAI平台的金融板块组件,搭建出一套评分卡建模方案。
本实验案例可在机器学习PAI平台使用,包含整个实验流程和数据:
数据集介绍
这是一份国外某机构开源的数据集,数据的内容包括每个用户的一些性别、教育、婚姻、年龄等属性,同时也包含用户过去一段时间的信用卡消费情况和账单情况。payment_next_month是目标队列,表示用户是否偿还信用卡账单,1表示偿还,0表示没有偿还。
数据供30000条。
数据集下载地址:https://www.kaggle.com/uciml/default-of-credit-card-clients-dataset
实验流程
先来看下实验图:
现在对一些关键节点进行介绍:
(1)拆分
将输入数据集分为两部分,一部分用来训练模型,另一部分用来预测评估。
(2)分箱
分箱组件类似于onehot编码,可以将数据按照分布映射成更高维度的特征。我们以age这个字段为例,分箱组件可以按照数据在不同区间的分布进行分享操作,分箱结果如图:
最终分箱组件的输出如图,每个字段都被分箱到多个区间上:
(3)样本稳定指数PSI
样本稳定指数是衡量样本变化所产生的偏移量的一种重要指标,通常用来衡量样本的稳定程度,比如样本在两个月份之间的变化是否稳定。通常变量的PSI值在0.1以下表示变化不太显著,在0.1到0.25之间表示有比较显著的变化,大于0.25表示变量变化比较剧烈,需要特殊关注。
本案例中,可以综合比较拆分前后以及分箱结果的样本稳定程度,返回每个特征的PSI数值:
(4)评分卡训练
评分卡训练的结果图如下:
评分卡的精髓是将复杂的比较难理解的一些模型权重用符合业务标准的分数表示。
- intercepy表示的是截距
- Unscaled是原始的权重值
- Scaled是分数更改指标,比如对于pay_0这个特征,如果特征落在(-1,0]之间分数就减29,如果特征落在(0,1]之间分数就加上27.
- importance表示每个特征对于结果的影响大小,数值越大表示影响越大
(5)评分卡预测
展示每个预测结果的最终评分,在本案例中表示的是每个用户的信用评分。
结论
基于用户的信用卡消费记录,最终通过评分卡模型的训练,我们在评分卡预测中可以拿到每个用户的最终信用评分,这个评分可以应用到其它的各种贷款或者金融相关的征信领域中去。
体验产品:阿里云数加机器学习平台
作者微信公众号(与作者讨论):
【机器学习PAI实践十二】机器学习算法基于信用卡消费记录做信用评分的更多相关文章
- [置顶]
【机器学习PAI实践五】机器学习眼中的《人民的名义》
一.背景 最近热播的反腐神剧"人民的名义"掀起来一波社会舆论的高潮,这部电视剧之所能得到广泛的关注,除了老戏骨们精湛的演技,整部剧出色的剧本也起到了关键的作用.笔者在平日追剧之余, ...
- 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
背景 我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841.使用Te ...
- [置顶]
【机器学习PAI实践十一】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码
背景 最近互联网上出现一个热词就是"freestyle",源于一个比拼rap的综艺节目.在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的 ...
- [置顶]
【机器学习PAI实践九】如何通过机器学习实现云端实时心脏状况监测
背景 我们通过之前的案例已经为大家介绍了如何通过常规的体检数据预测心脏病的发生,请见http://blog.csdn.net/buptgshengod/article/details/53609878 ...
- SQL注入之Sqli-labs系列第三十二关(基于宽字符逃逸注入)
开始挑战第三十二关(Bypass addslashes) 0x1查看源代码 (1)代码关键点 很明显,代码中利用正则匹配将 [ /,'," ]这些三个符号都过滤掉了 function che ...
- SQL注入之Sqli-labs系列第二十一关(基于复杂性的cookie POST报错注入)和二十二关(基于双引号的cookie POST报错注入)
开始挑战第二十一关(Cookie Injection- Error Based- complex - string) 和二十二关(Cookie Injection- Error Based- Doub ...
- 【机器学习PAI实践二】人口普查统计
一.背景 感谢大家关注玩转数据系列文章,我们希望通过在阿里云机器学习平台上提供demo数据并搭建相关的实验流程的方式来帮助大家学习如何通过算法来挖掘数据中的价值.本系列文章包含详细的实验流程以及相关的 ...
- 机器学习笔记(十)EM算法及实践(以混合高斯模型(GMM)为例来次完整的EM)
今天要来讨论的是EM算法.第一眼看到EM我就想到了我大枫哥,EM Master,千里马.RUA!!!不知道看这个博客的人有没有懂这个梗的. 好的,言归正传.今天要讲的EM算法,全称是Expectati ...
- [置顶]
【机器学习PAI实践八】用机器学习算法评估学生考试成绩
(本文数据为实验用例) 一.背景 母亲是老师反而会对孩子的学习成绩造成不利影响?能上网的家庭,孩子通常能取得较好的成绩?影响孩子成绩的最大因素居然是母亲的学历?本文通过机器挖掘算法和中学真实的学生数据 ...
随机推荐
- 学习mybatis-3 step by step 篇三
动态 SQL if choose (when, otherwise) trim (where, set) foreach 动态 SQL 通常要做的事情是有条件地包含 where 子句的一部分.比如: ...
- R6
RC 的加强版是 R6 , R6 是一个扩展包,能够实现支持公共和私有字段与方法的更有效的引用类,还有一些其他强大的功能.运行以下代码安装这个包:install.packages("R6&q ...
- zlib__ZC
官网:http://www.zlib.net/ ,所有版本下载:http://www.zlib.net/fossils/ ZC: 我下载的是 zlib-1.2.3.tar.gz 和 zlib-1.2. ...
- input 输入框只能输入纯数字
1.onkeyup = "value=value.replace(/[^\d]/g,'')" 使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回 ...
- 一步一步实现JS拖拽插件
js拖拽是常见的网页效果,本文将从零开始实现一个简单的js插件. 一.js拖拽插件的原理 常见的拖拽操作是什么样的呢?整过过程大概有下面几个步骤: 1.用鼠标点击被拖拽的元素 2.按住鼠标不放,移动鼠 ...
- Codeforces 454D - Little Pony and Harmony Chest
454D - Little Pony and Harmony Chest 思路: 状压dp,由于1的时候肯定满足题意,而ai最大是30,所以只要大于等于59都可以用1替换,所以答案在1到59之间 然后 ...
- C#退出模式
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消息中 ...
- spoj Fast Multiplication
题意:乘法 要用nlogn的fft乘法. //#pragma comment(linker,"/STACK:1024000000,1024000000") #include< ...
- Struts2 简介图
Struts2官方提供的,strus2的内部工作机制图解.
- Kilani and the Game CodeForces - 1105D (bfs)
沙茶bfs打了2小时... queue入队量太大了, 放函数里直接T了, 改成全局46ms #include <iostream> #include <algorithm> # ...