tp、fn、fp、tn如圖:
如何計算畫roc曲線,我們將所有所有資料按照**概率有小到大排列:
trr = (tp
tp+f
n)\left(\frac\right)
(tp+fn
tp)
又稱真正率
fpr = (fp
fp+t
n)\left(\frac\right)
(fp+tn
fp)
又稱負正率或假正率
roc曲線的橫軸為fpr,縱軸為tpr。
我們設定閾值為0.1 ,小於等於0.1的判定為假,label為0, 大於0.1判斷為真,label為1。可以計算此時的tpr和fpr;同理接下來設定閾值為0.35、0.4、0.8,分別求出tpr和fpr,在圖中畫出,再和(0,0)(1,1)相連,則畫出roc曲線。
我們先建立座標系,縱軸為真正率,橫軸為負正率,恆過(0,0)和(1,1),為什麼?
在roc曲線圖時,在不同閾值下,tpr和fpr是不一樣的。
auc則為roc下方面積,auc的物理意義和計算公式接下來講解。
auc這個指標想表達的含義,簡單來說其實就是隨機抽出一對樣本(乙個正樣本,乙個負樣本),然後用訓練得到的分類器來對這兩個樣本進行**,**得到正樣本的概率大於負樣本概率的概率。
auc=p(p正》p負)
參考:共兩種形式,其中注意第二種如下:
如何去理解呢?
參考:從小到大排序後,第乙個正樣本的位置(序號,序號從0開始),就是其比負樣本得分大的個數;對於第二個正樣本,前面有已經1個正樣本了,所以負樣本個數為位置減去1,同理,第三個正樣本前面的負樣本個數為位置減去2,……,對於第m個正樣本,匹配的負樣本個數為位置序號減去m-1。 故而,分子就變成 所有正樣本的位置序號和,減去(0+1+2+……+m-1)=sum()-m*(m-1)/2. 若序號從1開始,則,=sum()-m -(0+1+2+……+m-1)=sum()-m(m+1)/2.
k-s(kolmogorov-smirnov)中文名洛倫茲曲線,ks值的取值範圍是[0,1] 。
k-s(kolmogorov-smirnov):ks用於模型風險區分能力進行評估, 指標衡量的是好壞樣本累計分部之間的差值。
好壞樣本累計差異越大,ks指標越大,那麼模型的風險區分能力越強。
ks曲線是兩條線,其橫軸是閾值,縱軸是tpr(上面那條)與fpr(下面那條)的值,值範圍[0,1] 。兩條曲線之間之間相距最遠的地方對應的閾值,就是最能劃分模型的閾值即k-s值。
k-s曲線的縱軸是表示tpr和fpr的值,就是這兩個值可以同時在乙個縱軸上體現,橫軸就是閾值。
k-s值計算公式:k-s=max(tpr-fpr)
k-s值<0.2,一般認為模型沒有區分能力。
k-s值[0.2,0.3],模型具有一定區分能力,勉強可以接受
k-s值[0.3,0.5],模型具有較強的區分能力。
k-s值大於0.75,往往表示模型有異常。
ks值和auc值的關係
要弄明白ks值和auc值的關係首先要弄懂roc曲線和ks曲線是怎麼畫出來的。其實從某個角度上來講roc曲線和ks曲線是一回事,只是橫縱座標的取法不同而已。拿邏輯回歸舉例,模型訓練完成之後每個樣本都會得到乙個類概率值 注意是類似的類 把樣本按這個類概率值排序後分成10等份,每乙份單獨計算它的真正率和假...
關於ROC曲線和AUC的知識小記
很多分類器根據測試樣本產生乙個概率 然後將該 值與閾值進行比較,高於閾值則被分類為正類,低於閾值則被分為負類。auc值是評價分類器的乙個指標,全稱是area under curve,直譯就是曲線下的面積。什麼曲線呢,就是roc曲線。真實值和 值的混淆矩陣 值 值0 1真實值0tn fp真實值1fn ...
AUC和ROC曲線的前世今生
auc數值即為roc曲線下的面積。roc曲線從0點開始上公升越快,說明模型錯分正樣本的比例越小,模型對正樣本識別的能力越強。在roc曲線的基礎上,拋開閾值的調節,roc曲線下半部分的面積值就是auc值。auc值介於0到1之間,是一種概率值。本質上auc是在模型 的資料集中,比較正負樣本,評估正樣本分...