我一直在研究多类分类指标。在这个过程中我发现,在参数average='micro'的情况下,准确率、精确率、召回率、f-1分数都是一样的。通过各种调查和示例,我能够确认精确率、召回率和 f-1 分数的值是相同的。但是,我不明白为什么准确度也一样。
在多类分类中,听说通常不考虑TN,只考虑每类的TP。所以,我认为公式是这样的。 (公式可能不正确)。我已经知道精度/召回率的分母是相同的。但单纯用公式来核对的话,准确度的分母不可能相同。
很抱歉我无法直接显示图像:(
我从链接
带来了一个例子ttl_TP = 15 + 15 + 45 = 75
ttl_FP = 9 + 5 + 11 = 25
ttl_FN = 5 + 15 + 5 = 25.
ttl_samples = 100
micro-averaging precision = 75 / 75 + 25 = 75 / 100.
micro-averaging recall = 75 / 75 + 25 = 75 / 100.
micro-averaging accuracy = 75 / 75 + 25 +25 = 75 / 125. (not the same as above)
有些文章说
\sum_{i=1}^{n} (TP_i + FP_i + FN_i) = \text{ttl_samples}
等于ttl_samples。这个计算是有意义的,因为它会使微平均精度 = 75 / 100。
我不明白
\sum_{i=1}^{n} (TP_i + FP_i + FN_i)
如何等于ttl_samples。另外,我很好奇我提出的公式是否正确。
如果有任何帮助,我将非常感激。
如果考虑多类分类,那么你的微平均精度和召回率公式是不正确的,特别是它们的分母。另外,如果 ttl_samples 表示样本总数,那么它也是不正确的 - 在本例中它等于 125(假设 TN = 0)。
在多类情况下,“正”和“负”被视为两个类,微平均精度(和召回率)计算为(TP+TN)/(TP+TN+FP+FN),即表示所有分类样本中有多少个样本被分类到正确的类别,等于准确率。在这种情况下,TP 和 TN 应被解释为分别正确分类为第一类和第二类的样本数。在你的情况下 TN 显然等于 0.
当我们有效地仅考虑正类时,您的“微平均精度”公式对于二元分类情况是有效的。