我正在尝试在多类分类中使用 F1 分数进行模型选择。
我正在按类计算它们,并平均超过它们: (F1(类 1(+F1(类 1(+F1(类 1((/3 = F1(总计(
但是,在某些情况下,我会获得 F1 分数的 NaN 值。下面是一个示例: 设 true_label
= [1 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 分数(。
任何帮助将不胜感激!
您需要避免将精度除以零,以便报告有意义的结果。您可能会发现此答案很有用,其中您明确报告了糟糕的结果。此外,此实现还提出了一种在报告中区分良好结果和不良结果的替代方法。