精度、召回率、准确率、F1 score的概念及ROC曲线
这几个概念是对应于分类问题的评价指标。
首先我们定义如下表格:
. | Actual Positive | Actual Negative |
---|---|---|
Predict Positive | True Positive (TP) | False Positive (FP) |
Predict Negative | False Negative (FN) | True Negative (TN) |
其中:
TP表示正确地把正样本预测为正;
FN表示错误地把正样本预测为负;
FP表示错误地把负样本预测为正;
TN表示正确地把负样本预测为负;
如下是几个术语的含义:
Name | 含义 |
---|---|
Accuracy | 准确率 |
Precision | 精度 |
Recall | 召回率 |
F1 score | F1值 |
1.Precise:表示正确预测正样本占实际预测为正样本的比例
2.Recall:表示正确预测正样本占正样本的比例
3.F1 score:是对精度和召回率的调和平均
4.Accuracy:表示预测符合标签的样本与总样本的比例
5.受试者特征曲线(ROC 曲线,Receiver Operating Characteristic curve)
此部分具体可参考此文章
ROC 曲线展示了当改变在模型中识别为正例的阈值时,召回率和精度的关系会如何变化。如果我们有一个用来识别疾病的模型,我们的模型可能会为每一种疾病输出介于 0 到 1 之间的一个分数,为了将某个病人标记为患有某种疾病(一个正例标签),我们为每种疾病在这个范围内设置一个阈值,通过改变这个阈值,我们可以尝试实现合适的精度和召回率之间的平衡。
ROC 曲线在 Y 轴上画出了真正例率(TPR),在 X 轴上画出了假正例率 (FPR)。TPR 是召回率,FPR 是反例被报告为正例的概率。这两者都可以通过混淆矩阵计算得到。
下图是一个典型的 ROC 曲线:
通常,当降低阈值时,会沿着曲线向右和向上移动。
我们可以通过计算曲线下面积 ( AUC ) 来量化模型的 ROC 曲线,这是一个介于 0 和 1 之间的度量,数值越大,表示分类性能越好。在上图中,蓝色曲线的 AUC 将大于红色曲线的 AUC,这意味着蓝色模型在实现准确度和召回率的权衡方面更好。随机分类器 (黑线) 实现 0.5 的 AUC。
总结:
对于二分类问题:
真正例(TP):实际上是正例的数据点被标记为正例
假正例(FP):实际上是反例的数据点被标记为正例
真反例(TN):实际上是反例的数据点被标记为反例
假反例(FN):实际上是正例的数据点被标记为反例
召回率和精度衡量指标:
召回率(R):分类模型识别所有相关实例的能力
精度(P):分类模型仅仅返回相关实例的能力
F1 score:使用调和平均结合召回率和精度的指标
召回率和精度的可视化:
混淆矩阵:展示分类模型的真实和预测标签的对应结果。
受试者特征曲线(ROC 曲线):画出真正例率(TPR)和假正例率(FPR),并将此作为模型归类正例阈值的函数。
曲线下面积(AUC):基于 ROC 曲线下方的面积,计算分类模型总体性能的指标。
参考文章:
https://www.jianshu.com/p/1afbda3a04ab
https://blog.csdn.net/wujunlei1595848/article/details/90739786