天天看點

roc曲線的意義_混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC了解與感悟...

由于工作的需要,最近對一些常見的評價名額重新溫習了一下,其中對混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC等概念進行了重點的溫習和了解,并結合自己的感悟,總結和梳理了一下。

首先說明一下,以上名額主要針對分類問題的,其中的根源和核心是二分類混淆矩陣。

1.混淆矩陣

下面展開說明都是以二分類混淆矩陣為基礎,多分類可以将除目标類之外的其他類别當成一類(反例)。

roc曲線的意義_混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC了解與感悟...

二分類混淆矩陣由2個次元組成,從樣本原本的屬性類别以及從預測結果類别。即預測是現象,原本屬性是根本,預測越接近原本屬性,模型越好,下面要介紹的名額都是從不同的次元/視角來刻畫預測逼近原本屬性的程度。

2.準确率

準确率是我們使用最常見的名額,是一個關于全局的名額,關注的是預測的效果。具體公式如下:

roc曲線的意義_混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC了解與感悟...

通常我們都會直接使用準确率作為模型的評價名額,但是在實際使用以及一些特定環境中,準确率作為模型的評價名額存在一定的局限性,比如當樣本分布不均時,一種極端特殊的情況,當正樣本比例為1%,負樣本筆記為99%,那麼隻需要将所有的樣本都判為負樣本,準确率就高達99%,這顯然是不合理的。是以為了更好的去評估模型,便有了下面就的評價名額。

3.精準率

精準率,又稱查準率,關注的正樣本,這符合實際的訴求,并且關注的是預測的效果,指在預測為正例中有多少為真正的正例,反應模型預估的精準程度,具體公式如下:

roc曲線的意義_混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC了解與感悟...

4.召回率

召回率,又稱查全率,關注的是正樣本,并且關注的是樣本的原本屬性,指的是資料集中的正樣本有多少被識别出來,具體的公式如下:

roc曲線的意義_混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC了解與感悟...

從召回率字面的角度也很好了解,在實際問題中的關注的永遠都是正樣本,召回的目标肯定就是正樣本,在目标正樣本中有多少正樣本被真正的召回識别。

5.真正率(真陽率)

真正率,True Positive Rate ,其實指上文介紹的召回率。

6.假正率(假陽率)

假正率,False Positive Rate,指的是原本為負樣本中有多少被預測為正樣本,關注的還是正樣本,隻不過從負樣本的次元來觀察,具體的公式為:

roc曲線的意義_混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC了解與感悟...

這裡稍微總結一下真正率和假正率,兩者關注的(目标)都是正樣本,這符合實際問題的訴求,隻不過兩者關注的角度不同,真正率是從正樣本的角度來看預測之後正樣本,假正率是從負樣本的角度來看預測之後的正樣本。兩者分開來看并最終綜合起來,就能比較全面和合理評估預測模型。

7.ROC

ROC,Receiver Operating Characteristic,受試者工作特征曲線,是以假正率為橫坐标,真正率為縱坐标,關注的是預測之後的正樣本,并且從正負兩個樣本集合角度分析。在坐标系中的圖形如下所示:

roc曲線的意義_混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC了解與感悟...

當确定一個門檻值,對應這ROC曲線上的一個點,原點對應的模型設定的門檻值為1,點(1,1)對應的模型設定的門檻值為0,理想情況下,随着門檻值設定的變小,ROC曲線的軌迹為先經過FPR=0這條直線而後經過TPR=1這條直線。下面來詳細分析這條直線。

當系統門檻值設定為1時,所有的樣本都會被判為負樣本,即TP/FP都為0,即為原點,随着門檻值設定的變小,由于門檻值總體還是比較大的,負樣本都判為負樣本,即FP為0,假正率為0,正樣本慢慢更多的被判為正樣本,即真正率慢慢變大,當假正率為0時,FP=0,負樣本都預測為負樣本,真正率為1時,FN=0,正樣本都預測為正樣本,表示一種理想狀态,所有的樣本都預測正确,同時也表名在機率預測高值部分,不同樣本的預測機率值排序正确。當門檻值進一步減小時,會經過FPR=1曲線,此時由于門檻值相對較小,正例都預測為正例,負例慢慢被預測為正例,FP不再為了,并且會慢慢增大,當門檻值為0時,所有的樣本都會預測為正例,即FN/TN=0,沒有樣本預測為負例。

對交線對應者随機猜測的性能,也即是不經過模型預測,随着門檻值的變化随機猜測之後的結果,這也ROC曲線對應的最差的結果。

8.AUC

AUC,Area Under Curve,曲線下面積,[0.5,1]之間,是基于ROC衍生的非常好的可量化的評價标準,ROC曲線是越陡約好,即AUC越大越好,理想情況下,面積為1。

AUC實體意義解讀:正常分類模型隻會設定一個門檻值,即不存在面積的說法,ROC考慮所有的分類門檻值的情況,可以解讀為正樣本排在負樣本之前的機率。

ROC/AUC使用解讀:

  • ROC/AUC能夠反應模型在一個資料集上的排序的準确程度;
  • 同時考慮了模型對正例和負例的分類能力,在樣本分布不均的情況下依然對模型做出合理的評估。

9.PRC

P-R曲線,Precision-Recall Curve,是以召回率為橫坐标,以精準率為縱坐标,不同的門檻值對應不同的P-R曲線上的點,P-R圖像如下:

roc曲線的意義_混淆矩陣、準确率、精确率、召回率、真正率、假正率、ROC/AUC、PRC了解與感悟...

評價标準為一個曲線A将另一個曲線C完全包住,代表曲線A對應的分類模型效果更好,若曲線A并沒有完全包住曲線B,則找兩個曲線的平衡點(查全率=查準率),看誰大誰對應的模型好。