我试图在多类分类中使用F1分数进行模型选择。
我正在计算他们的分级和平均值: (F1(class1)+ F1(class1)+ F1(class1))/ 3 = F1(总计)
但是,在某些情况下,我会获得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(降低此模型的总分数)。
非常感谢任何帮助!
答案 0 :(得分:0)
为了报告有意义的结果,您需要避免将精度除以零。您可能会发现this answer有用,您明确报告结果不佳。此外,this implementation提出了另一种方法来区分您的报告在好的和坏的结果之间。