做者:Soner Yildirim 機器學習
deephub翻譯組:Alexander Zhao 性能
分類模型(分類器)是一種有監督的機器學習模型,其中目標變量是離散的(即類別)。評估一個機器學習模型和創建模型同樣重要。咱們創建模型的目的是對全新的未見過的數據進行處理,所以,要創建一個魯棒的模型,就須要對模型進行全面而又深刻的評估。當涉及到分類模型時,評估過程變得有些棘手。 學習
在這篇文章中,我會作詳細的介紹,說明如何評估一個分類器,包括用於評估模型的一系列不一樣指標及其優缺點。 spa
我將介紹的概念包括:翻譯
分類精度顯示了咱們所作的預測中有多少是正確的。 blog
在不少狀況下,它表示了一個模型的表現有多好,但在某些狀況下,精度是遠遠不夠的。例如,93%的分類精度意味着咱們正確預測了100個樣本中的93個。在不知道任務細節的狀況下,這彷佛是能夠接受的。 ci
假設咱們正在建立一個模型來對不平衡的數據集執行二分類。93%的數據屬於A類,而7%屬於B類。 rem
咱們有一個只把樣本預測爲A類的模型,其實咱們很難稱之爲「模型」,由於它只能預測A類,沒有任何計算推理。然而,因爲93%的樣本屬於A類,咱們的模型的分類精度是93%。 it
若是正確檢測B類相當重要,並且咱們沒法承受把B類錯誤地預測爲A類的代價(如癌症預測,把癌症病人預測爲正常人的後果是不可想象的),該怎麼辦?在這些狀況下,咱們須要其餘指標來評估咱們的模型。io
混淆矩陣不是評估模型的一種數值指標,但它可讓咱們對分類器的預測結果有深入的理解。學習混淆矩陣對於理解其餘分類指標如查準率和查全率是很重要的。
相比分類精度,混淆矩陣的使用意味着咱們在評估模型的道路上邁出了更深的一步路。混淆矩陣顯示了對每一類的預測分別是正確仍是錯誤。對於二分類任務,混淆矩陣是2x2矩陣。若是有三個不一樣的類,它就是3x3矩陣,以此類推。
假設A類是正類,B類是反類。與混淆矩陣相關的關鍵術語以下:
咱們指望的結果是咱們的預測可以與真實類別相匹配。這些術語看起來有些讓人頭暈眼花,可是你能夠想一些小技巧來幫助你記住它們。個人訣竅以下:
第二個字表示模型的預測結果第一個字表示模型的預測是否正確
假陽性也稱爲I類錯誤,假陰性也稱爲II型錯誤。
混淆矩陣的用途是計算查準率和查全率。
查準率(又稱準確率)和查全率(又稱召回率)相比分類精度來講更進一步,使咱們對模型評估有了更加具體的瞭解。選擇哪個指標取決於任務要求與咱們的目標。
**查準率**衡量的是咱們的分類器預測正類的準確性
查準率的重點在於準確地預測正類,它顯示了咱們預測的正類中有多少是真正的正類。
**查全率**衡量的是咱們的分類器把正類預測出來的能力
查全率的重點是把真正的正類預測出來,它顯示了咱們的分類器可以把真正的正類預測得多全面。
咱們不可能同時提升查準率與查全率,由於這兩者彷彿魚和熊掌,不可兼得。提升查準率會下降查全率,反之亦然。根據任務的不一樣,咱們能夠最大限度地提升查準率或查全率中的某一個。對於垃圾郵件的檢測等任務,咱們嘗試最大限度地提升查準率,由於咱們但願在電子郵件被檢測爲垃圾郵件時最好檢測地很準確,由於咱們不想讓有用的電子郵件被錯誤地標記成垃圾郵件。另外一方面,對於腫瘤的檢測等任務,咱們須要最大化查全率,由於咱們但願儘量多地檢測出來患者體內的陽性。
還有一種指標把查準率與查全率結合了起來,這就是F1度量。
F1度量是查準率與查全率的調和平均的倒數。
對於類別不平衡的分類問題,F1度量比分類精度更有用,由於它同時考慮了假陽性和假陰性。最佳的F1度量值是1,最差則是0。
敏感性,也稱爲真陽性率(TPR),與查全率其實是相同的。所以,它測量的是被正確預測出來的正類佔所有正類的比例。
特異性與敏感性類似,但相比之下它更着眼於陰性類別。它測量的是被正確預測出來的負類佔所有負類的比例。
ROC曲線(受試者操做特性曲線)和AUC(曲線下面積)這兩個指標最好用邏輯迴歸實例來解釋。
Logistic迴歸給出了樣本爲正的機率。而後咱們爲這個機率設置一個閾值來區分正類和負類。若是機率高於閾值,則將樣本分類爲正。所以,不一樣樣本的分類結果會隨着閾值的改變而變化,進而改變查準率與查全率等指標。
ROC曲線經過組合不一樣閾值取值下的混淆矩陣,總結了模型在不一樣閾值下的性能。ROC曲線的x軸爲真陽性率(TPR,即敏感性),y軸爲假陽性率(FPR,定義爲1 - 特異性)。
若是閾值設置爲0,則模型將全部樣本預測爲正值。在這種狀況下,TPR爲1,然而,FPR也是1,由於沒有負類預測。若是閾值設置爲1,則TPR和FPR都將變爲0。所以,將閾值設置爲0或1並非一個好的選擇。
咱們的目標是提升真陽性率(TPR),同時保持較低的假陽性率(FPR)。正如咱們在ROC曲線上看到的,隨着TPR的增長,FPR也增長。因此咱們要決定咱們能容忍多少誤報。
相比在ROC曲線上尋找一個最佳閾值,咱們可使用另外一種稱爲AUC(曲線下面積)的指標。AUC是ROC曲線下(0,0)到(1,1)之間的面積,能夠用積分計算。AUC基本上顯示了模型在全部閾值下的性能。AUC的最佳可能值是1,表示這一個完美的分類器。AUC越接近1,分類器越好。在下圖中,分類器A比分類器B好。
「沒有免費的午飯」定理在分類模型評估上也是適用的,並不是全部任務都有一個最佳且容易找到的選擇。咱們須要明確咱們的需求,並根據這些需求選擇合適的評價指標。