sklearn实战-乳腺癌细胞数据挖掘

https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

医药统计项目可联系
 QQ:231469242

洛伦兹曲线(Lorenz curve)也叫提升图或收益曲线

提升图主要通过随机选择比较模型表现。

绿色曲线比黄色曲线更加不平衡

基尼系数=A/(A+B)

A+B为正方形一半恒定面积,A区间面积越大,基尼系数越大

Lift, Lift Table, and Lift Chart
提升指数、提升表和提升图
 
 
1. 什么是Lift?
I) Lift(提升指数)是评估一个预测模型是否有效的一个度量;这个比值由运用和不运用这个模型所得来的结果计算而来。
II) 一个简单的数字例子:
i. 比如说你要向选定的1000人邮寄调查问卷。以往的经验告诉你大概20%的人会把填好的问卷寄回给你,即1000人中有200人会对你的问卷作出回应(response),用统计学的术语,我们说baseline response rate是20%;
ii. 如果你现在就邮寄问卷,1000份你期望能收回200份,这可能达不到一次问卷调查所要求的回收率,比如说工作手册规定邮寄问卷回收率要在25%以上;
iii. 通过以前的问卷调查,你收集了关于问卷采访对象的相关资料,比如说年龄、教育程度之类。利用这些数据,你确定了哪类被访问者对问卷反应积极。假设你已经利用这些过去的数据建立了模型,这个模型把这1000人分了类,现在你可以从你的千人名单中挑选出反应最积极的100人来,这10%的人的反应率(response rate)为60%。那么,对这100人的群体(我们称之为Top 10%),通过运用我们的模型,相对的提升(gain or lift value)就为60%/20%=3;换句话说,与不运用模型而随机选择相比,运用模型而挑选有3倍的好处;
iv. 类似地,对占总样本的任何比例的人群,我们都可以计算出相应的提升指数,比如说我们可以计算Top 20%的群体的提升指数。
III) 一个结论就是,提升指数越大,模型的运行效果越好。
 
2. 建立Lift Table 的步骤(并画出Lift Chart),以验证信用评分模型为例:
I) 利用已经建立的评分模型,对我们要验证的样本进行评分。样本下的每一个个体都将得到一个分数,或者是违约概率,或者是一个分值;
II) 对样本按照上面计算好的分数进行降序排序;
III) 把已经排好序的样本依次分成10个数量相同的群体,我们就建立了一个叫decile的变量,它依次取10个值,1、2、3、4、5、6、7、8、9、10,diclie1包括违约概率值较高的10%的个体,diclie2包括下一个10%的群体,以此类推;
IV) 帐户总数是每个decile下的样本数,它是整个样本数的10%;
V) 边际坏账数是每个decile内违约的人数,就是说,利用我们的评分模型,在decile1,有25个人违约,以此类推;
VI) 累计坏账数,45表明前两个decile内共有45个人违约,以此类推;
VII) 边际坏账率是每个decile内坏账的比率。对decile1,边际坏账率由25/100得来;
VIII) 对每一个加总的decile,都计算一个累计坏账率,比如说,对前两个decile,也就是整个样本的20%,累计坏账率等于(25+20)/(100+100);
IX) 在每个decile里,提升指数(Lift)就是相应的累计坏账率与平均坏账率的偏离程度,计算公式是(累计坏账率-平均坏账率)/平均坏账率,习惯上还会乘上一个100。
X) 注:在一些处理中,提升指数直接由每个decile的累计坏账率除以平均坏账率得来,它们之间就相差1,一个是相对偏离,一个是偏离。
XI) 就我们考察的信用评分模型,它的目的就是尽可能把人群区别来开来,比如说“好”的顾客、 “坏”的顾客。提升指数越大,表明模型运作效果越好。
表1:Lift Table
(注:该表内数字纯粹为了演示,没有任何实际背景)
 
 
 
 
 
 
 

