参加工作后,对分类模型性能评价有了进一步的认识,所以我来试着更新一下理解。

http://chen.yi.bo.blog.163.com/blog/static/150621109201042641952619/

这是之前的1.0版本,里面有一些基本概念。

首先,ROC曲线是tpr与fpr的相关关系可视化,这种衡量所考虑的目的是在尽量少的误诊(假阳性率)基础上,尽可能多地检验出阳性个体。因此,我在网络上看到讨论ROC的大多都是医药工作者或者做信用评分的工程师。而ROC曲线在我们项目中则是比较不常用的一个指标。因为在市场营销方面,客户往往并不那么关心“误诊”(这或许也是一定程度的短视),他们更在乎的是产出以及投入产出比。因此,lift曲线和lorenz曲线是相对而言更常用的可视化指标。

其次,lift曲线也并不是那么常用。lift曲线很容易解释,就是“用模型以后使得我们投放广告的客户群的响应率有所提升”,而其表现形式则是不同挖掘深度所对应的不同提升度。相对于lorenz曲线来说,lift曲线跟ROC曲线有一个明显的特点:衡量模型在不同阈值下的表现。也就是说,这两种曲线描述的其实都是一堆模型的性能。(事实上lorenz曲线也是这样,但解释起来会更为隐蔽。)客户往往很困惑,他们想要明白的只是我们提供的这个模型的性能,而不是我们所采用的这种建模方法的性能。所以,很多时候lift不需要画曲线,单个或几个lift的数值本身就很有说服力并且很直观了。

最后,lorenz曲线是我们比较常用的表现手段。(至少我的领导是这样。)在分类模型的性能评价中,lorenz曲线是对投入产出的一种衡量,它的形状跟ROC很像。曲线的横轴是logit模型预测值(p)排序后的一系列分位点,纵轴是截止到相应分位点所对应的样本中"1"的量占全体"1"的比例。这么说可能很不清楚,先来贴个图。

可以认为,lorenz曲线的横轴就是lift曲线中涉及到的深度depth,也就是:将样本的预测为1的概率从大到小排序后,取前百分之几。通常会简化成十分位点,0%,10%,20%,...,90%,100%。而曲线的纵轴其实就是相对应的TPR。形象地说,就是我们面对着一堆人(1000个),这堆人里面有20个坏人,我们的目标就是抓坏人。通过模型计算,我们把这堆人按照可能是坏人的概率从大到小地排了队,然后我们抓取前一百名,在这前一百名里面,可能就有13个坏人了(因为这一百个人的是坏人的概率比较高嘛),也就是说我们只抓取10%的样本,但是抓到了65%的目标。从lift的角度也可以很好地理解这种提升效果,而lorenz则更形象地展示了这种投入产出比的含义。
从某种角度看,这里的lorenz曲线与洛伦兹曲线的原始意义是很相似的。洛伦兹曲线的本意是描述社会财富的不平均分配。百度的解释:洛伦兹曲线(Lorenz curve),就是在一个总体(国家、地区)内,以最贫穷的人口计算起一直到最富有人口的人口百分比对应各个人口百分比的收入百分比的点组成的曲线。(我们这里可能是要反着排序。无伤大雅。)换一种更通俗的说法,这就是20/80原则——20%的人占据了80%的财富。lorenze曲线体现了这一点,通常是很早(20%)就达到比较高的水平(80%),然后再缓慢上升。
如果社会财富是平均分配的,那么lorenz曲线将会是一条对角线。(这条对角线跟ROC里面一样,是我们的对照组。)与之类似地,当没有模型的时候,坏人在人群中是平均分布的,这时的lorenz曲线也是一条对角线(也就是我们随机抓50%的人,这里面会抓到坏人的50%)。因此,lorenz曲线本质上是衡量了我们的模型对概率大小的排序的准确性——排序越准确,lorenz曲线就越远离对角线并凸向左上角。(这也跟ROC有点像。)
以上就是截至目前我对分类模型性能评价(主要是lorenz曲线)的一些理解,必然还需要进一步学习。
但是至少显然地,用lorenz曲线进行展示的时候可以加入很直观的解释,客户往往能够比较轻松地理解。所以领导让我写logit回归的时候,一并把lorenz曲线也画了出来。
早起上班。索性修改了之前画ROC的代码(那是仿照《应用商务统计分析》里的例子写的),以便跟lorenz融合起来。
可以发现,ROC曲线跟lorenz曲线在形状上是很接近的。
我对此的理解是:在某种情况下,depth跟fpr是很接近的数字。这仍然可以从混淆矩阵看出来。
fpr = (b) / (a+b)

depth = (b+d) / (a+b+c+d)

而某些情况下(例如我例子中使用的一个信用数据),实际值取1的样本是比较少的,
也就是说c和d都很小,结果就导致fpr跟depth在数字上很接近,从而使得ROC与lorenz曲线在形状上很相似。
最后照例是贴个代码。

