天天看點

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

 ROC 曲線可能是評估評分分類器的預測性能的最常用的度量。

預測正類(+1)和負類(-1)的分類器的混淆矩陣具有以下結構:

預測/參考類 +1 -1
+1 TP FP
-1 FN TN

這裡,TP表示真陽性的數量(模型正确預測正類),FP表示誤報的數量(模型錯誤地預測正類),FN表示假陰性的數量(模型錯誤地預測陰性類),TN表示真陰性的數量(模型正确預測陰性類)。

ROC曲線

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線
拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線
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是完美的分類器

理想的分類器不會産生任何預測錯誤。這意味着分類器可以完美地分離這兩個類,使得模型在産生任何誤報之前實作100%的真正正率。是以,這種分類器的AUC是1,例如:

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

AUC是一個很好的分類器

将兩個類分開但不完美的分類器看起來像這樣:

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

可視化分類器能夠在非常低的FPR下獲得60%的靈敏度。

壞分類器的AUC

錯誤的分類器将輸出其值僅與結果稍微相關的分數。這樣的分類器将僅以高FPR為代價達到高TPR。

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

隻有在大約40%的FPR下,可視化分類器才能達到60%的靈敏度,這對于應該具有實際應用的分類器來說太高了。

随機分類器的AUC

随機分類器的AUC接近0.5。這很容易了解:對于每個正确的預測,下一個預測都是不正确的。

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

分類器的AUC表現比随機分類器差

[0.5,1][0.5,1]

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

可視化分類器在達到20%以上的靈敏度之前産生80%的FPR。

AUC-PR曲線

精确回憶曲線繪制陽性預測值(PPV,y軸)與真陽性率(TPR,x軸)。這些數量定義如下:

precisionrecall=PPV=TPTP+FP=TPR=TPTP+FNprecision=PPV=TPTP+FPrecall=TPR=TPTP+FN      

 例如,請考慮以下資料集:

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線
拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

在下文中,我将示範 AUC-PR 下的面積如何受預測性能的影響。

AUC-PR是完美的分類器

理想的分類器不會産生任何預測錯誤。是以,它将獲得1的AUC-PR:

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

AUC-PR是一個好的分類器

将兩個類分開但不完美的分類器将具有以下精确回憶曲線:

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

可視化分類器在沒有任何錯誤的正面預測的情況下達到約50%的召回率。

壞分類器的AUC-PR

錯誤的分類器将輸出其值僅與結果稍微相關的分數。這樣的分類器隻能以低精度達到高召回率:

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

召回率僅為20%時,分級機的精度僅為60%。

随機分類器的AUC-PR

随機分類器的AUC-PR接近0.5。這很容易了解:對于每個正确的預測,下一個預測都是不正确的。

拓端tecdat|R語言代寫輔導中繪制ROC曲線和PR曲線

AUC-PR的分類器比随機分類器表現更差