文章目录

  • 1、简介
  • 2、性能度量总结
  • 3、参考文献

1、简介

本文是对论文《The Impact of Automated Parameter Optimization on Defect Prediction Models》涉及到的性能度量标准整理。

最初看这篇论文的时候,被震撼了好久。从101个数据集中,选取涉及多个语言、多个领域的18个数据集,用12个性能度量讨论现有流行机器学习分类器(模型)参数优化对性能的提升效果。整个实验过程严谨,这种震撼效果直到读到这个实验室2017年的一篇论文《An Empirical Comparison of Model Validation Techniques for Defect Prediction Models》才减弱,使用的方法是相同的,对比实验的设置也大同小异,像是流水线产品,留下了羡慕的泪水(这种综述类的论文只能领域里的专家才能发)。

2、性能度量总结

可以参考着这两篇博客一起看:
sklearn—评价指标大全
机器学习性能评估指标

指标很多都是根据二分类的混淆矩阵来的,混淆矩阵示例:

指标名称 计算公式 含义 参考文献
查准率(精确率Precision) P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP​ [ 3 ] [3] [3]
查全率(召回率Recall) TPR R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP​ 正类(有缺陷的模块)被正确分类的比例 [ 3 ] [3] [3]
F m e a s u r e F_{measure} Fmeasure​( F 1 F_{1} F1​) F = 2 × P × R P + R F=2 \times \frac{P \times R}{P+R} F=2×P+RP×R​ 查准率和查全率的调和平均值 [ 3 ] [3] [3]
特异度(Specify)TNR S = T N T N + F P S=\frac{TN}{TN+FP} S=TN+FPTN​ 负类(无缺陷模块)被正确分类的比例
误报率FPR F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP​ 负类(无缺陷模块)被错误分类的比例 [ 4 ] [4] [4]
G m e a n G_{mean} Gmean​ G − m e a n = R × S G-mean=\sqrt{R \times S} G−mean=R×S ​ R和S的几何平均数
G m e a s u r e G_{measure} Gmeasure​ G m e a s u r e = 2 × p d × ( 1 − p f ) p d + ( 1 − p f ) G_{measure}=\frac{2 \times pd \times(1-pf)}{pd+(1-pf)} Gmeasure​=pd+(1−pf)2×pd×(1−pf)​ TPR和FPR的调和平均值,其中pd=TPR,pf=FPR
B a l a n c e Balance Balance 1 − ( 0 − p f ) 2 + ( 1 + p d ) 2 ) 2 1-\sqrt{\frac{\left.(0-p f)^{2}+(1+p d)^{2}\right)}{2}} 1−2(0−pf)2+(1+pd)2)​ ​ 负类被误分类的比例,其中pd=TPR,pf=FPR [ 5 ] [5] [5], [ 6 ] [6] [6]
马修斯系数(Matthews Correlation Coefficient, MCC) M C C = T P × T N − F P × F N ( T P + F P ) ( T P + F N ) ( T N + F P ) ( T N + F N ) MCC=\frac{TP \times TN-FP \times FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}} MCC=(TP+FP)(TP+FN)(TN+FP)(TN+FN) ​TP×TN−FP×FN​ 实际分类与预测分类之间的相关系数 [ 7 ] [7] [7]
AUC ROC曲线下的面积 [ 8 ] [8] [8], [ 9 ] [9] [9], [ 10 ] [10] [10], [ 11 ] [11] [11], [ 12 ] [12] [12], [ 13 ] [13] [13]
Brier 1 N ∑ i = 1 N ( p i − y i ) 2 \frac{1}{N} \sum_{i=1}^{N}\left(p_{i}-y_{i}\right)^{2} N1​i=1∑N​(pi​−yi​)2 预测概率和结果之间的差距 [ 14 ] [14] [14], [ 15 ] [15] [15]
LogLoss l o g l o s s = − 1 N ∑ i = 1 N ( y i log ⁡ ( p i ) + ( 1 − y i ) log ⁡ ( 1 − p i ) ) logloss=-\frac{1}{N} \sum_{i=1}^{N}\left(y_{i} \log \left(p_{i}\right)+\left(1-y_{i}\right) \log \left(1-p_{i}\right)\right) logloss=−N1​i=1∑N​(yi​log(pi​)+(1−yi​)log(1−pi​)) 分类损失函数

