R語言中繪制ROC曲線和PR曲線
原文鏈接:http://tecdat.cn/?p=6236
?
?ROC 曲線可能是評估評分分類器的預(yù)測性能的最常用的度量。
預(yù)測正類(+1)和負類(-1)的分類器的混淆矩陣具有以下結(jié)構(gòu):
預(yù)測/參考類+1-1+1TPFP-1FNTN
這里,TP表示真陽性的數(shù)量(模型正確預(yù)測正類),F(xiàn)P表示誤報的數(shù)量(模型錯誤地預(yù)測正類),F(xiàn)N表示假陰性的數(shù)量(模型錯誤地預(yù)測陰性類),TN表示真陰性的數(shù)量(模型正確預(yù)測陰性類)。
ROC曲線
??


plot.Scores.AUC <- function (y, y.hat, measure = ?"tpr" , x.measure = ?"fpr" ) {
par(mfrow=c( 1 , ?2 ))
hist(y.hat[y == ?0 ], col=rgb( 1 ?, 0 , 0 , 0.5 ),
main = ?"Score Distribution" ,
breaks=seq(min(y.hat),max(y.hat)+ 1 , ?1 ), xlab = ?"Prediction" )
hist(y.hat[y == ?1 ], col = rgb( 0 ,<span style="color:#880000">0</span>,<span style="color:#880000">1</span>,<span style="color:#880000">0.5</span>), add=<span style="color:#78a960">T</span>,
breaks=seq(min(y.hat),max(y.hat) + <span
# plot ROC curve</span>
pr <- prediction(y.hat, y)
prf <- performance(pr, measure = measure, x.measure = x.measure)
auc <- performance(pr, measure = <span style="color:#880000">"auc"</span>)@y.values[
plot(prf, main = ?"Curve (AUC: "
AUC是完美的分類器
理想的分類器不會產(chǎn)生任何預(yù)測錯誤。這意味著分類器可以完美地分離這兩個類,使得模型在產(chǎn)生任何誤報之前實現(xiàn)100%的真正正率。因此,這種分類器的AUC是1,例如:

?
AUC是一個很好的分類器
將兩個類分開但不完美的分類器看起來像這樣:

?
可視化分類器能夠在非常低的FPR下獲得60%的靈敏度。
壞分類器的AUC
錯誤的分類器將輸出其值僅與結(jié)果稍微相關(guān)的分數(shù)。這樣的分類器將僅以高FPR為代價達到高TPR。

?
只有在大約40%的FPR下,可視化分類器才能達到60%的靈敏度,這對于應(yīng)該具有實際應(yīng)用的分類器來說太高了。
隨機分類器的AUC
隨機分類器的AUC接近0.5。這很容易理解:對于每個正確的預(yù)測,下一個預(yù)測都是不正確的。

?
分類器的AUC表現(xiàn)比隨機分類器差
[0.5,1][0.5,1]

?
可視化分類器在達到20%以上的靈敏度之前產(chǎn)生80%的FPR。
AUC-PR曲線
精確回憶曲線繪制陽性預(yù)測值(PPV,y軸)與真陽性率(TPR,x軸)。這些數(shù)量定義如下:
?
precisionrecall=PPV=TPTP+FP=TPR=TPTP+FNprecision=PPV=TPTP+FPrecall=TPR=TPTP+FN
?
?例如,請考慮以下數(shù)據(jù)集:


?
?
在下文中,我將演示 AUC-PR 下的面積如何受預(yù)測性能的影響。
AUC-PR是完美的分類器
理想的分類器不會產(chǎn)生任何預(yù)測錯誤。因此,它將獲得1的AUC-PR:

?
AUC-PR是一個好的分類器
將兩個類分開但不完美的分類器將具有以下精確回憶曲線:

?
可視化分類器在沒有任何錯誤的正面預(yù)測的情況下達到約50%的召回率。
壞分類器的AUC-PR
錯誤的分類器將輸出其值僅與結(jié)果稍微相關(guān)的分數(shù)。這樣的分類器只能以低精度達到高召回率:

?
召回率僅為20%時,分級機的精度僅為60%。
隨機分類器的AUC-PR
隨機分類器的AUC-PR接近0.5。這很容易理解:對于每個正確的預(yù)測,下一個預(yù)測都是不正確的。

?
AUC-PR的分類器比隨機分類器表現(xiàn)更差
?
?
?如果您有任何疑問,請在下面發(fā)表評論。?
請選中你要保存的內(nèi)容,粘貼到此文本框