ROC曲线的一点理解

1 背景知识

真阳率(TPR)和假阳率(FPR)

  • 真阳率(TPR) :又称召回率(Recall),计算公式为 ,表示实际为正的样本中被正确分类为正的比例。
  • 假阳率(FPR) :计算公式为,表示实际为负的样本中被错误分类为正的比例。

2 ROC曲线作用

ROC曲线(Receiver Operating Characteristic Curve),即受试者工作特征曲线 ,是一种用于评估二分类模型性能的工具。

3 分类器分类阈值

  • 分类器通常会输出一个概率分数或置信度分数,这个分数表示样本属于某一类别的可能性。
  • 通过设置不同的阈值,将概率分数转换为二元分类结果。例如,如果阈值设为0.5,概率分数大于或等于0.5的样本被分类为正类,低于0.5的样本被分类为负类。

4 绘制ROC曲线

  • 通过改变分类阈值,从0到1,对每一个阈值计算对应的TPR和FPR。则每个阈值在ROC曲线中对应一个点。
  • 在以FPR为横轴、TPR为纵轴的坐标系中绘制出这些点,连接这些点就形成了ROC曲线。

引用自深入解析ROC曲线及其应用_ruc曲线 csdn-CSDN博客

ROC曲线通过展示真阳性率 (TPR)与假阳性率(FPR)之间的权衡关系,为模型的性能提供直观的图形表示。

5 解析ROC曲线

曲线形状

  • 理想的ROC曲线在左上角(TPR接近1,FPR接近0)弯曲,表示高真阳率和低假阳率。 所以曲线越接近左上角,分类器的性能越好。
  • 对角线(从点(0,0)到(1,1))表示随机猜测的分类器,其AUC为0.5。这意味着分类器的性能和随机猜测没有区别。

起点(0,0)解释:

  • 此时是阈值设置得极高的情况,TPR和FPR都是0,所有样本都被分类为负类。 (简单理解极端情况就是:阈值为1 ,概率得分只有>1才能分为正类,低于1的样本得分被分为负类)

终点(1,1)解释:

此时,TPR和FPR都是1。当阈值设置得极低时,所有样本都被分类为正类。(极端情况阈值=0,概率得分>0被分为正类,低于0的样本得分被分为负类,显然没有负类)

1表示所有正类样本都分成正类

1表示所有负类样本都分成正类

对角线上任意一点(x,y)

  • 假设某个阈值下,假阳率(FPR)为x,真阳率(TPR)为y。
  • 对于随机分类器,FPR和TPR会随着阈值的变化线性变化,即在对角线上移动。

eg: 假设有一个数据集,其中正类和负类样本各占50%。随机分类器对这些样本进行分类,表现如下:

  • 对于正类样本,有50%的概率被随机分类为正类,50%的概率被随机分类为负类。
  • 对于负类样本,也有50%的概率被随机分类为正类,50%的概率被随机分类为负类。

随机分类器的表现可以总结为:

  • FPR = 0.5
  • TPR = 0.5

这个结果对应于对角线上的点(0.5, 0.5)。如果我们绘制随机分类器的ROC曲线,它会从(0,0)开始,经过(0.5, 0.5),最终到达(1,1),形成一条对角线。

曲线下面积(AUC)

  • AUC(Area Under the Curve)是衡量分类器整体性能的指标,取值范围在0到1之间。
  • AUC越接近1,分类器性能越好。AUC为0.5表示分类器没有区分能力,与随机猜测相同。
相关推荐
恋猫de小郭3 分钟前
AI 可以让 WIFI 实现监控室内人体位置和姿态,无需摄像头?
前端·人工智能·ai编程
是一碗螺丝粉25 分钟前
5分钟上手LangChain.js:用DeepSeek给你的App加上AI能力
前端·人工智能·langchain
两万五千个小时32 分钟前
落地实现 Anthropic Multi-Agent Research System
人工智能·python·架构
用户48159301959134 分钟前
揭秘GPT-4与LLaMA背后的加速黑科技:KV Cache、MQA、GQA、稀疏注意力与MoE全解析
人工智能
用户51914958484535 分钟前
Cisco SMA 暴露面检测工具 - 快速识别CVE-2025-20393风险
人工智能·aigc
碳基沙盒41 分钟前
AI工具的“超级外挂”:从零手把手教你搭建私人 MCP 服务器
人工智能
马腾化云东42 分钟前
Agent开发应知应会(langfuse):Langfuse Score概念详解和实战应用
人工智能·llm·ai编程
Baihai_IDP1 小时前
HackerNews 热榜第一名:AGI 的 A,原来代表的是 Ads(广告)
人工智能·程序员·llm
ma_king1 小时前
claude+tmux 团队模式使用
人工智能·claude
蓝桉_T1 小时前
Ollama 本地跑 DeepSeek-Coder V3 保姆级教程(Java 调用示例)
人工智能