本文主要介绍几种常用的分类评估指标,同时介绍如何绘制ROC曲线以及AUC值的便捷的计算方法。最后再附上一个绘制ROC曲线和计算AUC的源码实现。
Precision和Recall
首先我们来看看下面这个混淆矩阵:
pred_label/true_label | Positive | Negative |
---|---|---|
Positive | TP | FP |
Negtive | FN | TN |
如上表所示,行表示预测的label值,列表示真实label值。TP,FP,FN,TN分别表示如下意思:
- TP(true positive):表示样本的真实类别为正,最后预测得到的结果也为正;
- FP(false positive):表示样本的真实类别为负,最后预测得到的结果却为正;
- FN(false negative):表示样本的真实类别为正,最后预测得到的结果却为负;
- TN(true negative):表示样本的真实类别为负,最后预测得到的结果也为负.
根据以上几个指标,可以分别计算出Accuracy、Precision、Recall(Sensitivity,SN),Specificity(SP)。
- Accuracy:表示预测结果的精确度,预测正确的样本数除以总样本数。
- precision,准确率,表示预测结果中,预测为正样本的样本中,正确预测为正样本的概率;
- recall,召回率,表示在原始样本的正样本中,最后被正确预测为正样本的概率;
- specificity,常常称作特异性,它研究的样本集是原始样本中的负样本,表示的是在这些负样本中最后被正确预测为负样本的概率。
在实际当中,我们往往希望得到的precision和recall都比较高,比如当FN和FP等于0的时候,他们的值都等于1。但是,它们往往在某种情况下是互斥的,比如这种情况,50个正样本,50个负样本,结果全部预测为正,那么它的precision为1而recall却为0.5.所以需要一种折衷的方式,因此就有了F1-score。
F1-score表示的是precision和recall的调和平均评估指标。
此外还有MCC:
END
原文链接:https://blog.csdn.net/dream_angel_z/article/details/50867951