二分類模型評估指標:Accuracy、Recall、Precision、F1-Score

2021-02-20 Python面面觀
四個概念

先看四個概念定義:

TP,True Positive:真正例是指模型將正類別樣本正確地預測為正類別。

FP,False Positive:假正例是指模型將負類別樣本錯誤地預測為正類別

TN,True Negative:真負例是指模型將負類別樣本正確地預測為負類別。

FN,False Negative:假負例是指模型將正類別樣本錯誤地預測為負類別。


谷歌機器學習課程案例:
關於腫瘤惡性和良性判斷:


接下來試著計算以下模型的準確率,該模型將 100 個腫瘤分為惡性或良性:

Accuracy(準確率)


準確率是一個用於評估分類模型的指標。通俗來說,準確率是指我們的模型預測正確的結果所佔的比例。

準確率為 0.91,即 91%(總共 100 個樣本中有 91 個預測正確)。

在 100 個腫瘤樣本中,91 個為良性(90 個 TN 和 1 個 FP),9 個為惡性(1 個 TP 和 8 個 FN)。

在 91 個良性腫瘤中,該模型將 90 個正確識別為良性。這很好。不過,在 9 個惡性腫瘤中,該模型僅將 1 個正確識別為惡性。


雖然 91% 的準確率可能乍一看還不錯,但如果另一個腫瘤分類器模型總是預測良性,那麼這個模型使用我們的樣本進行預測也會實現相同的準確率(100 個中有 91 個預測正確)。換言之,我們的模型與那些沒有預測能力來區分惡性腫瘤和良性腫瘤的模型差不多。

所以,當數據集的分類不平衡情況下,不能單一使用 Accuracy(準確率)這個指標。


Precision(精確率)


精確率指標嘗試回答以下問題:在被識別為正類別的樣本中,確實為正類別的比例是多少?
精確率的定義如下:

接下來計算一下案例中腫瘤的精確率:



該模型的精確率為 0.5,也就是說,該模型在預測惡性腫瘤方面的正確率是 50%。如果模型的預測結果中沒有假正例,則模型的精確率為 1.0。


Recall(召回率)


召回率嘗試回答以下問題:在所有正類別樣本中,被正確識別為正類別的比例是多少?
召回率的公式如下:

來計算一下腫瘤分類器的召回率:

該模型的召回率是 0.11,也就是說,該模型能夠正確識別出所有惡性腫瘤的百分比是 11%。


F1-Score


F1分數(F1 Score),是統計學中用來衡量二分類模型精確度的一種指標。它同時兼顧了分類模型的精確率和召回率。F1分數可以看作是模型精確率和召回率的一種加權平均,它的最大值是1,最小值是0。1代表模型的輸出最好,0 代表模型的輸出結果最差。

F1 Score 公式如下:



在二分類模型評估中,為了平衡這幾個指標,通常只評估 F1 Score,只選擇 F1 Score 最高的模型。