补充:

  • MCC:MCC本质上是一个描述实际分类与预测分类之间的相关系数,它的取值范围为[-1,1],取值为1时表示对受试对象的完美预测,取值为0时表示预测的结果还不如随机预测的结果,-1是指预测分类和实际分类完全不一致;
  • Brier score: p i p_{i} pi​是预测概率, y i y_{i} yi​是真实的标签(0或者1),取值范围是[0, 1],0代表性能最好,1代表性能最差,0.25表示随机分类;
  • LogLoss: p i p_{i} pi​是预测概率, y i y_{i} yi​是真实的标签(0或者1),Kaggle比赛的标准性能度量;

3、参考文献

[ 1 ] [1] [1]C. Tantithamthavorn, S. McIntosh, A. E. Hassan, and K. Matsumoto, “The Impact of Automated Parameter Optimization on Defect Prediction Models,” IEEE Trans. Softw. Eng., vol. 45, no. 7, pp. 683–711, Jul. 2019, doi: 10.1109/TSE.2018.2794977
[ 2 ] [2] [2]C. Tantithamthavorn, S. McIntosh, A. E. Hassan, and K. Matsumoto, “An Empirical Comparison of Model Validation Techniques for Defect Prediction Models,” IEEE Trans. Softw. Eng., vol. 43, no. 1, pp. 1–18, Jan. 2017, doi: 10.1109/TSE.2016.2584050.
[ 3 ] [3] [3]W. Fu, T. Menzies, and X. Shen, “Tuning for software analytics: is it really necessary?” Information and Software Technology, vol. 76, pp. 135–146.
[ 4 ] [4] [4]T. Menzies, J. Greenwald, and A. Frank, “Data Mining Static Code Attributes to Learn Defect Predictors,” IEEE Transactions on Software Engineering (TSE), vol. 33, no. 1, pp. 2–13, 2007.
[ 5 ] [5] [5]H. Zhang and X. Zhang, “Comments on “Data Min- ing Static Code Attributes to Learn Defect Predic- tors”,” IEEE Transactions on Software Engineering (TSE), vol. 33, no. 9, pp. 635–636, 2007.
[ 6 ] [6] [6]A. Tosun, “Ensemble of Software Defect Predictors: A Case Study,” in Proceedings of the International Sympo- sium on Empirical Software Engineering and Measurement (ESEM), 2008, pp. 318–320.
[ 7 ] [7] [7]M. Shepperd, D. Bowes, and T. Hall, “Researcher Bias: The Use of Machine Learning in Software Defect Prediction,” IEEE Transactions on Software Engineering (TSE), vol. 40, no. 6, pp. 603–616, 2014.
[ 8 ] [8] [8]S. den Boer, N. F. de Keizer, and E. de Jonge, “Performance of prognostic models in critically ill cancer patients - a review.” Critical care, vol. 9, no. 4, pp. R458–R463, 2005.
[ 9 ] [9] [9]F. E. Harrell Jr., Regression Modeling Strategies, 1st ed. Springer, 2002.
[ 10 ] [10] [10]J. Huang and C. X. Ling, “Using AUC and accuracy
in evaluating learning algorithms,” Transactions on Knowledge and Data Engineering, vol. 17, no. 3, pp. 299– 310, 2005.
[ 11 ] [11] [11]S. Lessmann, S. Member, B. Baesens, C. Mues, and S. Pietsch, “Benchmarking Classification Models for Software Defect Prediction: A Proposed Framework and Novel Findings,” IEEE Transactions on Software Engineering (TSE), vol. 34, no. 4, pp. 485–496, 2008.
[ 12 ] [12] [12]E. W. Steyerberg, Clinical prediction models: a practi- cal approach to development, validation, and updating. Springer Science & Business Media, 2008.
[ 13 ] [13] [13]E. W. Steyerberg, A. J. Vickers, N. R. Cook, T. Gerds, N. Obuchowski, M. J. Pencina, and M. W. Kattan, “Assessing the performance of prediction models: a framework for some traditional and novel measures,” Epidemiology, vol. 21, no. 1, pp. 128–138, 2010.
[ 14 ] [14] [14]G. W. Brier, “Verification of Forecasets Expressed in Terms of Probability,” Monthly Weather Review, vol. 78, no. 1, pp. 25–27, 1950.
[ 15 ] [15] [15]K. Rufibach, “Use of Brier score to assess binary predictions,” Journal of Clinical Epidemiology, vol. 63, no. 8, pp. 938–939, 2010.

