Неопределенные оценки 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 ответ

Вам нужно избегать деления на ноль для точности, чтобы сообщить о значимых результатах. Вы можете найти этот ответ полезным, в котором вы явно сообщаете о плохом результате. Кроме того, эта реализация предлагает альтернативный способ различения в ваших отчетах между хорошими и плохими результатами.

Другие вопросы по тегам