f1 分數真的取決于哪個類被給予正面標簽嗎?
當我使用 scikit learn 的 f1 指標時,它似乎:
>>> from sklearn import metrics as m
>>> m.f1_score([0,0,0,1,1,1],[0,0,0,1,1,0])
0.8
>>> m.f1_score([1,1,1,0,0,0],[1,1,1,0,0,1])
0.8571428571428571
第一種和第二種情況之間的唯一區別是 0 和 1 已交換。但我得到了不同的答案。
這似乎真的很糟糕。這意味著如果我報告貓/狗分類器的 f1 分數,則該值取決于貓或狗是否獲得正面標簽。
這是真的嗎,還是我搞砸了?
uj5u.com熱心網友回復:
對于多類分類,您應該使用
分別tp是真陽性率,fn是假陰性率。我將使用 a'來表示交換標簽的度量。
通過交換標簽,我們有tn'=tp, fn'=fp, fp'=fn, tp'=tn。
如果你愿意
F1'=F1。我們有tp/(tp (fn fp)/2)=tp'/(tp' (fn' fp')/2)=tn/(tn (fn fp)/2). 當且僅當 時,這是滿足的tp=tn。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/416635.html
標籤:
上一篇:編碼分類資料問題
