本篇博客可能會繼續更新
最近在文獻中經常看到precesion,recall,常常忘記了他們的定義,在加上今天又看到評價多標籤分類任務性能的度量方法micro F1score和macro F2score。決定再把F1 score一併加進來把定義寫清楚,忘記了再來看看。
F1score
F1score(以下簡稱F1)是用來評價二元分類器的度量,它的計算方法如下:
F1=precision1+recall12=2precison+recallprecision×recall
F1是用來衡量二維分類的,那形容多元分類器的性能用什麼呢?micro F1score,和macro F2score則是用來衡量多元分類器的性能。
macro F1score
假設對於一個多分類問題,有三個類,分別記爲1、2、3,
TPi是指分類i的True Positive;
FPi是指分類i的False Positive;
TNi是指分類i的True Negative;
FNi是指分類i的False Negative。
我們分別計算每個類的精度(precision)
precisioni=TPi+FPiTPi
macro 精度 就是所有分類的精度平均值
precisionma=3precision1+precision2+precision3
同樣,每個類的recall計算爲
recalli=TPi+FNiTPi
macro 召回就是所有分類的召回平均值
recallma=3recall1+recall2+recall3
套用F1score的計算方法,macro F1score就是
macroF1scorei=2precisionma+recallmaprecisionma×recallma
micro F1score
假設對於一個多分類問題,有三個類,分別記爲1、2、3,
TPi是指分類i的True Positive;
FPi是指分類i的False Positive;
TNi是指分類i的True Negative;
FNi是指分類i的False Negative。
接下來,我們來算micro precision
precisionmi=TP1+FP1+TP2+FP2+TP3+FP3TP1+TP2+TP3
相應的micro recall則是
recallmi=TP1+FN1+TP2+FN2+TP3+FN3TP1+TP2+TP3
則micro F1score爲
microF1score=2recallmi+precisionmirecallmi×precisionmi
總結
如果各個類的分佈不均衡的話,使用micro F1score比macro F1score 比較好,顯然macro F1score沒有考慮各個類的數量大小
參考
該網址一位答主的回答,我搬運過來