機器學習常見評價指標與優缺點


先引入一個經典的表,輔助我們, 這個表叫做混淆矩陣

准確率(Accuracy)

准確率反映了模型模型做出正確預測的比例
計算公式

\[Accuracy=\frac{TP+TN}{TP+TN+FP+FN} \]

准確率假設不同的分類是同等地位的,例如對貓狗洗好進行分類,問題中並沒有對貓和狗有特定的側重,因此在這里我們只強調於分類的正確度,即准確率。

優點

  • 計算簡單, 時間復雜度低

缺點

  • 當正負樣本比例不均衡的時候, 准確率就抓瞎了, 比如我樣本里面有99個負例, 1個正例, 那模型預測的時候, 把100個樣本都當中負例, 我的准去率是99%, 這樣沒什么意思啊

精確率(Precision)

精確率看重的是: 模型做出預測為正類的預測中, 有多少是真正的正類

\[Precisoon=\frac{TP}{TP+FP} \]

舉個例子: 警察抓小偷, 警察抓小偷,描述警察抓的人中有多少個是小偷

召回率(Recall)

召回率又可以被翻譯為查全率,同樣基於對於正(Positive)案例的指標。但與精確率不同之處在於,召回率更加側重真實為正(Positive)的樣本中被成功預測的比例。

\[Recall = \frac {TP}{TP+FN} \]

舉個例子, 也是警察抓小偷, recall反映的是: 描述有多少比例的小偷給警察抓了

它們的缺點

精確率或者召回率作為度量標准其實存在一個很大的問題,一批樣本, 比如單獨用precisoion的話, 我全部預測為正就好了嘛, 肯定能夠預測對一個. 又比如召回率, 我多增加一些樣本, 比如警察多抓些人, 那肯定抓到小偷的概率就增加了

F1-score

F1 綜合了precision和recall的特點, 對它們做了一個調和

\[F1 = 2* \frac{Precision*Recall}{Precision+Recall} \]

舉例: 警察抓小偷, 抓到又多又准

ROC

以上的算法都是在做出了分類的情況下,這種情況叫做硬分類,但是很多算法, 都是給出一個概率值, 我們根據一個閾值來對類別做出評價
ROC全稱是“受試者工作特征”(Receiver OperatingCharacteristic)曲線。我們根據學習器的預測結果,把閾值從0變到最大,即剛開始是把每個樣本作為正例進行預測,隨着閾值的增大,學習器預測正樣例數越來越少,直到最后沒有一個樣本是正樣例。在這一過程中,每次計算出兩個重要量的值,分別以它們為橫、縱坐標作圖,就得到了“ROC曲線”。

ROC縱軸是真正例率(TP rate), 橫軸是假正例率(FP rate)

\[TPR = \frac{TP}{TP+FN} \\ FPR = \frac {FP}{FP+TN} \]

roc曲線通過不斷修改預測的閾值,

ROC曲線有個很好的特性:當測試集中的正負樣本的分布變化的時候,ROC曲線能夠保持不變。在實際的數據集中經常會出現類別不平衡(Class Imbalance)現象,即負樣本比正樣本多很多(或者相反),而且測試數據中的正負樣本的分布也可能隨着時間變化,ROC以及AUC可以很好的消除樣本類別不平衡對指標結果產生的影響。另一個原因是,ROC和是一種不依賴於閾值(Threshold)的評價指標,在輸出為概率分布的分類模型中,如果僅使用准確率、精確率、召回率作為評價指標進行模型對比時,都必須時基於某一個給定閾值的,對於不同的閾值,各模型的Metrics結果也會有所不同,這樣就很難得出一個很置信的結果。

AUC

auc計算方式

https://blog.csdn.net/renzhentinghai/article/details/81095857
AUC就是ROC曲線下的面積
AUC是指隨機給定一個正樣本和一個負樣本,分類器輸出該正樣本為正的那個概率值比分類器輸出該負樣本為正的那個概率值要大的可能性。所以AUC反應的是分類器對樣本的排序能力。**根據這個解釋,如果我們完全隨機的對樣本分類,那么AUC應該接近0.5。(所以一般訓練出的模型,AUC>0.5,如果AUC=0.5,這個分類器等於沒有效果,效果與完全隨機一樣,如果AUC<0.5,則可能是標簽標注錯誤等情況造成);

另外值得注意的是,AUC的計算方法同時考慮了學習器對於正例和負例的分類能力,在樣本不平衡的情況下,依然能夠對分類器做出合理的評價。AUC對樣本類別是否均衡並不敏感,這也是不均衡樣本通常用AUC評價學習器性能的一個原因。

缺點

  • roc,auc都只適合於二分類
  • AUC只關注正負樣本之間的排序,並不關心正樣本內部,或者負樣本內部的排序。這也體現了AUC的本質:任意個正樣本的概率都大於負樣本的概率的能力。
  • 線上的排序發生在一個用戶的session下,而線下計算全集AUC,即把user1點擊的正樣本排序高於user2未點擊的負樣本是沒有實際意義的,但線下auc計算的時候考慮了它。

優點

  • ROC曲線能很容易的查出任意閾值對學習器的泛化性能影響
    有助於選擇最佳的閾值。ROC曲線越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲線上的點是分類錯誤最少的最好閾值,其假正例和假反例總數最少。
  • 克服樣本不平衡

多分類

  • Macro(宏平均): 分別計算每個類的precsion和recall, 再統一平均
  • Micro(微平均): 先計算總體的TP FP的數量, 對它們平均之后再計算Precision Recall

image.png
https://www.cnblogs.com/nana-zhang/p/11496496.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM