查全率(Recall),查準率(Precision),靈敏性(Sensitivity),特異性(Specificity),F1,PR曲線,ROC,AUC的應用場景

以前介紹了這麼多分類模型的性能評價指標(分類模型的性能評價指標(Classification Model Performance Evaluation Metric)),那麼到底應該選擇哪些指標來評估本身的模型呢?答案是應根據應用場景進行選擇。html

 

查全率(Recall):recall是相對真實的狀況而言的:假設測試集裏面有100個正類,若是模型預測出其中40個是正類,那模型的recall就是40%。查全率也稱爲召回率,等價於靈敏性(Sensitivity)真正率(True Positive Rate,TPR)
性能

 

查全率的應用場景:須要儘量地把所需的類別檢測出來,而不在意結果是否準確。好比對於地震的預測,咱們但願每次地震都能被預測出來,這個時候能夠犧牲precision。假如一共發生了10次地震,咱們情願發出1000次警報,這樣能把這10次地震都涵蓋進去(此時recall是100%,precision是1%),也不要發出100次警報,其中有8次地震給預測到了,但漏了2次(此時recall是80%,precision是8%)。測試

 

查準率(Precision):precision是相對模型的預測結果而言的:假設模型一共預測出了100個正類,其中80個是正確的,那麼precision就是80%。
搜索引擎

 

 

查準率的應用場景:須要儘量地把所需的類別檢測準確,而不在意這些類別是否都被檢測出來。好比對於罪犯的預測,咱們但願預測結果是很是準確的,即便有時候放過了一些真正的罪犯,也不能錯怪一個好人。lua

 

總結一下查全率和查準率的區別:
1. recall和precision是相互矛盾的。若是想要更高的recall,那麼就要讓模型的預測能覆蓋到更多的樣本,可是這樣模型就更有可能犯錯,也就是說precision會比較低。若是模型很保守,只能檢測出它很肯定的樣本,那麼其precision會很高,可是recall會相對低。
2. recall(TPR)的分母是樣本中正類的個數,所以樣本一旦肯定,其分母即爲定值,也就是說recall的變化隨分子增長而單調遞增;precision的分母是樣本中預測爲正類的個數,其會隨着分類閾值的變化而變化,所以Precision的變化受TP和FP的綜合影響,不單調,變化狀況不可預測。

 


 

F1:F1 score是對查準率和查全率取平均,可是這裏不是取算數平均,而是取調和平均。爲何?由於調和平均值更接近較小值,這樣查準率或查全率中哪一個值較小,調和平均值就更接近這個值,這樣的測量指標更嚴格。spa

  或  3d

 

F1的應用場景:在precision和recall二者要求一樣高的狀況下,能夠用F1來衡量。orm

 


 

查全率和查準率是最經常使用的兩個分類指標,除此以外人們還會用到如下一些指標:htm

(注:查全率在醫學上常常被稱爲真陽性率(True Positive Rate,TPR),也就是正確檢測出疾病的比例。)blog

 

假陽性率(False Positive Rate,FPR):在全部實際爲負類的樣本中,預測錯誤的比例,在醫學上又稱誤診率(沒有病的人被檢測出有病),等於 1 - 特異性(Specificity)

FPR= FP / (FP + TN) 

 

假陰性率(False Negative Rate,FNR):在全部實際爲正類的樣本中,預測錯誤的比例,在醫學上又稱漏診率(有病的人沒有被檢測出來),等於 1 - 靈敏性(Sensitivity)

FNR = FN /(TP + FN)

 

與recall和precision相互矛盾不一樣,TPR和FPR呈正相關關係,也就是說TPR增大,FPR也會變大。咱們但願TPR可以越大越好(爲1),FPR越小越好(爲0),但這一般是不可能發生的。

 


 

在現實中,人們每每對查全率和查準率都有要求,可是會根據應用場景偏向某一邊。好比作疾病檢測,咱們但願儘量地把疾病檢測出來,但同時也不想檢測結果的準確率過低,由於這樣會形成恐慌和沒必要要的醫療支出(偏向recall)。又好比對於垃圾郵件檢測(Spam Detection),咱們但願檢測出的垃圾郵件確定是垃圾郵件,而不但願把正常郵件郵件歸爲垃圾郵件,由於這樣有可能會給客戶形成很大的損失,可是相對地,若是咱們常常把垃圾郵件歸爲正常郵件,雖然不會形成很大損失,可是會影響用戶體驗(偏向precision)。再好比若是是作搜索,搜出來的網頁都和關鍵詞相關纔是好的搜索引擎,在這種狀況下,咱們但願precision高一些(偏向precision)。這時就要用到PR曲線。

 

PR曲線:x軸爲查全率,y軸爲查準率。

 

