Неопределенные оценки F1 в мультиклассовых классификациях, когда модель не предсказывает один класс
Я пытаюсь использовать оценки F1 для выбора модели в мультиклассовой классификации.
Я рассчитываю их по классам и усредняю по ним: (F1(класс1)+F1(класс1)+F1(класс1))/3 = F1(всего)
Однако в некоторых случаях я получаю значения NaN для оценки F1. Вот пример: Пусть 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 для этой модели).
Любая помощь будет принята с благодарностью!
1 ответ
Вам нужно избегать деления на ноль для точности, чтобы сообщить о значимых результатах. Вы можете найти этот ответ полезным, в котором вы явно сообщаете о плохом результате. Кроме того, эта реализация предлагает альтернативный способ различения в ваших отчетах между хорошими и плохими результатами.