
準確率、精確率、召回率、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%。
重點
準確度是一個簡單的指標,反映模型整體預測的表現,但當類別不平衡時,可能會給出誤導性的結果。例如,當正類樣本很少時,即使模型只預測負類,準確度仍然可能很高。
實際應用案例
- 情境:
電子郵件分類系統(將郵件分類為垃圾郵件或正常郵件)
- 需求:
當大部分郵件是正常郵件,垃圾郵件只佔一小部分時,你的目標是要正確分類出所有的郵件。
- 使用準確度的原因:
大多數郵件是正常的,所以模型只要能在大部分情況下正確分類就可以達到很高的準確度。因此,在這種情況下,準確度是一個合理的評估指標,因為系統需要正確分類所有郵件。
- 何時使用準確度:
- 當類別分佈比較均衡時。
- 當錯誤分類不會帶來太大成本(如分類錯誤的後果可接受)。
精確率 (Precision)
定義
精確率是指在所有被模型預測為「正類」(例如預測為「流失」的客戶)中,有多少實際上是正確的。也就是說,精確率衡量的是模型在 「預測為正類的結果中有多少是真正的正類」。
公式

- TP(True Positive,真正類): 被正確預測為正類的樣本數(實際為正,預測也為正)。
- FP(False Positive,假正類): 被錯誤預測為正類的樣本數(實際為負,預測為正)。
舉例
如果模型預測了 100 個「流失」的客戶,其中 70 個實際上是真的流失,30 個沒有流失(模型預測錯了),那麼精確率是:

這意味著模型預測的「流失」客戶中,有 70% 是正確的。
重點
精確率告訴我們「模型預測正類的結果有多準確」,重點是「錯誤預測為正類的次數」,即 FP 的數量。如果你不希望誤將「非流失」的客戶錯誤預測為「流失」,那麼你會希望精確率較高。
實際應用案例
- 情境:
醫療診斷中的癌症檢測(分類病人是否患有癌症)
- 需求:
當檢測結果顯示一個病人患有癌症時,這個結果應該高度可信。如果檢測說病人患有癌症,但實際上他是健康的,這將導致不必要的壓力和昂貴的進一步檢查。
- 使用精確率的原因:
你更關注於確保所有被檢測為陽性的病人實際上確實患有癌症,因此,你希望最大化精確率。這樣可以減少「假陽性」(即無病被檢測為患病)的情況。
- 何時使用精確率:
- 當假陽性成本很高(如誤判一個健康人患病)。
- 當你想避免誤報(false positives)。
召回率 (Recall)
定義
召回率是指在所有實際的正類樣本中,有多少被模型正確預測出來。換句話說,召回率衡量的是模型在 「實際正類的樣本中有多少被正確預測」。
公式

- TP(True Positive,真正類): 被正確預測為正類的樣本數(實際為正,預測也為正)。
- FN(False Negative,假負類): 被錯誤預測為負類的樣本數(實際為正,預測為負)。
舉例
假設實際上有 100 個流失的客戶,其中模型正確地預測了 70 個流失客戶,但有 30 個流失客戶沒有被預測出來,那麼召回率是:

這意味著模型能夠召回 70% 的實際流失客戶。
重點
召回率告訴我們「模型對正類的樣本捕捉得有多好」,重點是「實際正類樣本未被預測為正類的次數」,即 FN 的數量。如果你希望能夠盡可能地識別所有流失客戶,那麼你會希望召回率較高。
實際應用案例
- 情境:
偵測詐欺交易(銀行系統要偵測哪些交易是詐欺)
- 需求:
銀行不想漏掉任何可疑的詐欺交易,即使這意味著有時候正常的交易可能會被標記為可疑。
- 使用召回率的原因:
這種情況下,偵測到的每一個詐欺交易都很重要,漏掉任何一個詐欺交易都可能導致重大損失。因此,召回率應該被優先考慮,即使這意味著會有更多「假陽性」(即正常交易被誤標為詐欺)。
- 何時使用召回率:
- 當漏掉正類樣本的代價很高(如漏掉詐欺交易、患者診斷等)。
- 當需要最大化檢測能力。
F1-score
定義
F1-score 是精確率 (Precision) 和召回率 (Recall) 的調和平均數,用來平衡兩者的關係,尤其在精確率和召回率之間有取捨時使用。
公式

舉例
假設模型的精確率是 80%,召回率是 60%,那麼 F1-score 就是這兩者的調和平均數,代表模型在整體預測上平衡兩者的表現。
重點
F1-score 在類別不平衡的情況下尤為有用,當你需要在精確率和召回率之間取得平衡時,它是一個很好的綜合指標。F1-score 越高,表示模型在識別正類樣本的準確性和完整性上表現越好。
實際應用案例
- 情境:
資訊檢索系統(如搜索引擎要找到最相關的搜索結果)
- 需求:
搜索引擎應該找到盡可能多的相關搜索結果(召回率高),同時,返回的結果應該是高度相關的(精確率高)。在這裡,精確率和召回率同樣重要,需要在兩者之間找到一個平衡。
- 使用 F1-score 的原因:
如果一個系統找到了很多搜索結果,但大部分不相關(精確率低),或是找到了少數結果,但都是相關的(召回率低),都不是理想的情況。F1-score 是平衡精確率和召回率的指標,在這樣的情境下非常有用。
- 何時使用 F1-score:
- 當你想在精確率和召回率之間取得平衡。
- 當類別不平衡且精確率和召回率同樣重要。