--- tags: Evaluation Metric, multilabel --- # Multilabel evaluation 評估預測多標籤模型的效能。 :::info 1. 如果每個類別的樣本數量差不多,那麼macro和micro沒有太大差異。 2. 如果每個類別的樣本數量差異很大,而且你想: * 更注重樣本量多的類別:使用micro * 更注重樣本量少的類別:使用macro 3. 如果micro大大低於macro,檢查樣本量多的類別 4. 如果macro大大低於micro,檢查樣本量少的類別 ::: 假設對於一個多標籤問題,共有三個類別,分別為1, 2, 3。 $TP_i$ 是指分類i的True Positive $FP_i$ 是指分類i的False Positive $TN_i$ 是指分類i的True Negative $FN_i$ 是指分類i的False Negative ## micro :::info 若模型對某類別辨識率特別高,則評估結果容易被拉高。 若各類的分佈不平均的話,建議使用micro-F1,因為macro沒有考慮各類別的樣本數量。 ::: ### Precision $precision_{mi} = \dfrac{\sum_{i=1}^{N}TP_i}{\sum_{i=1}^{N}(TP_i+FP_i)}$ 例如: $\dfrac{TP_1+TP_2+TP_3}{TP_1+FP_1+TP_2+FP_2+TP_3+FP_3}$ ### Recall $recall_{mi} = \dfrac{\sum_{i=1}^{N}TP_i}{\sum_{i=1}^{N}(TP_i+FN_i)}$ 例如: $\dfrac{TP_1+TP_2+TP_3}{TP_1+FN_1+TP_2+FN_2+TP_3+FN_3}$ ### F1 $F_{1, mi} = 2\dfrac{recall_{mi} * precision_{mi}}{recall_{mi}+precision_{mi}}$ ## macro :::info 適合用於各類別皆有資料的情況。 ::: ### Precision 1. 分別計算各類別的precision $precision_i = \dfrac{TP_i}{TP_i + FP_i}$ 3. macro-precision就是各類別precision的平均值 $precision_{ma} = \dfrac{\sum_{i=1}^{N}precision_i}{N}$ 例如: $\dfrac{precision_1+precision_2+precision_3}{3}$ ### Recall 1. 分別計算各類別的recall $recall_i = \dfrac{TP_i}{TP_i + FN_i}$ 3. macro-recall就是各類別recall的平均值 $recall_{ma} = \dfrac{\sum_{i=1}^{N}recall_i}{N}$ 例如:$\dfrac{recall_1+recall_2+recall_3}{3}$ ### F1 $F_{1, ma} = 2\dfrac{recall_{ma} * precision_{ma}}{recall_{ma}+precision_{ma}}$ ## 參考資料 [公式](http://sofasofa.io/forum_main_post.php?postid=1001112) [比較](https://www.itread01.com/content/1541627826.html) [Details](https://towardsdatascience.com/multi-class-metrics-made-simple-part-ii-the-f1-score-ebe8b2c2ca1)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up