1. 程式人生 > 其它 >特異度(specificity)與靈敏度(sensitivity)

特異度(specificity)與靈敏度(sensitivity)

前言

參考網址:https://www.jianshu.com/p/7919ef304b19

在論文閱讀的過程中,經常遇到使用特異性(specificity)和靈敏度(sensitivity)這兩個指標來描述分類器的效能。對這兩個指標表示的含有一些模糊,這裡查閱了相關資料後記錄一下。

基礎知識

考慮一個二分類的情況,類別為1和0,我們將1和0分別作為正類(positive)和負類(negative),則實際分類的結果有4種,表格如下:

從這個表格中可以引出一些其它的評價指標:

  • ACC:classification accuracy,描述分類器的分類準確率
    計算公式為:ACC=(TP+TN)/(TP+FP+FN+TN)
  • BER:balanced error rate
    計算公式為:BER=1/2*(FPR+FN/(FN+TP))
  • TPR:true positive rate,描述識別出的所有正例佔所有正例的比例
    計算公式為:TPR=TP/ (TP+ FN)
  • FPR:false positive rate,描述將負例識別為正例的情況佔所有負例的比例
    計算公式為:FPR= FP / (FP + TN)
  • TNR:true negative rate,描述識別出的負例佔所有負例的比例
    計算公式為:TNR= TN / (FP + TN)
  • PPV:Positive predictive value
    計算公式為:PPV=TP / (TP + FP)
  • NPV:Negative predictive value
    計算公式:NPV=TN / (FN + TN)
    其中TPR即為敏感度(sensitivity),TNR即為特異度(specificity)。

維基百科的附圖

image.png

例項解釋

下面以醫學中糖尿病人的篩查為例對敏感度和特異度進行解釋。在這個例子中,我們只將病人血糖水平作為判斷是否患有糖尿病的指標。下圖為正常人和糖尿病患者血糖水平的統計圖:

我們發現兩個人群中有重疊的部分,這個時候判定標準定的不同,得到的結果就會不同。

如果我們把標準定在最左邊的虛線上,則低於這條線的為正常人,高於這條線的包含了兩類人:正常人和糖尿病患者。這種時候就是靈敏度最高的時候,即實際有病而被診斷出患病的概率,沒有放過一個患病的人。如果將標準定在最右邊的虛線上,則是特異度最高的時候,即實際沒病而被診斷為正常的概率,沒有冤枉一個沒病的人。
終上所述,敏感度高=漏診率低,特異度高=誤診率低。
理想情況下我們希望敏感度和特異度都很高,然而實際上我們一般在敏感度和特異度中尋找一個平衡點,這個過程可以用ROC(Receiver Operating Characteristic)曲線來表示:

即圖中V34點,具有較高的靈敏度和特異度。

參考資料

哪個大神能解釋一下敏感性和特異性?學了好幾年了一直不是很清楚-知乎
ROC曲線-百度百科
Positive and negative predictive values

注:文中的圖片均來自參考資料。

本文來自部落格園,作者:程式設計coding小白,轉載請註明原文連結:https://www.cnblogs.com/zhenhua1203/p/15568372.html