精确率(precision)与召回率(recall)
这两个”率”经常看到,但也很容易忘记怎么回事,所以我在这里通过博客的方式再记录一下,加深印象。
样本数据
用于机器学习的样本一般是这样的:
特征向量 -> 分类
即数据已经标注好了。
拆分数据
将样本数据分成2份,一份是用于训练模型的,一份是用来验证模型性能(效果)的。
模型
将训练数据喂给机器学习算法,得到一个模型。
模型可以预测任意特征向量的分类,比如预测用户是否点击某个广告,结果就是点/不点。
评估
有了模型,就可以把验证数据集过一遍模型预测,得到每条数据的预测结果。
接下来,一般会评估2个指标:
- 精确率(precision)
- 召回率(recall)
精确率,就是评估模型预测的准不准,是不是出现了很多的错误预测。因为验证集是我们从样本数据中拆出来的,都是标注过原本分类的,所以只需要和模型预测的分类做比较就可以评估出预测效果了。
这里分类有2种,点击和不点击,我们只需要去评估一下点击的预测准确率。
准确率 = 预测正确的点击 / 预测为点击
比如100条数据,模型预测60条的分类是点击,其中只有50条在原始标注中也是点击,那么准确率是:
准确率 = 50 / 60
也就是说,模型预测有60条是点击分类,其中50条预测正确。
召回率 = 预测正确的点击 / 样本为点击
召回率表达的是模型能否把尽可能多的点击样本给找出来。
如果希望尽可能多的提升召回,那么可能意味着模型偏向于预测点击分类,从而可能导致准确率下降。
参考资料
如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~
