当前位置: 首页 > news >正文

机器学习:ROC曲线笔记

ROC曲线(Receiver Operating Characteristic Curve)是一种用于评估二分类模型性能的图形化工具,主要用于展示在不同阈值(Threshold)下模型的真阳性率(True Positive Rate,TPR)和假阳性率(False Positive Rate,FPR)之间的关系。

ROC曲线最早起源于二战期间,用于分析雷达信号检测敌方飞机的能力,随后逐渐扩展到其他领域,特别是医学诊断。自20世纪末,ROC已被广泛应用于机器学习,通过改变分类阈值,展示模型将正类与负类区分开来的能力,以此找到最佳的模型参数和决策阈值。


目录

基本概念

1.混淆矩阵(Confusion Matrix)

1.1 组成类别

1.2 评估指标

2. AUC(Area Under the Curve)

3.约登指数(Youden's index)

曲线组成



基本概念


1.混淆矩阵(Confusion Matrix)

也称为误差矩阵,用于展示实际类别与模型预测类别之间的关系,以此评估有监督学习中分类模型的性能。混淆矩阵对于二分类和多分类问题都适用,在流行病学研究中,它被应用于评估筛检试验真实性

预测实际
正例负例
正例真阳性(TP)假阳性(FP)
负例假阴性(FN)真阴性(TN)

(ROC曲线是多个混淆矩阵结果的组合)

1.1 组成类别

真阳性(True Positive,TP):模型正确地将正类预测为正类的数量。

假阴性(False Negative,FN):模型错误地将正类预测为负类的数量。

假阳性(False Positive,FP):模型错误地将负类预测为正类的数量。

真阴性(True Negative,TN):模型正确地将负类预测为负类的数量。

1.2 评估指标

通过混淆矩阵,我们可以计算出多种评估指标,从不同角度评估模型性能:

准确率(Accuracy):模型正确预测的总体比例,计算公式为:Accuracy = \frac{TP + TN}{TP + TN + FP + FN}

精确度(Precision):模型预测为正类中实际为正类的比例,计算公式为:Precision = \frac{TP}{TP + FP}

召回率(Recall)或灵敏度(Sensitivity):实际为正类中模型预测为正类的比例,计算公式为:Recall = \frac{TP}{TP + FN}

特异度(Specificity):实际为负类中模型预测为负类的比例,计算公式为:Specificity = \frac{TN}{TN + FP}

F1分数(F1 Score):精确度和召回率的调和平均数,计算公式为:F1 Score = \frac{2 \times (Precision \times Recall)}{Precision + Recall}

2. AUC(Area Under the Curve)

曲线下面积,用于综合评价模型在各种不同阈值下的表现。AUC的取值范围在0~1,常用于量化比较不同分类器的性能,AUC值越高,表示模型性能越好。

AUC = 1.0 :完美分类器,模型没有任何的分类错误;

AUC > 0.5 :模型具有将正类和负类区分开来的能力,且性能超过了随机猜测;

AUC < 0.5 :模型的表现还不如随机猜测,表明模型存在严重问题。

3.约登指数(Youden's index)

也称为正确指数,常用于确定最佳阈值,即约登指数最大的时候,模型分类能力最佳。计算方式为:约登指数 = 灵敏度 + 特异度 − 1



曲线组成

1.真阳性率:也称为灵敏度、召回率或命中率,作为纵坐标;

2.假阳性率:是在所有实际负例中,被错误地判断为正例的比例,作为横坐标;

3.阈值:是界定正类和负类的分界线。通过调整阈值,模型预测正类的标准更高或更低,从而影响到TPR和FPR的值。ROC曲线上的每一个点都对应一个特定的决策阈值。

4.AUC:ROC曲线与坐标轴对角线组成的面积。

曲线绘制:在一个坐标图上,将FPR作为横轴(X轴),TPR作为纵轴(Y轴)。对于一个二分类模型,通过改变决策阈值,我们可以得到一系列的(FPR, TPR)点,将这些点连线就形成了ROC曲线。理想情况下,最好的预测模型的ROC曲线会尽可能地靠近左上角,意味着具有更高的TPR和更低的FPR。


http://www.lryc.cn/news/299649.html

相关文章:

  • 【lesson54】线程互斥
  • Android14音频进阶:MediaPlayerService如何启动AudioTrack 上篇(五十五)
  • K8sGPT 的使用
  • 《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)
  • 设计模式浅析
  • Linux环境中的git
  • 单测的思路
  • Linux内核与驱动面试经典“小”问题集锦(6)
  • 【zabbix】(四)-钉钉告警企业微信配置
  • python-自动化篇-办公-一键将word中的表格提取到excel文件中
  • C#,数值计算,矩阵的行列式(Determinant)、伴随矩阵(Adjoint)与逆矩阵(Inverse)的算法与源代码
  • 人工智能|推荐系统——基于tensorflow的个性化电影推荐系统实战(有前端)
  • Hive SQL编译成MapReduce任务的过程
  • 【C++】快速上手map、multimap、set、multiset
  • 【分享】图解ADS+JLINK调试ARM
  • 反无人机系统技术分析,无人机反制技术理论基础,无人机技术详解
  • Kotlin和Java 单例模式
  • 软考 系统分析师系列知识点之信息系统战略规划方法(9)
  • 政安晨:示例演绎TensorFlow的官方指南(一){基础知识}
  • node - 与数据库交互
  • 速盾:2024年cdn在5g时代重要吗
  • 微信小程序(四十一)wechat-http的使用
  • 所有设计模式大全及学习链接
  • 【Java程序设计】【C00264】基于Springboot的原创歌曲分享平台(有论文)
  • 2024年,要特别注意这两个方位
  • 【Chrono Engine学习总结】5-sensor-5.1-sensor基础并创建一个lidar
  • springboot/ssm学生信息管理系统Java学生在线选课考试管理系统
  • three.js 箭头ArrowHelper的实践应用
  • 力扣hot2--哈希
  • 【正在更新】从零开始认识语音识别:DNN-HMM混合系统语音识别(ASR)原理