机器学习结果指标评估

简介: ROC、混淆矩阵、PR曲线

第一种: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)

image.png

设定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)

它们之间的关系:

b72105eeb8e6df8bb3a1a25bcee4f1b5_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

上图说明:虚线左代表预测为负类,虚线右代表预测为正类;虚线A往右,则TP、FP变小,则查准率变高;FP变小、FN变大则查全率变低

准确率(Accuracy):Acc = ( TP + TN ) / ( TP+FP+TN+FN)

查准率(从字面理解,预测出的正类中,确实为正类的准确率),也称准确率,

            也称为阳性预测值(Positive Predictive Value PPVprecision  精确率

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

高敏感性低特异性时,阳性诊断(真阳性率)具有诊断意义;

高特异性低敏感性时,阴性诊断(真阴性率)具有排除诊断意义。

阴性预测值(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越大越好,也即是曲线下的面积越大越好。

20e4c61ae609d4acc7d2c8f2de0b164c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

b72105eeb8e6df8bb3a1a25bcee4f1b5_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

上图的曲线A往右走,(上边的蓝色包络)则FP减小TN增大,则假阳性率FPR变小,(下边的红色包络)TP变小,FN变大,则真阳性率TPR变小。假设左边为阈值1 , 右边为阈值0,通过阈值调整实现ROC曲线的绘制;正好对应ROC曲线:往左边则FPR和TPR减少。

其中上图的ROC曲线为锯齿状的原因是: 样例数目少使得计算出的(FPR,TPR)数目少。

AUC(Area Under the Curve)

AUROC表示计算ROC曲线(如上文中所述的蓝色曲线)下的面积,评价分类器性能好坏的指标。越大则分类器越好!

虚线为随机预测结果

面积计算:

9bcae614120c40410c8c505cf42c1b1d_20190106190229730.png

其中的xi和yi代表每ROC曲线上的每一个点。

第二种:PR曲线

4657c132522f397b3b38416f0da13f46_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

b72105eeb8e6df8bb3a1a25bcee4f1b5_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

单个模型的曲线获得:上面图说明:虚线左代表预测为负类,虚线右代表预测为正类;虚线A往右,则TP、FP变小,则查准率变高;FP变小、FN变大则查全率变低

解读:上图为ABC三个模型得出的PR曲线图,如何比较不同模型的分类性能?

(1)曲线C被曲线A包住,则模型A的分类效果比模型C的效果好;

(2)若两条曲线交叉,如A和B,则需要看具体的查全率和查准率值,评价方式有:比较曲线下面积、引入平衡点BEP、调和平均值F1

平衡点:查准率=查全率的点,越高则越好

调和均值F1:(精确率和召回率的调和均值,精确率和召回率都高时,F1值也会高

2593685015acf782ef8004452918c301_20190106134553377.png

调和均值的扩展:

2fd7774f46f61e377a8b76b85e08d666_20190106134707797.png

看更加看重的是查全率还是查准率,调节不同的值,并比较不同模型得出的F值。

单个模型下:

7bb230b07c39c0e69d77e43784909c4c_20190106193213909.png

有多个训练和测试得出的PR结果,可以采用1、先计算各个P和R,求平均,再求F1,F 2、计算的各个TP、TN、FP、FN,分别对应求平均,再求F1和F 

问题:单个模型下ROC曲线和PR曲线是如何绘制出来的?区分上面的多个测试集。

26f57e8726bff772b99fe4330b2d68a8_20190106195348529.png

这部分西瓜书解释不好!

参考:点击链接https://blog.csdn.net/zuolixiangfisher/article/details/81328297  讲的不错

5c86aab21a04b3573cf1cf68b64b0e6d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

5c86aab21a04b3573cf1cf68b64b0e6d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

总结:用到的是一个测试集,样本点逐个比较,越往后则包含的点数越多。我们根据每个测试样本属于正样本的概率值从大到小排序然后我们按照样本的score(概率值)值,从大到小依次作为阈值,当样本score值大于等于阈值时则判定为正样本,否则为负样本;因此将会得到一组TPR和FPR的点,依据这些点就可以画出ROC曲线。

同理PR曲线的绘制类似,只不过计算的是P和R。

 ROC和PR曲线的区别,具有的优势

当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变【4】【6】。

    其中分布变化,具体是在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化

而PR曲线就会因为正负样本的分布变化而出现很大的改变。

b3c1af7735d30802fbec071c79702384_70.png

待续......


博客总结的全: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天前
|
机器学习/深度学习 BI
机器学习模型评估指标总结
机器学习模型评估指标总结
9 2
|
1天前
|
机器学习/深度学习 数据可视化 前端开发
【Python机器学习专栏】机器学习模型评估的实用方法
【4月更文挑战第30天】本文介绍了机器学习模型评估的关键方法,包括评估指标(如准确率、精确率、召回率、F1分数、MSE、RMSE、MAE及ROC曲线)和交叉验证技术(如K折交叉验证、留一交叉验证、自助法)。混淆矩阵提供了一种可视化分类模型性能的方式,而Python的scikit-learn库则方便实现这些评估。选择适合的指标和验证方法能有效优化模型性能。
|
1天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】Python中的机器学习评估与度量指标
【4月更文挑战第30天】本文介绍了Python中机器学习模型的评估方法和度量指标。主要包括留出法、交叉验证和自助法等评估方法,以及准确率、精确率、召回率、F1分数、AUC-ROC曲线、MSE、RMSE和R方值等度量指标。选择合适的评估标准对于理解模型性能和适应不同任务至关重要。
|
1天前
|
机器学习/深度学习 大数据
如何通过评估方法评估机器学习模型的性能
如何通过评估方法评估机器学习模型的性能
11 0
|
1天前
|
机器学习/深度学习
机器学习第13天:模型性能评估指标
机器学习第13天:模型性能评估指标
28 0
|
1天前
|
机器学习/深度学习 算法 数据可视化
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
39 1
|
1天前
|
机器学习/深度学习 数据采集 算法
Python中的机器学习入门:从数据预处理到模型评估
Python中的机器学习入门:从数据预处理到模型评估
199 35
|
2天前
|
机器学习/深度学习 数据采集 自然语言处理
24 LLM错误代码补全:机器学习顶会NeurIPS‘23 智能体评估:自行构建数据集Buggy-HumanEval、Buggy-FixEval+错误代码补全+修复模型【网安AIGC专题11.22】
24 LLM错误代码补全:机器学习顶会NeurIPS‘23 智能体评估:自行构建数据集Buggy-HumanEval、Buggy-FixEval+错误代码补全+修复模型【网安AIGC专题11.22】
138 0
|
6月前
|
机器学习/深度学习 算法 前端开发
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
347 0
|
6月前
|
机器学习/深度学习 算法 数据可视化
机器学习面试笔试之特征工程、优化方法、降维、模型评估2
机器学习面试笔试之特征工程、优化方法、降维、模型评估
81 0

热门文章

最新文章