zoukankan      html  css  js  c++  java
  • 机器学习中的度量指标:ROC曲线,AUC值,K-S曲线

    机器学习中的度量指标:ROC曲线,AUC值,K-S曲线

    首先,回顾一下二分类问题的一些定义:

    预测 1 0
    实 1 TP FN
    ​际 0 FP TN

    上表中,四个项分别为:TP真阳性;FN假阴性;FP假阳性;TN真阴性

    注意,真假表示预测的对错,后面的阳性和阴性表示预测结果,因此结合预测结果和预测结果的对错,可以知道对应的实际结果是什么。比如FN假阴性,预测为阴性,但是预测结果为假,所以真实答案应该是个阳性。预示对应第一行第二列。

    下面介绍几个定义:

    sensitivity灵敏度,定义是TP/P = TP/(TP+FN),等价于召回率(recall)。表示真正例中有多少被召回了。

    specificity特异度,定义为TN/N = TN/(TN+FP),表示真阴性里面有多少被检出了。

    1-sensitivity:FN/(TP+FN),说的是阳性中有多少被误判成了阴性,也就是漏检,或者说是Type II error

    1-specificity:FP/(FP+TN),说的是阴性里有多少被当成了阳性,也就是虚警,就是Type I error

    ROC曲线的定义和AUC值

    ROC(Receiver Operating Characteristic)曲线横轴为虚警,纵轴是召回(灵敏度)。这一点可以这样理解:为了尽可能多的召回,最极端的方式就是把所有的都报告成阳性,但是这样一来,虚警就会变多。随着虚警的变多,召回的情况也越来越好,我们希望的是,尽量在虚警很低的时候,正样本都能尽可能全部被召回。因此,ROC下面围成的面积越大越好,这个面积就是AUC(Area Under Curve),翻译过来就是『曲线底下的面积』,非常简单直接粗暴。
    在这里插入图片描述

    K-S曲线

    在这里插入图片描述

    K-S曲线实际上就是把阈值作为横坐标,TPR和FPR,也就是召回率和虚警率,其实也就是ROC曲线的那两个变量,同时作为纵坐标,随着阈值的变化,召回和虚警都从0到1,这时候,两者距离最远的地方就是KS值。代表在某个阈值的时候,召回和虚警差距最大,也就意味着能用最少的虚警换来最多的召回,这个位置是我们需要的阈值。

    其实可以想象一下,把虚警那条曲线拉直,然后让召回随着虚警也对应地变化,那么得到的其实就是ROC曲线。

    2019-07-31 21:17:17

    用科技让复杂的世界更简单。

  • 相关阅读:
    torchvision 之 transforms 模块详解
    图像的形状相关参数顺序
    卷积神经网络(CNN)
    OpenCV 图片基本操作
    Dataset 和 DataLoader 详解
    ARM开发各种烧写文件格式说明(ELF、HEX、BIN)结合KEIL环境的使用
    14 局部段描述符的使用
    一文看懂Linux内核!Linux内核架构和工作原理详解
    13 从保护模式返回实模式
    基于win10家庭版的docker安装
  • 原文地址:https://www.cnblogs.com/morikokyuro/p/13256678.html
Copyright © 2011-2022 走看看