文章目录

  • 混淆矩阵
  • 二级指标
  • 三级指标
    • F1-Score
    • ROC(AUC)
    • PR曲线

推荐系统的评价指标很多,今天介绍:准确率(ACC)、查准率(P精确率)、查全率(R召回率)、F1-score、AUC值,ROC曲线、PR曲线

以上的所有指标都是依托于混淆矩阵的,所以下面简单贴一张混淆矩阵的图吐出来

混淆矩阵

  以上就是混淆矩阵,其中挨个解释一下表中内容。列表示的是真实值,而行表示预测值,所以列和行的Positive和Negative所表示的含义是不一样的,列的Positive和Negative表示的是真实的正样本和负样本;而行的Positive和Negative表示的是预测出来的是正样本还是负样本

那么TP就很好理解了,其表示的就是本身就是正样本,预测的时候也预测为正样本,从英文表示是True Positive上也是可以明白的。

TP:英文True Positive ,表示本身是正样本,预测也是正样本,预测正确
TN:英文True Negative,表示本身是负样本,预测也是负样本,预测正确
FP:英文False Positive,表示本身负样本,但是预测为正样本,预测错误
FN:英文False Negative,表示本身是正样本,但是预测为负样本,预测错误

总结一下:结合图中也可以看出,绿色对角线表示预测正确的样本,红色表示预测错误的样本。

通常模型的好坏就往往就是从模型的预测结果来判断的,但是由于混淆矩阵里面的都是具体的个数,不够直观,所以一般会考虑对齐的量纲进行一些约束,通过一些方式把他约束到0-1之间这样,所以也就在混淆矩阵的基础上衍生出了,二级指标、三级指标

二级指标

指标名 数学表示 含义
准确率(ACC) A c c u r a c y ( 准确率 ) = T P + T N T P + T N + F P + F N Accuracy(准确率)=\frac {TP+TN} {TP+TN+FP+FN} Accuracy(准确率)=TP+TN+FP+FNTP+TN​ 预测正确的样本占所有样本的比例,其中预测正确的可能有正样本也可能有负样本。
查全率(精确率Precision) P r e c i s i o n ( 查全率 P ) = T P T P + F P Precision(查全率P)=\frac {TP} {TP+FP} Precision(查全率P)=TP+FPTP​ 预测出的正样本中,真正的正样本占了多少比例。
查准率(召回率Rcall) 查准率 ( 召回率 R ) = T P T P + F N 查准率(召回率R)=\frac {TP} {TP+FN} 查准率(召回率R)=TP+FNTP​ 预测出的真正的正样本占据所有真实正样本的比例。
特异度TNR T N R = T N T N + F P TNR=\frac {TN} {TN+FP} TNR=TN+FPTN​ 预测出的负样本中,真正的负样本占了多少比重

通过二级指标的转换,混淆矩阵的指标就成功转到0-1之间了。但是有一个新的问题出现了,这些二级指标某种意义上有些独立,就好比说查全率P和查准率R来说,当要追求一个较高时,另一个就会降低。所以需要出现三级指标,来通过某种方式,让二级指标中的某几个指标尽量整体最优。

三级指标

F1-Score

F 1 − S c o r e = 2 P R P + R F1-Score=\frac {2PR} {P+R} F1−Score=P+R2PR​
P就是查全率,R就是查准率。F1-Score综合考虑了这两个指标,输出1表示模型表示最好,0则表示最差。

ROC(AUC)

  首先要知道ROC曲线的横纵坐标是什么

其中坐标说明如下:

TPR(真正样本率) T P R = T P T P + F N TPR=\frac {TP} {TP+FN} TPR=TP+FNTP​
FPR(假正样本率) F P R = F P F P + T N FPR=\frac {FP} {FP+TN} FPR=FP+TNFP​

如何理解这两个指标的含义呢?先看个图。

蓝色的区域是负样本所在的区域,而红色的区域是正样本所在的区域。横坐标可以认为是一些概率值
当我们在做样本预测的时候,会得到一个概率值,我们就是通过这个概率值去判定是否是正样本的。

在判定正负样本的前提是我们需要事先设定一个阈值,只有当预测值大于阈值时,才是正样本

假设黑色的这条竖线就是我们划定的阈值,那么大于黑色的部分才是正样本,而小于黑色的部分才是负样本,所以我箭头标出的两个实际样本分布重叠的那部分因为大于阈值,所以预测时候被判定为正样本,而实际上他是负样本,这就是FPR假正样本率,而右侧不重叠的地方才是真正样本率。

那么当我们设定一个阈值时就得到一对TPR,FPR,设定不同的阈值就会得到不同的FPR,TPR。然后把素有的点(FPR,TPR)绘制出来,就得到了ROC(下图左上角就是ROC曲线)。

也可以看下图

  绿色线就是ROC曲线,ROC曲线和横坐标围成的面积就是AUC。
AUC的物理意义可以理解为不管是以什么阈值划分正负样本,模型对真实样本的整体的区分能力,当为0.5时,表示模型没啥作用,当为1时,表示最好。

PR曲线

献上图

横坐标为查准率(Recall),
查全率(精确率Precision)

这是从另一个角度去决定模型的能力,

  1. 查全率决定了模型要尽可能的召回真正的正样本
  2. 而查准率则表示召回的样本不要太多.但是要足够准确.
    所以综合来看,PR曲线就是综合考虑了,模型要尽可能的召回所有的正样本,但又不能预判错误得太多.

