機器學習-基礎知識 - PR、ROC曲線與AUC

PR曲線與ROC曲線都是機器學習中性能評估的重要指標,本文主要講這兩個曲線。

預備知識

示例數據

樣本編號
1
2
3
4
5
6
7
8
9
10
真實類別
P
P
P
P
P
P
N
N
N
N

預測-1

樣本編號
1
2
3
4
5
6
7
8
9
10
預測爲正樣本
的概率
0.9
0.8
0.7
0.6
0.6
0.4
0.5
0.4
0.3
0.2

預測-2

樣本編號
1
2
3
4
5
6
7
8
9
10
預測爲正樣本
的概率
0.8
0.7
0.7
0.8
0.7
0.4
0.6
0.3
0.3
0.1

PR曲線

含義:PR曲線中P爲Precision(查準率),R爲Recall(查全率)。以Recall爲橫座標、Precision爲縱座標繪製的曲線即爲PR曲線。有同學可能會問Precision、Recall不就是一個值麼,怎麼畫出的曲線?

曲線的由來

事實上機器學習訓練好的模型在對測試樣本進行預測的時候,輸出的原始結果是模型預測該樣本爲正樣本的概率,而不是我們平時經常聽到的Positive或Negative,而概率如何轉化爲機器學習的輸出靠的是一個閾值,當概率大於閾值則判斷其爲正樣本,反之爲負樣本。

而這個非常關鍵的閾值本身不是固定的,在閾值變化過程中模型對樣本的預測類別也會相應發生變化,那麼閾值不斷變化導致模型Precision和Recall變化,將這些點連成線也就是PR曲線了。

繪製示例數據的PR曲線

爲直觀展示PR曲線繪製過程,根據示例數據繪製PR曲線(簡便起見閾值選定爲0.05-0.95,跨度0.1)。

閾值
預測-1
預測-2
0.05
TP
FP
TN
FN
TP
FP
TN
FN
6
4
0
0
6
4
0
0
Precision
0.6
Recall
1
Precision
0.6
Recall
1
0.15
TP
FP
TN
FN
TP
FP
TN
FN
6
4
0
0
6
3
1
0
Precision
0.6
Recall
1
Precision
0.67
Recall
1
0.25
TP
FP
TN
FN
TP
FP
TN
FN
6
3
1
0
6
3
1
0
Precision
0.67
Recall
1
Precision
0.67
Recall
1
0.35
TP
FP
TN
FN
TP
FP
TN
FN
6
2
2
0
6
1
3
0
Precision
0.75
Recall
1
Precision
0.86
Recall
1
0.45
TP
FP
TN
FN
TP
FP
TN
FN
5
1
3
1
5
1
3
1
Precision
0.83
Recall
0.83
Precision
0.83
Recall
0.83
0.55
TP
FP
TN
FN
TP
FP
TN
FN
5
0
4
1
5
1
3
1
Precision
1
Recall
0.83
Precision
0.83
Recall
0.83
0.65
TP
FP
TN
FN
TP
FP
TN
FN
3
0
4
3
5
0
4
1
Precision
1
Recall
0.5
Precision
1
Recall
0.83
0.75
TP
FP
TN
FN
TP
FP
TN
FN
2
0
4
4
2
0
4
4
Precision
1
Recall
0.33
Precision
1
Recall
0.33
0.85
TP
FP
TN
FN
TP
FP
TN
FN
1
0
4
5
0
0
4
6
Precision
1
Recall
0.17
Precision
-
Recall
0
0.95
TP
FP
TN
FN
TP
FP
TN
FN
0
0
4
6
0
0
4
6
Precision
-
Recall
0
Precision
-
Recall
0

結果座標

編號
1
2
3
4
5
6
7
8
9
10
預測-1
Recall
1
1
1
1
0.83
0.83
0.5
0.33
0.17
0
Precision
0.6
0.6
0.67
0.75
0.83
1
1
1
1
-
預測-2
Recall
1
1
1
1
0.83
0.83
0.83
0.33
0
0
Precision
0.6
0.67
0.67
0.86
0.83
0.83
1
1
-
-

PR曲線:

PR曲線

  • 如果一個學習器的P-R曲線被另一個學習器的P-R曲線完全包住,則可斷言後者的性能優於前者,示例數據中根據PR曲線可以看到預測2優於預測1

  • 至於有交叉的情況可以判斷曲線下方的面積大小來判斷,面積大的性能更好

  • 平衡點(BEP)是P=R時的取值,如果這個值較大,則說明學習器的性能較好

