1

我正在尝试在多类分类中使用 F1 分数进行模型选择。

我正在按类别计算它们并对其进行平均:(F1(class1)+F1(class1)+F1(class1))/3 = F1(total)

但是,在某些情况下,我会得到 F1 分数的 NaN 值。这是一个示例:设 true_label = [1 1 1 2 2 2 3 3 3] 和 pred_label = [2 2 2 2 2 2 3 3 3]。

那么混淆矩阵看起来像: C =[0 3 0; 0 3 0; 0 0 3]

这意味着当我计算第一类的精度(计算 F1 分数)时,我得到:0/(0+0+0),这是未定义的或 NaN。

首先,我在这里计算 F1 分数或精度是否有误?其次,在模型选择中我应该如何对待这些情况?忽略它们,或者我应该将此类的 F1 分数设置为 0(减少此模型的总 F1 分数)。

任何帮助将不胜感激!

4

1 回答 1

0

为了报告有意义的结果,您需要避免除以零的精度。您可能会发现此答案很有用,您在其中明确报告了糟糕的结果。此外,此实施建议了另一种方法来区分好结果和差结果的报告。

于 2017-10-02T11:10:46.760 回答