機器學習中評估分類模型性能的10個重要指標

2021-01-21 deephub

在這篇文章中,我們將學習10個最重要的模型性能度量,這些度量可用於評估分類模型的模型性能。

以下是我們將通過示例以相互關聯的方式研究的10個指標:

Confusion MatrixType I ErrorType II ErrorAccuracyRecall or True Positive Rate or SensitivityPrecisionSpecificityF1 ScoreROC Curve- AUC ScorePR Curve一旦我們了解了適當的用法以及如何根據問題陳述來解釋這些度量,那麼衡量分類模型的強度就不是問題了。

我們將使用一個數據集的例子,它有yes和no標籤,用於訓練邏輯回歸模型。這個用例可以是任何分類問題-垃圾郵件檢測、癌症預測、損耗率預測、活動目標預測等。我們將在本文需要時參考特殊用例。目前,我們將考慮一個簡單的邏輯模型,它必須預測是或否。

首先,邏輯模型可以給出兩種輸出:

1.它以輸出值的形式給出類標籤(是/否、1/0、惡性/良性、吸引/保留、垃圾郵件/非垃圾郵件等)

2.它給出了介於0到1之間的概率值作為輸出值,以表示某個特定觀察事件的可能性或可能性。

類標籤場景可以進一步細分為平衡或不平衡數據集,這兩種情況都不能/不應該基於類似的度量進行判斷。有些指標更適合但不是另一個,反之亦然。類似地,概率場景有不同於類標籤的模型性能度量。

下面是流程圖,這是一個完美的總結,也是這篇文章的一個完美的前言,我們將在最後再次回顧這個流程圖,以確保我們了解所有的指標。

Confusion Matrix

我們從一個開發數據集開始,同時構建任何統計或ML模型。把數據集分成兩部分:訓練和測試。保留測試數據集,並使用訓練數據集訓練模型。一旦模型準備好預測,我們就嘗試在測試數據集上進行預測。一旦我們將結果分割成一個類似於上圖所示的矩陣,我們就可以看到我們的模型有多少能夠正確預測,有多少預測是錯誤的。

我們用測試數據集中的數字填充以下4個單元格(例如,有1000個觀察值)。

TP(真陽性):該列的實際標籤在測試數據集中為「是」,我們的logistic回歸模型也預測為「是」。(500次觀察)

TN(真陰性):在測試數據集中,該列的實際標籤為「否」,而我們的logistic回歸模型也預測為「否」。(200次觀察)

FP(假陽性):該列的實際標籤在測試數據集中為「否」,但我們的logistic回歸模型預測為「是」。(100次觀察)

FN(假陰性):在測試數據集中,該列的實際標籤為「是」,但我們的邏輯回歸模型預測為「否」。(200次觀察)

這4個單元構成了「混淆矩陣」,就像在矩陣中一樣,它可以通過清晰地描繪模型的預測能力來緩解對模型優度的所有混淆。

混淆矩陣是一個表,通常用於描述一個分類模型(或「分類器」)在一組已知真實值的測試數據上的性能

Type I Error

第1類錯誤也稱為假陽性,當分類模型錯誤地預測最初錯誤觀察的真實結果時發生。

例如:假設我們的邏輯模型正在處理一個垃圾郵件而不是垃圾郵件的用例。如果我們的模型將一封其他重要的電子郵件標記為垃圾郵件,那麼這是我們的模型的類型I錯誤的一個例子。在這個特別的問題陳述中,我們對儘可能減少類型I錯誤非常敏感,因為進入垃圾郵件的重要電子郵件可能會產生嚴重的影響。

Type II Error

第2類錯誤也被稱為假陰性,當分類模型錯誤地預測了最初真實觀察結果的假結果時就會發生。

例如:假設我們的邏輯模型正在處理一個用例,它必須預測一個人是否患有癌症。如果我們的模型將患有癌症的人標記為健康人並對其進行了錯誤分類,那麼這就是我們的模型的第二類錯誤的一個例子。在這個特別的問題陳述中,我們對儘可能減少II型錯誤非常敏感,因為如果疾病繼續在患者中未被診斷,這種情況下的假陰性可能導致死亡。

