一、準確率
準確率是我們常見的評價指標之一,一般定義是,分類正確的樣本數佔總樣本的比例數。
但是準確率在資料不均衡的資料集上會缺少一定的說服力,比如一個資料集,有990正樣本,10個負樣本,現在模型把樣本全部都預測成正樣本,那麼我們說模型的準確率是99%,這個從計算上看是沒問題,但是當樣本不均衡時,光使用準確率來評價一個模型的好壞是不夠的。
二、精準率和召回率
二分類問題的預測結果可以根據情況分成以下四類:
真正例(True Positive):預測值為1,真實值為1
假正例(False Positive):預測值為1,真實值為0
真反例(True Negative):預測值為0,真實值為0
假反例(False Negative):預測值為0,真實值為1
構造成結果的混淆矩陣
精準率又稱查準率:
召回率又稱查全率:
精準率可以解釋為,預測為正例的樣本中,有多少是真的正例
召回率可以解釋為,真實的正例的樣本中,有多少被預測出來
F1:精準率和召回率的調和平均
三、AUC
AUC是另一種評價二分類演算法的指標,被定義為 ROC 曲線下的面積。那什麼是ROC曲線呢?
ROC曲線的座標,縱座標為真正例率(True Positive Rate,TPR),橫座標為假正例率(False Positive Rate,FPR)
具體定義如下:
根據模型在ROC座標上的位置,可以判斷模型的效能
模型1
模型2
橫縱座標
ROC座標上的四個點
(0,1):所有樣本分類正確
(1,0):所有樣本分類錯誤
(0,0):所以樣本都分類為負
(1:1):所以樣本都分類為正
由上圖可以看出模型2要好於模型1
怎麼畫出AUC曲線呢,首先按照預測值進行排序
按照預測值大小,依次作為閾值,求解FP rate和TP rate
按照上圖的資訊可以畫出曲線
曲線下的面積被稱為AOC
AOC的意義:衡量正樣本排在負樣本前面的能力,這裡的能力更具體一點就是出現的機率。與域值的選取沒有關係。
四、混淆矩陣
對於多分類的相關問題,常用的評價標準是混淆矩陣
如果分成n個類別的話,混淆矩陣的形式是一個的一個矩陣,具體的形式如下
上圖中每一列代表預測的類別,每一行代表真實的類別的歸屬,第二行cat的總數量為8,表示類cat總共有8個樣本,其中3個分類正確,3個被錯誤的分到了dog,2個被錯誤的分到了robbit。
如果計算cat的準確率計算公式如下
參考文獻:
1、 李航《統計學習方法》清華大學出版社
2、周志華 《機器學習》 清華大學出版社
3、Confusion matrix
4、sklearn.metrics.confusion_matrix - scikit-learn 0.20.2 documentation
原文來自學員知乎作業:
https://zhuanlan.zhihu.com/p/55324860