更新於 2024/10/12閱讀時間約 8 分鐘

【資料分析】最清楚分別準確率、精確率、召回率、F1-Score 的差異與使用情境

raw-image

準確率、精確率、召回率、F1-Score 是在評估分類模型表現時常用的四個重要指標。當我們建立分類模型來進行預測時,如何衡量模型的好壞至關重要。這些指標各自側重於不同的評估角度,因此選擇合適的指標能幫助我們更全面地了解模型的效果。本文將帶你一步步了解這些指標的定義、如何計算它們,以及在什麼情境下應該使用它們,從而幫助你在未來的數據分析和機器學習項目中做出更明智的決策。


# 可使用目錄功能快速確認要閱覽的主題


何謂「正類」與「負類 」

在了解今天要說明的評估指標之前,要先了解何謂 正類(Positive Class) 與負類 (Negative Class)。

「正類」(Positive Class)是指在分類任務中,模型所關注的「感興趣的類別」。通常,正類是我們希望檢測或預測的目標。例如:

  • 在醫學診斷中,正類通常指的是「有疾病」的病人,而「負類」(Negative Class)指的是「沒有疾病」的病人。
  • 在信用卡流失預測中,正類可以是「流失的客戶」,負類是「未流失的客戶」。




評估指標重點總結



Accuracy(準確度)

定義

準確度是所有正確預測的樣本數佔總樣本數的比例,衡量模型在所有樣本中的預測表現。


公式



  • TP(True Positive):真陽性,實際為正,預測也為正。
  • TN(True Negative):真陰性,實際為負,預測也為負。
  • FP(False Positive):假陽性,實際為負,預測為正。
  • FN(False Negative):假陰性,實際為正,預測為負。


舉例

如果在一個包含 100 個樣本的數據集中,模型正確預測了 85 個樣本,那麼模型的準確度就是 85%。


重點

準確度是一個簡單的指標,反映模型整體預測的表現,但當類別不平衡時,可能會給出誤導性的結果。例如,當正類樣本很少時,即使模型只預測負類,準確度仍然可能很高。


實際應用案例

  • 情境:

 電子郵件分類系統(將郵件分類為垃圾郵件或正常郵件)

  • 需求:

 當大部分郵件是正常郵件,垃圾郵件只佔一小部分時,你的目標是要正確分類出所有的郵件。

  • 使用準確度的原因:

 大多數郵件是正常的,所以模型只要能在大部分情況下正確分類就可以達到很高的準確度。因此,在這種情況下,準確度是一個合理的評估指標,因為系統需要正確分類所有郵件。

  • 何時使用準確度:
  1. 當類別分佈比較均衡時。
  2. 當錯誤分類不會帶來太大成本(如分類錯誤的後果可接受)。



精確率 (Precision)

定義

精確率是指在所有被模型預測為「正類」(例如預測為「流失」的客戶)中,有多少實際上是正確的。也就是說,精確率衡量的是模型在 「預測為正類的結果中有多少是真正的正類」


公式



  • TP(True Positive,真正類): 被正確預測為正類的樣本數(實際為正,預測也為正)。
  • FP(False Positive,假正類): 被錯誤預測為正類的樣本數(實際為負,預測為正)。


舉例

如果模型預測了 100 個「流失」的客戶,其中 70 個實際上是真的流失,30 個沒有流失(模型預測錯了),那麼精確率是:



這意味著模型預測的「流失」客戶中,有 70% 是正確的。


重點

精確率告訴我們「模型預測正類的結果有多準確」,重點是「錯誤預測為正類的次數」,即 FP 的數量。如果你不希望誤將「非流失」的客戶錯誤預測為「流失」,那麼你會希望精確率較高。


實際應用案例

  • 情境:

 醫療診斷中的癌症檢測(分類病人是否患有癌症)

  • 需求:

 當檢測結果顯示一個病人患有癌症時,這個結果應該高度可信。如果檢測說病人患有癌症,但實際上他是健康的,這將導致不必要的壓力和昂貴的進一步檢查。

  • 使用精確率的原因:

 你更關注於確保所有被檢測為陽性的病人實際上確實患有癌症,因此,你希望最大化精確率。這樣可以減少「假陽性」(即無病被檢測為患病)的情況。

  • 何時使用精確率:
  1. 當假陽性成本很高(如誤判一個健康人患病)。
  2. 當你想避免誤報(false positives)



召回率 (Recall)

定義

召回率是指在所有實際的正類樣本中,有多少被模型正確預測出來。換句話說,召回率衡量的是模型在 「實際正類的樣本中有多少被正確預測」


公式



  • TP(True Positive,真正類): 被正確預測為正類的樣本數(實際為正,預測也為正)。
  • FN(False Negative,假負類): 被錯誤預測為負類的樣本數(實際為正,預測為負)。


舉例

假設實際上有 100 個流失的客戶,其中模型正確地預測了 70 個流失客戶,但有 30 個流失客戶沒有被預測出來,那麼召回率是:



這意味著模型能夠召回 70% 的實際流失客戶。


重點

召回率告訴我們「模型對正類的樣本捕捉得有多好」,重點是「實際正類樣本未被預測為正類的次數」,即 FN 的數量。如果你希望能夠盡可能地識別所有流失客戶,那麼你會希望召回率較高。


實際應用案例

  • 情境:

 偵測詐欺交易(銀行系統要偵測哪些交易是詐欺)

  • 需求:

 銀行不想漏掉任何可疑的詐欺交易,即使這意味著有時候正常的交易可能會被標記為可疑。

  • 使用召回率的原因:

 這種情況下,偵測到的每一個詐欺交易都很重要,漏掉任何一個詐欺交易都可能導致重大損失。因此,召回率應該被優先考慮,即使這意味著會有更多「假陽性」(即正常交易被誤標為詐欺)。

  • 何時使用召回率:
  1. 當漏掉正類樣本的代價很高(如漏掉詐欺交易、患者診斷等)。
  2. 當需要最大化檢測能力



F1-score

定義

F1-score 是精確率 (Precision) 和召回率 (Recall) 的調和平均數,用來平衡兩者的關係,尤其在精確率和召回率之間有取捨時使用。


公式




舉例

假設模型的精確率是 80%,召回率是 60%,那麼 F1-score 就是這兩者的調和平均數,代表模型在整體預測上平衡兩者的表現。


重點

F1-score 在類別不平衡的情況下尤為有用,當你需要在精確率和召回率之間取得平衡時,它是一個很好的綜合指標。F1-score 越高,表示模型在識別正類樣本的準確性和完整性上表現越好。


實際應用案例

  • 情境:

 資訊檢索系統(如搜索引擎要找到最相關的搜索結果)

  • 需求:

 搜索引擎應該找到盡可能多的相關搜索結果(召回率高),同時,返回的結果應該是高度相關的(精確率高)。在這裡,精確率和召回率同樣重要,需要在兩者之間找到一個平衡。

  • 使用 F1-score 的原因:

 如果一個系統找到了很多搜索結果,但大部分不相關(精確率低),或是找到了少數結果,但都是相關的(召回率低),都不是理想的情況。F1-score 是平衡精確率和召回率的指標,在這樣的情境下非常有用。

  • 何時使用 F1-score:
  1. 當你想在精確率和召回率之間取得平衡
  2. 當類別不平衡且精確率和召回率同樣重要
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.