準確率、精確率、召回率、F1-Score 是在評估分類模型表現時常用的四個重要指標。當我們建立分類模型來進行預測時,如何衡量模型的好壞至關重要。這些指標各自側重於不同的評估角度,因此選擇合適的指標能幫助我們更全面地了解模型的效果。本文將帶你一步步了解這些指標的定義、如何計算它們,以及在什麼情境下應該使用它們,從而幫助你在未來的數據分析和機器學習項目中做出更明智的決策。
# 可使用目錄功能快速確認要閱覽的主題
在了解今天要說明的評估指標之前,要先了解何謂 正類(Positive Class) 與負類 (Negative Class)。
「正類」(Positive Class)是指在分類任務中,模型所關注的「感興趣的類別」。通常,正類是我們希望檢測或預測的目標。例如:
準確度是所有正確預測的樣本數佔總樣本數的比例,衡量模型在所有樣本中的預測表現。
如果在一個包含 100 個樣本的數據集中,模型正確預測了 85 個樣本,那麼模型的準確度就是 85%。
準確度是一個簡單的指標,反映模型整體預測的表現,但當類別不平衡時,可能會給出誤導性的結果。例如,當正類樣本很少時,即使模型只預測負類,準確度仍然可能很高。
電子郵件分類系統(將郵件分類為垃圾郵件或正常郵件)
當大部分郵件是正常郵件,垃圾郵件只佔一小部分時,你的目標是要正確分類出所有的郵件。
大多數郵件是正常的,所以模型只要能在大部分情況下正確分類就可以達到很高的準確度。因此,在這種情況下,準確度是一個合理的評估指標,因為系統需要正確分類所有郵件。
精確率是指在所有被模型預測為「正類」(例如預測為「流失」的客戶)中,有多少實際上是正確的。也就是說,精確率衡量的是模型在 「預測為正類的結果中有多少是真正的正類」。
如果模型預測了 100 個「流失」的客戶,其中 70 個實際上是真的流失,30 個沒有流失(模型預測錯了),那麼精確率是:
這意味著模型預測的「流失」客戶中,有 70% 是正確的。
精確率告訴我們「模型預測正類的結果有多準確」,重點是「錯誤預測為正類的次數」,即 FP 的數量。如果你不希望誤將「非流失」的客戶錯誤預測為「流失」,那麼你會希望精確率較高。
醫療診斷中的癌症檢測(分類病人是否患有癌症)
當檢測結果顯示一個病人患有癌症時,這個結果應該高度可信。如果檢測說病人患有癌症,但實際上他是健康的,這將導致不必要的壓力和昂貴的進一步檢查。
你更關注於確保所有被檢測為陽性的病人實際上確實患有癌症,因此,你希望最大化精確率。這樣可以減少「假陽性」(即無病被檢測為患病)的情況。
召回率是指在所有實際的正類樣本中,有多少被模型正確預測出來。換句話說,召回率衡量的是模型在 「實際正類的樣本中有多少被正確預測」。
假設實際上有 100 個流失的客戶,其中模型正確地預測了 70 個流失客戶,但有 30 個流失客戶沒有被預測出來,那麼召回率是:
這意味著模型能夠召回 70% 的實際流失客戶。
召回率告訴我們「模型對正類的樣本捕捉得有多好」,重點是「實際正類樣本未被預測為正類的次數」,即 FN 的數量。如果你希望能夠盡可能地識別所有流失客戶,那麼你會希望召回率較高。
偵測詐欺交易(銀行系統要偵測哪些交易是詐欺)
銀行不想漏掉任何可疑的詐欺交易,即使這意味著有時候正常的交易可能會被標記為可疑。
這種情況下,偵測到的每一個詐欺交易都很重要,漏掉任何一個詐欺交易都可能導致重大損失。因此,召回率應該被優先考慮,即使這意味著會有更多「假陽性」(即正常交易被誤標為詐欺)。
F1-score 是精確率 (Precision) 和召回率 (Recall) 的調和平均數,用來平衡兩者的關係,尤其在精確率和召回率之間有取捨時使用。
假設模型的精確率是 80%,召回率是 60%,那麼 F1-score 就是這兩者的調和平均數,代表模型在整體預測上平衡兩者的表現。
F1-score 在類別不平衡的情況下尤為有用,當你需要在精確率和召回率之間取得平衡時,它是一個很好的綜合指標。F1-score 越高,表示模型在識別正類樣本的準確性和完整性上表現越好。
資訊檢索系統(如搜索引擎要找到最相關的搜索結果)
搜索引擎應該找到盡可能多的相關搜索結果(召回率高),同時,返回的結果應該是高度相關的(精確率高)。在這裡,精確率和召回率同樣重要,需要在兩者之間找到一個平衡。
如果一個系統找到了很多搜索結果,但大部分不相關(精確率低),或是找到了少數結果,但都是相關的(召回率低),都不是理想的情況。F1-score 是平衡精確率和召回率的指標,在這樣的情境下非常有用。