關於ROC曲線的繪制過程,通過以下舉例進行說明
假設有6次展示記錄,有兩次被點擊了,得到一個展示序列(1:1,2:0,3:1,4:0,5:0,6:0),前面的表示序號,后面的表示點擊(1)或沒有點擊(0)。
然后在這6次展示的時候都通過model算出了點擊的概率序列。
下面看三種情況。
1 曲線繪制
1.1 如果概率的序列是(1:0.9,2:0.7,3:0.8,4:0.6,5:0.5,6:0.4)。
與原來的序列一起,得到序列(從概率從高到低排
1 | 1 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|
0.9 | 0.8 | 0.7 | 0.6 | 0.5 | 0.4 |
繪制的步驟是:
1)把概率序列從高到低排序,得到順序(1:0.9,3:0.8,2:0.7,4:0.6,5:0.5,6:0.4);
2)從概率最大開始取一個點作為正類,取到點1,計算得到TPR=0.5,FPR=0.0;
3)從概率最大開始,再取一個點作為正類,取到點3,計算得到TPR=1.0,FPR=0.0;
4)再從最大開始取一個點作為正類,取到點2,計算得到TPR=1.0,FPR=0.25;
5)以此類推,得到6對TPR和FPR。
然后把這6對數據組成6個點(0,0.5),(0,1.0),(0.25,1),(0.5,1),(0.75,1),(1.0,1.0)。
這6個點在二維坐標系中能繪出來。
看看圖中,那個就是ROC曲線。
1.2 如果概率的序列是(1:0.9,2:0.8,3:0.7,4:0.6,5:0.5,6:0.4)
與原來的序列一起,得到序列(從概率從高到低排)
1 | 0 | 1 | 0 | 0 | 0 |
---|---|---|---|---|---|
0.9 | 0.8 | 0.7 | 0.6 | 0.5 | 0.4 |
繪制的步驟是:
6)把概率序列從高到低排序,得到順序(1:0.9,2:0.8,3:0.7,4:0.6,5:0.5,6:0.4);
7)從概率最大開始取一個點作為正類,取到點1,計算得到TPR=0.5,FPR=0.0;
8)從概率最大開始,再取一個點作為正類,取到點2,計算得到TPR=0.5,FPR=0.25;
9)再從最大開始取一個點作為正類,取到點3,計算得到TPR=1.0,FPR=0.25;
10)以此類推,得到6對TPR和FPR。
然后把這6對數據組成6個點(0,0.5),(0.25,0.5),(0.25,1),(0.5,1),(0.75,1),(1.0,1.0)。
這6個點在二維坐標系中能繪出來
看看圖中,那個就是ROC曲線。
1.3 如果概率的序列是(1:0.4,2:0.6,3:0.5,4:0.7,5:0.8,6:0.9)
與原來的序列一起,得到序列(從概率從高到低排)
0 | 0 | 0 | 0 | 1 | 1 |
---|---|---|---|---|---|
0.9 | 0.8 | 0.7 | 0.6 | 0.5 | 0.4 |
繪制的步驟是:
11)把概率序列從高到低排序,得到順序(6:0.9,5:0.8,4:0.7,2:0.6,3:0.5,1:0.4);
12)從概率最大開始取一個點作為正類,取到點6,計算得到TPR=0.0,FPR=0.25;
13)從概率最大開始,再取一個點作為正類,取到點5,計算得到TPR=0.0,FPR=0.5;
14)再從最大開始取一個點作為正類,取到點4,計算得到TPR=0.0,FPR=0.75;
15)以此類推,得到6對TPR和FPR。
然后把這6對數據組成6個點(0.25,0.0),(0.5,0.0),(0.75,0.0),(1.0,0.0),(1.0,0.5),(1.0,1.0)。
這6個點在二維坐標系中能繪出來。
看看圖中,那個就是ROC曲線。
2 意義解釋
如上圖的例子,總共6個點,2個正樣本,4個負樣本,取一個正樣本和一個負樣本的情況總共有8種。
上面的第一種情況,從上往下取,無論怎么取,正樣本的概率總在負樣本之上,所以分對的概率為1,AUC=1。再看那個ROC曲線,它的積分是什么?也是1,ROC曲線的積分與AUC相等。
上面第二種情況,如果取到了樣本2和3,那就分錯了,其他情況都分對了;所以分對的概率是0.875,AUC=0.875。再看那個ROC曲線,它的積分也是0.875,ROC曲線的積分與AUC相等。
上面的第三種情況,無論怎么取,都是分錯的,所以分對的概率是0,AUC=0.0。再看ROC曲線,它的積分也是0.0,ROC曲線的積分與AUC相等。
很牛吧,其實AUC的意思是——Area Under roc Curve,就是ROC曲線的積分,也是ROC曲線下面的面積。
繪制ROC曲線的意義很明顯,不斷地把可能分錯的情況扣除掉,從概率最高往下取的點,每有一個是負樣本,就會導致分錯排在它下面的所有正樣本,所以要把它下面的正樣本數扣除掉(1-TPR,剩下的正樣本的比例)。總的ROC曲線繪制出來了,AUC就定了,分對的概率也能求出來了。