精確率 召回率 RoC曲線 PR曲線
ps1:統計中,第一類錯誤:事實為真,被認為是假
第二類錯誤:事實為假,確認為是真
ps2:Roc曲線,曲線上每一個點對應一個模型,對於同一條曲線上,是指同一個演算法中所有模型,不同曲線代表圖通演算法。
1 TP, TN, FP, FN的概念
圖如下所示,裡面綠色的半圓就是TP(True Positives), 紅色的半圓就是FP(False Positives), 左邊的灰色長方形(不包括綠色半圓),就是FN(False Negatives)。右邊的 淺灰色長方形(不包括紅色半圓),就是TN(True Negatives)。這個綠色和紅色組成的圓內代表我們分類得到模型結果認為是正值的樣本。
TP(true positives):是指預測認為是對的(positives),並且確實為對的(true)
FP(false positives):是指預測認為是對的(positives),但是實際上是錯的(false)
FN(false negatives):是指預測認為是錯的(negitives),並且確實為錯的(false)
TN(true negatives):是指預測認為是錯的(negatives),但是實際上是對的(true)
2.精確率(Precision), 召回率(Recall), 特異性(Specificity),F1值,TPR,FPR的概念
(1)精確率(Precision)的數學定義是:
P = TP/(TP+FP)
公式實際上是表示在預測過程中,預測為真並且預測對的概率,是綠色半圓除以紅色綠色組成的圓.
(2)召回率(Recall)的數學定義是:
R = TP/(TP+FN)
公式實際上是表示在預測過程中,預測為真佔所有真集的概率,是綠色半圓除以左邊的長方形.
(3)特異性(Specificity)的數學定義是:
S = TN/(FP+TN)
公式實際上是表示在預測過程中,預測為假佔所有假集的概率,是右邊長方形去掉右邊半圓佔右邊長方形的部分.
(4)F1值的資料定義是:
2/F1 = 1/P +1/R
F1值是精確率與召回率之間的調和均值
但是有時候我們對P和R的權重設定有所不同,致使我們的F1值不同:
Fa = (1+a*a)*P *R/(a*aP +R)
當a<1的時候,精確率的權重小,當a>1時候精確率權重大
(5)靈敏度(TPR)
TPR,即true positives rate,它數值上等於召回率.
(6)1-特異度(FPR)
FPR,即false positives rade, 他等於1-特異度,它等於FP/(FP+TN)
3.ROC曲線和PR曲線
ROC曲線(receiver operating characteristic curve,簡稱ROC曲線),以TPR為y軸,以FPR為x軸,我們就直接得到了RoC曲線。從FPR和TPR的定義可以理解,TPR越高,FPR越小,我們的模型和演算法就越高效。也就是畫出來的RoC曲線越靠近左上越好。如下圖左圖所示。從幾何的角度講,RoC曲線下方的面積越大越大,則模型越優。所以有時候我們用RoC曲線下的面積,即AUC(Area Under Curve)值來作為演算法和模型好壞的標準。
以精確率(precision)為y軸,以召回率(recall)為x軸,我們就得到了PR曲線。仍然從精確率和召回率的定義可以理解,精確率越高,召回率越高,我們的模型和演算法就越高效。也就是畫出來的PR曲線越靠近右上越好。如上圖右圖所示。使用RoC曲線和PR曲線,我們就能很方便的評估我們的模型的分類能力的優劣了。