二分类模型性能评价 2.0(ROC曲线,lift曲线,lorenz曲线)相关推荐

  1. [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC

    一 为什么要评估模型? 一句话,想找到最有效的模型.模型的应用是循环迭代的过程,只有通过持续调整和调优才能适应在线数据和业务目标. 选定模型时一开始都是假设数据的分布是一定的,然而数据的分布会随着时间 ...

  2. 衡量二分类模型的统计指标(TN,TP,FN,FP,F1,准确,精确,召回,ROC,AUC)

    文章目录 - 衡量二分类问题的统计指标 分类结果 混淆矩阵 准确率 精确率 召回率 F1评分 推导过程 ROC曲线.AUC - 衡量二分类问题的统计指标 分类结果   二分类问题,分类结果有以下四种情 ...

  3. AI:神经网络IMDB电影评论二分类模型训练和评估

    AI:Keras神经网络IMDB电影评论二分类模型训练和评估,python import keras from keras.layers import Dense from keras import ...

  4. 【Kay】机器学习——二分类模型的评价

    一.评价二分类模型的好坏 二分类问题:预测这条数据是0还是1的问题 1.混淆矩阵 数字代表个数 2.准确率.精确率.召回率 ①准确率: ②精确率(查准率): ③召回率(查全率recall) :   ④ ...

  5. 分类模型-评估指标(2):ROC曲线、 AUC值(ROC曲线下的面积)【只能用于二分类模型的评价】【不受类别数量不平衡的影响;不受阈值取值的影响】【AUC的计算方式:统计所有正负样本对中的正序对】

    评价二值分类器的指标很多,比如precision.recall.F1 score.P-R曲线等.但这些指标或多或少只能反映模型在某一方面的性能.相比而言,ROC曲线则有很多优点,经常作为评估二值分类器 ...

  6. 决策树及分类模型评价指标(混淆矩阵,LIFT曲线 重要)

    决策树评价指标:ROC lift(提升度):类似提纯:按照decile从高到低排列,之后计算每个decile里响应数与该decile里行数的比值得到一个response rate,另外,单独计算所有行 ...

  7. RDKit | 基于随机森林的化合物活性二分类模型

    基于随机森林算法的化合物二分类机器学习模型 代码示例 #导入依赖包 import pandas as pd import numpy as np from rdkit import Chem, Dat ...

  8. 深度学习框架tensorflow二实战(训练一个简单二分类模型)

    导入工具包 import os import warnings warnings.filterwarnings("ignore") import tensorflow as tf ...

  9. pytorch实现二分类模型

    使用的数据集是iris 一共150行数据, 三种花各有50行数据, 这里取了前100行, 选两种花进行二分类. 数据集地址:https://github.com/hydra-ZD/AI/blob/ma ...

  10. 【小白学习PyTorch教程】七、基于乳腺癌数据集​​构建Logistic 二分类模型

    「@Author:Runsen」 在逻辑回归中预测的目标变量不是连续的,而是离散的.可以应用逻辑回归的一个示例是电子邮件分类:标识为垃圾邮件或非垃圾邮件.图片分类.文字分类都属于这一类. 在这篇博客中 ...

最新文章

  1. 第十五周项目一-程序填空(范型程序设计)
  2. 这些职场办公神器,你会喜欢的!
  3. JDBC之一:快速入门
  4. MIME Type的介绍
  5. bzoj 2600: [Ioi2011]ricehub
  6. (并查集)How Many Tables -- HDU --1213
  7. Hadoop 技术在电信运营商上网日志处理中的应用架构
  8. install opencv debian env
  9. 设计模式C++实现--Factory模式
  10. 看得上瘾的斗鱼,首次开源了自家项目 Jupiter !
  11. windows 强制关闭程序并强制删除文件
  12. Summits poj3503
  13. 清除右键菜单多余的选项
  14. ps--光照+光晕+模糊
  15. layui多选下拉框,多选
  16. golang协程goroutine
  17. 学计算机学费一万多吗,计算机专业的学费是多少
  18. python打印古诗_python打印古诗_python教程:利用python基础知识取出对应诗句
  19. bugku:游戏过关
  20. Contour 学习笔记(二):使用级联功能实现蓝绿部署和金丝雀发布

热门文章

  1. Mac配置allure环境变量
  2. 解决win10删除文件时找不到该项目的问题
  3. 办理美国商务和旅游签证(B1 B2)和面签的奥秘
  4. Firefox downloadhelper 视频下载助手
  5. 从单机到分布式数据库存储系统的演进
  6. linux C语言 SOCKET 服务器断开导致客户端SEND崩溃问题解决办法
  7. visio2019怎么对图片加箭头标注,Visio设置图片作为背景
  8. android 音乐播放器评测,Android平台四大音乐播放器对比评测
  9. Robomaster视觉教程(二)Win10+VS201x+Opencv3.4.x环境搭建
  10. openbci脑电帽3d打印文件下载