免費全文 資料處理與評測 進階

指標選擇:準確率什麼時候會誤導你

類別不平衡時,準確率 95% 可能代表模型什麼都沒學到。

資料處理與評測教程封面

一個把所有樣本都判為「正常」的模型,在異常率 5% 的資料上準確率是 95%。這個數字毫無意義,卻常常出現在報告裡。

什麼時候該換指標

  • 類別不平衡(少數類別低於 20%)→ 看精確率、召回率、F1。
  • 偽陽性與偽陰性代價差很多 → 分別看,不要合併成單一分數。
  • 有排序需求(檢索、推薦)→ 看 Recall@k、MRR、NDCG。
  • 多類別 → 看 macro 平均,不要只看 micro,後者會被大類別主導。

用混淆矩陣做決策

from sklearn.metrics import classification_report, confusion_matrix

print(confusion_matrix(y_true, y_pred))
print(classification_report(y_true, y_pred, digits=3))
# macro avg 才反映罕見類別的表現

門檻與指標是綁在一起的

分類門檻從 0.5 調到 0.3,召回率上升、精確率下降。報告分數時必須同時說明門檻,否則數字無法比較。實務上應該先確定業務可接受的偽陽性率,再反推門檻。

別忘了棄答

允許模型回「不知道」時,傳統指標會失真。要分開統計三件事:作答且正確、作答但錯誤、棄答。只要棄答的代價低於答錯,這個設計就是划算的。

報告一定要附上各類別的支持數(樣本量)。某個類別 F1 高達 0.95 但只有 4 個樣本時,那個數字沒有意義。
下一步

這個主題還有更深入的實戰教程

VIP 專區收錄 50 篇進階內容:架構設計、生產環境取捨、成本與合規。 每週五新增 3 篇。

看訂閱方案 → 先逛逛 VIP 專區