机器学习结果指标评估
第一种:ROC(Receiver Operating Characteristic)
目的:
(1)分类结果往往不是0和1 而是0-1之间的连续变量 为此需要设定一个阈值线进行分类
(2)accuracy评价方式已经满足不了。也即是引入:类不平衡问题,链接
其主要分析工具是一个画在二维平面上的曲线——ROC curve。横坐标是false positive rate(FPR),纵坐标是true positive rate(TPR)
引入:混淆矩阵
真阳性TP(True Positive)、真阴性TN(True Negative);假阳性FP(False Positive)、假阴性FN(False Negative)
类1(正类) | 类0(负类) | ||
实际分类 | 类1(正类) | TP | FN |
类0(负类) | FP | TN | |
预测分类 |
设定1为阳性,正类,0为阴性,负类
真阳性TP(True Positive):表示实际类别是1,预测为1.(其中1为我们想要检出的目标)
真阴性TN(True Negative)表示实际类别是0,预测为0.
假阴性FN(False Negative)表示实际类别是1,预测为0.
假阳性FP(False Positive)表示实际类别是0,预测为1.假的预测为阳性
举例:对应于疾病检测,若我们要检测出肿瘤为1,健康为0。
TP就表示正确的检测出肿瘤,TN表示正确的检测出健康类别
FN表示将肿瘤错误的检测为健康,FP表示将健康错误的检测为肿瘤;
FN和FP都是错误的检测(F),N表示预测为0(负类),P表示预测为1(正类)
TP和TN都是正确的检测(T)
它们之间的关系:
上图说明:虚线左代表预测为负类,虚线右代表预测为正类;虚线A往右,则TP、FP变小,则查准率变高;FP变小、FN变大则查全率变低
准确率(Accuracy):Acc = ( TP + TN ) / ( TP+FP+TN+FN)
查准率(从字面理解,预测出的正类中,确实为正类的准确率),也称准确率,
也称为阳性预测值(Positive Predictive Value PPV)precision 精确率
P=TP/(TP+FP)
举例:正确预测为肿瘤的人数/预测出的肿瘤人数
查全率(从字面理解,实际所有的正类中,预测为正类的准确率),也称召回率
R=TP/(TP+FN)
查全率等价于真阳性率(TPR),别名:灵敏度、命中率、召回recall、敏感度(SE)Sensitivity
TPR=TP/(TP+FN)
含义:1(正确预测的正类)/所有正类(TP 正确的预测为正类+错误的预测为负类(原来是正类))
举例:肿瘤被识别为肿瘤/所有的肿瘤人数
假阳性率(FPR),(实际所有的负类中,预测结果为正类的概率)别名:误检率
FPR=FP/(FP+TN)
含义:0(原来是负类却错误的预测为正类)/所有的负类(FP+正确的预测为负类)
举例:健康人被识别为肿瘤的个数/所有的健康人数
特异性Specificity:实际所有的负类中,预测结果为负类的概率(SP)真阴性率
SPC=TN/(TN+FP)
参考:https://www.cnblogs.com/leezx/p/6105212.html
高敏感性低特异性时,阳性诊断(真阳性率)具有诊断意义;
高特异性低敏感性时,阴性诊断(真阴性率)具有排除诊断意义。参考:https://tieba.baidu.com/p/2431401037?red_tag=3319221744&traceid=
阴性预测值(negative predictive value, NPV)指预测结果为阴性的受试者中确实为阴性(真正未患病的)的比例
NPV:Negative predictive value
计算公式:NPV=TN / (FN + TN)参考:https://blog.csdn.net/qimo601/article/details/87528926
假阴性率 (False Negative Rate):FNR = FN /(TP + FN)
通过FPR(横轴)和TPR(纵轴)构成ROC曲线,其中FPR越小时TPR越大越好,也即是曲线下的面积越大越好。
上图的曲线A往右走,(上边的蓝色包络)则FP减小TN增大,则假阳性率FPR变小,(下边的红色包络)TP变小,FN变大,则真阳性率TPR变小。假设左边为阈值1 , 右边为阈值0,通过阈值调整实现ROC曲线的绘制;正好对应ROC曲线:往左边则FPR和TPR减少。
其中上图的ROC曲线为锯齿状的原因是: 样例数目少使得计算出的(FPR,TPR)数目少。
AUC(Area Under the Curve):
AUROC表示计算ROC曲线(如上文中所述的蓝色曲线)下的面积,评价分类器性能好坏的指标。越大则分类器越好!
虚线为随机预测结果
面积计算:
其中的xi和yi代表每ROC曲线上的每一个点。
第二种:PR曲线
单个模型的曲线获得:上面图说明:虚线左代表预测为负类,虚线右代表预测为正类;虚线A往右,则TP、FP变小,则查准率变高;FP变小、FN变大则查全率变低
解读:上图为ABC三个模型得出的PR曲线图,如何比较不同模型的分类性能?
(1)曲线C被曲线A包住,则模型A的分类效果比模型C的效果好;
(2)若两条曲线交叉,如A和B,则需要看具体的查全率和查准率值,评价方式有:比较曲线下面积、引入平衡点BEP、调和平均值F1
平衡点:查准率=查全率的点,越高则越好
调和均值F1:(精确率和召回率的调和均值,精确率和召回率都高时,F1值也会高)
调和均值的扩展:
看更加看重的是查全率还是查准率,调节不同的值,并比较不同模型得出的F值。
在单个模型下:
有多个训练和测试得出的PR结果,可以采用1、先计算各个P和R,求平均,再求F1,F 2、计算的各个TP、TN、FP、FN,分别对应求平均,再求F1和F
问题:单个模型下ROC曲线和PR曲线是如何绘制出来的?区分上面的多个测试集。
这部分西瓜书解释不好!
参考:点击链接 https://blog.csdn.net/zuolixiangfisher/article/details/81328297 讲的不错
总结:用到的是一个测试集,样本点逐个比较,越往后则包含的点数越多。我们根据每个测试样本属于正样本的概率值从大到小排序然后我们按照样本的score(概率值)值,从大到小依次作为阈值,当样本score值大于等于阈值时则判定为正样本,否则为负样本;因此将会得到一组TPR和FPR的点,依据这些点就可以画出ROC曲线。
同理PR曲线的绘制类似,只不过计算的是P和R。
ROC和PR曲线的区别,具有的优势
当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变【4】【6】。
其中分布变化,具体是在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化
而PR曲线就会因为正负样本的分布变化而出现很大的改变。
待续......
博客总结的全:https://blog.csdn.net/aliceyangxi1987/article/details/74181259
总结的优缺点:https://www.zhihu.com/question/30643044
参考:
【1】AUC以及AOC混淆矩阵1http://m.elecfans.com/article/648824.html
【2】Receiver Operating Characteristic (ROC)https://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html
【3】ROC曲线与AUC值https://www.cnblogs.com/gatherstars/p/6084696.html 写的不错
【4】器学习分类模型效果评估指标介绍https://blog.csdn.net/zuolixiangfisher/article/details/81328297
【5】西瓜书
【6】一篇关于ROC曲线的论文2006年:An introduction to ROC analysis http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=E25A3B8C4747B3488D5CEFD0B61AB217?doi=10.1.1.646.2144&rep=rep1&type=pdf
【7】https://www.cnblogs.com/Allen-rg/p/5821949.html
机器学习结果指标评估相关推荐
- 机器学习中的评估指标与损失函数
1. 写在前面 在准备找工作面试时, 发现机器学习中的评估指标和损失函数是一个经常要问题的话题, 对于一个算法工程师,衡量模型的好坏以及怎么根据出现的问题进行调整是必备的技能,损失函数代表着模型的优化 ...
- python 两点曲线_python机器学习分类模型评估
python机器学习分类模型评估 1.混淆矩阵 在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多 ...
- 机器学习预测结果评估展示_评估通用社区测试计划的性能并预测结果
机器学习预测结果评估展示 Dr Catrina Ko (Twitter: @dr_CatKo)Hong Kong Global Connect (Twitter: @HKGlobalConnect) ...
- 【大数据专业】机器学习分类模型评估和优化之交叉验证的多种方法
学习目标: 机器学习: 分类评估模型及优化之交叉验证 交叉验证的三种基本方法: 1.将拆分与评价合并执行 sklearn.model_selection.cross_val_score 2.同时使用多 ...
- 机器学习AUC指标的理解
机器学习AUC指标的理解 AUC在机器学习领域中是一种模型评估指标,是指模型ROC曲线下的面积.分类器效果月AUC值成正比.即当分类器的分类效果越好的时候,ROC曲线下面积越大,AUC越大. 其中,R ...
- 机器学习评测指标概述
机器学习评测指标概述 文章目录 机器学习评测指标概述 1. 基本分类 1.1 样本类别 1.2 置信度阈值 1.3 IoU阈值 2. 基本指标 recall precison accuracy 3.进 ...
- linux 测试内存性能,Linux性能测试指标评估
Linux性能测试指标评估 一.影响Linux服务器性能的因素 1. 操作系统级 · CPU · 内存 · 磁盘I/O带宽 · 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 其 ...
- R使用交叉验证(cross validation)进行机器学习模型性能评估
R使用交叉验证(cross validation)进行机器学习模型性能评估 目录 R使用交叉验证(cross validation)进行机器学习模型性能评估
- 机器学习 模型性能评估_如何评估机器学习模型的性能
机器学习 模型性能评估 Table of contents: 目录: Why evaluation is necessary?为什么需要评估? Confusion Matrix混淆矩阵 Accurac ...
- 【干货】推荐系统中的机器学习算法与评估实战
[导读]推荐系统是机器学习技术在企业中最成功和最广泛的应用之一.本文作者结合MLMU演讲[1]的Slides,对推荐系统的算法.评估和冷启动解决方案做了详细的介绍. 作者 | Pavel Kordík ...
最新文章
- 扩展jquery实现客户端表格的分页、排序
- go 怎么遍历json数据_json数据怎么处理 好难 啊!
- java hashset应用_三.java集合的应用
- 音效摸鱼还不够爽?试试IDE里打几盘魂斗罗?
- 量子力学 一 基础1 角动量
- WordCount代码详解
- 中国溶解浆市场深度调研及投资战略决策报告2022-2028年版
- chapter 2 自定义数据类型
- C++读取numpy数据二进制文件
- python学习(十七) 扩展python
- javascript arguments(转)
- vue php 架构目录,vuex 项目结构目录及一些简单配置介绍
- 中美线径对照表_导线截面与线径对照表
- 网站压测工具Apache-ab,webbench,Apache-Jemeter
- win10文件误删除怎么恢复,不能错过的恢复方法
- 【Android游戏开发详细过程1】Android平台飞机大战游戏APP设计与实现
- WAMP 建立配置自己的网站
- Python引号的用法
- HDU - 1546 Idiomatic Phrases Game
- 服务器端获取签名直传OOS