本文将介绍:

  • 混淆矩阵(Confusion Matrix)
  • 准确率(accuracy)
  • 召回率(recall)
  • 精确率(precision)
  • F1score
  • ROC和AUC
  • 宏平均(macro avg)
  • 微平均(micro avg)
  • 加权平均(weighted avg)

一,混淆矩阵(Confusion Matrix)

在n分类模型中,使用n行n列的矩阵形式来表示精度,纵列代表n个分类,在每行中的n个数据代表分别预测在每个类别的个数,完美的预测应该是一个列序数=行中有数据的索引数的一条斜线。

  • TP:True Positive :做出Positive的判定,而且判定是正确的
  • FP:False Positive :做出Positive的判定,而且判定是错误的
  • TN:True Negative :正确的Negative判定
  • FN:False Negative:错误的Negative判定

二,准确率(accuracy)

计算公式: accuracy = (TP + TN) / (TP + FP + TN + FN)

在正例较少负例较多的不平衡分类问题(疾病;恐怖分子)中,存在着如果把所有数据全部预测为负例,准确率依然会很高的问题,所以这里引入召回率。

三,召回率(recall)

召回率可以被理解为模型找到数据集中所有感兴趣的数据点的能力。

计算公式:recall = TP / (TP + FN) 所有正确的条目中有多少被检索出来

如果我们将所有的个体都预测为正样例,那么模型的召回率就是 1.0,但这明显也是错误的,所以这里引入精确率。

四,精确率(precision)

精确率可以被理解为模型找到的所以正例的准确性。

计算公式:precision= TP / (TP + FP) 所有预测为正确的条目中有多少真正正确的

随着精度的增加,召回率会降低,反之亦然。

五,F1score

F1 score 是对精度和召回率的调和平均
F1 Score = 2*P*R/(P+R),其中P和R分别为 precision 和 recall

我们使用调和平均而不是简单的算术平均的原因是:调和平均可以惩罚极端情况。一个具有 1.0 的精度,而召回率为 0 的分类器,这两个指标的算术平均是 0.5,但是 F1 score 会是 0。F1 score 给了精度和召回率相同的权重,它是通用 Fβ指标的一个特殊情况,如果我们想创建一个具有最佳的精度—召回率平衡的模型,那么就要尝试将 F1 score 最大化。

六,ROC和AUC

思想是相当简单的:ROC 曲线展示了当改变在模型中识别为正例的阈值时,召回率和精度的关系会如何变化。

计算公式如下:

TPR = TP / (TP + FN) TPR 是召回率
FPR = FP / (FP + TN) FPR 是反例被报告为正例的概率

下图是一个典型的 ROC 曲线:

  • 黑色对角线表示随机分类器,红色和蓝色曲线表示两种不同的分类模型。对于给定的模型,只能对应一条曲线。但是我们可以通过调整对正例进行分类的阈值来沿着曲线移动。通常,当降低阈值时,会沿着曲线向右和向上移动。

  • 在阈值为 1.0 的情况下,我们将位于图的左下方,因为没有将任何数据点识别为正例,这导致没有真正例,也没有假正例(TPR = FPR = 0)。当降低阈值时,我们将更多的数据点识别为正例,导致更多的真正例,但也有更多的假正例 ( TPR 和 FPR 增加)。最终,在阈值 0.0 处,我们将所有数据点识别为正,并发现位于 ROC 曲线的右上角 ( TPR = FPR = 1.0 )。

  • 最后,我们可以通过计算曲线下面积 ( AUC ) 来量化模型的 ROC 曲线,这是一个介于 0 和 1 之间的度量,数值越大,表示分类性能越好。在上图中,蓝色曲线的 AUC 将大于红色曲线的 AUC,这意味着蓝色模型在实现准确度和召回率的权衡方面更好。随机分类器 (黑线) 实现 0.5 的 AUC。

七,宏平均(macro avg)、微平均(micro avg)、加权平均(weighted avg)

当我们使用 sklearn.metric.classification_report 工具对模型的测试结果进行评价时,会输出如下结果:

1、宏平均 macro avg:

对每个类别的 精准、召回和F1 加和求平均。

精准 macro avg=(P_no+P_yes)/2=(0.24+0.73)/2 = 0.48

2、微平均 micro avg:

不区分样本类别,计算整体的 精准、召回和F1

精准 macro avg=(P_nosupport_no+P_yessupport_yes)/(support_no+support_yes)=(0.247535+0.73)/(7535+22462)=0.45

3、加权平均 weighted avg:

是对宏平均的一种改进,考虑了每个类别样本数量在总样本中占比

