Multi class classifier 评估

Multi class classifier evaluation

我正在阅读 classifier,尤其是 multi-class classifier。我的问题是,当我使用精度和召回率评估 classifier 时,我不理解 False PositiveFalse Negative[=17] 的含义=] 在 Multi-class classifier 评估中。

例如,当我 class 化一个文档(其实际类别是 C-1)时,class生成器 class 将其化为 C-2。那么,我应该在 C-2 处增加假阳性并在 C-1 处增加假阴性吗? (因为真正的答案是 C-1。)

由于你给出的例子是两个 class 问题,我在你的例子的上下文中解释假阳性和假阴性。

在 2-class 的情况下,混淆矩阵通常如下所示:

       | Declare C-1 | Declare C-2 |
|Is C-1|    TP       |   FN        |
|Is C-2|    FP       |   TN        |

我使用的符号含义如下:

  • TP = 真阳性(class化为 C-1,实际上是 C-1)
  • FN = 假阴性(class化为 C-2 但实际上是 C-1)
  • FP = 误报
  • TN = 真阴性

根据原始数据,table 中的值通常是测试数据中每次出现的计数。由此,我们可以相应地计算精度、召回率和其他值。

比如你有一个table如下。

       | Declare C-1 | Declare C-2 |
|Is C-1|    12       |    6        |
|Is C-2|     8       |   11        |

以上table代表以下信息:

  • 12 份文件被class化为 C-1,它们实际上属于 C-1。
  • 6 份文件被class化为 C-2,但它们实际上属于 C-1。
  • 8 份文件被class化为 C-1,但它们实际上属于 C-2。
  • 11 份文件被class化为 C-2,它们实际上属于 C-2。

对于类别 C-1:

Precision = 12 / (12 + 8)
Recall = 12 / (12 + 6)

对于类别 C-2:

Precision = 11 / (11 + 6)
Recall = 11 / (11 + 8)

For example, when I classify a document (its real category is C-1), classifier classify it as a C-2. Then, should I increase false positive at C-2 and increase false negative at C-1? (since real answer is C-1.)

您应该增加与 Declare C-2Is C-1 相关联的混淆矩阵的单元格值的计数,在下面用 *.[=19 表示=]

       | Declare C-1 | Declare C-2 |
|Is C-1|     0       |    0*       |
|Is C-2|     0       |    0        |

一言以蔽之 - 是的,这一错误分类的影响会增加 C-2 的假阳性,而增加 C-1 的假阴性将会下降。因此,C-2 的准确率会下降,C-1 的召回率也会下降。

stats.stackexchange.com 上有一个类似的问题,也有详细的答案:

https://stats.stackexchange.com/questions/51296/how-do-you-calculate-precision-and-recall-for-multiclass-classification-using-co