Accuracy

現在,上面討論的三個度量是通用度量,與有的培訓和測試數據類型以及為問題陳述部署的分類算法類型無關。

我們現在正在討論非常適合特定類型數據的度量。

讓我們從這裡開始討論準確性,這是一個最適合用於平衡數據集的度量。

一個平衡的數據集是1和0,是和否,正和負都由訓練數據平均表示的數據集。另一方面,如果兩個類標籤的比率有偏差,那麼我們的模型將偏向一個類別。

假設我們有一個平衡的數據集,讓我們學習什麼是準確性。

準確度是指測量結果接近真實值。它告訴我們,我們的分類模型能夠多準確地預測問題陳述中給出的類標籤。

例如:假設我們的分類模型試圖預測客戶流失情況。在上圖中,在實際吸引的700個客戶中(TP+FN),該模型能夠正確地對500個吸引的客戶進行分類(TP)。同樣,在總共300個保留客戶(FP+TN)中,該模型能夠正確地對200個保留客戶(TN)進行分類。

Accuracy= (TP+TN)/Total customers

在上面的場景中,我們看到模型在1000個客戶的測試數據集上的準確率是70%。

現在,我們了解到準確性是一個度量標準,應該只用於平衡的數據集。為什麼會這樣?讓我們看一個例子來理解這一點。

在這個例子中,這個模型是在一個不平衡的數據集上訓練的,甚至測試數據集也是不平衡的。準確度指標的得分為72%,這可能給我們的印象是,我們的模型在分類方面做得很好。但是,仔細看,這個模型在預測負面的類標籤方面做得很糟糕。在100個總的陰性標記觀察中,它只預測了20個正確的結果。這就是為什麼如果您有一個不平衡的數據集,就不應該使用精度度量。

下一個問題是,如果您有一個不平衡的數據集,將使用什麼?答案是Recall和Precision。讓我們進一步了解這些。

Recall/ Sensitivity/ TPR

Recall/ Sensitivity/ TPR(真陽性率)試圖回答以下問題:

哪些實際陽性被正確識別?

上面的圖像告訴我們召回分數是78%。召回通常用於真相檢測最為重要的用例中。例如:癌症預測、股市分類等。在這裡,問題陳述要求最小化假陰性,這意味著最大化召回/敏感度。

Precision

精確性嘗試回答以下問題:

什麼比例的陽性鑑定是正確的?

上圖所示的示例表明,精度得分為75%。精度通常用於最重要的情況,即不存在大量誤報。例如:在垃圾郵件檢測案例中,正如我們前面所討論的,假陽性將是一個觀察結果,它不是垃圾郵件,但根據我們的分類模型被歸類為垃圾郵件。過多的誤報可能會破壞垃圾郵件分類模型的目的。因此,在這種情況下,判斷模型性能的精確性非常方便。

Specificity

特異性(也被稱為真陰性率)測量實際陰性的比例被正確地識別為這樣。

垃圾郵件檢測分類器的例子,我們了解精度。繼續使用那個例子,特異性告訴我們我們的模型能夠準確分類多少個陰性。在這個例子中,我們看到專一性=33%,這對於垃圾郵件檢測模型來說不是一個好的分數,因為這意味著大多數非垃圾郵件被錯誤地歸類為垃圾郵件。我們可以通過觀察特異性度量得出結論,這個模型需要改進。

F1 Score

我們分別討論了第6點和第7點中的回憶和精確性。我們知道,有些問題陳述中,較高的查全率優先於較高的查準率,反之亦然。

但是有一些用例,其中的區別不是很清楚,作為開發人員,我們希望同時重視召回和精確性。在這種情況下,還可以使用另一個度量標準-F1分數。它依賴於精確性和召回率。

在二元分類的統計分析中,F1分數(也可以是F分數或F測度)是測試準確性的度量。它同時考慮了測試的精確性p和召回率r來計算分數

在討論最後兩個指標之前,下面是Wikipedia上提供的一個很好的摘要表,它涵蓋了我們在本文中討論過的所有指標。放大看看圖像是否不清晰。

