美文网首页
机器学习的评估指标-准确性,精度,召回率和F1

机器学习的评估指标-准确性,精度,召回率和F1

作者: 宅男9号 | 来源:发表于2020-01-13 16:43 被阅读0次

如何评估一个模型的好坏是非常重要的,但是对于初学者来说,这一堆的名词与含义还真的是不好记。
假设有正负两类样本,对于模型预测的结果无非就四个:

  1. 将正样本预测为正样本
  2. 将正样本预测为负样本
  3. 将负样本预测为正样本
  4. 将负样本预测为负样本

假设有100个样本,其中60个正样本,40个负样本,模型查找出50个正样本,其中只有40个是真正的正样本,有10个负样本被错认为正样本,以表格的的形式看就是:

正(预测) 负(预测)
正(实际) 40 20
负(实际) 10 30

准确性

准确性就是所有样本中,预测样本与实际样本一致的比例。即上表中的
(正正)+ (负负) / (总样本)
以上表为例就是: (40 + 30)/ 100

精度

精度就是在所有被预测为正的样本中正确的比例。即上表中的
(正正)/ (正正)+ (正负)
以上表为例就是: 40 /(40 + 10)
对精度的追求,可以认为是:宁可放过,不可杀错

召回率

召回率就是在所有正样本中被正确预测的比例。即上表中的
(正正)/ (正正)+ (负正)
以上表为例就是: 40 /(40 + 20)
对召回率的追求与精度刚好相反,可以认为是:宁可杀错,不可放过

F1

准确性,精度,召回率在一些场景下是很好的衡量指标。但在也有很多场景并不适用。比如在诈骗电话的预测上,通常诈骗电话是比较少的。
假设有100个电话,其中98个正常通话,2个诈骗电话,模型查找出98个正常通话,其中只有97个是真正的正常通话,有1个诈骗电话被错认为正常通话,以表格的的形式看就是:

正常(预测) 诈骗(预测)
正常(实际) 97 1
诈骗(实际) 1 1

单从准确性来看,这个模型毫无疑问是比较优秀的,毕竟准确性高达98%。然而,换一个角度想一下,有两个电话被提示为诈骗电话,结果只有一个真的是诈骗电话,另一个是正常通话。而且总共就两个诈骗电话,结果只有一个提示了,另一个却没有提示。这显然不是一个好的模型。

单从精度(宁可放过,不可杀错)来看,高精度就意味着有不少的诈骗电话被放过了,这肯定是不能接受的。

单从召回率(宁可杀错,不可放过)来看,高召回就意味着有不少的正常通话被误报,如果有这样一个软件你肯定也不会愿意用。

F1是对模型精度的总体度量,将精度和召回率结合在一起,以一种奇怪的方式,即加法和乘法将两种尺度混合在一起计算得出。良好的F1分数意味着您的误报率和误报率都很低,因此可以尽可能多的正确识别实际威胁,同时尽量减少误报的干扰。

F1 = 2 * ((精度 * 召回率) / (精度 + 召回率))
以之前表为例就是: 2 * ((0.8 * 0.66) / (0.8 + 0.66))

相关文章

网友评论

      本文标题:机器学习的评估指标-准确性,精度,召回率和F1

      本文链接:https://www.haomeiwen.com/subject/hcuujctx.html