目标检测问题混淆矩阵与准确率、召回率等
微信公众号:幼儿园的学霸
二分类混淆矩阵
在机器学习和数据科学中,尤其是分类任务中,理解混淆矩阵及其相关指标是非常重要的。这些指标有助于评估模型的性能。下面详细介绍这些概念:
混淆矩阵(Confusion Matrix)
混淆矩阵是一个表格,用来描述分类模型在测试数据集上的表现。它包含以下四个核心元素:
TP(True Positive,真阳性)
:实际为正类的样本被正确地分类为正类的数量。TN(True Negative,真阴性)
:实际为负类的样本被正确地分类为负类的数量。FP(False Positive,假阳性)
:实际为负类的样本被错误地分类为正类的数量(也称为Type I错误)。FN(False Negative,假阴性)
:实际为正类的样本被错误地分类为负类的数量(也称为Type II错误)。
评价指标
基于混淆矩阵,可以计算出多种评价指标来衡量模型的性能。
- 精确率(Precision)
精确率表示在所有被预测为正类的样本中,实际为正类的比例。
Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP
精确率主要关注的是预测结果中的正类样本的质量,即在预测为正类的样本中有多少是准确的。
精确率也有称呼为查准率
- 召回率(Recall)
召回率表示在所有实际为正类的样本中,被正确预测为正类的比例。
Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP
召回率主要关注的是实际正类样本的覆盖情况,即有多少正类样本被正确识别,因此也叫查全率。
- 准确率(Accuracy)
准确率表示所有样本中被正确分类的比例。
Accuracy = T P + T N T P + T N + F P + F N \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} \ Accuracy=TP+TN+FP+FNTP+TN
准确率衡量的是模型整体的正确性,但在类别不平衡时,准确率可能会比较误导。
综合指标
为了在精确率和召回率之间取得平衡,通常会引入F1-score
等综合指标。
F1-score
是精确率和召回率的调和平均数,例如,模型A的recall高,precision低,模型B相反,那怎么综合比较模型A和B的性能呢,用这个可以作为综合评价指标。
F1-score = 2 × Precision × Recall Precision + Recall \text{F1-score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1-score=2×Precision+RecallPrecision×Recall
F1-score
在精确率和召回率之间取得了平衡,对于处理类别不平衡的数据集非常有用。
例子
假设有一个二分类模型,其混淆矩阵如下:
预测为正类 | 预测为负类 | |
---|---|---|
实际为正类 | TP = 50 |
FN = 10 |
实际为负类 | FP = 5 |
TN = 100 |
根据上面的数据,可以计算出:
-
精确率:
Precision = 50 50 + 5 = 0.91 \text{Precision} = \frac{50}{50 + 5} = 0.91 Precision=50+550=0.91 -
召回率:
Recall = 50 50 + 10 = 0.83 \text{Recall} = \frac{50}{50 + 10} = 0.83 Recall=50+1050=0.83 -
准确率:
Accuracy = 50 + 100 50 + 100 + 5 + 10 = 0.93 \text{Accuracy} = \frac{50 + 100}{50 + 100 + 5 + 10} = 0.93 Accuracy=50+100+5+1050+100=0.93 -
F1-score
:
F1-score = 2 × 0.91 × 0.83 0.91 + 0.83 = 0.87 \text{F1-score} = 2 \times \frac{0.91 \times 0.83}{0.91 + 0.83} = 0.87 F1-score=2