現在,我們已經到了最後一站了。到目前為止,我們已經討論了預測類標籤的分類模型的模型性能度量。現在,讓我們研究基於概率的模型的度量。

ROC Curve- AUC Score

曲線下面積(AUC)、受試者工作特性曲線(ROC)

這是衡量模型性能的最重要指標之一,在數據科學家中廣受歡迎。

讓我們從一個例子開始理解這一點。我們有一個分類模型,它給出了0-1之間的概率值來預測一個人是否肥胖的概率。接近0的概率分數表示考慮中的人肥胖的概率非常低,而接近1的概率值表示人肥胖的概率非常高。現在,默認情況下,如果我們將閾值設為0.5,那麼所有分配概率小於0.5的人將被歸類為「不肥胖」,分配概率大於0.5的人將被歸類為「肥胖」。但是,我們可以改變這個門檻。如果我把它定為0.3或0.9呢。讓我們看看會發生什麼。

為了便於理解,我們在樣本中抽取了10個人。

要繪製ROC曲線,我們必須繪製(1-特異性),即x軸上的假陽性率和y軸上的敏感性,即真陽性率。

ROC曲線告訴我們,該模型能夠很好地區分兩種情況(例如,患者是否肥胖)。更好的模型可以準確地區分兩者。然而,一個糟糕的模型將很難區分兩者。

我們將看到4種不同的場景,其中我們將選擇不同的閾值,並將計算ROC曲線對應的x軸和y軸值。

現在,我們有4個數據點,藉助這些數據點,我們將繪製ROC曲線,如下所示。

因此,這就是如何為分類模型繪製ROC曲線的方法,通過分配不同的閾值來創建不同的數據點來生成ROC曲線。ROC曲線下的面積稱為AUC。AUC越高,你的模型就越好。ROC曲線離中線越遠,模型就越好。這就是ROC-AUC如何幫助我們判斷分類模型的性能,並為我們提供從多個分類模型中選擇一個模型的方法。

PR Curve

在數據主要位於負標籤的情況下,ROC-AUC將給我們一個不能很好地代表現實的結果,因為我們主要關注正速率方法,y軸上的TPR和x軸上的FPR。

在這裡,您可以看到大多數數據都在負標籤下,ROC-AUC不會捕獲該信息。在這些場景中,我們轉向PR曲線,這只是精確召回曲線。

在PR曲線中,我們將計算並繪製Y軸上的精度和X軸上的調用,實際情況PR曲線正好與ROC曲線相反,所以這裡就不再展示了。

作者:Juhi