洛伦兹曲线(Lorenz curve)提升指数、提升表和提升图的更多相关文章

  1. C++ 生成洛伦兹的蝴蝶

    这里使用 C++ 计算轨迹,生成 Python 文件,使用 matplotlib 绘图. // simulator.cpp : 此文件包含 "main" 函数.程序执行将在此处开始 ...

  2. 模型监控指标- 混淆矩阵、ROC曲线,AUC值,KS曲线以及KS值、PSI值,Lift图,Gain图,KT值,迁移矩阵

    1. 混淆矩阵 确定截断点后,评价学习器性能 假设训练之初以及预测后,一个样本是正例还是反例是已经确定的,这个时候,样本应该有两个类别值,一个是真实的0/1,一个是预测的0/1 TP(实际为正预测为正 ...

  3. ROC曲线(receiver-operating-characteristic curve)-阈值评价标准(转)

    转自:http://blog.csdn.net/abcjennifer/article/details/7359370 ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver ope ...

  4. 洛谷P4501/loj#2529 [ZJOI2018]胖(ST表+二分)

    题面 传送门(loj) 传送门(洛谷) 题解 我们对于每一个与宫殿相连的点,分别计算它会作为多少个点的最短路的起点 若该点为\(u\),对于某个点\(p\)来说,如果\(d=|p-u|\),且在\([ ...

  5. 提升50%!Presto如何提升Hudi表查询性能?

    分享一篇关于使用Hudi Clustering来优化Presto查询性能的talk talk主要分为如下几个部分 演讲者背景介绍 Apache Hudi介绍 数据湖演进和用例说明 Hudi Clust ...

  6. Mysql 提升大数据表的拷贝效率

    工作上会经常遇到量级比较大的数据表  :场景: 该数据表需要进行alter操作 比如增加一个字段,减少一个字段. 这个在一个几万级别数据量的数据表可以直接进行alter表操作,但是要在一个接近1000 ...

  7. 【洛谷 P2762】 太空飞行计划问题(最大权闭合图)

    题目链接 最大权闭合图模型,参考 具体做法是从源点向每个实验连一条流量为这个实验的报酬的边,从每个实验向这个实验需要的所有器材各连一条流量为\(INF\)的边,再从每个器材向汇点连一条流量为这个器材的 ...

  8. js使用ctrl+s保存表单提升用户体验

    本质上是监控ctrl+s 然后触发相应事件 <script language="JavaScript"> //Ctrl+s保存 document.onkeydown=f ...

  9. 洛谷 P5471 - [NOI2019] 弹跳(二维线段树优化建图+堆优化存边)

    题面传送门 一道非常有意思的题(大概可以这么形容?) 首先看到这类一个点想一个区域内连边的题目可以很自然地想到线段树优化建图,只不过这道题是二维的,因此需要使用二维线段树优化建图,具体来说,我们外层开 ...

随机推荐

  1. LEDE 虚拟机安装

    虽然我对路由器没什么兴趣,但是紧跟潮流还是有必要的,现在因为网络闭关锁国政策,很多人都想自己搭配一台私人的服务器,不想被商业公司左右数据安全.我感觉这个是一个商机,建议大家可以朝这个方向发展. 这里最 ...

  2. Python使用Plotly绘图工具,绘制直方图

    今天我们再来讲解一下Python使用Plotly绘图工具如何绘制直方图 使用plotly绘制直方图需要用到graph_objs包中的Histogram函数 我们将数据赋值给函数中的x变量,x = da ...

  3. 测者的测试技术手册:智能化测试框架EvoSuite的一个坑以及填坑方法

    问题 最近在不断地学习和探索EvoSuite框架的时候,在生产JUnit单元测试框架后,出现如下问题: Exception: Caused by: org.evosuite.runtime.TooMa ...

  4. 使用fiddler模拟控制网速,实现网速慢。(丢包如何模拟)

    参考连接 https://blog.csdn.net/baidu_zhongce/article/details/46683323 参考连接2 https://www.jianshu.com/p/b9 ...

  5. 逆向-攻防世界-CSAW2013Reversing2

    运行程序乱码,OD载入搜索字符串,断电到弹窗Flag附近. 发现跳过00B61000函数,弹窗乱码,我们试试调用00B61000函数.将00B61094的指令修改为JE SHORT 00B6109b. ...

  6. 发布时一键添加html中的css标签和script标签版本号来防止浏览器缓存

    AppendFileVersion 是一个VSIX插件支持vs2015意以上版本 是我用来发布时一键添加html中的css标签和script标签版本号来防止浏览器缓存 分享给大家! download ...

  7. checkeds 选中获取tbale表格中某一列td标签中的值

    例如:  var checkedbox = $("input[type=checkbox][name='cid']:checked")   if (checkedbox.size( ...

  8. 利用eval函数实现简单的计算器

    """ description : use python eval() function implement a simple calculator functions ...

  9. Oracle查询字符串数据进行排序,以及去重复

    原本的的一张表,填写数据的字段为字符串varchar2类型,然后进行排序的时候,就会出现问题.会默直接默认判断为第一个数字9最大,而不判断整个数字的大小. 所以,就要用到TO_NUMBER函数 sel ...

  10. [转帖]Ansible管理windows集群

    Ansible管理windows集群 http://www.cnblogs.com/Dev0ps/p/10026908.html 写的挺好的 我关注点还是不够好呢 最近公司新项目需要安装400+win ...