机器学习中F1 score的理解
2018-11-10 本文已影响24人
子龙爱弹琴
机器学习中对于模型正确率的预估
在机器学习中模型的好坏的评估可以从几个指标入手:
精确率和召回率是对于分类任务来说的
用P代表我们预测的正类,N代表我们预测的负类,T代表真正的正类,F代表真正的负类
- 精确率(将正类样本预测成正类样本的个数对上全部预测为正类样本的比例)
精确率就是预测正确的结果中,有多少是真正正确的,也就是预测正确的样本中,有多少是正确的对上你认为正确的样本数
- 召回率(将正类样本预测成正类样本的个数对上全部真正正确的样本的比例)
召回率就是全部正确的样本中有多少被识别了出来
可以通过一个比喻来理解
比如我们有一群外出的鸭子,晚上没有回家,全部都跑到别人家里和别人家的鸭子混在了一起,现在我们要从一大群鸭子里面找出我们家的鸭子,这群鸭子中,有我们的也有别人的,总共鸭子有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就是模型的准确率和召回率的调和平均数