參考性能評估之PR曲線與ROC曲線

ROC曲線

ROC曲線英文’receiver operating characteristic curve’,直譯爲“接受者操作特性曲線”,又稱爲感受性曲線(sensitivity curve)。得此名的原因在於曲線上各點反映着相同的感受性,它們都是對同一信號刺激的反應,只不過是在幾種不同的判定標準下所得的結果而已。

ROC曲線是在門限閾值不斷變化過程中以虛警概率(FPR)爲橫軸,擊中概率(TPR)爲縱軸繪製而成的曲線。

繪製示例數據的ROC曲線

爲直觀展示ROC曲線繪製過程,根據示例數據繪製ROC曲線(簡便起見閾值選定爲0.05-0.95,跨度0.1)。

閾值
預測-1
預測-2
0.05
TP
FP
TN
FN
TP
FP
TN
FN
6
4
0
0
6
4
0
0
FPR
1
TPR
1
FPR
1
TPR
1
0.15
TP
FP
TN
FN
TP
FP
TN
FN
6
4
0
0
6
3
1
0
FPR
1
TPR
1
FPR
0.75
TPR
1
0.25
TP
FP
TN
FN
TP
FP
TN
FN
6
3
1
0
6
3
1
0
FPR
0.75
TPR
1
FPR
0.75
TPR
1
0.35
TP
FP
TN
FN
TP
FP
TN
FN
6
2
2
0
6
1
3
0
FPR
0.5
TPR
1
FPR
0.25
TPR
1
0.45
TP
FP
TN
FN
TP
FP
TN
FN
5
1
3
1
5
1
3
1
FPR
0.25
TPR
0.83
FPR
0.25
TPR
0.83
0.55
TP
FP
TN
FN
TP
FP
TN
FN
5
0
4
1
5
1
3
1
FPR
0
TPR
0.83
FPR
0.25
TPR
0.83
0.65
TP
FP
TN
FN
TP
FP
TN
FN
3
0
4
3
5
0
4
1
FPR
0
TPR
0.5
FPR
0
TPR
0.83
0.75
TP
FP
TN
FN
TP
FP
TN
FN
2
0
4
4
2
0
4
4
FPR
0
TPR
0.33
FPR
0
TPR
0.33
0.85
TP
FP
TN
FN
TP
FP
TN
FN
1
0
4
5
0
0
4
6
FPR
0
TPR
0.17
FPR
0
TPR
0
0.95
TP
FP
TN
FN
TP
FP
TN
FN
0
0
4
6
0
0
4
6
FPR
0
TPR
0
FPR
0
TPR
0

結果座標

編號
1
2
3
4
5
6
7
8
9
10
預測-1
FPR
1
1
0.75
0.5
0.25
0
0
0
0
0
TPR
1
1
1
1
0.83
0.83
0.5
0.33
0.17
0
預測-2
FPR
1
0.75
0.75
0.25
0.25
0.25
0
0
0
0
TPR
1
1
1
1
0.83
0.83
0.83
0.33
0
0

ROC曲線:

ROC曲線

ROC曲線圖中,座標(0,0)代表的含義是虛警概率爲0,既沒有負樣本被判定爲正樣本,同時召回率也爲0,既沒有正樣本被判定爲正樣本 —— 也就是此處表示所有樣本都判定爲了負樣本。這是由於閾值選擇接近1,導致沒有樣本被劃定到正樣本區域內,並不說明模型不好,事實上所有的模型都會經過這一點;

同理,座標(1,1)表示閾值接近0,所有樣本均被判定爲正;

座標(0,1)意味着完美的分類器,在虛警爲0的情況下正確判斷了所有正樣本,這也是我們機器學習人的畢生追求。因此ROC曲線越接近左上角,模型性能越好。

AUC

  • AUC是英文 Area under Curve的縮寫,表示的是ROC曲線下的面積,也就是ROC曲線在[0,1]上的積分

  • 這是用來評價模型分類器性能的指標,對不同模型來說,AUC越大表示分類性能越好

  • AUC取值範圍爲[0,1],有效果的分類器會大於0.5,效果差的會接近0.5

  • 如果有人問爲什麼不是接近0的效果最差呢? 事實上如果你得到了AUC爲0的分類器,只需要對輸出取反你就得到了完美的分類器。

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