专栏首页数据挖掘与AI算法模型评价之混淆矩阵、ROC曲线与AUC

模型评价之混淆矩阵、ROC曲线与AUC

前面我们已经介绍了逻辑回归、决策树、随机森林这几种常用的分类模型,不知道大家有没有留意到,我们在前面做模型评价的时候都会用到一个指标--AUC,通过AUC值的大小来评判模型好坏。前面我们有简单提过AUC值越大表示模型效果越好,这到底是为什么呢?本节课就给大家详细讲解分类模型中常用的模型评价方法--混淆矩阵、ROC曲线与AUC。

                      混淆矩阵

我们以常见的二分类问题为例,假设模型预测为正例记为1(positive),反例记为0(negative),那么我们可以根据实际情况与模型预测情况得到以下一张表格,它就是我们常说的混!淆!矩!阵!

其中TP表示预测值为正(positive),实际值也为正(positive);

FP表示预测值为正(positive),实际值为反(negative);

FN表示预测值为反(negative),实际值为正(positive);

TN表示预测值为反(negative),实际值也为反(negative)。

对于预测性分类模型,我们肯定是希望预测结果越准越好。那么,对应到混淆矩阵中,就是希望TP与TN对应位置的数值越大越好,而FP与FN对应位置的数值越小越好。但在模型结果预测中,单看这些对应位置的数值大小往往不够直观,所以我们通常会通过以下几个指标来判定模型结果的好坏。

1.准确率(Accuracy) = (TP + TN) / (TP + FP + FN + TN)

(在整个观察结果中,预测正确的占比)

2.精确率(Precision) =  TP / (TP + FP)(在所有预测为正例的结果中,预测正确的占比)

3.召回率(Recall) = TP / (TP + FN)

(在所有实际值为正例的结果中,预测正确的占比)

4.F1_score = 2*P*R/(P + R)

(P代表精确率,R代表召回率)

注:1、以上几个指标范围在0-1之间,数值越大表示相应结果越好;

2、精确率是针对预测结果而言的,召回率是针对实际结果而言的;

3、混淆矩阵也可以用作多分类问题。

                      ROC曲线

ROC的全称是Receiver Operating Characteristic Curve,中文名字叫“受试者工作特征曲线”,它是代表模型在不同的阈值条件下灵敏性与精确性的变化趋势。

横坐标为假正例率(FPR),纵坐标表示真正例率(TPR),也就是召回率。其中,

FPR = FP / (FP + TN)

TPR = TP / (TP + FN)

(哈哈,到这里大家是不是有点蒙了?)

下面给大家讲解ROC曲线的绘制原理,理解起来就会比较简单了。

如果大家对二分类模型预测结果还有印象的话,一般模型的输出结果都是预测样本为正例(positive)的概率。而事实上,ROC曲线正是通过不断移动分类器(模型)的“阈值”来生成曲线上的一组关键点的。可能这样讲有点抽象,还是举个栗子。比如现在有10个人,每个人都从同一个模型得到预测结果,第一个人认为结果大于0.92就是正例,第二个人则认为结果大于0.87就是正例,第三个人认为结果大于0.76就是正例,依次类推。每个人心中都有自己的一个判断标准(也就是对应模型的不同“阈值”),这样针对每一个人,都能计算出一个ROC曲线上的关键点(一组FPR,TPR值)然后把这10个点连接起来,就得到了一个简单的ROC曲线。

为方便大家进一步理解,下图是一个二分模型真实的输出结果,一共有20个样本,输出的概率Score就是模型判定样本为正例的概率,第二列Class是样本的真实标签(p表示正例,n表示反例)。

现在我们指定一个阈值为0.8,那么只有最前面的2个样本(0.8)会被归类为正例,而其他的所有样本都会被归为反例。因此,对于0.8这个阈值,我们可以计算出FPR为0(别问我为什么,套用前面的公式去计算),TPR为0.2(因为总共10个正样本,预测正确的个数为2),那么我们就知道曲线上必有一个点为(0, 0.2),根据图中依次选择不同的阈值,画出全部的点以后,再连接这些点即可最终得到ROC曲线如下图所示。

                      AUC

还是?图所示,AUC是ROC曲线下面的面积,范围在0-1之间,AUC数值越大表示模型效果越好。若曲线上下两部分面积相等,则它就是y=x直线,此时AUC等于0.5,表示模型的结果相当于随机猜测,没什么效果~

ok,到这里混淆矩阵、ROC曲线与AUC你都懂了吗?不懂就慢慢消化吧。下节课给大家带来更刺激的SVM,敬请期待~

本文分享自微信公众号 - 数据挖掘与AI算法(sjwjyaisf1688),作者:小小挖掘机666

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 特征工程之数据预处理

    前面我们说过,特征工程在数据挖掘任务中非常重要,可以说直接关系着后续模型效果的好坏。不过要做好特征工程并不容易,它既需要对业务有深入的理解,还要求掌握扎实的专业...

    用户7569543
  • Tensorflow2.0实现简单的RNN文本分析

    前面我们介绍的全连接神经网络以及卷积神经网络都只能单独处理一个个输入,并且前一个输入和后一个输入往往是没有直接联系。但是,在某些情况下我们需要很好地处理序列信息...

    用户7569543
  • CTR预估之深度学习模型DeepFM

    趁今天618剁手节,老shi决定带大家去剁手,哦不,是认识广告CTR预估中非常有名的深度学习模型DeepFM。话不多说,马上进入正题~

    用户7569543
  • 机器学习模型的度量选择(下)

    在第一篇中,我们讨论了回归中使用的一些重要指标、它们的优缺点以及用例。这一部分将集中讨论分类中常用的度量,以及在具体的背景中应该选择哪种。

    磐创AI
  • Xamarin Forms WPF 干掉默认的窗口导航条

    在创建默认的 Xamarin Forms WPF 应用,将和 UWP 应用的界面不相同,在 WPF 项目会显示顶部蓝色的一条,看起来不好看,那么可以如何干掉他

    林德熙
  • 简易 MVC框架 弃坑

    ![](https://melovemingming-1253878077.cos.ap-chengdu.myqcloud.com/blog-image/201...

    mySoul
  • python生态系统中的线性回归

    需求最大的受监督机器学习算法之一是线性回归。线性回归扎根于统计领域,因此必须检查模型的拟合优度。

    代码医生工作室
  • 图灵奖得主论体系结构创新,自动构建知识图谱,打造新一代Kaldi,尽在2020 WAIC·开发者日

    WAIC 世界人工智能大会云端峰会已于近日在上海落幕。在机器之心承办的 2020 WAIC· 开发者日上,图灵奖得主 David Patterson 和 Jos...

    机器之心
  • SAP最佳业务实践:ETO–项目装配(240)-3创建客户订单

    image.png VA01创建客户订单 在第一个步骤中创建客户订单。参考在业务情景 232: ETO - 报价处理中创建的报价创建订单。 角色销售助理 后勤®...

    SAP最佳业务实践
  • 《深入理解mybatis原理》 Mybatis数据源与连接池

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://louluan.blog.c...

    亦山

扫码关注云+社区

领取腾讯云代金券