相關焦點

  • 一文讀懂二元分類模型評估指標
    推薦閱讀時間:10min~12min文章內容:解讀二元分類模型各種評估指標在分類模型中,有很多關於模型性能的評估指標(evaluation metric),比如 accuracy、precision、recall、f1-score、roc、auc、prc 等等。這裡慢慢梳理下這些指標的含義以及用途。
  • 萬字長文總結機器學習的模型評估與調參|附代碼下載
    「管道工作流」這個概念可能有點陌生,其實可以理解為一個容器,然後把我們需要進行的操作都封裝在這個管道裡面進行操作,比如數據標準化、特徵降維、主成分分析、模型預測等等,下面還是以一個實例來講解。1.1 數據導入與預處理本次我們導入一個二分類數據集 Breast Cancer Wisconsin,它包含569個樣本。
  • 多分類 A P R F 值
    區別一下「多分類」與「多標籤」:        多分類:表示分類任務中有多個類別,但是對於每個樣本有且僅有一個標籤,例如一張動物圖片,它只可能是貓,狗,虎等中的一種標籤(二分類特指分類任務中只有兩個類別)
  • 數據挖掘之模型評估(均方誤差、精確率、召回率及ROC曲線的含義)
    我們都知道,數據挖掘最終的目的就是建立業務模型,然後投入到實際中做一些分類或者預測的事情,但是這個模型做的好不好,我們總要評價吧?這就需要我們對建立的模型做評估,然後根據評估指標和實際的業務情況決定是否要發布這個模型,那麼常用的模型評估指標有哪些呢?他們之間的聯繫又是什麼呢?
  • 模型評估中的AUC是怎麼計算的?
    AUC在機器學習和深度學習的模型評估中應用很廣,但其內部的原理到底是什麼,我想你可能要好好了解下了!混淆矩陣(Confusion matrix)混淆矩陣是理解大多數評價指標的基礎,毫無疑問也是理解AUC的基礎。豐富的資料介紹著混淆矩陣的概念,下邊用一個實例講解什麼是混淆矩陣如有100個樣本數據,這些數據分成2類,每類50個。
  • 多標籤文本分類模型總結
    什麼是多標籤文本分類學術上常用的說法有兩個,一個是ExtremeMulti-label Learning, 簡稱XML,另一個是Extreme Multi-label Text Classification,簡稱XMTC,本質上都是對文本進行多標籤分類,即對於一個給定的文本,可能有多個標籤,我們需要設計一個模型預測其標籤。
  • 模型評估之混淆矩陣(confusion_matrix)含義及Python代碼實現
    在前面的文章中我們講到了回歸模型和分類模型的評估指標,區分了準確率和精確率的區別,並且比較了精確率和召回率內在的聯繫。本篇文章我們再來學習另外一個評估方法,即混淆矩陣(confusion_matrix)。
  • NLP之文本分類:「Tf-Idf、Word2Vec和BERT」三種模型比較
    NLP常用於文本數據的分類。文本分類是指根據文本數據內容對其進行分類的問題。我們有多種技術從原始文本數據中提取信息,並用它來訓練分類模型。本教程比較了傳統的詞袋法(與簡單的機器學習算法一起使用)、流行的詞嵌入模型(與深度學習神經網絡一起使用)和最先進的語言模型(和基於attention的transformers模型中的遷移學習一起使用),語言模型徹底改變了NLP的格局。
  • 機器學習模型評估指標Python代碼示例
    我們什麼時候評估我們的機器學習模型呢?答案不是只有一次。在您選擇了一個準確度最好的機器學習模型後,您將跳轉到超參數調優部分,以提高精度和通用性。這裡是您將使用這些度量的第二點。在本文中,我試圖製作機器學習模型評估指標的總結。交叉驗證用於模型比較我們拆分數據的原因和方式的起點是泛化。
  • 深度研究:回歸模型評價指標R2_score
    回歸模型的性能的評價指標主要有:RMSE(平方根誤差)、MAE(平均絕對誤差)、MSE(平均平方誤差)、R2_score。但是當量綱不同時,RMSE、MAE、MSE難以衡量模型效果好壞。這就需要用到R2_score,實際使用時,會遇到許多問題,今天我們深度研究一下。預備知識 搞清楚R2_score計算之前,我們還需要了解幾個統計學概念。
  • 基於 Python 實現動態分類器集成學習
    如何使用scikit-learn API開發和評估用於分類任務的動態分類器選擇模型。如何探索動態分類器選擇模型超參數對分類準確性的影響。儘管可以通過將「 pool_classifiers」設置為模型列表來更改,但決策樹的自舉聚合(裝袋)合奏用作針對每個分類考慮的分類器模型池。我們可以使用make_classification()函數創建具有10,000個示例和20個輸入功能的綜合二進位分類問題。
  • 基於Python的決策樹分類器與剪枝
    練習問題陳述旨在建立一個分類模型來預測紅酒的質量。這是一個典型的多類分類問題。注意,所有的機器學習模型都對異常值敏感,因此在構建樹之前,應該處理由異常值組成的特徵/獨立變量。from sklearn import metricsfrom sklearn.metrics import accuracy_score,f1_score,recall_score,precision_score, confusion_matrix #模型驗證%matplotlib inlinefrom IPython.display import display #用於在一個輸出中顯示多個數據幀
  • 如何在Keras中自定義機器學習性能指標
    Keras提供的指標使得我們能夠評估深度學習模型的性能。由於Keras提供了大量指標,因此為生產模型選擇理想指標是一項複雜的工作。在某些情況下,您可能必須自定義指標(因為Keras根本無法提供所需的指標),這會影響模型的最終性能。
  • 不管你是不是年薪30W的算法工程師,都要了解這幾個模型評估指標
    針對分類、排序、回歸、序列預測等不同類型的機器學習問題,模型評估指標的選擇也有所不同。知道每種評估指標的精確定義、有針對性的選擇合適的評估指標、根據評估指標的反饋進行模型的調整,這些都是機器學習在模型評估階段的關鍵問題,也是一名合格的算法工程師應該具備的基本功。模型評估指標反映模型效果。