分类问题中评价指标

基本概念

  TP、True Positive   真阳性:预测为正,实际为正

  FP、False Positive  假阳性:预测为正,实际为负

  FN、False Negative 假阴性:预测与负、实际为正

  TN、True Negative 真阴性:预测为负、实际为负。

以分类问题为例:

  $\text { 实际情况: }\left\{\begin{array}{c}\text { 数字: } 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\ \text { 类别: } A & A & A & A & B & B & B & C & C\end{array}\right.$

  $\text { 预测情况: }\left\{\begin{array}{lllllllll}\text { 数字: } 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\\text { 类别: } A & A & B & C & B & B & C & B & C\end{array}\right.$

真阳性:“预测为正,实际也是正”。指预测正确,是哪个类就被分到哪个类

  预测值:

    A:1 2    B:3 5 6 8     C:4 7 9

  实际值:

    A:1 2 3 4    B:5 6 7     C:8 9 

假阳性:“预测为正,实际为负”。预测为某个类,但实际不是。

  预测值:

    A:1 2    B:3 5 6 8     C:4 7 9

  实际值:

    A:1 2 3 4    B:5 6 7     C:8 9 

假阴性:“预测为负,实际为正”。找实际值对象有几个预测错误。

  实际值:

    A:1 2 3 4    B:5 6 7     C:8 9 

  预测值:

    A:1 2 3(B) 4(C)    B:5 6 7(C)     C:8(B) 9

具体情况看如下表格:

    $\begin{array}{|l|l|l|l|l|}\hline & \text { A } & \text { B } & \text { C } & \text { 总计 } \\\hline \text { TP } & 2 & 2 & 1 & 5 \\\hline \text { FP } & 0 & 2 & 2 & 4 \\\hline \text { FN } & 2 & 1 & 1 & 4 \\\hline\end{array}$

精确率和召回率

    $\text { 精确率 } \mathrm{P}=\frac{\text { TP真阳性 }}{T P \text { 真阳性 }+F P \text { 假阳性 }}$

  计算我们预测出来的某类样本中,有多少是被正确预测的。针对预测样本而言。

    $\text { 召回率 } \mathrm{R}=\frac{T P \text { 真阳性 }}{T P \text { 真阳性 }+F N \text { 假阴性 }}$

  针对原先实际样本而言,有多少样本被正确的预测出来了。

对于类别A:

    $precision = 2/(2+0) = 100%$

    $recall = 2/(2+2) = 50%$

对于类别B:

    $precision = 2/(2+2) = 50%$

    $recall = 2/(2+1) = 67%$

对于类别C:

    $precision= 1/(1+2) = 33%$

    $recall = 1/(1+1) = 50%$

F1-Score

  F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标,用于测量不均衡数据的精度。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0。

    $F_{1}=2 \cdot \frac{\text { precision } \cdot \text { recall }}{\text { precison }+\text { recall }}$

Micro-averaged F1-Score

  Micro F1 不需要区分类别,直接使用总体样本的准召计算 F1 score。

    $precision = 5/(5+4) = 0.5556$

    $recall = 5/(5+4) = 0.5556$

    $F1 = 2 * (0.5556 * 0.5556)/(0.5556 + 0.5556) = 0.5556$

Macro-averaged F1

  先计算出每一个类别的准召及其 F1 score,然后通过求均值得到在整个样本上的 F1 score。

类别A的​:

    $F 1_{A}=2 \times \frac{1 \times 0.5}{1+0.5}=0.6667$

类别B的​:

    $F 1_{B}=2 \times \frac{0.5 \times 0.67}{0.5+0.67}=0.57265$

类别C的​:

    $F 1_{C}=2 \times \frac{0.33 \times 0.5}{0.33+0.5}=0.39759$

整体的f1为上面三者的平均值:

    $F1 = (0.6667 + 0.57265 + 0.39759)/3 = 0.546$

参考:

https://zhuanlan.zhihu.com/p/64315175

https://www.kaggle.com/enforcer007/what-is-micro-averaged-f1-score/notebook

https://blog.csdn.net/lyb3b3b/article/details/84819931

posted @ 2021-10-30 20:49  图神经网络  阅读(154)  评论(0编辑  收藏  举报
Live2D