機器學習-評價指標對比

Precision vs Recall

precision是查準率——是所有做出正類預測的情況下,正確的概率

公式:P = 預測爲正且真實爲正的樣本 / 模型預測爲正的所有樣本

recall是查全率——對所有真實爲正的樣本,模型所覆蓋的比例。查全率recall越高,則正樣本被覆蓋到的比例越大;如果放到信息檢索任務中,recall越高,則越多有價值的信息被檢索出來。

公式:R = 預測爲正且真實爲正的樣本 / 真實爲正的所有樣本

如果貪婪地儘可能把測試樣本標記爲正,則正樣本覆蓋率增加,查全率recall會隨之增加,但查準率precision下降,在某乎上看到的一個很形象的比喻可以用來描述這種做法:寧可錯殺一千,不肯放過一個。

如果保守地只對確信無疑的樣本才標記爲正,那麼查準率precision自然會升高,而不可避免地會產生大量漏檢,查全率recall也就降低了。

F1-score and Fβ-score

F1-score可以全面考慮precision和recall,

公式:F1-score = 2 P R / (P + R)。 由公式可以看出,查全率和查準率對於F1-score的貢獻是相同的,並且單純看F1-score值的話沒有辦法判斷是precision低了還是recall低了,於是在多分類的場景下,通常可以把每一個類別的P,R,F1都計算出來,然後綜合對比這三個指標。

其實,F1-score是Fβ-score的一種特殊情況。Fβ-score的公式爲:

 

查全率和查準率是相互矛盾的兩個指標(通常一個低了,另外一個會更高)。由於根據應用場景的不同,我們會對P和R有不同的偏好, 比如在信貸風險評估的任務中,我們希望儘可能降低風險,那麼就會對recall更加註重(寧可錯殺一千,不肯放過一個!)。Fβ-score爲P和R的偏好提供了一種方便的設置方法,通過降低β就增加了recall的權重,降低了precision的權重,對於recall相對較高的模型,最終的Fβ-score也會較高。同理,增加β就增加了precision的權重,降低了recall的權重。β = 1時recall和precision權重相等,等價於F1-score。 

 

ROC曲線和AUC指標

注意:ROC和AUC是二分類獨有的一種評測指標。

ROC曲線的繪製,是基於真正例率True positive rate(簡稱TP) 和假正例率False positive rate(簡稱FP)。

真正例率TP = 所有正樣本中被模型標記爲正的比例 = 模型標記爲正且真實爲正的樣本數 / 所有正樣本數

假正例率FP = 所有負樣本中被模型標記爲正的比例 = 模型標記爲正但真實爲負的樣本數 / 所有負樣本數

如何繪製ROC曲線呢?二分類模型對於每一個測試樣本都會輸出一個概率值,該概率值代表了測試樣本標記爲正例的可能性,我們把模型對所有測試樣本輸出的概率值,按照概率值由大到小,對這些測試樣本做一個降序排序。接着,以FP爲橫軸,TP爲縱軸,作爲繪製ROC的座標系。對降序排列的測試樣本,依次把每一個樣本標記爲正,同時計算當前時刻下的FP和TP,並在ROC的座標系中對應的點做一個標記。在所有測試樣本都被標記爲正之後,假如有t個測試樣本,就有t個時刻的FP和TP,即t個座標點,把這t個點連接起來,就得到了ROC曲線(如下圖所示)。ROC曲線與FP軸、FP=1圍成的面積,等於AUC(如下圖中陰影部分面積)。AUC可以用於描述二分類模型對於正負樣本的區分程度,區分程度越好的模型,AUC的值越接近1。

                         

對這種區分程度,可以這樣理解:區分程度越好的二分類模型,能夠對正例輸出更大的概率值,對負例輸出更低的概率值,那麼對所有測試樣本的輸出概率做降序排列之後,由於區分度更好的模型能夠對大部分正例輸出更大的概率值,故大部分正例會被排列在左側,大部分負例會因爲更小的輸出值而被排列在右側,所以在從大到小依次把每個樣本標記爲正的這個過程中,曲線先是沿着TP方向(縱軸)不斷上升,上升到接近1的時候,大部分正例都被遍歷到了,這時曲線纔開始沿着FP方向不斷往右走...TP和FP與TP=1,FP=1圍成的是一個面積爲1的正方形,故對於區分度很顯著的模型,我們最終繪製出的ROC曲線,其AUC值就接近於1了。

AUC的優勢在於,在樣本數量足夠多的情況下,樣本不平衡問題對於AUC的影響較小,且樣本分佈發生一定變化的情況下AUC也也能保持穩定。AUC的劣勢在於,只能用於二分類場景,多分類無法使用AUC。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章