机器学习算法中的准确率(Precision)、召回率(Recall)、F值(F-Measure)

摘要:
  数据挖掘、机器学习和推荐系统中的评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)简介。
引言:
  在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。

业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等,下图是不同机器学习算法的评价指标。下文讲对其中某些指标做简要介绍。
在这里插入图片描述
在介绍指标前必须先了解“混淆矩阵”:
混淆矩阵:
在这里插入图片描述
针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况.

  • 若一个实例是正类并且被预测为正类,即为真正类(True Postive TP)
  • 若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN)
  • 若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP)
  • 若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN)
1. 准确率(Accuracy)

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

2. 错误率(Error rate)

错误率则与准确率相反,描述被分类器错分的比例, e r r o r   r a t e = ( F P + F N ) / ( T P + T N + F P + F N ) error\ rate = (FP+FN)/(TP+TN+FP+FN) error rate=(FP+FN)/(TP+TN+FP+FN),对某一个实例来说,分对与分错是互斥事件,所以 a c c u r a c y = 1 − e r r o r   r a t e accuracy =1 - error\ rate accuracy=1error rate

3. 灵敏度(sensitive)

s e n s i t i v e = T P / P sensitive = TP/P sensitive=TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。
其中 P = T P + F N P = TP + FN P=TP+FN

4. 特效度(sensitive)

s p e c i f i c i t y = T N / N specificity = TN/N specificity=TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。

5、精确率、精度(Precision)

p = T P T P + F P p = {TP \over TP + FP} p=TP+FPTP
表示被分为正例的示例中实际为正例的比例。

6、召回率(recall)

r = T P T P + F N = T P / P = s e n s i t i v e r={TP \over TP+FN}=TP/P=sensitive r=TP+FNTP=TP/P=sensitive
召回率是覆盖面的度量,度量在所有正例中多个正例被分为正例,可以看到召回率与灵敏度是一样的。

7、综合评价指标(F-Measure)

p 和 r p和r pr指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均:
在这里插入图片描述
当参数α=1时,就是最常见的F1,也即
在这里插入图片描述
可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

8、其他评价指标
8.1 ROC曲线:
  • 真正类率(True Postive Rate)TPR: T P / ( T P + F N ) TP/(TP+FN) TP/(TP+FN),代表分类器预测的正类中实际正实例占所有正实例的比例。Sensitivity
  • 假正类率(False Postive Rate)FPR: F P / ( F P + T N ) FP/(FP+TN) FP/(FP+TN),代表分类器预测的正类中实际负实例占所有负实例的比例。1- Specificity
  • 真负类率(True Negative Rate)TNR: T N / ( F P + T N ) TN/(FP+TN) TN/(FP+TN),代表分类器预测的负类中实际负实例占所有负实例的比例, T N R = 1 − F P R TNR=1-FPR TNR=1FPR。Specificity

ROC(Receiver Operating Characteristic) 曲线是以假正率(FP_rate)和真正率(TP_rate)为轴的曲线,ROC曲线下面的面积我们叫做AUC,如下图所示:
在这里插入图片描述
横轴FPR: 1 − T N R , 1 − S p e c i f i c i t y 1-TNR,1-Specificity 1TNR,1Specificity,FPR越大,预测正类中实际负类越多。
纵轴TPR: S e n s i t i v i t y ( 正 类 覆 盖 率 ) Sensitivity(正类覆盖率) Sensitivity(),TPR越大,预测正类中实际正类越多。
理想目标: T P R = 1 , F P R = 0 TPR=1,FPR=0 TPR=1FPR=0,即图中 ( 0 , 1 ) (0,1) (0,1)点,故 R O C ROC ROC曲线越靠拢 ( 0 , 1 ) (0,1) (0,1)点,越偏离45度对角线越好,Sensitivity、Specificity越大效果越好。

8.2 P-R曲线

即,PR(Precision-Recall)曲线。 在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用。
转载自:https://www.cnblogs.com/Zhi-Z/p/8728168.html
https://www.cnblogs.com/dlml/p/4403482.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值