zoukankan      html  css  js  c++  java
  • 二分类问题中混淆矩阵、PR以及AP评估指标

    仿照上篇博文对于混淆矩阵、ROC和AUC指标的探讨,本文简要讨论机器学习二分类问题中的混淆矩阵、PR以及AP评估指标;实际上,(ROC,AUC)与(PR,AP)指标对具有某种相似性。

    按照循序渐进的原则,依次讨论混淆矩阵、PR和AP:

    设定一个机器学习问题情境:给定一些肿瘤患者样本,构建一个分类模型来预测肿瘤是良性还是恶性,显然这是一个二分类问题。
    本文中,将良性肿瘤视为正类标签(可能在具体实践中更为关注恶性肿瘤,不过这并不影响技术上的操作)。
    当分类模型选定以后,将其在测试数据集上进行评估,分别可以得到以下评估指标:

    混淆矩阵

    TP表示预测为良性,真实情况是良性的样例数;
    FN表示预测为恶性,真实情况是良性的样例数;
    FP表示预测为良性,真实情况是恶性的样例数;
    TN表示预测为恶性,真实情况是恶性的样例数;
    以上四类数据构成混淆矩阵。

    PR

    在混淆矩阵的基础上,进一步地定义两个指标。

    按照下式定义precision(P)指标


    precision表示,预测为正的样本中有多少是真正的正样本;精准率强调对某类样本识别的准确性。

    按照下式定义recall(R)指标


    recall表示,样本中的正例有多少被预测正确了;召回率强调对某类样本识别的全面性。

    precision,recall分别反映分类器对某一类样本鉴别能力的两个方面;通常,这两个指标呈现互斥关系,即一个指标高了往往会致使另一指标降低。

    由上,一个混淆矩阵对应一对(precision,recall)

    需要明确的是,P和R是建立在类别明确的预测结果之上的,即分类模型明确地指出待预测样本的类别。
    然而,在二分类问题(0,1)中,一般模型最后的输出是一个概率值,表示结果是1的概率。此时需要确定一个阈值,若模型的输出概率超过阈值,则归类为1;若模型的输出概率低于阈值,则归类为0。
    不同的阈值会导致分类的结果不同,也就是混淆矩阵有差,P和R也就不同。
    当阈值从0开始慢慢移动到1的过程,就会形成很多对(precision,recall)的值,将它们画在坐标系上,就是所谓的PR曲线了。

    AP

    得到PR曲线后,就可以计算曲线下方的面积,计算出来的面积就是AP值。
    一般而言,AP越大,模型的性能越好。

    示例

    作者: python之家

    出处: http://www.cnblogs.com/pythonfl/

    本文版权归作者和博客园共有,转载时请标明本文出处;如对本文有疑问,欢迎邮件15256636585@qq.com联系;如发现文中内容侵犯到您的权利,请联系作者予以处理。

  • 相关阅读:
    df值自由度学习[转载]
    调用sklearn包中的PLA算法[转载]
    箱线图+小提琴图学习[转载]
    P1616 疯狂的采药 洛谷
    P1164 小A点菜 洛谷
    【noip模拟赛3】确定的位置 (map的遍历 位置原理)
    【noip模拟赛1】古韵之鹊桥相会(最短路)
    【noip模拟赛3】贾老二的工件 (模拟)
    【noip模拟赛1】古韵之乞巧 (dp)
    【noip模拟赛3】拣钱
  • 原文地址:https://www.cnblogs.com/pythonfl/p/14411257.html
Copyright © 2011-2022 走看看