通俗的说,有的人捞鱼的时候,为了尽可能的捞到自己想要的小于,这时候就把渔网孔调小,自然小于就会被打上来(Recall变大),但是同时不想要的大鱼也会被打上来(Precision变小).所以P-R曲线就是在综合考虑这个问题.

推荐算法评价指标(ACC、查全率、查准率、F1-Score、ROC、AUC,P-R)相关推荐

  1. [吴恩达机器学习笔记]11机器学习系统设计3-4/查全率/查准率/F1分数

    11. 机器学习系统的设计 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 11.3 偏斜类的误差度量 Error Metr ...

  2. 推荐系统系列——推荐算法评价指标

    文章目录 同步读书之<菜根谭> 9.静坐观心,真妄毕现 10.得意早回头,拂心莫停手 推荐算法评价指标 1 评分预测指标 1.1 符号定义 1.2 平均绝对误差 1.3 均方根误差 1.4 ...

  3. auc计算公式_图解机器学习的准确率、精准率、召回率、F1、ROC曲线、AUC曲线

    机器学习模型需要有量化的评估指标来评估哪些模型的效果更好. 本文将用通俗易懂的方式讲解分类问题的混淆矩阵和各种评估指标的计算公式.将要给大家介绍的评估指标有:准确率.精准率.召回率.F1.ROC曲线. ...

  4. 推荐算法常用评价指标:NDCG、MAP、MRR、HR、ILS、ROC、AUC、F1等

    1 混淆矩阵 TP(true positive):表示样本的真实类别为正,最后预测得到的结果也为正: FP(false positive):表示样本的真实类别为负,最后预测得到的结果却为正: FN(f ...

  5. 机器学习:算法性能度量之查准率与查全率

    我们经常使用错误率(即分类错误的样本占总体样本的比例)来分析一个机器学习算法的性能,但是有时候不能满足任务的需求. 例如,我们想要利用机器学习算法来预测肿瘤是不是恶性的.在训练集中,只有0.5%的样本 ...

  6. 广告推荐算法(group auc)评价指标及Spark实现代码

    我们曾经有这样的疑惑,那就是训练样本,AUC得到提升.当将新模型放到线上后,却发现实际效果却没有老模型好,这时候很多人就开始疑惑了. ​ 在机器学习算法中,很多情况我们都是把auc当成最常用的一个评价 ...

  7. 详解准确率acc、精确率p、准确率acc、F1 score

    准确率 Accuracy: 模型预测正确的比例:总样本中预测对的概率:所有样本中实际是正例的占比:正确预测的样本数与总样本数之比. 准确率 =(真正例+真负例)/(真正例+真负例+假正例+假负例). ...

  8. 【推荐算法】从零开始做推荐(二)——TopK推荐的评价指标,计算原理与样例

    前言   推荐系统的评价指标在不同类型的推荐场景下,选用的不同.有些推荐的评价指标并非完全出自推荐系统,而是从搜索算法,信息检索,机器学习等相关领域沿用过来,因此网上有些对评价指标的解释并非完全以推荐 ...

  9. 查准率、查全率与 F1 值

    查准率.查全率与 F1 值 混淆矩阵 ⾸先定义混淆矩阵 (Confusion matrix): 其中: • TP (True Positive):表⽰将正样本预测为正例的数⽬.即真实结果为 1,预测结 ...

最新文章

  1. [转载] firefox与ie的javascript兼容性编程汇编
  2. 【UGV】Arduino Mega2560 获取小车角度信息,传感器JY60
  3. 北邮OJ 84. Single Number
  4. Python 模块之heapq
  5. 局域网查看计算机慢,局域网内的电脑访问共享文件夹速度很慢如何解决
  6. 解读Scorm(0):标准
  7. 电脑显示器闪屏_网课抗“疫”,有一台护眼显示器更省心
  8. 在VirtualBox中体验Fedora15与GNOME3
  9. Qt - 一文理解QThread多线程(万字剖析整理)
  10. 2019区块链将走向何方?硅谷知名投资大咖如是说
  11. WebSocket is already in CLOSING or CLOSED state
  12. 快速排序算法的发明者霍尔
  13. 《延禧攻略》知识点整理,没看剧的看思维导图就够啦
  14. 含并行连结的网络 GoogLeNet / Inception V3 动手学深度学习v2 pytorch
  15. 怎么压缩图片 ? 掌握这几种免费压缩图片的方法就够了
  16. vim自动格式化代码转载
  17. org.hibernate.UnknownEntityTypeException: Unable to locate persister: com.mm.constract.domain.Contra
  18. js实现鼠标点击自动选中点击元素内的文字
  19. Tyvj 1047 乘积最大
  20. druid连接池 - 长时间阻塞问题排查

热门文章

  1. week4-Histogram Equalization数字图像处理(DIP)
  2. opencv-python笔记-基础与直方图均衡
  3. Apache Shiro漏洞检测(CVE-2016-4437)
  4. vue获取本机ip地址
  5. 音视频基础概念(2)——音频
  6. CCNA 之 六 路由协议 二 EIGRP
  7. 为什么要初始化CSS的样式?
  8. maven项目tomcat启动失败war exploded: Error during artifact deploym
  9. 曼哈顿距离与切比雪夫距离(知识点总结+例题整理)
  10. Proxy 代理模式 对象结构型模式