机器学习中F1 score的理解

2018-11-10  本文已影响24人  子龙爱弹琴

机器学习中对于模型正确率的预估

在机器学习中模型的好坏的评估可以从几个指标入手:

精确率和召回率是对于分类任务来说的

用P代表我们预测的正类,N代表我们预测的负类,T代表真正的正类,F代表真正的负类

  1. 精确率(将正类样本预测成正类样本的个数对上全部预测为正类样本的比例)

精确率就是预测正确的结果中,有多少是真正正确的,也就是预测正确的样本中,有多少是正确的对上你认为正确的样本数

TP/(TP+FP)

  1. 召回率(将正类样本预测成正类样本的个数对上全部真正正确的样本的比例)

召回率就是全部正确的样本中有多少被识别了出来

TP/(TP+FN)

可以通过一个比喻来理解

比如我们有一群外出的鸭子,晚上没有回家,全部都跑到别人家里和别人家的鸭子混在了一起,现在我们要从一大群鸭子里面找出我们家的鸭子,这群鸭子中,有我们的也有别人的,总共鸭子有200只,我们从里面找出来一群鸭子假设为(100只),以为全部都是我们家的,剩下的100只是别人家的,然后仔细看了一下,里面只有80只,是我们家的,其他都是别人家的,这样我们的准确率就只有80/100也就是0.8,这个时候我爸来说我们家总共有120个鸭,这样我们的召回率就只有80/120也就是0.67左右了,我们列个表格看一下

预测 Predict True Predict False
实际正类 80 40
实际负类 20 60

一般情况下要高的召回率的话,我们可以把全部鸭子都说成是我们家的,这样召回率就很高了,但是,准确率却特别低,所以我们一般不直接使用准确率和召回率来对算法做评估,而是使用F1 scores来评判

F1 scores就是模型的准确率和召回率的调和平均数

2/F1 = (TP+FP)/TP + (TP + FN)/TP

F1 = 2TP/(2TP+FN+FP)

上一篇下一篇

猜你喜欢

热点阅读