Chuyển đến nội dung chính

第 8 課:重要指標:準確率、精確率、召回率、F1、AUC

根據業務問題選擇合適的指標;何時使用 PR-AUC 而不是 ROC-AUC;避免針對錯誤的目標進行最佳化。

🧠 人工智慧與機器學習 — 第 7 課 第 8 課:重要指標:準確性、 準確率、召回率、F1、AUC

機器學習:從基礎到高級

第 1 部分:監督學習基礎

亞洲開發網

簡介

模型好不好很大程度取決於您選擇的指標。同一個模型在準確率方面可能看起來非常好,但在召回率方面卻很糟糕。本文幫助您根據正確的問題而不是出於習慣來選擇指標。

課程目標

  • 區分迴歸和分類的指標。
  • 了解準確度、精確度、召回率、F1、ROC-AUC 以及何時使用它們。
  • 了解為什麼指標必須遵循產品目標。

回歸指標

  • MAE:易於理解,測量平均絕對誤差。
  • RMSE:嚴重錯誤的懲罰大於 MAE。
  • R 平方:衡量所解釋的變異量,但不將其神聖化。

分類指標

  • 準確度:整體正確預測率。
  • 精確度:預測為陽性的樣本中,有多少實際為陽性。
  • 回想率:在真陽性樣本中,模型能捕捉多少個?
  • F1-score:精確率和召回率之間的平衡。
  • ROC-AUC:衡量對兩個類別之間的機率進行排名的能力。

根據上下文選擇指標的範例

  • 偵測詐欺:優先考慮高召回率,這樣您就不會錯過它。
  • 垃圾郵件:需要足夠準確,以避免錯誤地阻止常規電子郵件。
  • 客戶流失:通常關心召回和保留行動的商業價值。

範例程式碼

從 sklearn.metrics 導入 precision_score、 precision_score、recall_score、f1_score、roc_auc_score

print('準確度:', precision_score(y_test, preds))
print('精確度:', precision_score(y_test, preds))
print('召回率:',recall_score(y_test, preds))
print('F1:', f1_score(y_test, preds))
print('ROC-AUC:', roc_auc_score(y_test, proba))

常見錯誤

  • 對嚴重不平衡的資料使用準確性。
  • 在測試之間使用不同指標來比較模型。
  • 優化技術指標,但忘記業務成本。

練習練習

  • 考慮一個不平衡的分類問題。
  • 計算混淆矩陣和 5 個主要指標。
  • 寫一小段:如果您是 PM,您會選擇哪個指標作為主要 KPI?

完成標準

  • 為至少 3 個不同的問題選擇適當的指標。
  • 用現實生活中的例子解釋精確度和回想率。
  • 可以無混淆地讀取混淆矩陣。

逐步練習(進階)

  1. 選擇類別不平衡的流失或詐欺問題。
  2. 測量 5 個指標:準確度、精確度、召回率、F1、ROC-AUC。 3.新增PR-AUC用於類別差異資料的比較。
  3. 模擬FP/FN成本並計算預期成本。
  4. 用於每週報告的關鍵指標。

應提交工件

  • 指標表+PR曲線和ROC曲線圖。
  • 簡單的成本矩陣模型。
  • 總結監測的主要指標和次要指標。

自測題

  • 為什麼類外資料的準確性會產生誤導?
  • PR-AUC 與 ROC-AUC 在意義上有何不同?
  • 什麼時候需要同時監控多個指標?