文章目錄
模型指標
0 基礎:混淆矩陣
混淆矩陣是監督學習中的一種可視化工具,主要用於比較分類結果和實例的真實信息。矩陣中的每一行代表實例的預測類別,每一列代表實例的真實類別。
對應的四個象限就有四個含義:
- 真正(True Positive , TP):被模型預測爲正的正樣本。
- 假正(False Positive , FP):被模型預測爲正的負樣本。
- 假負(False Negative , FN):被模型預測爲負的正樣本。
- 真負(True Negative , TN):被模型預測爲負的負樣本。
1 準確率(Accuracy)
準確率是最常用的分類性能指標。即正確預測的“正、反例數 ” / 數據總數
計算方式:
Accuracy = (TP+TN) / (TP+FN+FP+TN)
2 三個詳細指標:
2.1 精確率(Precision)
精確率容易和準確率被混爲一談。
其實,精確率只是針對預測正確的正樣本而不是所有預測正確的樣本。
表現爲預測出是正的裏面有多少真正是正的。可理解爲查準率。
Precision = TP/(TP+FP),即正確預測的正例數 /預測正例總數
2.2 召回率(Recall)
召回率表現出在實際正樣本中,分類器能預測出多少。與真正率相等,可理解爲查全率。
Recall = TP/(TP+FN),即正確預測的正例數 /實際正例總數
2.3 F1 score
F值是精確率和召回率的調和值,更接近於兩個數較小的那個。
所以精確率和召回率接近時,F值最大。
很多推薦系統的評測指標就是用F值的。
2/F1 = 1/Precision + 1/Recall
3 三個曲線
3.1 ROC曲線
ROC(receiver operating characteristic curve)
邏輯迴歸裏面,對於正負例的界定,通常會設一個閾值,大於閾值的爲正類,小於閾值爲負類。
如果我們減小這個閥值,更多的樣本會被識別爲正類,提高正類的識別率,但同時也會使得更多的負類被錯誤識別爲正類。爲了直觀表示這一現象,引入ROC。
根據分類結果計算得到ROC空間中相應的點,連接這些點就形成ROC curve,橫座標爲False Positive Rate(FPR假正率),縱座標爲True Positive Rate(TPR真正率)。
一般情況下,這個曲線都應該處於(0,0)和(1,1)連線的上方,如圖:
ROC曲線中的四個點和一條線:
- 點(0,1):即FPR=0, TPR=1,意味着FN=0且FP=0,將所有的樣本都正確分類。
- 點(1,0):即FPR=1,TPR=0,最差分類器,避開了所有正確答案。
- 點(0,0):即FPR=TPR=0,FP=TP=0,分類器把每個實例都預測爲負類。
- 點(1,1):分類器把每個實例都預測爲正類。
總之:ROC曲線越接近左上角,該分類器的性能越好。而且一般來說,如果ROC是光滑的,那麼基本可以判斷沒有太大的overfitting
3.2 AUC曲線
AUC(Area Under Curve)被定義爲ROC曲線下的面積(ROC的積分),通常大於0.5小於1。
隨機挑選一個正樣本以及一個負樣本,分類器判定正樣本的值高於負樣本的概率就是 AUC 值。
AUC值(面積)越大的分類器,性能越好,如圖:
3.3 PR曲線
PRC( precision recall curve)
PR曲線的橫座標是精確率P,縱座標是召回率R。
評價標準和ROC一樣,先看平滑不平滑(藍線明顯好些)。
一般來說,在同一測試集,上面的比下面的好(綠線比紅線好)。
當P和R的值接近時,F1值最大,此時畫連接(0,0)和(1,1)的線,線和PRC重合的地方的F1是這條線最大的F1(光滑的情況下),此時的F1對於PRC就好像AUC對於ROC一樣。
一個數字比一條線更方便調型。
有時候模型沒有單純的誰比誰好(比如圖二的藍線和青線),所以選擇模型還是要結合具體的使用場景。下面是兩個場景:
- 1,地震的預測 對於地震的預測,我們希望的是RECALL非常高,也就是說每次地震我們都希望預測出來。這個時候我們可以犧牲PRECISION。情願發出1000次警報,把10次地震都預測正確了,也不要預測100次對了8次漏了兩次。
- 2,嫌疑人定罪 基於不錯怪一個好人的原則,對於嫌疑人的定罪我們希望是非常準確的。即時有時候放過了一些罪犯(recall低),但也是值得的。
當正負樣本數量差距不大的情況下,ROC和PR的趨勢是差不多的,但是在正負樣本分佈極不均衡的情況下,PRC比ROC更能真實的反映出實際情況,因爲此時ROC曲線看起來似乎很好,但是卻在PR上效果一般。
詳見:https://www.zhihu.com/question/30643044/answer/48955833
------參考--------
參考:《機器學習分類器模型評價指標》:https://blog.csdn.net/login_sonata/article/details/54288653#commentBox