机器学习之常见的性能度量相关推荐

  1. 【进阶版】机器学习之模型性能度量及比较检验和偏差与方差总结(02)

    目录 欢迎订阅本专栏,持续更新中~ 本专栏前期文章介绍! 机器学习配套资源推送 进阶版机器学习文章更新~ 点击下方下载高清版学习知识图册 性能度量 最常见的性能度量 查准率/查全率/F1 ROC与AU ...

  2. 聚类dbi指数_聚类中的性能度量

    聚类 在无监督学习中,训练样本的标记是没有指定的,通过对无标记样本的训练来探索数据之间的规律.其中应用最广的便是聚类,聚类试图把一群未标记数据划分为一堆不相交的子集,每个子集叫做"簇&quo ...

  3. 性能度量 - 对学习器泛化能力的评估

    文章目录 1. 最常见的性能度量 - 错误率与精度 2. 查准率/查全率/F1 3. ROC与AUC 4. 代价敏感错误率与代价曲线 导语: 如何计算"测试误差"? 需要利用性能度 ...

  4. 机器学习中常见性能度量汇总

    前言 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接. 一.回归 在回归任务上,目前最常用的性能度量方式是均方误差 (Mean S ...

  5. 机器学习之性能度量指标

    机器学习的模型性能度量指标 在机器学习中,衡量,评估和选择一个模型好坏是通过一些常见指标实现的,称之为性能指标(Metrics). 对于一个二分类问题,我们首先给出如下基本指标基于这些指标可以推导出其 ...

  6. 机器学习性能度量(1):P-R曲线与ROC曲线,python sklearn实现

    最近做实验要用到性能度量的东西,之前学习过现在重新学习并且实现一下. 衡量模型泛化能力的评价标准,这就是性能度量.性能度量反应了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判 ...

  7. 机器学习分类与性能度量

    机器学习分类与性能度量 数据集:训练集(Training Set).验证集(Validation Set)和测试集(Test Set) 1. 当模型无需人为设定超参数,所用参数都通过学习得到,则不需要 ...

  8. 【机器学习-西瓜书】二、性能度量:召回率;P-R曲线;F1值;ROC;AUC

    关键词:准确率(查准率,precision):召回率(查全率,recall):P-R曲线,平衡点(Break-Even Point, BEP):F1值,F值:ROC(Receiver Operatin ...

  9. 机器学习之性能度量指标——决定系数R^2、PR曲线、ROC曲线、AUC值、以及准确率、查全率、召回率、f1_score

    一.线性回归的决定系数(也称为判定系数,拟合优度) 相关系数是R哈~~~就是决定系数的开方! 正如题所说决定系数是来衡量回归的好坏,换句话说就是回归拟合的曲线它的拟合优度!也就是得分啦~~ 决定系数它 ...

最新文章

  1. Pinpoint 插件开发
  2. 概率编程库Pymc3案例之神经网络(批量训练)
  3. TCP/IP总结(2)基础概念
  4. caj在线阅读_用翻译软件快速阅读大量英文文献
  5. VTK:IO之ReadLegacyUnstructuredGrid
  6. 使用wcstok_s函数分割路径, 创建多级目录
  7. Leo的AR代码学习之create-react-class
  8. # 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod
  9. cvSaveImage用法
  10. 在哪里学python-python的强项在哪里
  11. 洛谷 P1509 找啊找啊找GF(复习二维费用背包)
  12. WIN7、WIN8 右键在目录当前打开命令行Cmd窗口(图文)
  13. MySQL锁 、行锁、表锁、间隙锁、临键锁、共享锁、排它锁、意向锁
  14. 一个程序员经历的7小时全身麻醉
  15. 然而大部分工程师的期权并没有什么用
  16. 几十万台 Exchange 服务器已被入侵,修复补丁来了
  17. mppdb 查看建表语句_MPP架构数据库优化总结——华为LibrA与GreenPlum
  18. 快解析教你,快速修改3389端口
  19. 记录Win10正确安装CUDA和cuDNN的过程(记录一些坑)
  20. 计算机无效d盘的错误怎么解决,电脑d盘打不开怎么办

热门文章

  1. Proxmark3 GUI
  2. 安卓Fragment使用详解
  3. 基于SpringBoot开发的Java web在线聊天系统,即时通讯通信系统,基于IDEA开发
  4. CentOS中Xvfb的安装使用
  5. centos mysql 连接_centos支持远程mysql连接
  6. 【开发工具】【smartctl】硬盘检测工具(smartctl)的使用
  7. 色彩静物画法:先找体积再塑造细节~
  8. 【sql】MySQL的having用法以及和group by使用
  9. Android中查看详细的错误信息的方法
  10. IDEA 连接数据库 MySQL及其踩坑解决