5x5混淆矩阵的准确率、精确率、召回率及F1分数计算方法咨询
5x5混淆矩阵的准确率、精确率、召回率及F1分数计算方法
先明确5x5混淆矩阵的定义:矩阵的行代表真实类别,列代表预测类别,记矩阵元素为C[i][j],表示真实为第i类、被预测为第j类的样本数量(类别编号从0到4,或1到5,不影响计算逻辑)。
1. 准确率(Accuracy)
准确率是所有预测正确的样本占总样本的比例,计算最简单:
Accuracy = (C[0][0] + C[1][1] + C[2][2] + C[3][3] + C[4][4]) / 总样本数
- 分子:混淆矩阵主对角线上的元素之和(所有真实类别与预测类别一致的样本数)
- 分母:混淆矩阵所有元素的总和(全部样本数量)
2. 精确率(Precision)
多分类场景下的精确率需要分单类别精确率、宏精确率、微精确率三种:
单类别精确率
针对某一类别k,精确率是“被预测为k类的样本中,真实确实是k类的比例”:
Precision_k = C[k][k] / (C[0][k] + C[1][k] + C[2][k] + C[3][k] + C[4][k])
- 分子:类别k被正确预测的样本数(对应矩阵第k行第k列的元素)
- 分母:所有被预测为k类的样本数(对应矩阵第k列的元素之和)
宏精确率(Macro Precision)
所有单类别精确率的算术平均值:
Macro Precision = (Precision_0 + Precision_1 + Precision_2 + Precision_3 + Precision_4) / 5
微精确率(Micro Precision)
将所有类别视为一个整体,计算全局的精确率,公式等价于准确率:
Micro Precision = 所有对角线元素之和 / 总样本数 = Accuracy
3. 召回率(Recall)
与精确率对应,召回率同样分三类:
单类别召回率
针对某一类别k,召回率是“真实为k类的样本中,被正确预测为k类的比例”:
Recall_k = C[k][k] / (C[k][0] + C[k][1] + C[k][2] + C[k][3] + C[k][4])
- 分子:类别k被正确预测的样本数(同单类别精确率的分子)
- 分母:所有真实为k类的样本数(对应矩阵第k行的元素之和)
宏召回率(Macro Recall)
所有单类别召回率的算术平均值:
Macro Recall = (Recall_0 + Recall_1 + Recall_2 + Recall_3 + Recall_4) / 5
微召回率(Micro Recall)
全局视角下的召回率,同样等价于准确率:
Micro Recall = 所有对角线元素之和 / 总样本数 = Accuracy
4. F1分数(F1 Score)
F1是精确率与召回率的调和平均,用于平衡两者的表现,同样分三类:
单类别F1分数
针对类别k的F1分数:
F1_k = 2 * (Precision_k * Recall_k) / (Precision_k + Recall_k)
宏F1分数(Macro F1)
所有单类别F1分数的算术平均值,也可以通过宏精确率和宏召回率计算(结果一致):
Macro F1 = 2 * (Macro Precision * Macro Recall) / (Macro Precision + Macro Recall)
微F1分数(Micro F1)
全局视角下的F1分数,由于微精确率和微召回率都等于准确率,因此:
Micro F1 = 2 * (Accuracy * Accuracy) / (Accuracy + Accuracy) = Accuracy
示例计算
假设一个5x5混淆矩阵如下:
[[10, 1, 0, 0, 0], [2, 15, 1, 0, 0], [0, 3, 12, 2, 0], [0, 0, 1, 18, 1], [0, 0, 0, 2, 9]]
- 总样本数:10+1+0+0+0 + 2+15+1+0+0 + 0+3+12+2+0 + 0+0+1+18+1 + 0+0+0+2+9 = 77
- 准确率:(10+15+12+18+9)/77 = 64/77 ≈ 0.831
- 类别0的精确率:10/(10+2+0+0+0) = 10/12 ≈ 0.833;召回率:10/(10+1+0+0+0) = 10/11 ≈ 0.909;F1分数:2*(0.833*0.909)/(0.833+0.909) ≈ 0.869
- 宏精确率:(0.833 + 15/(1+15+3+0+0) + 12/(0+3+12+1+0) + 18/(0+0+1+18+2) +9/(0+0+0+1+9)) /5 ≈ (0.833+0.789+0.75+0.857+0.9)/5 ≈ 0.826
内容的提问来源于stack exchange,提问作者fera fani
相关产品推荐
相关产品推荐

