在完成机器学习中的二分类问题的建模阶段后,须要对模型的效果作评价,现在业内一般采用的评价指标有精确率(Precision)、准确率(Accuracy)、召回率(Recall)、F值(F-Measure)等多个方面,为了准确理解以免混淆,本文将对这些指标作简要介绍。机器学习
其实,上面说起的诸多评测指标都是在混淆矩阵上衍生出来的,所以先简要介绍混淆矩阵。学习
针对二分类问题,一般将咱们所关心的类别定为正类,另外一类称为负类;例如使用某种分类器预测某种疾病,咱们关心的是“患病”这种状况,以便及早接受治疗,因此将“患病”设为正类,“不患病”设为负类。3d
混淆矩阵由以下数据构成:
True Positive (真正,TP):将正类预测为正类的数目
True Negative (真负,TN):将负类预测为负类的数目
False Positive(假正,FP):将负类预测为正类的数目(误报)
False Negative(假负,FN):将正类预测为负类的数目(漏报)blog
接下来介绍的几种评价指标都是由上述四个数据相互运算产生。ci
计算公式为:acc = (TP+TN)/(TP+TN+FP+FN)it
准确率是最多见的评价指标,很容易理解,就是预测正确的样本数占全部的样本数的比例;一般来讲,准确率越高分类器越好。然而,在正负样本极不平衡的状况下,准确率这个评价指标有很大的缺陷。io
计算公式为:err = 1-acc扩展
错误率则与准确率相反,衡量分类器错误分类的比例状况。方法
计算公式为: sensitive = TP/(TP+FN)im
灵敏度表示的是样本中全部正例中被识别的比例,衡量了分类器对正例的识别能力。
计算公式为:specificity = TN/(TN+FP)
特效度表示的是样本中全部负例中被识别的比例,衡量了分类器对负例的识别能力。
计算公式为:P = TP/(TP+FP)
精确率与准确率要有所区别,精确率表示的是被分类器分为正例的样本中,确实为正例的样本占的比例。
计算公式为:R = TP/(TP+FN) = sensitive
从公式上能够看出,召回率与灵敏度是相同的,衡量的是分类器对正例的识别能力。这个指标结合疾病识别的例子就很好理解了,若将“患病”定为正类,则召回率描述的是全部真正的患者中,被分类器识别出来从而召唤到医院的患者占的比例。
P和R指标有时候会出现的矛盾的状况,这样就须要综合考虑,常见的方法就是F-Measure(又称F-Score)。
F-Measure是Precision和Recall加权调和平均:
当参数α=1时,就是常见的F1值:
F1综合了P和R的结果,当F1较高时则说明分类器确实比较有效。
小结:本文介绍的几种指标都是最为经常使用的衡量标准,针对分类问题还有其它评测指标,如计算速度、鲁棒性、可扩展性、可解释性、ROC曲线和PR曲线等;至于多分类问题,能够仿照二分类的状况类比获得与上述指标类似的指标计算公式。