Существуют разные способы измерения среднего показателя. если вы проверите пакеты, например, sklearn , вы увидите, что вы можете задать несколько параметров. либо микро, макро, взвешенный и т. д. c.
если вы хотите рассчитать их вручную, один из способов (микро) - получить разные значения TP, FN, FP и TN от четырех разных выходов и суммировать их вместе, а затем рассчитать ваши метрики.
Итак, вы должны действительно понять свою проблему и понять, какая из них имеет смысл. В основном, в случае несбалансированных данных, лучше использовать средневзвешенное значение. Имейте в виду, что если у вас есть какой-либо базовый расчет, вы должны использовать точно такой же метод для расчета этих значений, чтобы дать справедливое сравнение, поскольку между различными способами усреднения могут быть огромные различия.
и да, эти два числа равны.
Обновление:
Как видно из документации:
Средневзвешенное значение: рассчитать показатели для каждого ярлыка и найти их среднее значение, взвешенное по поддержке (количество истинных экземпляров). для каждого ярлыка). Это изменяет макрос для учета дисбаланса метки; это может привести к F-баллу, который не находится между точностью и отзывом.
этот вопрос также связан.
В вашем случае для взвешенных метрик, Вы рассчитываете каждый показатель c для каждого из ваших 4 классов в отдельности. имея количество экземпляров в каждом из классов, вы вычисляете средневзвешенное значение метри c. На этих рисунках показано уравнение для взвешенной точности: