当前位置: 首页 > news >正文

如何评估分类模型的好坏

如何评估分类模型的好坏

评估分类预测模型的质量,常用一个矩阵、三条曲线和六个指标。

  • 一个矩阵:混淆矩阵;
  • 三条曲线:ROC曲线、PR曲线、KS曲线;
  • 六个指标:正确率Acc、查全率R、查准率P、F值、AUC、BEP值、KS值。

ROC曲线和AUC值

  ROC曲线

ROC曲线(Receiver Operating Characteristic curve),即接收者操作特征曲线,是反映TPR和FPR的综合指标。

TPR = TP/(TP+FN),即正类中正确预测的百分比(查全率)。

FPR = FP/(FP+TN),即负类中错误预测的百分比(相当于误判率)。

 

ROC曲线是由点(TPR,FPR)组成的曲线,横坐标是FPR,而纵坐标是TPR。

显然,ROC曲线应该越靠近左上角越好,即表示查全率越高,而误判率越低。

一般来说,如果ROC是光滑的,那么基本可以判断没有太大的过拟合。

 

ROC曲线有助于比较不同分类器的相对性能。如下两个模型M1和M2,当FPR小于0.36时模型M1较好,而当FPR大于0.36时模型M2较好。

 

 

   AUC

与ROC曲线一同使用的,还有AUC指标。

AUC(Area Under Curve),其实就是ROC曲线下方的面积。

因为,ROC曲线一般都处于对角线的上方,即模型的效果应该比瞎猜(猜中的概率为50%)要好,所以AUC的取值范围一般是[0.5,1]。

AUC值越大,即ROC曲线越靠近左上角,其下方的面积越大,说明模型质量越高。

 

显然,由于ROC/AUC与混淆矩阵的TP、FP、TN、FN四个值都有关,所以,AUC是一个综合的评价指标。AUC值越大,也相当于TP和TN越大越好,FP和FN越小越好。

 

所以在大多数数据挖掘比赛中,要比较两个模型哪个会更优,AUC指标要比Accuracy指标常用得多,也比其它查全率R和查准率P要常用得多。

 

PR曲线和BEP值

   PR曲线

PR曲线,反应的是查准率P和查全率R之间的关系。以P为横坐标,R作为纵坐标,就是PR网线。

 

P = TP/(TP+FP),即模型预测的正类中被正确预测的百分比。

R = FP/(FP+FN),即正类中被正确预测的百分比。

 

对于同一个分类模型,通过调整分类的阈值(从大到小变化),就可以得到不同的P-R值,即可画出PR曲线。

显然,我们要求P和R都应该是越高越好。如果一个模型的PR曲线被另一个模型的PR曲线所“包住”,则后者的性能要优于前者。如下图所示,模型A比模型C的性能要好,模型B比模型C的性能也要好。

一般情况下,查准率和查全率这两个指标不可能兼顾。要想查全率R高,则模型需要输出更多的样本(极端地,返回全部样本,则查全率为100%);要想查准率P高,则要求在模型认为的正类中,尽量地选择少的概率高的样本。

 

  BEP

PR曲线中,一般要求P和R都越高越好,因此引入了一个指标BEP来表示模型的质量。

BEP(Break Even Point),亦称盈亏平衡点、保本点。即当查准率=查全率时的值。

在上图中,模型A和模型B,由于存在交叉,不太容易判断哪个模型会更好。如果使用BEP来判断,可知模型A的性能要优于模型B的性能。

 

显然,由于PR /BEP与混淆矩阵的TP、FP、FN三个值都有关(与TN无关),所以,BEP并不是一个综合的评价指标。

但是,即使是正样本非常少的情况下,PR表现的效果也比较好。也就是说,在正负样本不平衡的情况下,PR曲线比ROC曲线能更有效地反应分类器的好坏。

KS曲线和KS值

   KS曲线

KS曲线(Kolmogorov-Smirnov),又叫洛伦兹曲线。以TPR和FPR分别分为纵轴,以阈值作为横轴,画出两条曲线。KS曲线反映的是在同一阈值下TPR和FPR的差值。

 

 

显然,我们希望的是TPR越高越好,而FPR越低越好,即要求两条折线离得越开越好,这说明模型对于正负样本区分度更好。

可以知道,KS曲线和ROC曲线一样,描述的都是TPR和FPR的关系,只是横坐标的取法不一样。

 

   KS值

考虑到量化,所以将TPR和FPR折线的最远距离作为KS值,即KS=max(TPR-FPR),作为模型的分区度。

K-S值越大,表示评分模型能够将“好客户”、“坏客户”区分开来的程度越大。

一般认为:

1)  当KS<0.2时,模型无鉴别能力

2)  在0.2~0.4之间,模型勉强接受,需要考虑优化

3)  在0.4~0.5之间,模型有区别能力

4)  在0.5~0.6之间,模型有较好的区别能力

5)  在0.6~0.7之间,模型有非常好的区别能力

6)  当KS>0.75时,要检验模型是否过拟合

 

由于KS值主要是体现模型中差异的最大的一个分段,因此适合于找阈值。像信用评分卡中,就比较适合使用KS值来评估,寻找出最大的区分度阈值。

曲线对比

 

一般来说,ROC曲线会更稳定,在正负样本足够(样本均衡)的情况下,ROC曲线会比较稳定,能够反映模型的整体质量。当样本不平衡时,特别是正样本极少时,ROC曲线并不准确。

在样本不均衡时,特别是正样本数远小于负样本数时,采用PR曲线会更合适。

而KS曲线,只是反映出哪个分段的区分度是最大的,而不能反映出总体的效果。所以,KS曲线往往只用在寻找区分的最佳阈值(比如信用评分卡中的审批阈值)。

 

一般情况下,最好能够综合考虑上述的三种曲线以及三个指标,这样对模型有一个全面的质量评估。

http://www.lryc.cn/news/140535.html

相关文章:

  • ● 84.柱状图中最大的矩形
  • 未检查的转换: ‘java.lang.Object‘ 转换为 ‘java.util.List
  • 【C语言】使用C语言,实现九九乘法表(另附Python、Java、JavaScript实现方式)
  • [机缘参悟-102] :IT人 - 管理的本质?管理人与从事技术的本质区别?人性、冰山模型、需求层次模型
  • [论文阅读笔记26]Tracking Everything Everywhere All at Once
  • 【Java 动态数据统计图】前后端对接数据格式(Map返回数组格式数据)六(120)
  • ❤ 给自己的mac系统上安装java环境
  • Java-匿名类
  • Maven的超级POM
  • 软考高级系统架构设计师系列论文九十二:论新技术的引进
  • vue使用Bootstrap的详细方法
  • leetcode做题笔记103. 二叉树的锯齿形层序遍历
  • 如果将PC电脑变成web服务器:利用Nignx反向代理绕过运营商对80端口封锁
  • Eureka:服务注册-信息配置-自我保护机制
  • C++二叉树进阶
  • layui tree组件取消勾选
  • 【Android基础面试题】ViewPager与ViewPager2的区别
  • springCloudGateway网关配置
  • kali 2023.3新增工具
  • W25Q64 驱动--基于SPI2接口
  • 禁用无线键盘指定按键
  • 分数规划(二分)
  • Vue2向Vue3过度Vue3状态管理工具Pinia
  • STM32--SPI通信与W25Q64(1)
  • 版本控制工具Git常见用法
  • Multisim软件安装包分享(附安装教程)
  • 【android12-linux-5.1】【ST芯片】HAL移植后开机卡死
  • 线程池也就那么一回事嘛!
  • 设计模式(11)观察者模式
  • 开源的安全性:挑战与机会