码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【笔记】混淆矩阵和ROC曲线


    文章目录

    • 一、混淆矩阵
    • 二、重要指标
    • 三、ROC曲线

    一、混淆矩阵

    预测为真预测为假
    真实为真TP (True Positive)FN (False Negative)
    真实为假FP (False Positive)TN (True Negative)

    案例:

    真实值:0 1 1 0 1 1 0 0 1 0 1 0 1 0 0

    预测值:1 1 1 1 1 0 0 0 0 0 1 1 1 0 1
    在这里插入图片描述

    二、重要指标

    (1)精确率(precision、positive predictive value、ppv):

    TP / (TP + FP)

    即鉴定为阳性的所有数据中,确实为阳性的数据所占比。衡量算法的精确度。

    (2)召回率(recall、sensitivity(敏感度)、True Positive Rate(真阳性率/TPR)):

    TP / (TP + FN)

    即所有确实为阳性的数据中被鉴定出来的比率。

    (3)特异度(specificity、True Negative Rate(真阴性率/TNR)):

    TN / (TN + FP)

    即所有确实为阴性的数据中被鉴定出来的比率。

    (4)假阳性率(False Positive Rate(FPR)):

    FP / (FP + TN)

    即所有确实为阴性的数据中被鉴定成阳性的比率。

    (5)F1值:精确率和召回率的调和平均数。F1值越接近1,模型输出越好。

    2 1 p r e c i s i o n + 1 r e c a l l \Large \frac 2 {\frac 1 {precision} + \frac 1 {recall}} precision1​+recall1​2​


    三、ROC曲线

    在已经通过算法计算得到预测概率的前提下,每确定一个概率阈值,都可以产生一组新的预测值,每组新的预测值都可以和测试集中的真实值计算出一个新的混淆矩阵和对应的TPR、FPR。改变阈值,得到很多对不同的TPR、FPR后,以FPR为X坐标,TPR为Y坐标绘制成折线图,即得到ROC曲线。ROC曲线和X轴与X=1这两条线围成的图形面积叫AUC值,Area Under Curve。
    在这里插入图片描述

    在sklearn中绘制ROC曲线(数据事先准备):

    # 导入metrics
    from sklearn import metrics
    
    # 定义一个绘图函数
    def show_roc(y_test, scores, pos_label):
        # 得到FPR、TPR和阈值
        fpr, tpr, threshold = metrics.roc_curve(y_test, scores, pos_label=pos_label)
        plt.plot(fpr, tpr, color='green')
        # 绘制对角线
        plt.plot(np.linspace(0,1,10),np.linspace(0,1,10),color='red',ls='--') 
        # 加X轴Y轴标签
        plt.xlabel('FPR')
        plt.ylabel('TPR')
        # 加名字
        plt.title('ROC space')
        plt.show()
    
    # 调用函数
    show_roc(y_test, scores, 1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这里插入图片描述

  • 相关阅读:
    22ccpc桂林E - Draw a triangle 向量求三角形面积,exgcd
    HTML5期末大作业:HTML+CSS茶叶官网网页设计实例 企业网站制作
    hadoop大数据原理与应用-----初识hadoop习题集
    SSL证书在HTTP与HTTPS中的角色差异是什么?
    规则引擎Drools使用,0基础入门规则引擎Drools(一)基础入门
    如何从 apt-get 升级中排除特定软件包
    全方位适配信创生态体系 远眺捷码完成国产化认证
    漏洞修复优先级考虑-不错的思路
    Palantir,硅谷创业新黑帮?
    屏蔽搜索引擎的无用蜘蛛,减轻服务器压力
  • 原文地址:https://blog.csdn.net/SpriteNym/article/details/126125751
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号