机器学习中的准确率与召回率的理解和总结

时间:2024-03-30 07:29:14

作为遇到偏斜类问题评估度量值,在很多应用中我们希望保证查准率和召回率的相对平衡。

 

1、两个最常见的衡量指标是“准确率(precision)”(你给出的结果有多少是正确的)和“召回率(recall)”(正确的结果有多少被你给出了)

机器学习中的准确率与召回率的理解和总结

这两个通常是此消彼长的(trade off),很难兼得。当我们二分类的临界值是设置的较高时,会得到一个高准确率和低召回率。当我们的二分类的临界值设置较低时,会得到一个低准确率和高召回率。这取决于对那个分类结果的不同情况的不同分析。

很多时候用参数来控制,通过修改参数则能得出一个准确率和召回率的曲线(ROC),这条曲线与x和y轴围成的面积就是AUC(ROC  Area)。AUC可以综合衡量一个预测模型的好坏,这一个指标综合了precision和recall两个指标。

 

2、混淆矩阵

True Positive(真正,TP):将正类预测为正类数

True Negative(真负,TN):将负类预测为负类数

False Positive(假正,FP):将负类预测为正类数误报 (Type I error)

False Negative(假负,FN):将正类预测为负类数→漏报 (Type II error)

机器学习中的准确率与召回率的理解和总结

机器学习中的准确率与召回率的理解和总结

3、

准确率(Accuracy)

准确率(accuracy)计算公式为:

机器学习中的准确率与召回率的理解和总结

准确率是我们最常见的评价指标,而且很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。 
准确率确实是一个很好很直观的评价指标,但是有时候准确率高并不能代表一个算法就好。比如某个地区某天地震的预测,假设我们有一堆的特征作为地震分类的属性,类别只有两个:0:不发生地震、1:发生地震。一个不加思考的分类器,对每一个测试用例都将类别划分为0,那那么它就可能达到99%的准确率,但真的地震来临时,这个分类器毫无察觉,这个分类带来的损失是巨大的。为什么99%的准确率的分类器却不是我们想要的,因为这里数据分布不均衡,类别1的数据太少,完全错分类别1依然可以达到很高的准确率却忽视了我们关注的东西。再举个例子说明下。在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用acc,即使全部预测成负类(不点击)acc也有 99% 以上,没有意义。因此,单纯靠准确率来评价一个算法模型是远远不够科学全面的。

4、召回率是覆盖面的度量,度量有多个正例被分为正例,recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率与灵敏度是一样的。衡量了分类器对正例的识别能力

5、下面哪一个算法是好的?

机器学习中的准确率与召回率的理解和总结

根据历史条件和习惯原因。选择下面的评分方式:

 

机器学习中的准确率与召回率的理解和总结

 

上面的三个算法的分数为:

机器学习中的准确率与召回率的理解和总结

选择分数最高的!