PR曲線的應用場景:須要根據需求找到對應的precision和recall值。若是偏向precison,那就是在保證recall的狀況下提高precision;若是偏向recall,那就是在保證precision的狀況下提高recall。好比對於欺詐檢測(Fraud Detection),若是要求預測出的潛在欺詐人羣儘量準確,那麼就要提升precision;而若是要儘量多地預測出潛在的欺詐人羣,那麼就是要提升recall。通常來講,提升二分類模型的分類閾值就能提升precision,下降分類閾值就能提升 recall,這時即可觀察PR 曲線,根據本身的須要,找到最優的分類閾值(threshold)。

 


 

ROC曲線和AUC:ROC曲線的x軸爲FPR,y軸爲TPR。AUC值是一個機率值,反映的是分類器對樣本的排序能力,即從全部正例中隨機選取一個樣本A,再從全部負例中隨機選取一個樣本B,分類器將A判爲正例的機率比將B判爲正例的機率大的可能性。AUC越大,說明排序能力越好,即分類器將越多的正例排在負例以前。

 

對於一個給定的數據集,ROC空間和PR空間存在一一對應的關係,由於兩者的混淆矩陣徹底一致的。咱們能夠將ROC曲線轉化爲PR曲線,反之亦然。那麼既然已經有這麼多評價指標了,爲何還要使用ROC曲線和AUC呢?這是由於ROC曲線有一個很好的特性:當測試集中正負樣本的比例發生變化的時候,ROC曲線可以保持不變。這樣,當測試數據中正負樣本的分佈隨時間而變化時,咱們就能夠經過ROC曲線來比較模型的性能。

 

ROC曲線和AUC的應用場景:在二分類模型中正例和負例同等重要的時候(須要比較模型的總體性能),或者當測試數據中正負樣本的分佈隨時間而變化時,適合用ROC曲線評價。

 

通常來講,模型的ROC-AUC值越大,模型的分類效果越好。不過若是兩個模型AUC值差很少,並不表明這兩個模型的效果相同。下面兩幅圖中兩條ROC曲線相交於一點,AUC值幾乎同樣:當須要高Sensitivity時,模型A(細線)比B好;當須要高Speciticity時,模型B(粗線)比A好。

 

總結一下PR曲線和ROC曲線&AUC的區別:

1. 在正負樣本差距不大的狀況下,ROC曲線和PR曲線的趨勢是差很少的,可是當正負樣本相差懸殊的時候(一般負樣本比正樣本多不少),二者就大相徑庭了,在ROC曲線上的效果依然看似很好,可是在PR曲線上就效果通常了。這就說明對於類別不平衡問題,ROC曲線的表現會比較穩定(不會受不均衡數據的影響),但若是咱們但願看出模型在正類上的表現效果,仍是用PR曲線更好,由於此時ROC曲線一般會給出一個過於樂觀的效果估計。

2. ROC曲線因爲兼顧正例與負例,適用於評估分類器的總體性能(一般是計算AUC,表示模型的排序性能);PR曲線則徹底聚焦於正例,所以若是咱們主要關心的是正例,那麼用PR曲線比較好。

3. ROC曲線不會隨着類別分佈的改變而改變。然而,這一特性在必定程度上也是其缺點。所以須要根據不用的場景進行選擇:好比對於欺詐檢測,每月正例和負例的比例可能都不相同,這時候若是隻想看一下分類器的總體性能是否穩定,則用ROC曲線比較合適,由於類別分佈的改變可能使得PR曲線發生變化,這種時候難以進行模型性能的比較;反之,若是想測試不一樣的類別分佈對分類器性能的影響,則用PR曲線比較合適。

 

總的來講,咱們應該根據具體的應用場景,在相應的曲線上找到最優的點,獲得相對應的precision,recall,f1 score等指標,而後去調整模型的分類閾值,從而獲得一個符合具體應用的模型。

 


 

附:

如何畫PR曲線?

根據每一個測試樣本屬於正樣本的機率值從大到小排序,依次將這些機率值做爲分類閾值,當測試樣本屬於正樣本的機率大於或等於這個threshold時,咱們認爲它爲正樣本,不然爲負樣本。每次選取一個不一樣的threshold,咱們就能夠獲得一組recall和precision,即PR曲線上的一點。取n組不一樣的分類閾值,就能夠獲得n個點,鏈接起來就成爲一條曲線。threshold取值越多,PR曲線越平滑。

 

如何畫ROC曲線?

根據每一個測試樣本屬於正樣本的機率值從大到小排序,依次將這些機率值做爲分類閾值,當測試樣本屬於正樣本的機率大於或等於這個threshold時,咱們認爲它爲正樣本,不然爲負樣本。每次選取一個不一樣的threshold,咱們就能夠獲得一組FPR和TPR,即ROC曲線上的一點。取n組不一樣的分類閾值,就能夠獲得n個點,鏈接起來就成爲一條曲線。threshold取值越多,ROC曲線越平滑。

 

如何計算AUC值?

假定ROC曲線是由座標爲 [公式] 的點按序鏈接而造成,則AUC可估算爲:

相關文章
相關標籤/搜索