相關焦點

  • 11個重要的機器學習模型評估指標
    全文共8139字,預計學習時長16分鐘構建機器學習模型的想法應基於建設性的反饋原則。你可以構建模型,從指標得到反饋,不斷改進,直到達到理想的準確度。評估指標能體現模型的運轉情況。評估指標的一個重要作用在於能夠區分眾多模型的結果。
  • 機器學習模型評估指標Python代碼示例
    我們什麼時候評估我們的機器學習模型呢?答案不是只有一次。通常,我們在實際的數據科學工作流中兩次使用機器學習模型驗證指標:模型比較:為您的任務選擇最佳機器學習(ML)模型模型改進:調整超參數為了更清楚地了解這兩者之間的區別,讓我通過機器學習(ML)實現的工作流程來解釋。
  • MemTrax機器學習分類模型有效應用於認知障礙的診斷支持
    我們主要研究目標是:驗證MemTrax 測試結果-識別正確率和反應時間,相關人口統計學和健康特徵能否有效地用於機器學習開發的預測模型對蒙特婁認知評估 (MoCA) 界定的認知健康進行分類(正常人群與 MCI患者)。以及上述機器學習模型能否有效地應用於臨床診斷確定的認知障礙患者嚴重程度(輕重度與嚴重性)的預測。
  • 二分類模型評估指標:Accuracy、Recall、Precision、F1-Score
    準確率是一個用於評估分類模型的指標。在 100 個腫瘤樣本中,91 個為良性(90 個 TN 和 1 個 FP),9 個為惡性(1 個 TP 和 8 個 FN)。在 91 個良性腫瘤中,該模型將 90 個正確識別為良性。這很好。不過,在 9 個惡性腫瘤中,該模型僅將 1 個正確識別為惡性。
  • 一文讀懂二元分類模型評估指標
    推薦閱讀時間:10min~12min文章內容:解讀二元分類模型各種評估指標在分類模型中,有很多關於模型性能的評估指標(evaluation metric),比如 accuracy、precision、recall、f1-score、roc、auc、prc 等等。這裡慢慢梳理下這些指標的含義以及用途。
  • 在機器學習回歸問題中,你應該使用哪種評估指標?
    如果你像我一樣,你可能會在你的回歸問題中使用R平方(R平方)、均方根誤差(RMSE)和均方根誤差(MAE)評估指標,而不用考慮太多。儘管它們都是通用的度量標準,但在什麼時候使用哪一個並不明顯。R方(R)R代表模型所解釋的方差所佔的比例。R是一個相對度量,所以您可以使用它來與在相同數據上訓練的其他模型進行比較。
  • 機器學習之模型評估(損失函數)
    >「目標函數」,它是模型評估的重要指標損失函數一般分為回歸問題和分類問題回歸問題最常用的是均方誤差(MSE)和平均絕對誤差>下,對數據集(D)做一定特徵工程(F)後建立相應的模型(M),並通過模型評估(E)來評價模型好壞。
  • 機器學習模型評估和超參數調優實踐
    在這篇文章中,我們將詳細探討如何評估機器學習模型結果,以及優化超參數的最佳實踐。模型評估就像學生為考試複習一樣,機器學習模型在準備完成預期任務之前必須經過一個學習和訓練的過程。這種訓練將使它能夠從實際數據中歸納和派生模式,但是我們如何評估我們的模型是否提供了數據的良好表示呢?我們如何驗證模型,並預測它將如何處理以前沒有見過的數據呢?
  • 如何在Keras中自定義機器學習性能指標
    Keras提供的指標使得我們能夠評估深度學習模型的性能。由於Keras提供了大量指標,因此為生產模型選擇理想指標是一項複雜的工作。在某些情況下,您可能必須自定義指標(因為Keras根本無法提供所需的指標),這會影響模型的最終性能。
  • 不管你是不是年薪30W的算法工程師,都要了解這幾個模型評估指標
    在機器學習領域,對模型的評估非常的重要,只有選擇與問題相匹配的評估方法,才能更好的模型訓練和模型選擇的時候出現的問題,才能更好的對模型進行迭代優化。模型評估主要分為離線評估和在線評估。針對分類、排序、回歸、序列預測等不同類型的機器學習問題,模型評估指標的選擇也有所不同。知道每種評估指標的精確定義、有針對性的選擇合適的評估指標、根據評估指標的反饋進行模型的調整,這些都是機器學習在模型評估階段的關鍵問題,也是一名合格的算法工程師應該具備的基本功。模型評估指標反映模型效果。
  • 萬字長文總結機器學習的模型評估與調參|附代碼下載
    ,相信這個大家應該沒有疑惑,一個模型如果性能不好,要麼是因為模型過於複雜導致過擬合(高方差),要麼是模型過於簡單導致導致欠擬合(高偏差)。k折交叉驗證步驟:Step 1:使用不重複抽樣將原始數據隨機分為k份;Step 2:其中k-1份數據用於模型訓練,剩下的那1份數據用於測試模型;Step 3:重複Step 2 k次,得到k個模型和他的評估結果。Step 4:計算k折交叉驗證結果的平均值作為參數/模型的性能評估。
  • Python機器學習10:機器學習中的六種分類算法及實現(上)
    在機器學習中,可以使用多種算法模型解決同一個問題,那麼如何從中選擇出最佳的算法模型呢?當然,這個問題沒有一種固定的答案,需要根據不同的問題,嘗試使用多種機器學習方法,比較各種算法模型在該問題上的效果,最終才能決定究竟選擇哪一種模型。
  • 獨家 | 機器學習中的四種分類任務(附代碼)
    分別是二分類、多類別分類、多標籤分類、不平衡分類,並提供了實戰代碼。 標籤:機器學習機器學習是一個研究領域,其涉及到從示例中學習的算法。分類是一項需要使用機器學習算法去學習如何根據問題域為示例分配類標籤的任務。一個簡單易懂的例子是將電子郵件分為「垃圾郵件」或「非垃圾郵件」。在機器學習中,你可能會遇到許多不同類型的分類任務,並且每種模型都會使用專門的建模方法。
  • 機器學習中不平衡數據集分類示例:乳腺鉬靶微鈣化攝影數據集分類
    在本教程中,您將發現如何開發和評估乳腺癌鉬靶攝影數據集的不平衡分類模型。完成本教程後,您將知道:如何加載和探索數據集,並從中獲得預處理數據與選擇模型的靈感。如何使用代價敏感算法評估一組機器學習模型並提高其性能。
  • 機器學習中的AUC-ROC曲線
    AUC-ROC曲線你已經建立了你的機器學習模型-那麼接下來呢?你需要對它進行評估,並驗證它有多好(或有多壞),這樣你就可以決定是否實現它。這時就可以引入AUC-ROC曲線了。現在,只需知道AUC-ROC曲線可以幫助我們可視化機器學習分類器的性能。雖然它只適用於二值分類問題,但我們將在最後看到如何擴展它來評估多類分類問題。我們還將討論敏感性(sensitivity )和特異性(specificity )等主題,因為這些是AUC-ROC曲線背後的關鍵主題。目錄什麼是敏感性和特異性?預測概率AUC-ROC曲線是什麼?
  • 數據建模中分類與預測模型
    因此,本文基於上期數據預處理部分之後,介紹如何在清洗過後的數據基礎之上建立分類與預測模型,為此種模型的構建方法進行簡單介紹,輔助投資者對自身分析邏輯中的分析框架進行量化分析,方便其多元化的交易分析。  一、分類與預測的介紹  數據建模中分類與預測模型主要是尋求合適的分類模型並在此基礎之上進行未來預測。
  • 論文中的準確率指標靠譜嗎?5個機器學習悖論改變你對數據的看法
    這些反常識的機器學習悖論你知道是怎麼回事嗎?悖論是在哲學和數學中常見的一種問題,它是根據假設前提得出了兩種互相矛盾的結果。AI就是重構人類的認知方法,所以機器學習也會產生一些悖論。最近,數據科學家Jesus Rodriguez總結了機器學習解決方案中最著名的5個悖論,或許能幫助你更深刻地理解AI中的數據,避免在處理數據的時候出現一些低級錯誤。
  • 計算生物學中機器學習的十大攻略,從入門菜鳥到骨灰級專家的必備寶典
    機器學習項目最重要的一點並不是算法而是數據集屬性和排列。在進行任何數據挖掘工作之前,我們必須考慮是否有足夠的數據訓練機器學習來解決這個計算生物學問題?雖然收集更多的數據對機器學習模型來說總是有益的,但要確定能夠正確訓練機器學習算法的最小數據集可能並不是一個容易的問題。
  • 機器學習項目模板:ML項目應遵循的6個基本步驟
    特徵選擇特徵選擇是選擇一定數量的最有用特徵的過程,這些特徵將用於訓練模型。 這樣做是為了在大多數特徵對整體差異的貢獻不足時縮小尺寸。 如果您的數據中有300個特徵,而前120個特徵可以解釋97%的方差,那麼用這麼多無用的特徵來充實您的算法是沒有意義的。 減少特徵不僅可以節省時間,還可以節省成本。
  • 進化決策樹:當機器學習從生物學中汲取靈感時
    圖1-日本的高速鐵路,新幹線,來源生物學知識也可以成為機器學習中靈感的來源。內容本文重點關注的一個例子是進化決策樹。這類分類器使用進化算法來構建魯棒性更強,性能更好的決策樹。進化算法依賴於生物進化啟發的機制。決策樹是什麼?如何根據進化算法搭建決策樹?與其它分類器相比,進化決策樹的表現如何?