• 精确率、召回率、准确率、F1 score与ROC曲线


    精确率、召回率、准确率F1 score与ROC曲线

    精确率(Precision)——查准率(查的准):  表示的是预测为某类样本(例如正样本)中有多少是真正的该类样本,一般用来评价分类任务模型。 
    ······比如对于一个分类模型,预测结果为A类的所有样本中包含A0个真正的A样本,和A1个不是A样本的其他类样本,那么该分类模型对于分类A的精确率就是A0/(A0+A1)。 
    通常来说精确率越高,分类效果越好。但是在样本分布非常不均衡的情况下, 精确率高并不一定意味着是一个好的模型。 

    比如对于预测长沙明天是否会下雪的模型,在极大概率下长沙是不会下雪的,所以随便一个模型预测长沙不会下雪,它的精确率都可以达到99%以上,所以单纯靠准确率来评价一个算法模型在有些情况下是完全不够的。  

    召回率(recall)——查全率(查的全):  表示的是样本中的某类样本有多少被正确预测了。比如对与一个分类模型,A类样本包含A0个样本,预测模型分类结果是A类样本中有A1个正样本和A2个其他样本,那么该分类模型的召回率就是 A1/A0,其中 A1+A2=A0  

    准确率(accuracy)表示的是所有分类中被正确分类的样本比例,比如对于一个分类模型,样本包含A和B两类,模型正确识别了A类中的A0个样本,B类中的B0个样本,则准确率为 (A0+B0)/(A+B)  

     

    F1值:精确率和召回率的调和均值,即: frac{2}{F1} = frac{1}{P} + frac{1}{R}

    ROC曲线和AUC

    Tp-rate:真正的正样本有多少预测对

    Fp-rate:真正的负样本有多少预测错

    ROC(Receiver Operating Characteristic)曲线是以假正率(FP_rate)和真正率(TP_rate)为轴的曲线,ROC曲线下面的面积我们叫做AUC,如下图所示:

     
    说明: 

    1. 曲线与FP_rate轴围成的面积(记作AUC)越大,说明性能越好,即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线性能越差。
    2. A点是最完美的performance点,B处是性能最差点。
    3. 位于C-D线上的点说明算法性能和随机猜测是一样的–如C、D、E点。位于C-D之上说明算法性能优于随机猜测–如G点,位于C-D之下说明算法性能差于随机猜测–如F点。
    4. ROC曲线在高不平衡数据条件下仍不能够很好的展示实际情况
    5. 无论是ROC曲线还是PR曲线(PR曲线得到mAP):都是以不同的IOU域值作为正负样本划分点作图得到的。
  • 相关阅读:
    面向对象程序设计简介(1/2)
    iOS官方Sample大全
    AFN不支持 "text/html" 的数据的问题:unacceptable content-type: text/html
    谈ObjC对象的两段构造模式
    关于self和super在oc中的疑惑与分析 (self= [super init])
    在Xcode中使用Git进行源码版本控制
    NSObject之二
    NSObject之一
    Objective-C Runtime 运行时之六:拾遗
    Objective-C Runtime 运行时之五:协议与分类
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725317.html
Copyright © 2020-2023  润新知