精准 weighted avg =P_no*(support_no/support_all)+ P_yes*(support_yes/support_all =0.24*(7525/29997)+0.73*(22462/29997)=0.61

分类指标:准确率、精确率、召回率、F1 score以及ROC、AUC、宏平均、加权平均相关推荐

  1. 分类、推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure) /(F-score)

    分类.推荐系统评测指标-准确率(Precision).召回率(Recall).F值(F-Measure) /(F-score) 1.准确率与召回率(Precision & Recall) 准确 ...

  2. 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)

     下面简单列举几种常用的推荐系统评测指标: 1.准确率与召回率(Precision & Recall) 准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量.其 ...

  3. 自然语言处理:分词评测指标——准确率(Precision)、召回率(Recall)、F值(F-Measure)

    下面简单列举几种常用的推荐系统评测指标: 1.准确率与召回率(Precision & Recall) 准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量.其中精度 ...

  4. 机器学习评估指标汇总:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

    摘要: 数据挖掘.机器学习和推荐系统中的评测指标-准确率(Precision).召回率(Recall).F值(F-Measure)简介. 引言: 在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型 ...

  5. 机器学习算法中的准确率(Precision)、召回率(Recall)、F值(F-Measure)

    转载自:https://www.cnblogs.com/Zhi-Z/p/8728168.html 摘要: 数据挖掘.机器学习和推荐系统中的评测指标-准确率(Precision).召回率(Recall) ...

  6. 机器学习:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

    增注:虽然当时看这篇文章的时候感觉很不错,但是还是写在前面,想要了解关于机器学习度量的几个尺度,建议大家直接看周志华老师的西瓜书的第2章:模型评估与选择,写的是真的很好!! 以下第一部分内容转载自:机 ...

  7. 机器学习深度学习:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

    增注:虽然当时看这篇文章的时候感觉很不错,但是还是写在前面,想要了解关于机器学习度量的几个尺度,建议大家直接看周志华老师的西瓜书的第2章:模型评估与选择,写的是真的很好!! 以下第一部分内容转载自:机 ...

  8. 机器学习模型评价指标:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

    转自机器学习:准确率(Precision).召回率(Recall).F值(F-Measure).ROC曲线.PR曲线 摘要: 数据挖掘.机器学习和推荐系统中的评测指标-准确率(Precision).召 ...

  9. 机器学习各种模型评价指标:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

    周志华老师的西瓜书的第2章:模型评估与选择 摘要: 数据挖掘.机器学习和推荐系统中的评测指标-准确率(Precision).召回率(Recall).F值(F-Measure)简介. 引言: 在机器学习 ...

  10. 【转载】机器学习算法中的准确率(Precision)、召回率(Recall)、F值(F-Measure)

    在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型的效果做评价.数据挖掘.机器学习和推荐系统中的评测指标-准确率(Precision).召回率(Recall).F值(F-Measure)简介.业内 ...

最新文章

  1. 第二阶段冲刺——第三天
  2. MATLAB 图像的平滑和边缘检测
  3. Codeforces 859C - Pie Rules
  4. 怎样调用php的足球联赛接口,足球赛事查询接口调用文档
  5. FusionCharts参数的详细说明
  6. python socket coding
  7. oracle使用max提升效率,Oracle调优之利用max与leftjoin来进行不同表之间匹配
  8. linux之ssh使用与配置
  9. 由scanf说起之1:scanf函数和回车、空格 及其返回值
  10. Flink 1.10 SQL、HiveCatalog 与事件时间整合示例
  11. 【专项测试】京东“安全测试”
  12. 如何实现从外部APP直接跳转微信小程序的解决方案
  13. 2019最值得关注的科技趋势【附罗振宇跨年演讲视频】
  14. Web前端大作业——基于HTML+CSS+JavaScript仿英雄联盟LOL游戏网站
  15. Docker自动化部署安装(五)之安装portainer-docker容器管理工具
  16. 必备干货,程序员进阶升级全攻略!
  17. centos7 oracle11g创建表空间和用户
  18. 钛磨产品行业调研报告 - 市场现状分析与发展前景预测
  19. Python常见库matplotlib之多个子图绘图
  20. 小米路由器R1D改造记录-开放ssh

热门文章

  1. ES报错-----------es分片数量修改,
  2. 成立子公司 联想欲重铸互联网思维
  3. 简易扫雷游戏c语言程序,C++实现简单的扫雷游戏(控制台版)
  4. Hello! 404
  5. 基于阿里云oss的文件管理系统
  6. 南方科技大学计算机世界排名,2021年南方科技大学专业排名排行榜公布 附招生专业目录及计划...
  7. MT2007-快速判断一个数能否被整除
  8. 蓝牙4.0防丢器开发中遇到的问题
  9. 海康卫视网页端查看监控,一直提示下载插件问题
  10. 微信小程序模板消息限制,实现无限制主动推送