ROC曲線的通俗理解

2021-08-31 00:02:10 字數 2209 閱讀 1757

在準備機器學習導論課程考試的過程中,發現自己根據西瓜書上的講解總是也理解不上去roc曲線的含義。於是在網路上尋求答案,發現一篇講解得不錯的部落格,說得比西瓜書好很多,通俗易懂。這裡說一下自己的感想和理解對於已經有資料標籤的訓練樣本,可以得到它們的評分:

其中class一欄表示真實值,p為正例,n為反例,這20個樣本中有10個正例10個反例;score一欄則是分類器給出的分類評分。一般的二分類的實現方法就是選擇乙個閾值,將大於這個閾值的樣本認為是正例,小於這個閾值的樣本認為是反例。於是,不妨對 樣本4來看,如果將樣本4的評分設定為分類閾值,被分類器為正例的樣本有1 2 3 4,其中真正的正例樣本有1 2 4,故其tpr=3/10=0.3,fpr=1/10=0.1(分母雖然數值一樣但是意義不同,前面tpr的分母是樣本總體中的真正例個數,後者是樣本總體中的真反例個數)。接著不妨設定樣本9的評分0.51作為閾值,那麼樣本1~9都會被分類器認為是正例樣本,其中為真正例的有1 2 4 5 6 9共6個,所以tpr=6/10=0.6,fpr=3/10=0.3.如此這樣,將1~20每個樣本的評分均作為分類器的判定閾值,可以得到20組tpr和fpr的有序數對;然後不妨以tpr和fpr為兩個座標軸建立乙個直角座標系,就可以得到這樣的影象:

這樣每一**像在圖中都會有乙個座標,可以連成一條折線。一般地我們希望分類器得到的分類結果是完全正確的,也就是正例樣本全部都能夠被檢測出來,並且不會混入真反例樣本,這個時候tpr->1且fpr->0,反應在影象上好的分類器的折線應該更加接近左上角。當樣本足夠多時,折線就近似為圓滑的曲線,類似於這個樣子:

從這個圖上看,分類器a的結果肯定比分類器b要好。這個就是aoc曲線以及它的含義,通過這樣的分析理解,感到自己明白了很多。

附上繪圖所使用的matlab程式:

%code type:matlab

%繪製roc曲線,demo

clear all;

close all;

clc;

%測試樣本資料

samples=[

1,0.9;

1,0.8;

0,0.7;

1,0.6;

1,0.55;

1,0.54;

0,0.53;

0,0.52;

1,0.51;

0,0.505;

1,0.4;

0,0.39;

1,0.38;

0,0.37;

0,0.36;

0,0.35;

1,0.34;

0,0.33;

1,0.30;

0,0.1];

%首先準備繪製roc曲線

figure;

%開始計算tpr和fpr

tpr=zeros(20,1);

fpr=zeros(20,1);

%這裡的i表示以第i個樣本的評分作為分類閾值

for i=1:20

%正例樣本計數

p_cnt=0;

%這裡的j表示在統計正例個數的時候,遍歷到的樣本的id

for j=1:i

%判斷這個遍歷到的樣本是不是正例

if(samples(j,1)==1)

%是?計數器++

p_cnt=p_cnt+1;

endend

%計算tpr fpr

tpr(i)=p_cnt/10; %(10)是表示樣本總體中的真正例個數總數為10

fpr(i)=(i-p_cnt)/10; %這裡的10則是樣本總體中的真反例個數總數

end%計算完成之後需要做的事情就是……畫點,連線

plot(fpr,tpr,'*b-');

xlabel('fpr');

ylabel('tpf');

title('roc curve');

text(fpr+0.02,tpr+0.02,num2str(samples(:,2)));

dzl_ml.機器學習之分類器效能指標之roc曲線、auc值.,

dengchao.,roc曲線.

ROC曲線的理解

1 roc曲線的概念 受試者工作特徵曲線 receiver operating characteristic curve,簡稱roc曲線 又稱為 感受性曲線 sensitivity curve 得此名的原因在於曲線上各點反映著相同的感受性,它們都是對同一 訊號刺激的反應,只不過是在幾種不同的判定標準...

ks 曲線 ROC曲線與KS曲線的理解

roc曲線 roc曲線是評判乙個模型好壞的標準,有兩個值要知道,fpr 假正率 和tpr 真正率 roc曲線就是以這兩個值為座標軸畫的。比如邏輯回歸得到的結果是概率,那麼就要取閾值來劃分正負,這時候,每劃乙個閾值,就會產生一組fpr和tpr的值,然後把這組值畫成座標軸上的乙個點,這樣,當選取多組閾值...

ROC曲線及其matlab實現ROC曲線的繪畫

roc曲線 receiver operating characteristic curve 是利用classification模型真正率 true positive rate 和假正率 false positive rate 作為座標軸,圖形化表示分類方法的準確率的高低。roc圖的一些概念定義 真正...